Índice:
- Etapa 1: FOSS
- Etapa 2: organizar ou compor músicas para tocar
- Etapa 3: Exportar um arquivo MIDI
- Etapa 4: Conectando o Spielatron aos programas ALSA MIDI
- Etapa 5: Definir um nome de dispositivo MIDI e porta USB
- Etapa 6: usando LMMS
- Etapa 7: Importar seu arquivo MIDI para LMMS
- Etapa 8: Defina a saída LMMS para TtyUSB0
- Etapa 9: interromper a saída de som do computador
- Etapa 10: Aperte o Play, Sente-se e Curta a Música
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
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
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
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
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
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
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 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
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
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
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.