image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Rafael Vicente
Rafael Vicente23/08/2025 15:56
Compartilhe

🎶 Criando Música com Código: Quando Programação Vira Instrumento.

    A música sempre foi sobre criação. Do violão simples até uma pedaleira cheia de efeitos, cada músico busca novas formas de se expressar.

    Do outro lado, programadores também criam — mas a matéria-prima é o código.

    Agora, imagine unir os dois mundos: e se programar fosse como tocar um instrumento?

    🎼 Música Algorítmica: a ideia não é tão nova assim

    Pode parecer novidade, mas compositores já brincavam com lógica há séculos.

    Mozart, por exemplo, inventou um jogo em que dados eram lançados para montar composições musicais.

    Hoje, fazemos algo parecido, só que com algoritmos e linguagens de programação.

    💻 Exemplo prático: Gerando uma escala musical em Python

    Vamos começar simples, mostrando que qualquer pessoa pode criar música com código.

    Instalando as ferramentas

    
    pip install MIDIUtil pydub
    

    Código da escala de Dó maior

    
    from midiutil import MIDIFile
    
    # Cria um arquivo MIDI com 1 trilha
    midi = MIDIFile(1)
    midi.addTempo(0, 0, 120)  # trilha, tempo inicial, BPM
    
    # Notas da escala de Dó maior (em valores MIDI)
    scale = [60, 62, 64, 65, 67, 69, 71, 72]
    
    # Adiciona cada nota com duração de 1 batida
    for i, note in enumerate(scale):
      midi.addNote(0, 0, note, i, 1, 100)
    
    # Salva em arquivo
    with open("scale.mid", "wb") as f:
      midi.writeFile(f)
    
    print("🎹 Arquivo 'scale.mid' criado! Toque em qualquer player MIDI ou DAW.")
    

    ➡️ Resultado: um arquivo scale.mid que toca a escala de Dó maior.

    Você pode abrir no GarageBand, Reaper, FL Studio, Ableton ou qualquer DAW.

    🤖 Agora entra a IA: Magenta gerando melodias

    O Magenta é um projeto do Google que usa redes neurais para gerar música, imagens e até poesia.

    Na música, ele consegue aprender padrões e sugerir continuações de melodias.

    Instalando o Magenta

    
    pip install magenta
    

    (obs: é um pacote grande, pois traz modelos pré-treinados do TensorFlow)

    Gerando uma melodia com IA (linha de comando)

    
    melody_rnn_generate \
    --config=basic_rnn \
    --bundle_file=/tmp/basic_rnn.mag \
    --output_dir=/tmp/melodia_ia \
    --num_outputs=1 \
    --num_steps=64 \
    --primer_melody="[60]" \
    --tempo=120
    
    • --primer_melody="[60]" → nota inicial (60 = Dó).
    • --num_steps=64 → quantidade de notas que a IA vai criar.
    • Resultado: um arquivo .mid com a melodia gerada.

    Gerando continuação de uma melodia em Python

    
    import note_seq
    from magenta.models.melody_rnn import melody_rnn_sequence_generator
    from magenta.models.shared import sequence_generator_bundle
    from magenta.protobuf import generator_pb2, music_pb2
    
    # Carrega modelo pré-treinado
    bundle = sequence_generator_bundle.read_bundle_file('/tmp/basic_rnn.mag')
    generator_map = melody_rnn_sequence_generator.get_generator_map()
    melody_rnn = generator_map['basic_rnn'](checkpoint=None, bundle=bundle)
    melody_rnn.initialize()
    
    # Melodia inicial (C4, D4, E4)
    primer = music_pb2.NoteSequence()
    primer.notes.add(pitch=60, start_time=0, end_time=0.5, velocity=80)
    primer.notes.add(pitch=62, start_time=0.5, end_time=1.0, velocity=80)
    primer.notes.add(pitch=64, start_time=1.0, end_time=1.5, velocity=80)
    primer.total_time = 1.5
    
    # Configuração da geração
    generator_options = generator_pb2.GeneratorOptions()
    generator_options.generate_sections.add(start_time=primer.total_time, end_time=8)
    
    # Gera continuação
    sequence = melody_rnn.generate(primer, generator_options)
    
    # Salva resultado em MIDI
    note_seq.sequence_proto_to_midi_file(sequence, "melodia_ia.mid")
    print("🎵 Arquivo 'melodia_ia.mid' criado com continuação gerada pela IA!")
    

    👉 Aqui você toca as primeiras notas e a IA completa o resto.

    🎵 Aplicações reais

    • Produtores musicais → geram backing tracks automáticas para estudo ou criação.
    • Games → trilhas sonoras que mudam conforme o jogador age.
    • Músicos → exploram estilos fora da sua zona de conforto.

    🚀 Conclusão

    Com poucas linhas de código, mostramos como programar música:

    • Primeiro de forma manual (escala MIDI).
    • Depois com IA sugerindo melodias novas.

    A programação virou um instrumento criativo, e a IA, um parceiro de improviso.

    Para músicos, é inspiração.

    Para programadores, é expressão.

    Para todos, é uma nova forma de fazer arte com tecnologia.

    “A IA não veio substituir a arte — veio abrir caminhos para que músicos e programadores toquem juntos a mesma sinfonia.”

    Compartilhe
    Recomendados para você
    Ri Happy - Front-end do Zero #2
    Avanade - Back-end com .NET e IA
    Akad - Fullstack Developer
    Comentários (0)