
Introdução, ou de onde vem isso
A carreira de um programador e engenheiro em geral é uma coisa muito interessante e muitas vezes leva ao gerenciamento de projetos, como aconteceu comigo na T-Systems. O gerenciamento de projetos é ótimo: experiência, honra e respeito, mas não há espaço para atividades de engenharia. E as mãos lembrem! (c)
Resta usar o conhecimento e as habilidades adquiridas em seus projetos paralelos, felizmente, essa oportunidade existe.
Sobre o que vou falar hoje
Entre outras coisas, ainda sou um pequeno saxofonista (5 a 6 anos). E tudo é bom neste lindo instrumento, mas é muito alto. E desde as minhas primeiras aulas, sonhava com o aparecimento do mesmo saxofone na minha vida, mas para que pudesse tocá-lo com auscultadores e não incomodar os meus vizinhos, para que houvesse uma espécie de instrumento de treino.
Claro, existem instrumentos eletrônicos de sopro, carros-chefe - AKAI EWI e Roland Aerophone, mas, em primeiro lugar, eles são muito comprometidos em termos de posição dos dedos e ergonomia em geral (sem falar nas almofadas de ouvido), e em segundo lugar, além deles, não há nada ligado o mercado não é, e estes custam 60 + k. Desculpe, mas meu sax - American CONN - custa 2 vezes mais barato (muito usado, porém, mas ainda vai sobreviver a mim). Então, os dois me estrangularam - um sapo e uma sede de atividade. Faremos eletrosax.
Então, a declaração do problema:
- Faça um instrumento de treinamento para os dedos e almofadas de ouvido do saxofonista alto;
- É barato fazer em um lote (potencial) e não é muito caro no estágio experimental;
- Faça funcionar sem atrasos entre as ações do usuário e o som resultante (um problema comum em dispositivos MIDI e um inferno para um músico);
- Faça-o pequeno ao carregar-armazenar e copiar o saxofone alto para mãos no trabalho;
É altamente desejável:
- Faça dele também um instrumento de performance;
- Adicionar interface MIDI;
- Torne possível jogar com os "contras" do telefone ou cartão SD.
O que há em estoque:
- Braços retos;
- LETI RTF em seu currículo, ou seja, um conhecimento geral de eletrônica, mas sem muita experiência;
- Pouco educado musicalmente e entendendo como tocar sax;
- Cerca de 20 anos de experiência em programação de tudo, desde Visual Basic à exótica linguagem Magik;
- 3- ( , ),
- ( ) IT, Agile.
Há pouco mais de 2 anos, levei de férias um kit inicial Arduino UNO, um par de seringas (não pense mal), um sensor de pressão BMP180 e uma vontade de experimentar tudo no meu lazer.
Acabou por ser um design muito engraçado com 3 botões, mas surpreendentemente, funcionou!
Quando soprei lá, apareceu um som correspondente à combinação de botões. O som, é claro, era dinâmico do sistema, direto para os ouvidos de um usuário inexperiente.


Mas o experimento foi um sucesso, o que significava que o pássaro inteiro seria perdido se a garra ficasse presa.
Em seguida, haverá uma série de marcos intermediários, que não estão interessados nos detalhes, vá até o final, há resultados e conclusões.
Marco 1,2 meses a partir do início
O corpo é um canal de cabos e tubos de plástico, o layout dos botões em fibra de vidro revestido em folha com um cortador, muito semelhante a um brinquedo feito em uma cooperativa de garagem nos anos 90. Sensor BMP180, MIDI, botões de relógio Arduino. O primeiro bocal do mesmo tubo de plástico. Linguagem C, ambiente de desenvolvimento Arduino.
Foram formados atrasos muito longos (um quarto a meio segundo), pensei por muito tempo que era devido ao MIDI (usei MIDI-OX e MIDI sem pêlo). Decidi fazer um som embutido.


Marco 2,3 meses
Eu encontrei uma placa no mercado chinês que sabe como hardware MIDI no chip vs1053. Reescrevi o programa, coloquei o som lá, deu tudo certo, os atrasos diminuíram, mas não desapareceram.
Resolvi pensar no eterno por enquanto e trabalhar com design industrial.


Marco 3,4 meses
No verão, comprei para mim uma impressora 3D de aniversário, a mais simples, Anet A6. Decidi desenhar com ele. A propósito, ainda gosto desse design, talvez uma das ferramentas prontas tenha essa aparência, mas ainda não tenho certeza, muito barulho.


Marco 4: meio ano
Primeiro som gravado (ficar horrorizado), primeiro modelo totalmente funcional. https://www.youtube.com/watch?v=hhtxDk5x1P8
Botões de um teclado mecânico Cherry MX Blue (um saxofonista conhecido aprecia, diz ele, eles parecem cliques de teclas reais. Parecia-me assim também.)
Parecia algo assim:

