Computer finestre Internet

Tastiera musicale USB fai-da-te per Atmega. Come creare un comodo sintetizzatore con le tue mani. Circuito tastiera midi MKC64 v1.54

Oleg Yakubov

Dopo aver pubblicato la mia pagina sul sito, ho ricevuto diverse lettere che mi chiedevano di scrivere o inviare uno schema di una tastiera midi che avevo assemblato. E ho deciso di preparare un articolo sulla tastiera midi.

Ho scelto il circuito della tastiera MIDI della rivista Radio n. 3, 4 del 1997. Se qualcuno vuole davvero costruirsi un buon strumento, consiglio di andare in biblioteca e procurarsi lì le riviste, ma per chi non vuole correre a cercare Perdita di tempo, ho scannerizzato l'intero articolo (credo, non a scapito dell'autore). Sono molto soddisfatto della tastiera MIDI. In generale non si sono verificati problemi di montaggio, ad eccezione di alcuni errori di battitura nello schema (probabilmente commessi dalla redazione in fase di impaginazione dell'articolo). Ho apportato delle correzioni prima della scansione, questo può essere visto studiando attentamente il diagramma. Nota: durante il flashing della ROM, non commettere errori durante l'immissione dei codici, altrimenti lo strumento non suonerà affatto o non funzionerà correttamente. Vorrei esprimere un ringraziamento speciale allo stesso autore di questo articolo per aver stampato i codici di controllo della tabella ROM, poiché è difficile inserire tutti i caratteri senza errori, e durante l'inserimento io stesso ho commesso errori in due punti, e grazie ai checksum ho trovato subito degli errori. Anche nella tabella che ho scansionato, ho evidenziato quei punti in cui l'autore indica in caso di sostituzione di due caratteri. Questo nel caso in cui la tastiera non inizi con la nota Fa, ma con la nota Do. Ho montato tutte le parti e i componenti del dispositivo su un circuito stampato, e ho saldato i collegamenti tra i pin dei microcircuiti con un filo sottile in treccia fluoroplastica, solo tra tastiera e scheda ho saldato con un cavo piatto. L'unica cosa che ho fatto è stata aumentare la capacità del condensatore C1, poiché il processore non si è avviato. La tastiera midi funziona in modo molto stabile e finora non ho riscontrato alcun problema!!! Se questo circuito sembra molto complicato a qualcuno, prova a assemblare un altro circuito, anch'esso pubblicato sulla rivista Radio n. 11, 1993. Ma in questo circuito non ci sono possibilità come nel circuito di cui ho appena scritto. Pertanto, consiglio di avere un po' di pazienza e di mettere insieme un diagramma dalla rivista Radio n. 3, 4 del 1997. L'articolo scansionato è sotto. Se qualcuno ha ancora problemi con il montaggio mi contatti, magari posso consigliare qualcosa. L'unico inconveniente di questo schema, credo, è l'inconveniente di selezionare rapidamente uno strumento, e anche la piccola possibilità dell'effetto “PITCH”. In genere, le tastiere hanno questo effetto sotto forma di una rotella sul lato sinistro della tastiera.

Vi auguro un piacevole montaggio!!!

TASTIERA MIDI PER COMPUTER MULTIMEDIALI E SINTETIZZATORI MIDI

S. Kononov, Tula

La tastiera MIDI sviluppata dall'autore di questo articolo appartiene agli strumenti musicali elettronici di maggiore complessità ed è indirizzata principalmente ai lettori che hanno una certa conoscenza ed esperienza nella costruzione di tali apparecchiature. Pertanto, la descrizione del progetto è fornita in un breve riassunto. Gli editori ritengono che il contenuto di questa pubblicazione attirerà l'attenzione di coloro che sono generalmente interessati alla musica elettronica e, forse, inizieranno a progettare apparecchiature moderne. Sarà utile per loro conoscere gli articoli di A. Studnev "Cos'è il MIDI?" e "Tastiera MIDI", pubblicato nei numeri di gennaio e novembre di "Radio" del 1993, così come l'articolo di K. Bystrushkin "La multimedialità arriverà in ogni casa" ("Radio", 1996, n. 3).

La tastiera MIDI consigliata è uno strumento a tastiera “noioso”, il cui scopo principale è quello di funzionare insieme a personal computer dotati di Creative, Sound Blaster, Gravis, YAMA-HA e altre schede musicali dotate di ingresso midi. Inoltre, consente di lavorare con sintetizzatori esterni, generatori di suoni e qualsiasi apparecchiatura dotata anche di ingresso midi.Quando si svilupparono le funzioni di servizio di una tastiera MIDI, i modelli per "imitazione" erano prodotti dell'azienda italiana "MASTER STAR". . Per prima cosa ho progettato un telecomando MIDI universale per fisarmonica a bottoni e fisarmonica, che è stato presentato alla mostra MUSIKMESSE-95 (Francoforte sul Meno). Fu allora che nacque l'idea di trasformare questo dispositivo strutturalmente complesso in una tastiera MIDI più semplice, disponibile per la ripetizione da parte dei lettori della rivista Radio. Lo strumento ha un servizio solido. In particolare, consente a ciascun tasto di controllare due canali MIDI, assegnando a ciascuno di essi i propri programmi (timbri) e ricordandoli insieme al livello di volume di ciascun canale nella memoria del dispositivo. Pertanto, è possibile combinare e sovrapporre arbitrariamente due suoni campione tra quelli disponibili nel generatore di suoni collegato alla tastiera. Nei dispositivi “cool” questa modalità è chiamata “COMBY”.La tastiera permette inoltre di cambiare l'intonazione dello strumento di un'ottava sopra o sotto, assegnare fino a 127 programmi, controllare un gran numero di canali MIDI (da 1 a 16 ), controlla gli effetti sonori PITCH BEND, VOLUME, MODULAZIONE, SUSTAIN e molto altro. Il tempo del brano eseguito va da 20 a 240 battiti al minuto. Il limite di dividere la tastiera in due manuali è arbitrario. Lo strumento, il circuito, è costituito da tre parti funzionalmente complete: un blocco processore (A1), un pannello di controllo (A2) e un blocco tastiera (A3). L'insieme di microcircuiti utilizzati in essi è simile ai componenti di dispositivi come Spectrum e Caller ID, quindi coloro che amano progettare EMR non avranno difficoltà a trovare l'elemento base. Il blocco del processore è simile nella progettazione del circuito al processore Caller ID . L'oscillatore principale del processore Z80 (DD2) è assemblato utilizzando gli elementi logici DD1.1 - DD1.3 e un risonatore al quarzo ZQ1. La frequenza naturale del risonatore al quarzo deve essere 4 MHz, altrimenti cambierà la velocità di trasmissione delle informazioni MIDI dall'ordine alto del registro C del chip DD6 attraverso l'elemento buffer DD1.4. Sui transistor VT1, VT2 è assemblata un'unità che fornisce un segnale di ripristino all'ingresso RES (RESET - pin 26) dei chip DD2 quando si accende/spegne la fonte di alimentazione quando la sua tensione non supera +4,5 V. Ciò aumenta l'affidabilità della memorizzazione delle informazioni nella memoria non volatile del chip DD5 al momento dell'accensione o dello spegnimento. La batteria GB1, insieme al condensatore C3, al resistore R8 e al diodo VD2, supporta l'alimentazione del microcircuito DD4 per la memorizzazione a lungo termine delle informazioni al suo interno quando l'alimentazione generale dello strumento è spenta. I microcircuiti DD7 e DD8 del pannello di controllo forniscono polling dei pulsanti SB1-SB19 del pannello di controllo, indicazione dinamica di un display a sette elementi a quattro cifre, formato dagli indicatori HG1, HG2 e digitalizzazione dell'unica parte analogica del dispositivo: il controllo del volume R40 "Volume". Per il display, a mio avviso, ho utilizzato molto convenienti i doppi indicatori luminosi VQE14 (vecchio nome KIPTS09I), installati sui televisori Horizon di 4a e 5a generazione. L'accensione dell'indicatore HQ2 è simile all'accensione dell'indicatore HG1 mostrato nel diagramma.

Il blocco tastiera è formato da una tastiera musicale da cinque ottave (61 tasti) che inizia con la nota “F”, chip D09, DD10 e connettori X1-X3 per il collegamento di due ricevitori MIDI esterni e un pedale “SUSTAIN” allo strumento. Ogni tasto della tastiera è dotato di una coppia di contatti normalmente aperti, che sono combinati in una matrice 8x8 con isolamento a diodi (VD14-VD74). Nel diagramma, il simbolo SA1 indica il tasto più a sinistra e il simbolo SA61 indica il tasto più a destra. Il polling della matrice è fornito dai chip DD9 e DD10. Se la tastiera musicale utilizzata per lo strumento in costruzione inizia con la nota "Do", l'intonazione della matrice deve essere spostata di sette tasti. Per fare ciò, nella ROM è necessario aumentare di sette unità il codice nelle celle con gli indirizzi 025FH e 0268H ( vedere la tabella di programmazione della ROM KR573RF5 ) , cioè al posto del codice “05” scrivere “OSN”. L'alimentatore della tastiera è uno stabilizzatore di tensione a microcircuito KR142EN5V, il cui ingresso viene fornito da una fonte esterna con una tensione costante di 9 V. Tale fonte può essere qualsiasi alimentatore di rete di piccole dimensioni, compreso quello importato, che fornisce un carico corrente di almeno 500 mA. I condensatori C6-C9 all'uscita dello stabilizzatore sono di blocco per i circuiti di alimentazione dei microcircuiti. Le parti e i componenti del dispositivo sono montati su quattro circuiti stampati, collegati tra loro da cavi piatti e si trovano sotto il pannello frontale dell'alloggiamento della tastiera. I pulsanti degli interruttori SB1-SB19, gli indicatori HG1, HG2 e l'albero di un resistore variabile R40, fatto passare attraverso i fori nel pannello, formano il pannello di controllo della tastiera MIDI.Il pedale SUSTAIN può essere di qualsiasi tipo con una coppia di pedali normalmente aperti contatti. Si collega allo strumento tramite il connettore X3 Jack (1/4 JACK), situato sul pannello posteriore dello strumento. L'aspetto della tastiera MIDI e la disposizione del pannello di controllo del display (indicatori HG1, GH2), del controllo del volume (resistore R40 "VOLUME") e dei pulsanti (SB1 - SB19) sono mostrati in Fig. Usandoli, il musicista può eseguire tutte le operazioni MIDI necessarie per selezionare timbri, numeri di canali, ridistribuire le voci, ecc., nonché controllare un computer ritmico o un sequenziatore esterno. I pulsanti numerati situati a destra del display inseriscono i numeri di programma corrispondenti, il canale MIDI, il tempo e i pulsanti funzione a sinistra del display controllano vari parametri della tastiera. Premendo in sequenza il pulsante "PROG" (programma), il display indica i parametri della tastiera: - tipo di traccia e numero del programma sonoro di questa traccia. Le lettere sul lato sinistro del display indicano: A - manuale sinistro (inferiore), B - manuale destro (superiore), C - dispositivo midi aggiuntivo. La lettera è seguita dal numero di tre cifre (000-127) del programma audio assegnato a questa traccia;

- controllo del tempo per il generatore di ritmo; contemporaneamente, sul display vengono visualizzati la lettera T e un numero di tre cifre che caratterizza la frequenza dei battiti (battiti) al minuto, e le virgole sul display creano l'effetto di “luci correnti” per il controllo visivo della velocità di il generatore di tempo. L'intervallo di regolazione del tempo va da 20 a 240; - modalità canale e numero del programma proprio dello strumento: in questo caso, la lettera P sul lato sinistro del display significa che l'intera tastiera “siede” traccia *A*. La lettera U - le informazioni dalla tastiera vengono trasmesse simultaneamente alla traccia “B” (modalità “COMBY”), la lettera L è il manuale sinistro, cioè la traccia “A” (il manuale destro è “B”) Dietro la lettera, il display mostra un numero a due cifre (00-99) del proprio programma memorizzato nella memoria RAM DD5. Il programma proprio dello strumento caratterizza i numeri dei programmi sonori e dei canali MIDI per le tracce, nonché le seguenti informazioni : PITCH - velocità di accordatura tonale, MODULATION - livello di profondità di modulazione, VOLUME - livello di volume, SPUT - confine di separazione manuale, modalità canale MODE (P. U, L), Ost A - +/- ottava per la manuale sinistra, Ost B - +/- ottava per il manuale giusto. I pulsanti "-1" e +1 diminuiscono (aumentano) i dati numerici sul display. Il pulsante "MIDI" serve per assegnare un canale MIDI a ciascuna traccia e premendolo successivamente si seleziona una traccia. Il display mostra la traccia Ac (Bc, CC) e il numero (1-16) del canale MIDI. Utilizzando il pulsante "START", si avvia o si arresta (con una seconda pressione) un computer ritmico esterno o un sequenziatore: sul display viene visualizzato rispettivamente "Strt" o "Stop" per un paio di secondi. Il pulsante "BIANCO" ha due scopi funzionali. Se tutti i parametri della tastiera selezionati sono soddisfacenti e devono essere ricordati con il numero corrente del proprio programma, premere questo pulsante due volte. Alla prima pressione il display evidenzierà quattro trattini invitando il dispositivo alla modalità di programmazione. Se premuto una seconda volta, tutte le modalità e i parametri vengono memorizzati nella memoria dei programmi propri del dispositivo e il display indica il numero corrente del proprio programma. Il secondo scopo del pulsante "SCRIVI" è quello di lavorare con il dispositivo in modalità di programmazione delle funzioni. Questa modalità viene attivata premendo prima il pulsante "WRITE". Sul display compaiono quattro trattini che simboleggiano un invito alla modalità di programmazione. I pulsanti digitalizzati iniziano a svolgere le funzioni di programmatori delle seguenti modalità: - PITCH - velocità di sintonia tonale. Il display mostra "PITCH BEND" e un numero (1-4). L'indicazione “Pb” corrisponde al minimo, “Pb4” - la velocità massima di variazione di questo parametro; - MODULAZIONE - profondità di modulazione 25, 50, 75 e 100%. Indicati rispettivamente dalle lettere LF (LONG FREQUENCY) e dai numeri 1. 2, 3 e 4; - VELOCFTY - velocità di battitura - fissa per l'intera tastiera. Indicato sul display come numero a tre cifre (000-127); - VOLUME - livello del volume (O-15). Il display mostra due numeri: a sinistra - per la parte sinistra della tastiera (traccia A) nella modalità di divisione dei manuali, a destra - per la parte destra (traccia B): - SPLIT - il confine della divisione della tastiera in due manuali. Sul display viene visualizzato "SP" (SPLIT) e il numero a due cifre dell'ultimo tasto sul lato sinistro della tastiera; - MODE - modalità di programmazione del canale (P, U, L). Sul display si illumina “Pr” - la lettera corrispondente alla modalità del canale (P, U, L); - TRANSPORT - trasposizione, cioè modifica dell'intonazione della tastiera di 12 semitoni verso il basso o di altrettanti semitoni verso l'alto. La modalità di trasposizione verso il basso è indicata dal display come un numero a due cifre 01-12 con un segno “-”; la modalità di trasposizione verso il basso è indicata senza segno. Il numero 00 indica nessuna trasposizione; - Ost A - +/- ottava per il manuale sinistro. Ciò significa che la scala della tastiera della traccia A può essere spostata di un'ottava verso il basso o verso l'alto. Il display visualizza “Ao”-1”, “Ao-0”, “Ao-1”, che significano rispettivamente uno spostamento di un'ottava verso il basso, nessuno spostamento e uno spostamento di un'ottava verso l'alto: - Ost B - +/- ottava per il manuale giusto. Il display indica rispettivamente "In -1, "In 0" e "In 1"; - PAUSE - la dimensione della pausa tra le mandate MIDI. Il display visualizza "PA" e un numero a due cifre 01-50, che indica la dimensione della pausa in unità arbitrarie.

Sfortunatamente, alcune schede musicali nei computer multimediali “scivolano” quando si cambia il programma audio, cioè non ricevono più messaggi MIDI mentre viene caricato il nuovo programma audio, il che porta alla perdita delle informazioni ricevute. Ad esempio, la scheda YAMAHA SW20 cambia i suoni in 0,5...1 s, e il GRAV1S ULTRASOUND carica i programmi sonori dal disco rigido, il che richiede ancora più tempo. Per un funzionamento chiaro della scheda audio YAMAHA SW20, la dimensione della pausa corrisponde a 16. Per schede economiche come SOUNDBLASTER e per strumenti musicali con ingresso MIDI, PAUSE=1. "I parametri delle funzioni elencate possono essere modificati utilizzando i pulsanti "-1" e "+1". Premendo nuovamente il pulsante "WRITE", il programma sonoro della traccia A (0-127) e il programma sonoro della traccia B (0-127) vengono inseriti nella memoria dei programmi propri del dispositivo. , programma sonoro della traccia C (0-127), numero del canale MIDI A (1-16), numero del canale MIDI B (1-16), canale MIDI numero C (1-16), volume della traccia A (0- 15), volume della traccia B (0-15), ottava A (-1, 0, 1), ottava B (-1, 0,1), funzionamento modalità manuali (P, U, L), livelli, modulazione (1 -4), velocità PITCH BEND (1-4). Indipendentemente dalla numerazione seriale dei programmi propri dello strumento descritto, il confine della sezione SPLIT (1- 61), pitch shift TRANSPORT (-12, 0, +12), velocità premendo VELOCITY (0-127), tempo della composizione eseguita (2&-240). La manopola "VOLUME" e i tasti "PITCH-", "P1TCH I pulsanti +", "MOD" sul telecomando della tastiera MlDI sono controlli di controllo operativo. di essi regolano il volume del dispositivo esterno. Se la tastiera serve due canali MIDI (modalità U, L), il regolatore serve anche questi canali, ma a sua volta. Quale parte della tastiera (manuale) è stata toccata dalla mano di una persona all'ultimo momento, i parametri di controllo del volume verranno trasmessi tramite questo canale MIDI. Ciò può essere fatto in modo più chiaro accedendo alla modalità di programmazione delle funzioni: premere il pulsante “SCRIVI” e utilizzare il pulsante “4” per attivare la funzione VOLUME. Quando la manopola della resistenza R40 viene ruotata dolcemente in senso orario, il display dovrebbe visualizzare 16 gradazioni di livello da 0 a 15. Se lavoriamo sul lato sinistro della tastiera, il regolatore influenzerà solo il volume del canale “A” e il livello del volume verrà visualizzato sul lato sinistro del display. Quando si lavora sul lato destro della tastiera, il controllo influenzerà I pulsanti "PITCH-" e "PITCH+" forniscono una comoda simulazione del funzionamento della rotella di controllo PITCH BEND con uno spostamento graduale del tono verso il basso/su e indietro. Nella modalità di programmazione delle funzioni è possibile accelerare o rallentare il funzionamento del simulatore PITCH BEND. selezionando una delle quattro velocità di pitch bend. Il pulsante "MOD" è un elemento di controllo per quattro livelli di modulazione (25, 50, 75 e 100%). Tenendolo premuto in questa posizione si abilita la modulazione del tono MIDI. Al rilascio del pulsante la modulazione è disabilitata. I possessori di computer dotati di schede audio con interfaccia MIDI avranno bisogno anche di un adattatore (adattatore MIDI), necessario per l'isolamento galvanico tra l'ingresso MIDI dello strumento e l'ingresso midi TTL della scheda audio del computer. Il suo diagramma è mostrato in Fig. 2.

L'isolamento è fornito dal fotoaccoppiatore AOT127A (U1). L'adattatore è alimentato tramite il connettore della scheda audio (pin 1.8 e 9 - +5 V, pin 4 e 5 - comune). Gli ingressi "MIDI THRU- e "MIDI OUT" sono destinati al collegamento di sintetizzatori, generatori di suoni e altri ricevitori MIDI esterni che non sono integrati nel computer. Quando si configura una tastiera MIDI, è necessario prestare particolare attenzione alla configurazione di R38- Nodo R40 per la conversione da analogico a digitale del livello di controllo del volume. Eseguire l'operazione su uno strumento debuggato e perfettamente funzionante in questo ordine. Accendere lo strumento, premere il pulsante "WRITE" sul telecomando e quindi utilizzare il pulsante "4" per attivare la funzione VOLUME. Quando la manopola del resistore R40 viene ruotata delicatamente in senso orario, il display dovrebbe visualizzare tutte le sedici gradazioni di livello, da 0 a 15. Se l'intervallo di regolazione è distorto o ristretto, ottenere il normale funzionamento dell'analogico-a-funzione. conversione digitale selezionando il resistore R38.

Verificare la disponibilità dei messaggi midi come segue. Al pin 5 del connettore "MIDI OUT", collegare la sonda di ingresso dell'oscilloscopio, premere il pedale "SYS-TAIN" o collegare (temporaneamente) gli ingressi PCO e PC1 del chip DD6 ad un conduttore comune, quindi accendere l'alimentazione del dello strumento. Con questo collegamento funziona un programma di uscita MIDI ciclica. codice 55H. Sullo schermo dell'oscilloscopio appare come una sequenza di burst di cinque impulsi. La durata di ciascun bit del messaggio in codice è di 32 minuti, che corrisponde a 31250 bps Velocità di trasmissione dei messaggi MIDI.

  • Suono
  • Da bambino avevo un pianoforte, vero, sovietico, di circa 300 chilogrammi, mi piaceva strimpellarlo e dopo essermi diplomato alla scuola di musica suonavo anche qualcosa. Il pianoforte è bello, autentico, ma per niente pratico. E per fare davvero bene all'anima, ti servono anche una batteria, un set di accessori per chitarra elettrica, clarinetto, sitar e sample loop...

    Certo, adesso non avrai più bisogno di trasformare il tuo appartamento in un garage studio con un gruzzoletto di sei stipendi: ti basterà installare un editor musicale gratuito sul tuo PC. Ma tutto questo è scomodo.

    Una tastiera per PC non è affatto come uno strumento a tastiera, qui è tutto diverso. Inoltre, questo non è affatto adatto per insegnare a un bambino. Sembra che non ci sia altra scelta che acquistare un sintetizzatore. Ma ho ancora dei dubbi.

    Cos'è un sintetizzatore? Un apparecchio grande, con una tastiera musicale, che dovrebbe occupare molto spazio da qualche parte. Che ha l'acustica incorporata, ma ho già un ricevitore con altoparlanti. Che ha un pessimo PC integrato, ma io ho un buon PC.

    Si scopre che per 40mila compro quello che ho già della migliore qualità, ad eccezione della tastiera. Questo è solo un massimo di spese irrazionali.

    Mentre cercavo una tastiera separata, mi sono imbattuto in una classe di dispositivi come la tastiera MIDI USB.
    Mi è sempre sembrato che il MIDI appartenga al campo dell'attività musicale professionale.
    Ma ora tutta la musica viene creata su un PC, in qualsiasi posto conveniente, il che significa che i musicisti hanno bisogno di tastiere musicali mobili che possano essere facilmente inserite in uno zaino.

    Un piano si formò immediatamente nella mia testa. Colleghiamo una tastiera MIDI a un media center domestico basato su Raspberry Pi 3, dove è in esecuzione un sintetizzatore software, consentendo a chiunque di eseguire il proprio prossimo capolavoro in qualsiasi momento. Queste tastiere MIDI di solito hanno una serie di controlli e pulsanti aggiuntivi programmati per vari effetti o strumenti musicali aggiuntivi. Sembra e suona molto bene!

    Esistono dispositivi più grandi e più piccoli, alcuni più costosi e altri più economici. Ho scelto l'opzione per circa 5 mila. Ha due ottave, tasti di dimensioni normali, pulsanti per batteristi, manopole di accordatura, cioè tutto ciò che un musicista elettronico principiante può sognare.

    Non sono un esperto nella creazione di musica su PC, quindi è stato difficile cercare modi per realizzare la mia idea. Le informazioni dovevano essere raccolte poco a poco. Il puzzle ha cominciato gradualmente a prendere forma e sono riuscito a mettere insieme una soluzione funzionante, che condivido con voi. Stranamente, la distribuzione standard Raspbian/Debian conteneva tutto ciò di cui avevi bisogno, non dovevi nemmeno collegare repository esterni.

    Fluidsynth viene utilizzato come sequenziatore (un'applicazione che riproduce file MIDI).
    La tastiera MIDI viene immediatamente rilevata tramite ALSA ed è disponibile per la connessione al sequenziatore.
    Per riprodurre i suoni di vari strumenti, vengono utilizzati database di campioni aperti nel formato SoundFont2. Per prima cosa installiamo tutto questo.

    Sudo -s apt-get update apt-get -y installa alsa-utils fluid-soundfont-gm fluidsynth
    Colleghiamo una tastiera MIDI al Raspberry e lanciamo il sequenziatore in modalità server:

    Fluidsynth -i -s -a alsa -g 3 /usr/share/sounds/sf2/FluidR3_GM.sf2
    Eseguiamo il comando:

    Aconnect -o
    Di conseguenza, vedremo un elenco di client MIDI disponibili:

    Client 14: "Midi Through" 0 "Midi Through Port-0" client 20: "VMini" 0 "VMini MIDI 1" 1 "VMini MIDI 2" client 128: "FLUID Synth (1628)" 0 "Porta di ingresso synth (1628 ) :0)"
    Qui è importante per noi ricordare i numeri client della tastiera e del sequenziatore, in modo da poterli poi collegare con il comando:

    Aconnect 20:0 128:0
    Ora siamo tutti pronti per suonare sul pianoforte Yamaha (questo è lo strumento predefinito). Leggi il manuale del fluidsynth, ci sono molti comandi interessanti lì, ad esempio, per cambiare lo strumento in batteria o fiati, impostare la quantità di riverbero o chorus.

    Rendiamo conveniente il nostro sintetizzatore software. Per non collegare ogni volta manualmente la tastiera al sequenziatore, scriveremo un semplice demone che lo farà automaticamente all'avvio.

    Cat > /etc/init.d/fluidsynth<< EOF #!/bin/bash ### BEGIN INIT INFO # Provides: fluidsynth # Required-Start: $all # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Fluidsynth deamon to play via MIDI-keyboard ### END INIT INFO startDaemon() { sleep 30s && fluidsynth -i -s -a alsa -g 3 --load-config=/home/osmc/midi-router >/var/log/fluidsynth & sleep 60s && aconnect 20:0 128:0 & ) stopDaemon() ( pkill -9 fluidsynth &> /dev/null ) restartDaemon() ( stopDaemon startDaemon ) case "$1" in start) startDaemon ; ; stop) stopDaemon ;; riavviare) riavviareDaemon ;; stato) ;; *) startDaemon esac uscita 0 EOF
    Registra il demone per l'esecuzione automatica:

    Chmod 755 /etc/init.d/fluidsynth update-rc.d valori predefiniti fluidsynth
    Tieni presente che ora all'avvio al sequenziatore viene inviato un file di configurazione (/home/osmc/midi-router) contenente i comandi che trasformano la nostra tastiera in un vero sintetizzatore.

    Ecco il punto. Ogni tasto e manopola della tastiera invia determinati eventi con il proprio numero. A quanto ho capito, qui non ci sono standard speciali, quindi ogni produttore fa ciò che vuole. Ad esempio, voglio che i tasti quadrati suonino come una batteria, il resto dei tasti suoni come un pianoforte e le manopole per controllare il volume, il riverbero e il chorus.

    Quindi, devo mappare i codici degli eventi dalla tastiera ai diversi strumenti e i codici dalle manopole ai codici che il sequenziatore capisce. In fluidsynth questo viene fatto utilizzando il router. Sono questi comandi che sono contenuti nel file di configurazione.

    Ecco un esempio del mio file di configurazione, con commenti su cosa fa.

    Cat > /home/osmc/midi-router<< EOF # загружаем стандартные инструменты и ударники, найденные где-то на просторах Сети load /usr/share/sounds/sf2/FluidR3_GM.sf2 load /home/osmc/241-Drums.SF2 # связываем инструмент каждый со своим каналом select 1 2 128 0 select 2 1 0 0 # по умолчанию звук идет на канал 0 # перенаправляем события с квадратных клавиш на канал с ударными router_begin note router_chan 0 0 0 1 router_par1 36 48 1 0 router_end # события с остальных клавиш перенаправляем на канал с пианино router_begin note router_chan 0 0 0 2 router_par1 0 35 1 0 router_end router_begin note router_chan 0 0 0 2 router_par1 49 255 1 0 router_end # события с ручек мэпим на события, которые понимает секвенсер, # полный их список есть в документации на сайте fluidsynth router_begin cc router_chan 0 0 0 2 router_par1 14 14 0 98 router_end router_begin cc router_chan 0 0 0 2 router_par1 15 15 0 11 router_end router_begin cc router_chan 0 0 0 2 router_par1 16 16 0 91 router_end router_begin cc router_chan 0 0 0 2 router_par1 17 17 0 93 router_end # выключаем громкость на канале 0, # иначе при нажатии на клавишу # разные инструменты будут звучать одновременнно cc 0 7 0 EOF
    Per scoprire quali codici genera il tuo dispositivo, devi utilizzare questa utility:

    Aseqdump -p 20:0
    Ascolta e trasmette eventi dalla tastiera MIDI alla console. Premi il pulsante o gira la manopola e vedrai il tipo di evento, il canale e il codice. Puoi programmare la tua tastiera nel modo che preferisci, non nel modo in cui l'hanno ideata gli ingegneri che hanno progettato un particolare sintetizzatore. Per questo ringrazio molto gli sviluppatori fluidsynth, alsa, SoundFont2, Raspberry e V-Mini.

    A proposito, questo argomento con i sintetizzatori fai-da-te si riflette in diverse invenzioni, ti consiglio di studiarlo.

    La tastiera è progettata per il collegamento a un modulo sonoro esterno o a un computer (se è presente un'interfaccia appropriata) utilizzando il protocollo MIDI - per registrare musica in un programma sequenziatore o esibizioni dal vivo. Il numero di tasti nella versione proposta è 48, ma senza alterare il circuito è possibile aumentarli fino a 64. Caratteristica distintiva della tastiera proposta è la sensibilità alla forza d'impatto sul tasto.

    Storia del dispositivo

    Qualche tempo fa, in relazione all'acquisto di un appartamento, sono stato costretto a perdere uno strumento di lusso che mi serviva da tastiera MIDI: era il leggendario YAMAHA DX-7. Quando la tristezza si è calmata, la domanda è nata in tutta la sua gravità e bruttezza: su cosa lavorare? Fu in questo momento che, grazie agli sforzi del mio amico, il circuito semi-assemblato per KR1816BE39 (in termini contraddittori questo processore si chiama 8048) cadde nelle mie mani. Il circuito è facile da montare e configurare e, cosa più importante, è arrivato tra le mani al momento giusto. Ho assemblato la tastiera sotto forma di matrice 8x6 utilizzando KR1533ID7 e KR1533KP7. C'era anche un neo: due inconvenienti di questo schema uccidono a morte tutti i suoi vantaggi: la mancanza di sensibilità alla velocità di battitura dei tasti (altoparlanti) e la rotella PITCH WEEL. Bene, una volta ho programmato sullo Z-80 (e ho persino realizzato un sequenziatore funzionante) e ho deciso di scrollarmi di dosso i vecchi tempi. Ho decisamente liquidato lo Z-80 come una CPU moralmente obsoleta. Inoltre non volevo fare molte saldature e ho deciso di prendere come base questo stesso dispositivo sul KR1816BE39, dotandolo di un altro multiplexer per l'interruzione dei contatti (superiori) dei tasti. Ho trovato la documentazione (non ci crederai - nella biblioteca, il libro "Designing Digital Devices on Single-Chip Microprocessors") per l'assemblatore KR1816BE39 e ho scarabocchiato un programma... E poi si è scoperto che il programmatore ROM di un amico aveva è morto e semplicemente non c'era nulla con cui eseguire il flashing del programma... Per il dolore ho perso completamente la testa e ho deciso di riscrivere lo stesso algoritmo per PIC. In mezza giornata è stato saldato insieme il programmatore (LUDIPIPO), poi è stato realizzato un prototipo da uno zoccolo, KR1533ID7 e una coppia di KR1533KP7, e l'intera installazione è stata fatta da MGTF senza alcun timbro. E il processo è iniziato...

    Innanzitutto è stata lanciata una versione non dinamica del programma (la presento anche per chi ha una tastiera con un contatto per tasto). Poi è iniziata la versione dinamica. E poi è nata l'idea di aggiungere pulsanti e un indicatore. Il fatto è che avevo un WAVEBLASTER (un sintetizzatore wavetable figlio di sistemi audio molto vecchi) rimasto inattivo per molto tempo. Collegandolo alla mia creazione, ho ottenuto qualcosa su cui puoi giocare (al meglio delle tue capacità e del tuo talento) senza un computer, il che a volte è abbastanza conveniente. Ciò ha determinato l'insieme delle funzioni sui pulsanti: può essere utile quando ci si collega ai moduli sonori durante la riproduzione "dal vivo". Le funzioni dei pulsanti sono facili da modificare scrivendo i propri gestori e utilizzando le mie procedure di polling e visualizzazione. In qualche modo, la tastiera assemblata in una custodia di ferro si è rivelata più conveniente della YAMAHA PSS (ancora tasti a grandezza naturale, un pedale e, soprattutto, dinamica!). Nel bel mezzo del processo creativo, è nato il difficile desiderio di realizzare una versione della tastiera MIDI esclusivamente per computer: l'indicatore e i pulsanti sono opzionali, ma sono necessarie le ruote PITCH WEEL e MODULATION. Ho lottato per un po', ma alla fine mi sono arreso e ho riacceso il saldatore. L'elettronica non è difficile da assemblare, ma la meccanica lo è un po' di più, e ho cominciato a storcere il naso riguardo al design delle ruote. Dopo averci pensato un po', ho deciso di abbandonare la seconda ruota - comunque, non le faccio mai girare entrambe contemporaneamente, di solito scrivo prima le note e l'intonazione, poi aggiungo la modulazione. Non ultima considerazione è stata il dimezzamento del volume di lavoro meccanico che tanto amavo. Per i meno pigri, di seguito spiegherò come realizzare due ruote senza alcuna complessità. Per poter ancora scrivere la modulazione, ho deciso di organizzare tre modalità operative della rotella: altezza per 2 semitoni, altezza per 1 semitono (conveniente) e modulazione. Puoi cambiare tutto questo con un pulsante e indicare la modalità con una coppia di LED. Per semplificare il circuito ho eliminato i restanti pulsanti e indicatori, tutto ciò non è necessario per lavorare con i moderni programmi sequenziatori.

    La ruota, ovviamente, va messa sull'asse del potenziometro, questo è comprensibile, ma a cosa va collegata? Il mio primo pensiero è stato quello di utilizzare un one-shot sul timer 555. Ma i calcoli hanno mostrato che sarebbe stato difficile ottenere misurazioni precise e stabili della durata dell'impulso tentando di fornire una frequenza di campionamento della ruota accettabile, poiché il processore è principalmente impegnato a misurare la commutazione tempo dei contatti della tastiera. L'unico modo rimasto è utilizzare un convertitore analogico-digitale (ADC). Dato che ho usato un Pic16F84 senza ADC integrato, mi sono ricordato del mio background ingegneristico (e della mia fabbrica natale) e ho realizzato un ADC da diversi resistori con un comparatore (e un pezzo di programma). Si è rivelato semplice, economico e abbastanza preciso.

    Presento entrambi i diagrammi, sia con pulsanti che con rotella, nonché programmi per essi. Volendo entrambi i circuiti possono essere facilmente combinati modificando leggermente gli indirizzi dei dispositivi esterni; basta ricordare che la modalità CHORUS (STEREO) utilizza l'intonazione per ottenere la disaccordatura e bisogna o rimuoverla, oppure preoccuparsi di trasmettere l'intonazione con disaccordatura attraverso i canali.

    Quindi, la tastiera vera e propria

    Schema del dispositivo

    La prima ad apparire è stata una versione non dinamica, insensibile alla forza d'impatto sulla chiave, per testare la funzionalità del layout.

    Ho utilizzato il PIC16F84 come processore per diversi motivi: questo chip è disponibile, economico e facile da programmare, ed era quello che avevo a portata di mano. Attenzione: il PIC16C84 non è adatto, ha solo 36 celle di RAM e il programma non funzionerà. Tuttavia, il circuito della ruota utilizza meno celle RAM e il suo programma può essere inserito nel PIC16C84 riducendo un paio di celle in più, ad esempio MIDCH (assegnando un canale MIDI costante a tutti i dati trasmessi).

    Di seguito è riportato lo schema di una tastiera dinamica con indicazione:

    Il circuito è tradizionale sotto molti aspetti - è difficile reinventare una bicicletta senza pedali e ruote. J La porta B funziona per la trasmissione - i 7 bit inferiori emettono l'indirizzo chiave nella matrice o i dati per dispositivi esterni (indicatore e DAC della ruota). Il bit più significativo viene utilizzato per trasmettere i dati MIDI in codice seriale: la conversione e l'output vengono eseguiti nel software. Pertanto il cristallo dovrebbe essere a 4 MHz a meno che non si voglia riscrivere la routine di uscita dei byte MIDI. I due bit meno significativi della porta A funzionano per la ricezione: ricevono segnali dai multiplexer dei contatti chiave "rilasciati" e "premuti", mentre i tre bit più significativi determinano l'indirizzo del dispositivo esterno (tramite un altro decoder KR1533ID7). Nel circuito con il volante ho abbandonato il decodificatore dell'indirizzo del dispositivo esterno per semplificare il circuito e liberare il bit alto della porta PA4 per l'ingresso dei dati dal comparatore, quindi gli indirizzi della tastiera e dei pulsanti sono diversi. Quando si combinano i circuiti, questo microcircuito dovrà essere restituito, per decrittografare l'indirizzo, utilizzare i bit di porta PA2 e PA3 e indirizzare 4 dispositivi: tastiera, pulsanti, registro dati di indicazione dinamica e registro di familiarità di indicazione dinamica. L'indicazione della modalità ruota dovrà essere riscritta.

    Il circuito con la rotella PITCH WEEL / MODULATION si presenta così:

    Su ogni tasto è installato un diodo per il disaccoppiamento. I resistori agli ingressi dei multiplexer non devono essere superiori a 8k, altrimenti sono possibili anomalie a causa della capacità di montaggio. Indicatore - qualsiasi con un anodo comune per 3 cifre, se i terminali dei segmenti di ciascuna cifra vengono emessi separatamente, i terminali dei segmenti con lo stesso nome devono essere combinati - l'indicazione è dinamica e le cifre si illuminano in sequenza. Qualsiasi pulsante, senza blocco, il rimbalzo dei contatti è controllato dal software. In prossimità dei pulsanti omonimi sono installati dei LED che indicano l'attivazione delle modalità corrispondenti; i pulsanti “+” e “-” non sono dotati di LED. I transistor sull'indicatore sono a conduzione inversa a bassa potenza e ad alta frequenza. Due registri KR1533IR23 vengono utilizzati per bloccare alternativamente l'indirizzo e il codice della cifra dell'indicatore corrente (anche i LED sono raggruppati in due quasi-cifre). Ho usato una tastiera standard di organi elettrici sovietici con 48 tasti (è stata prodotta anche separatamente come progettista radiofonico “START” ed è abbastanza diffusa). Per ridurre l'altezza della tastiera e lo spessore dello strumento, sono stati lasciati due dei sei gruppi di contatti sotto ogni tasto, e il tutto è stato tagliato e reincollato. In generale è sufficiente un gruppo di commutazione per tasto, ma era più conveniente incollarlo in questo modo. Le sbarre dei contatti “sganciati” e “premuti” sono lunghe 8 tasti. Se lo si desidera, è possibile utilizzare anche una tastiera, dove invece di un gruppo di contatti di commutazione vengono utilizzate due coppie di contatti di chiusura: una coppia si chiude all'inizio del movimento della chiave, l'altra alla fine (come sugli strumenti YAMAHA). In questo caso il segnale a PA0 deve essere fornito dall'uscita inversa del multiplexer (pin 6). Senza modifiche al circuito, è possibile utilizzare una tastiera con 64 tasti (standard – 61, ovvero 5 ottave). Se necessario è possibile aumentare il numero di tasti fino ad almeno 127; per fare ciò è necessario introdurre nel circuito un altro decoder KR1533ID7.

    È molto importante impostare bene la meccanica: i contatti superiori DEVONO chiudersi al rilascio dei tasti. Se ciò non viene fatto, il programma considera tali tasti premuti e tenta di elaborarli, quindi premendo nuovamente questi tasti non viene prodotto alcun suono. Inoltre, il numero massimo di note che possono essere suonate contemporaneamente è 10 (se qualcuno ha più dita sulle mani, questo numero può essere facilmente modificato), e non rilasciare i tasti riduce questo numero. Per gli stessi motivi, il numero di tasti specificati nella procedura di polling della tastiera DEVE corrispondere al numero di tasti reali. Il rimbalzo dei contatti viene soppresso dal software.

    Per un ADC R-2R a matrice resistiva, è consigliabile selezionare resistori con una precisione dell'1–2% e i valori assoluti possono essere diversi, il rapporto è importante. Tuttavia, non si dovrebbe aumentare di molto il valore nominale; ciò aumenterà il tempo di conversione a causa della capacità di ingresso del comparatore. Ho utilizzato resistori SMD senza adattamento, anche se le misurazioni hanno mostrato che in una striscia di montaggio i resistori sono solitamente accoppiati con una precisione superiore all'1%. Sono sicuro che il circuito funzionerà con resistori imprecisi, ma la linearità della caratteristica si deteriorerà. La ruota stessa è ricavata dalla maniglia di un vecchio televisore e ha una molla sull'asse del potenziometro che la riporta in posizione centrale. Per comodità di impostazione della meccanica, quando si accende l'alimentazione con il pulsante mode premuto, viene attivato un programma di debug che accende il LED quando la ruota è in posizione centrale, questo permette di mettere a punto la posizione zero della ruota sull'asse del potenziometro. Se è necessario e si desidera creare una ruota MODULAZIONE separata, è necessario collegarla a un elemento comparatore libero (ce ne sono quattro) e la matrice R-2R è comune per entrambe le ruote. Per commutare le uscite dei comparatori, è meglio utilizzare un microcircuito aggiuntivo e utilizzare PA2 come segnale di controllo.

    Se lo si desidera, è possibile assemblare una versione dinamica della tastiera senza indicazione, pulsanti e rotella PITCH WEEL / MODULATION - semplicemente senza assemblare la parte inutilizzata del circuito. Tutti i parametri modificabili verranno impostati sui valori predefiniti all'accensione...

    Tutto questo può essere alimentato da qualsiasi cosa, il consumo di corrente dipende dall'indicatore specifico e non supera i 100 mA. Ho uno stabilizzatore 7805 direttamente sulla scheda senza dissipatore di calore (si vede chiaramente nella foto). È necessario un piccolo radiatore se vengono forniti più di 9 V. Il comparatore è alimentato da una tensione di 9 - 12 v, preferibilmente stabilizzata. Sì, ho utilizzato microcircuiti di fabbricazione sovietica da vecchi stock - ci sono molti dei loro analoghi moderni, la sostituzione è possibile e persino auspicabile - gli analoghi moderni hanno un consumo inferiore.

    Programma

    L'algoritmo per l'elaborazione dei tasti premuti deriva da quello proposto nella rivista “Microprocessor Tools and Systems” n. 5, 1986. È stata questa pubblicazione (o meglio, un errore nel programma proposto) che mi ha spinto a studiare l'assemblatore. In realtà, l'unica idea presa da lì è stata quella di registrare il numero di ogni tasto premuto in un'area appositamente assegnata della RAM (CHAN), in modo che quando la tastiera viene nuovamente interrogata, non elabori nuovamente il tasto già elaborato. Ho due celle RAM allocate per ciascuno dei tasti premuti (non più di 10 in totale): nella prima viene registrato il numero del tasto premuto, nella seconda la sua VELOCITÀ (velocità di pressione). Ripeto: ci sono solo 20 di queste celle e l'indirizzo iniziale è dato dal nome CHAN. Il segno di una coppia libera è il bit più significativo impostato della prima cella. Il bit più significativo della seconda cella impostata significa che NOTE ON per questo tasto è già stato trasmesso e non necessita di ulteriore elaborazione.

    Non descriverò l'intero programma in dettaglio, il codice sorgente è pieno di commenti ed è abbastanza accessibile a una persona esperta. Per il resto metto subito a disposizione firmware già pronto nei file Dinamic.hex e Pitchmod.hex. Spiegherò solo alcuni punti non ovvi. Bene, prima di tutto, riguardo alla dinamica: nel momento in cui i contatti superiori della chiave si aprono, il suo numero viene scritto nella prima cella della prima coppia libera dall'area CHAN, reimpostando contemporaneamente il segno della coppia libera. Nella seconda cella viene scritto il valore iniziale VELOCITY = 127. La sensibilità della tastiera è determinata dalla frequenza di interruzione, poiché l'elaborazione dell'interruzione riduce i valori di VELOCITY per tutti i tasti per i quali non è stata ancora trasmessa NOTE ON. Gli interrupt sono causati da un timer integrato. Nel momento in cui si chiudono i contatti inferiori del tasto, nella cella CHAN corrispondente viene impostato il segno “trasferito” e viene trasmesso NOTE ON con la VELOCITY attuale. Per migliorare la curva di sensibilità, i valori di VELOCITÀ diminuiscono secondo la legge logaritmica: 1/16 della sua parte, ridotto di 1, viene sottratto al valore di VELOCITÀ attuale, quindi mentre il tasto si sposta dal contatto superiore a quello inferiore primo, il valore di VELOCITÀ nella cella CHAN corrispondente diminuisce secondo la legge logaritmica, e più velocemente si muove il tasto, maggiore è la VELOCITÀ nel momento in cui i contatti inferiori del tasto vengono chiusi e viene trasmesso NOTE ON. Gli interrupt controllano anche la visualizzazione dinamica, questo viene fatto per eliminare lo sfarfallio dell'indicatore.
    Funzioni dei pulsanti: TRANSPOSE: tutti i tasti vengono ridotti al tuo La minore preferito: intervallo +/- 15 semitoni. PRG assegna un timbro (strumento) ad un dato preset (UP1-UP5), e VOL ne assegna il volume. Il parametro corrente viene visualizzato sull'indicatore e può essere modificato utilizzando i pulsanti “+” e “-”.TWIN visualizza un timbro “doppio” - uno dei preset (UP1-UP5) e, contemporaneamente, il preset LOWER suonare contemporaneamente. STEREO trasmette il suono della preimpostazione corrente ai canali stereo destro e sinistro con una leggera “stonatura” (effetto “chorus”). Il pulsante SPLIT non è attivato. Il pedale SUSTAIN è progettato dal punto di vista circuitale come uno dei pulsanti; la capacità del suo filo non dovrebbe essere molto grande. Gli indirizzi dei gestori dei pulsanti sono raccolti in una tabella all'inizio del programma; quando si modificano le funzioni dei pulsanti è possibile sostituirle con le proprie.

    L'ADC della ruota è per metà software, funziona utilizzando un algoritmo di approssimazione successiva, la matrice R-2R esegue la conversione da digitale ad analogico. Innanzitutto, un 1 nella cifra più significativa viene applicato alla matrice R-2R e il comparatore determina se è molto o poco. Se c'è poco, 1 rimane nel bit più significativo, se c'è molto - 0. Quindi la stessa cosa accade con ogni successivo bit di ordine basso (6 passaggi in totale) e otteniamo un numero di sei bit corrispondente al angolo di rotazione della ruota. Questa precisione mi sembra sufficiente, ma puoi aggiungerne un altro aumentando la matrice e il programma di conversione.

    Progetto

    Come tastiera vera e propria, ho usato un costruttore "Start" di fabbricazione sovietica; ora, forse, è più facile trovare una vecchia Yamaha o Casio inutilizzabile, questo risolverà anche il problema di risolvere il caso - se, ovviamente, il vecchio strumento è relativamente intatto...

    Non è stato sviluppato un circuito stampato: ho ritenuto inappropriato dedicare tempo al cablaggio e alla realizzazione di una scheda per produrre un'unica copia del dispositivo, e il layout è stato realizzato su un circuito utilizzando i ponticelli MGTF. Come connettore e cavo per la tastiera, abbiamo utilizzato un cavo dalle unità floppy del computer con il connettore corrispondente su ciascun lato: ciò semplifica il montaggio/smontaggio del dispositivo finito.

    Nel mio caso, il corpo era piegato da una sottile lamiera d'acciaio (quello che era a portata di mano) - con lati in legno (come i vecchi strumenti sovietici).

    Bene, in breve, questo è tutto. Successo creativo!

    Elenco dei radioelementi

    Designazione Tipo Denominazione Quantità NotaNegozioIl mio blocco note
    Schema n. 1.
    MicrocontrollorePIC16F841 Al blocco note
    Patata frittaKR1533ID71 Al blocco note
    Patata frittaKR1533KP71 Al blocco note
    Regolatore lineare

    LM7805

    1 Al blocco note
    Diodo

    KD522A

    64 Al blocco note
    Condensatore22 pF2 Al blocco note
    Condensatore0,1 µF2 Al blocco note
    100 µF2 Al blocco note
    Resistore

    220 Ohm

    2 Al blocco note
    Resistore

    6,8 kOhm

    8 Al blocco note
    Risonatore al quarzo4 MHz1 Al blocco note
    Pulsante della tastiera 64 Al blocco note
    Schema n. 2.
    MicrocontrollorePIC16F841 Al blocco note
    Patata frittaKR1533ID72 Al blocco note
    Patata frittaKR1533KP72 Al blocco note
    Patata frittaKR1533IR232 Al blocco note
    Regolatore lineare

    LM7805

    1 Al blocco note
    Transistor bipolare

    KT315A

    5 Al blocco note
    Diodo

    KD522A

    80 Al blocco note
    Condensatore22 pF2 Al blocco note
    Condensatore0,1 µF2 Al blocco note
    Condensatore elettrolitico100 µF2 Al blocco note
    Resistore

    180 Ohm

    7 Al blocco note
    Resistore

    220 Ohm

    2 Al blocco note
    Resistore

    6,8 kOhm

    16 Al blocco note
    Resistore

    8 kOhm

    1 Al blocco note
    Risonatore al quarzo4 MHz1 Al blocco note
    Indicatore digitale a LED a 3 cifre, con anodi comuni. 1 Al blocco note
    Diodo ad emissione luminosaRosso12 Al blocco note
    Interruttore a chiave 64 Al blocco note
    Pulsante 16 Al blocco note
    Schema n. 3.
    MicrocontrollorePIC16F841 Al blocco note
    Patata frittaKR1533ID71 Al blocco note
    Patata frittaKR1533KP72 Al blocco note
    Comparatore

    Desidero da tempo risvegliare il compositore dentro di me e iniziare a creare la mia musica elettronica. Tuttavia, ero (per usare un eufemismo) scoraggiato dai prezzi elevati dei controller MIDI. Ma dopo aver esplorato Internet, mi è venuta l'idea di creare il mio controller utilizzando Arduino Uno e vernici conduttive!

    Iniziamo)

    Passaggio 1: selezione delle parti

    Puoi discostarti leggermente dal materiale presentato e il controller MIDI che hai assemblato funzionerà comunque (con “deviare leggermente” intendo che puoi installare un resistore con un valore leggermente diverso o lasciare uno dei pin scollegato).

    Dall'elettronica abbiamo bisogno di:

    • 1 Arduino Uno con cavo USB;

    • 1 barattolo di vernice conduttiva;

    • 1 piastra di montaggio da 5x7 cm;

    • 3 pulsanti;

    • resistori con una resistenza di 2,2 kOhm;

    • 1 LED;

    • resistori con una resistenza di 10 kOhm;

    • 1 sensore LDR;

    • resistori con una resistenza di 4,7 kOhm;

    • 1 ponticello;

    • 12 resistori da 2,7 MΩ;

    • 30 perni dritti;

    • 12 perni piegati;

    • 12 adattatori;

    • 12 graffette.

    Oltre all'elettronica, avrai bisogno anche dei seguenti strumenti:

    • Saldatore e saldatore;
    • Pinza tagliafili;
    • Supporto per parti saldanti (terza mano);
    • Multimetro;
    • Diversi fili e/o filo metallico sottile.

    Passaggio 2: saldare i pin

    Iniziamo a creare la scheda saldando i pin. Pubblichiamo perni piegati al centro della prima riga del tabellone. Serviranno successivamente come pin “sensibili” a cui verrà collegata la tastiera.

    Dopo aver installato i perni, nota che i perni corti sporgono dalla scheda. Li premiamo in modo che tutto vada a filo. Ora li saldiamo e controlliamo immediatamente i collegamenti per eventuali cortocircuiti.

    Nota: non saldare i pin per troppo tempo, altrimenti si surriscaldano e fondono la plastica.

    Per il passaggio successivo, posiziona i pettini dritti nelle fessure Arduino. Installiamo la scheda sopra i pin inseriti nell'Arduino. Questa azione ha richiesto un po' di forza perché i perni non sono perfettamente allineati con i fori sulla scheda.

    Una volta installata con successo la scheda sui perni, assicurati che i perni siano a filo con il bordo superiore della scheda. Dopo di che possono essere saldati.

    Passaggio 3: saldare i ponticelli

    Ora rimuoviamo la scheda dall'Arduino e giriamola sul retro. Saldiamo i ponticelli su cui verranno successivamente fissati i componenti. Ci sono due modi per farlo:

    • Riempi tutti i fori necessari con la saldatura, quindi collegali tra loro.
    • Utilizzare un filo sottile.

    Ti consiglio di utilizzare il secondo metodo perché è più semplice e veloce. Se scegli questo metodo, posiziona il filo sulla scheda come mostrato nell'immagine.

    • Il punto rosso significa saldare il filo nel foro.
    • Punto giallo: collega il filo sottile al pin sull'altro lato della scheda (come nella terza immagine).

    Come puoi vedere, ho rovinato un po' l'angolo in basso a sinistra quando ho applicato troppa saldatura, quindi fai attenzione!

    Suggerimento: se non disponi di filo sottile, utilizza gli scarti dei cavi dei resistori che stai utilizzando.

    Passaggio 4: saldare i resistori capacitivi al tocco

    Installiamo i componenti, vale a dire 2.7 MOhmresistori, che svolgeranno funzioni sensoriali-capacitive.

    Nota: se vuoi approfondire i fondamenti teorici e le applicazioni pratiche dei sensori touch capacitivi, ti consiglio di consultare i seguenti link:

    Ne posizioniamo uno 2.7 MOhmresistore dal fondo del perno piegato più a destra e spingere le gambe attraverso i fori (come nella prima immagine). Ora capovolgiamo la scheda e spingiamo nuovamente il cavo del resistore nel foro successivo (come mostrato nella seconda immagine). Saldare la gamba inferiore del resistore al foro e la gamba superiore del resistore al terminale del pin. Quindi allegheremo 7 filo cm su questo perno (come visto dalla terza immagine).

    Ripetiamo il processo con tutti i resistori e i fili, saldandoli in posizione. Le gambe inferiori dei resistori dovrebbero formare una lunga connessione.

    Consiglio: Scegli colori alternati per i cavi: questo renderà le connessioni più facili nei passaggi successivi.

    Passaggio 5: saldare i pulsanti

    Iniziamo posizionando i pulsanti e le resistenze sulla scheda, come nella prima e nella seconda immagine. Nel mio caso ho usato 2.2 Resistenze da kOhm, ma è possibile utilizzare qualsiasi resistore con un valore compreso tra 2kOhm e 10KOhm.

    Capovolgiamo la scheda e saldiamo tutto a posto. L'immagine 3 spiega le diverse connessioni che dovrai effettuare:

    • punto blu: indica la gamba del pulsante che deve essere saldata alla scheda;
    • punto rosa – indica il piedino del resistore, che deve essere saldato alla scheda;
    • la linea rossa significa che dovresti saldare due punti in una connessione;
    • la linea nera indica il filo che andrà da una gamba del pulsante attraverso il foro della scheda, per poi collegarsi al pin sull'altro lato.

    Se tutto è saldato correttamente, i due pulsanti più a sinistra ti permetteranno di cambiare ottave, mentre il pulsante più a destra abiliteràSensore LDR.

    Passaggio 6: saldare l'LDR e il LED

    Dopo aver saldato i pulsanti, continuiamo a installare LDR, LED e resistori corrispondenti. Prima di fare ciò, sarebbe saggio sperimentare i valori dei resistori che andranno al LED. Forse la mia valutazione è troppo alta per accendere il LED. Sperimenta un po' per trovare il valore corretto del resistore.

    Suggerimento: qualsiasi resistore compreso tra 330Ohm e 5kOhmsarebbe una buona soluzione per 5mmGUIDATO.

    Ora sistemeremo il LED, l'LDR e i resistori ( 4.7 K perLDR) nei posti giusti. Capovolgiamo la scheda e saldiamo tutto. La terza immagine spiegherà i diversi collegamenti che devono essere effettuati:

    • i punti marroni sono pin LDR che dovrebbero essere saldati alla scheda;
    • il punto rosa è il piedino del resistore che deve essere saldato alla scheda;
    • i punti arancioni sono pin LED che devono essere saldati sulla scheda;
    • striscia rossa: devi saldare due punti in una connessione;
    • la striscia nera è il filo che andrà dall'uscita del resistore attraverso il foro della scheda, che poi si collegherà al pin.

    Nota: prima di saldare il LED, assicurarsi che la polarità del LED sia corretta. Il terminale positivo del LED deve essere collegato a un resistore e il terminale negativo a terra.

    Passaggio 7: testare tutte le connessioni

    Ora è il momento giusto per verificare se i collegamenti dei pulsanti, LDR e LED sono saldati correttamente. Questa è l'ultima opportunità per correggere gli errori, ti consiglio di scaricare il codice allegato ed eseguire il programma. e scaricare Arduino_Test_Fixture_Codice alla scheda Arduino.

    Se tutto ha esito positivo e il test è completato, puoi passare al passaggio successivo. In caso contrario, ricontrolla le connessioni saldate sulla scheda. È meglio tenere un multimetro a portata di mano, lo dico per mia amara esperienza.

    Passaggio 8: finitura del tabellone

    Iniziamo installando i fili nei fori, come mostrato nella prima immagine. È conveniente utilizzare due fili di colori diversi per questo passaggio.

    Capovolgiamo la scheda e tagliamo i fili alla lunghezza richiesta. Saldateli ai pin che entrano nei connettori Arduino. Prima di iniziare a utilizzare Controller MIDI, devi prima testarne le connessioni utilizzando uno schizzo di prova. Carica lo sketch, apri la porta seriale e tocca i pin "sensibili" sulla scheda. Se vedi il testo "La nota x è attiva" per ciascun pin quando lo tocchi, tutti i pin funzionano correttamente.

    Passaggio 9: converti Arduino in dispositivo MIDI

    Una volta che la scheda è pronta, è il momento di convertire Arduino in un controller MIDI che verrà riconosciuto da programmi musicali come Ableton e Fl Studio o anche da altri dispositivi MIDI. Il processo si compone di due fasi:

    1. Cambia il firmware corrente su Arduino Uno in programmi compatibili con MIDI;
    2. Carica lo schizzo MIDI su Arduino.

    Partiamo dal primo punto. Caricato in Arduino per condizione firmwarePorta USB-seriale, che consente ad Arduino di scambiare messaggi con il PC e l'IDE di Arduino. Con un nuovo programma DualMoco, verrà aggiunta una seconda modalità, che permetterà ad Arduino di agire come Dispositivi MIDI.

    Utilizzeremo il programma FLIP e seguiremo le istruzioni per modificare il firmware Arduino. Troverai un file di lavoro nell'archivio nella cartella Firmware: il file DualMoco.hex.

    Dopo aver scaricato il nuovo firmware, ricollega Arduino al PC. Se tutto va bene, Arduino non dovrebbe essere rilevato dall'IDE di Arduino perché il nuovo programma è in ( MIDImodalità). Apri un programma musicale in grado di registrare MIDI e controlla che l'Arduino abbia un nome MIDI/ MOCOperLUFAè stato visualizzato sopra le impostazioni MIDI, come puoi vedere nella prima immagine.

    Passaggio 10: fare i preparativi finali

    Peculiarità DualMocoè che ha una seconda modalità - Porta USB-seriale, che ti consente di caricare schizzi dall'IDE di Arduino, proprio come con il normale firmware. Per mettere Arduino nella seconda modalità, collega insieme due pin ISCP come mostrato nelle immagini 1 e 2. Puoi utilizzare un pezzo di filo o un piccolo ponticello come mostrato nelle immagini. Ora scollega il cavo USB da Arduino per alcuni secondi e ricollegalo, Arduino dovrebbe apparire nell'IDE di Arduino.

    Nota: quando si desidera passare dalla modalitàUSB-porta serialeVModalità MIDI, rimuovere il ponticello daPin ISCP come mostrato nella terza immagine e riconnettersiDall'Arduino al PC.

    È ora di caricare lo schizzo corrente su Arduino, Arduino_Finale_Codice. Scaricalo, converti Arduino in USBporta seriale modalità e scaricare il codice. Se è necessario ottimizzare la soglia, sperimentare i valori SOGLIA E RES. Una volta che tutto funziona come previsto, modificare l'attuale riga 17, da:

    booleano midiMode = false; // se midiMode = false, Arduino fungerà da dispositivo da USB a seriale

    booleano midiMode = vero;// se midiMode = true, Arduino fungerà da dispositivo MIDI nativo.

    Dopo aver apportato le modifiche finali al codice, è il momento di testare un programma musicale in grado di supportare i dispositivi MIDI. Per prima cosa, passiamo Arduino alla modalità MIDI, per questo:

    1. Carichiamo il codice finale su Arduino.
    2. Rimuoviamo il cavo USB da Arduino.
    3. Passa Arduino alla modalità MIDI rimuovendo il ponticello dai pin ISCP.
    4. Installiamo il cavo USB in Arduino.

    Se tutto è andato bene, apri il programma musicale e inizia a toccare i perni. I suoni magici devono suonare...

    Passaggio 11: saldare le graffette sui ponticelli

    Una volta completata la scheda Arduino, è il momento di concentrarsi sulla tastiera e su come collegarla alla scheda. Esistono milioni di modi per farlo, ma io ho scelto delle graffette da fissare su carta dipinta (sono facili da fissare e possono essere riutilizzate).

    Il processo di saldatura delle graffette ai fili è abbastanza semplice:

    1. Tagliare la spina su un lato del filo;
    2. Spogliamo il filo di isolamento di 5 mm;
    3. Saldare il filo spelato a una graffetta;
    4. Ripeti per tutte le 12 graffette.

    Nota: i punti metallici non devono essere rivestiti con alcun rivestimento (vernice o plastica).

    Passaggio 12: dipingere il modello

    Anche se è possibile suonare la tastiera MIDI di Arduino semplicemente toccando le graffette, è molto più divertente creare il proprio stencil e usarlo. Colorato il modello stampato. Il modello è nell'archivio del progetto.

    Colorare il modello è abbastanza semplice, assicurati solo di lasciare spazio tra le linee e di utilizzare colori appropriati, altrimenti non funzionerà. Dopo che la vernice si è asciugata, attacca le graffette ai "tasti" e puoi iniziare a fare musica.

    Grazie per l'attenzione!)