Índice:

Como enviar música MIDI para o Spielatron: 10 etapas (com imagens)
Como enviar música MIDI para o Spielatron: 10 etapas (com imagens)

Vídeo: Como enviar música MIDI para o Spielatron: 10 etapas (com imagens)

Vídeo: Como enviar música MIDI para o Spielatron: 10 etapas (com imagens)
Vídeo: Enviar Midi desde Ableton a Arduino y Leds 2024, Novembro
Anonim
Como enviar música MIDI para o Spielatron
Como enviar música MIDI para o Spielatron

Este Instructable cobre as ferramentas de software que usamos para facilmente pegar a notação musical padrão, convertê-la em um arquivo MIDI e reproduzi-la no Spielatron.

Etapa 1: FOSS

Image
Image

Sempre que possível, usamos Free & Open Source Software (FOSS) rodando em um computador Linux, neste caso usando Ubuntu Mate.

Etapa 2: organizar ou compor músicas para tocar

Exportar um arquivo MIDI
Exportar um arquivo MIDI

Como nossas habilidades musicais são limitadas, compor não é uma opção real e, para evitar problemas de direitos autorais, gostamos de organizar os clássicos antigos em peças de linha única adequadas para o Spielatron. Basicamente, você precisa manter a música monofônica, ou seja, apenas uma nota e dentro da faixa de notas do Spielatron de G5 a G7. Para este propósito, usamos Musescore, que descobrimos ser totalmente incrível para este propósito e para criar partituras musicais a partir das quais tocar.

Usamos a imagem do aplicativo Linux de 64 bits disponível em

musescore.org/en/download/musescore-x86_64…

Um truque que usamos para manter as notas na pauta considerando o registro agudo do Spielatron é usar a opção Clave de Sol 8va da Clef Pallette, observe o pequeno 8 acima da clave de sol.

Uma das melhores coisas sobre o Musescore é a incrível comunidade que fornece ajuda, tutoriais, exemplos e muitos arquivos do Musescore para download.

Etapa 3: Exportar um arquivo MIDI

Quando estiver satisfeito com sua composição musical no Musescore, você precisará exportá-la como um arquivo MIDI. Isso está em Arquivo - Exportar e selecione o formato de arquivo Midi Padrão.

Etapa 4: Conectando o Spielatron aos programas ALSA MIDI

Conectando o Spielatron aos programas ALSA MIDI
Conectando o Spielatron aos programas ALSA MIDI

Como agora desejamos enviar nosso arquivo MIDI para o Arduino no Spielatron, precisamos de uma conexão entre um dispositivo USB, por exemplo. ttyUSB0 e software MIDI, por exemplo. Programas ALSA. Além disso, essa conexão está em uma taxa de bauds do computador, em vez da taxa de bauds MIDI padrão de 31250.

Felizmente, outra pessoa já escreveu um programa de driver para realizar essa tarefa chamado ttymidi.

ttymidi está disponível aqui:

www.varal.org/ttymidi/

www.varal.org/ttymidi/ttymidi.tar.gz

Este programa é fornecido apenas como código-fonte com um arquivo make. Quando executamos o arquivo make, recebemos um erro de vinculador e tivemos que modificar o arquivo make da seguinte maneira.

Linha de comando original que deu os erros

gcc src / ttymidi.c -o ttymidi -lasound

linha de comando modificada que funcionou

gcc src / ttymidi.c -o ttymidi -lasound -lpthread

No final, não rodamos o arquivo make e apenas o compilamos com a linha de comando acima, por isso não está instalado em nosso sistema. Quando desejamos executar o ttymidi, abrimos uma janela de terminal, mudamos o diretório para o diretório ttymidi e executamos o programa conforme a imagem acima. Sem interruptores usados, o padrão do ttymidi é 115200 baud rate, que corresponde ao código que fornecemos para o Spielatron. Observe que, uma vez que ttymidi é executado, a janela do terminal não retorna ao prompt de comando até que "control c" seja inserido, fechando o programa.

Etapa 5: Definir um nome de dispositivo MIDI e porta USB

Configurando um nome de dispositivo MIDI e porta USB
Configurando um nome de dispositivo MIDI e porta USB