Marco 5, 9 meses
Ele se concentrou em fabricabilidade e layout de blocos: fiação impressa (ferro a laser, quem está no assunto, peróxido de hidrogênio e ácido cítrico com sal), laços e aproveitamento máximo dos módulos prontos. No UNO faltavam pinos para todos os botões, então decidi ir mais longe por enquanto - usei o Arduino Mega.
O resultado foi o primeiro modelo que você pode levar para a rua, brincar com os amigos, devolver e tudo isso - sem uma única pausa (c).



Nesse ínterim, troquei o sensor de pressão digital BMP180 por um analógico da Motorola, reescrevendo parte do programa. Os atrasos acabaram. Absolutamente. Ao mesmo tempo, ele acrescentou a capacidade de fortalecer o som com uma bengala ao bocal, como saxões de verdade. Medidor de tensão inferior direito.

Marco 6, ano
O Aux-in está funcionando, agora posso tocar Electrosax à noite, e tudo o que o observador ouve é a respiração ofegante do artista e os cliques das teclas.
(Entrada de 3,5 mm, do telefone você pode misturar o menos no som do artista)

Marco 7, um ano e meio (ele me entediou demais, 3 meses não era particularmente adequado)
Agora ele pode ser dobrado 3 vezes e até cabe na bolsa de uma mulher (não o menor, porém, verifiquei na minha esposa). Os internos mudaram para ainda mais modulares, o Arduino era Mega, tornou-se Nano. Muita impressão 3D, mas não todas, para o caso, um canal a cabo ainda é usado, muito conveniente.


E finalmente, até agora, os últimos 2 anos
Não é um ponto final, é uma vírgula impressionante!

Resumindo os resultados provisórios
- É possível fazer uma ferramenta de treinamento para dedilhado e almofada auricular: sim.
- Pode ser barato (3-5k para peças): sim.
- É possível fazer funcionar sem demora: sim.
- Pode ser reduzido para guardar e copiar o saxofone alto para as mãos no trabalho: sim.
- É possível fazer um instrumento para performances: com a abordagem escolhida, não. O motivo é a qualidade do som.
- É possível fazer um instrumento com interface MIDI para consertar isso: talvez.
- É possível fazer um instrumento de performance com uma abordagem diferente: talvez.
Tarefas não resolvidas:
- É usado um cartão DIY MIDI no chip vs1053, que tem 3 limitações:
- Não parece muito bom;
- Alto nível de ruído;
- Nível de som insuficiente.
- Não existem melhores cartas no mercado.
- MIDI: quando o fiz - houve problemas com atrasos, agora está um pouco frio, quero fazer um instrumento com meus próprios sons. Talvez eu volte.
A ideia principal é construir isso em sons reais (WAV). Temo que isso esteja chegando com uma bicicleta inventada há muito tempo chamada SoundFont, e a potência do Arduino pode não ser suficiente. Mas talvez eu também aceite.
Outra ideia é reduzir a quantidade de eletrônicos e aumentar a quantidade de programação: por exemplo, usando um Raspberry PI em vez de um Arduino. SoundFont é aplicável lá de forma programática. Possíveis problemas:
- Não gosto de Linux. Vamos entender, principalmente em C / C ++, tudo mesmo "como".
- O Raspberry, dizem eles, não é muito bom com som, mas tem HDMI e blindagem para placas de som. Nós vamos descobrir.
- Maior consumo de energia: vamos descobrir com certeza!
- Tamanho de framboesa maior que o Arduino. Acho que isso pode ser resolvido, principalmente porque também existem versões compactas do Raspberry (Zero, por exemplo)
... E - marco 1 do novo design
O Raspberry ligou (até agora o modelo B), os primeiros sons são recebidos, a linguagem é C de novo (embora, provavelmente, você possa usar um pouco de python, mas ainda não aprendi), uso o sintetizador Fluidsynth distribuído gratuitamente como uma biblioteca e começo a trabalhar com GPIO. Ainda não está claro sobre os atrasos, eles podem estar na junção de um sensor analógico e GPIOs totalmente digitais.
Obrigado pela atenção! Se houver interesse no projeto, nos encontraremos novamente e conversarei sobre seu futuro desenvolvimento.
Sergey Balashov,
PM da T-Systems, estava com você durante o horário de trabalho e em seu tempo livre - um engenheiro-saxofonista!
Você pode acompanhar este e meus outros projetos (fora da empresa) aqui:
https://vk.com/happy_sax
PS: E se alguém quiser fazer uma jam em São Petersburgo, mas hesite, venha depois da quarentena também:
https://vk.com/eclectic_jam
Vou falar sobre jams outra hora, talvez não aqui, aqui ainda é sobre TI, não sobre música.