Neste exemplo, usamos ttymidi sem opções, cujo padrão é o uso de ttyUSB0 e taxa de transmissão de 115200. Se, por algum motivo, você precisar alterá-los, por exemplo. você tinha mais de um dispositivo ttyUSB conectado ao seu computador, você pode usar as opções conforme mostrado na imagem acima.

Etapa 6: usando LMMS

Usando LMMS
Usando LMMS

LMMS (anteriormente Linux MultiMedia Studio) é um programa aplicativo de estação de trabalho de áudio digital que é outro programa totalmente incrível que nós apenas começamos a usar. O LMMS está disponível no Ubuntu Software Center ou aqui

Embora, para esse propósito, não estejamos usando o LMMS para reproduzir o arquivo MIDI do computador, o LMMS ainda espera que uma fonte de som esteja disponível para uso ao importar arquivos MIDI. Portanto, estamos usando a fonte de som Unison, que está disponível aqui:

ftp://ftp.personalcopy.net/pub/Unison.sf2.gz

www.personalcopy.com/linuxfiles.htm

Para usar a fonte de som, tudo o que você precisa fazer é extrair o arquivo em um diretório que você vai manter e, em LMMS, vá em Editar - Configurações - Pastas para definir o Unison como a fonte de som padrão, conforme a imagem acima.

Etapa 7: Importar seu arquivo MIDI para LMMS

Importe seu arquivo MIDI para LMMS
Importe seu arquivo MIDI para LMMS

Importe o arquivo MIDI que você criou com o Musescore (ou de qualquer outra fonte) para o LMMS. Use Arquivo - Importar conforme a imagem acima.

Etapa 8: Defina a saída LMMS para TtyUSB0

Defina a saída LMMS para TtyUSB0
Defina a saída LMMS para TtyUSB0

Assim que o arquivo MIDI for importado, ele aparecerá na janela do Editor de músicas como uma faixa Unison. Vá para o símbolo da roda dentada na extremidade esquerda da pista. Clique com o botão esquerdo na engrenagem, selecione Midi e depois Saída e você deverá ver um dispositivo chamado ttymidi (ou o nome que você forneceu com a chave -n ao iniciar ttymidi) conforme a imagem acima. Selecione este dispositivo e você verá uma marca ao lado dele.

Etapa 9: interromper a saída de som do computador

Parar a saída de som do computador
Parar a saída de som do computador

Se você tocar a trilha neste ponto, o LMMS enviará o arquivo MIDI para ttyUSB0 (o Spielatron) e para a placa de som do computador. Como o software do Spielatron tem um atraso de 200ms para permitir que os sevos rotacionais se desloquem, a música do Spielatron é atrasada por este valor que ficará fora de sincronia com a saída da placa de som do computador. Isso pode ser superado diminuindo o volume na faixa Unison conforme a imagem acima.

Etapa 10: Aperte o Play, Sente-se e Curta a Música

Aperte Play, Sente-se e Curta a Música!
Aperte Play, Sente-se e Curta a Música!

Pressione o botão play de acordo com a imagem acima e o Spielatron ou qualquer outro sintetizador de música Arduino tocará sua peça MIDI. No exemplo no final do vídeo de abertura, o Spielatron no local toca a conhecida canção folclórica do inglês antigo Greensleeves.

Além da música precisar ser monofônica e dentro da faixa de G5 a G7, obviamente há uma limitação imposta pelo tempo de resposta dos servos. Isso significa que sua música é limitada pela abreviatura se a nota for usada ou pelas batidas por minuto (BPM) usadas. ou seja, se você tiver um BPM alto, não será capaz de usar notas muito curtas ou vice-versa.

Exemplo:

120 BPM a 4/4 (4 batidas por barra) resulta em 30 barras em 1 minuto.

60 segundos divididos por 30 resultam em 2 segundos por barra.

Portanto, uma virilha terá 500ms cada (facilmente dentro do tempo de retardo do servo).

Uma colcheia terá 250ms (apenas no tempo permitindo 200ms para rotação e 40ms para deslocamento do martelo).

Uma semicolcheia simplesmente não funciona sem reduzir o BPM.

Recomendado: