Taula de continguts:

Sintetitzador arpegiant (Mosquit I): 6 passos
Sintetitzador arpegiant (Mosquit I): 6 passos

Vídeo: Sintetitzador arpegiant (Mosquit I): 6 passos

Vídeo: Sintetitzador arpegiant (Mosquit I): 6 passos
Vídeo: The Mosquito Coast Main Title - Progressive Rock Cover 2024, Desembre
Anonim
Sintetitzador arpegiant (Mosquit I)
Sintetitzador arpegiant (Mosquit I)

Mosquito I és un petit sintetitzador d’arpegiat que utilitza un Arduino Nano i la biblioteca de síntesi de so Mozzi. Pot reproduir més de vint seqüències de 8 passos, però podeu afegir tantes seqüències personalitzades com vulgueu. És relativament senzill d’instal·lar i no requereix moltes parts.

Subministraments:

  • Arduino Nano (o qualsevol Arduino realment hauria de funcionar)
  • Potenciòmetres de 5 ea (10 K lineals)
  • 2 botons polsadors
  • 1 LED LED
  • 1 resistència (330 ohm)
  • 2 resistències (1K)
  • 1 resistència (2K)
  • 1 condensador electrolític (100 uF)
  • 1 condensador ceràmic (33 nF)
  • 1 Jack estèreo
  • Cable de connexió
  • Taula de pa

Pas 1: Configuració de l'Arduino

Configuració de l'Arduino
Configuració de l'Arduino
Configuració de l'Arduino
Configuració de l'Arduino

Primer, posem el Nano a la taula de configuració i configurem el nostre poder:

  1. Col·loqueu el Nano a la pissarra. Col·loqueu-lo com es mostra a la imatge superior. Ha de situar-se a cavall entre el canal central de la taula de treball. Voleu que estigui situat cap a un extrem de la placa, amb el port USB orientat cap a aquest costat. D’aquesta manera, el cable no s’interposarà quan el connectem. Si utilitzeu un Arduino més gran com l’Uno o el Mega, per descomptat, no el muntareu a la placa de control.
  2. Connecteu els rails d’alimentació a Arduino. Connecteu un dels rails positius (vermells) de la vostra placa de connexió al pin de 5 V de l'Arduino mitjançant cables de pont o cables. A continuació, connecteu un dels rails negatius (blaus) a un dels pins GND de Nano.
  3. Connecteu els rails elèctrics entre ells. Per obtenir energia al llarg dels rails a banda i banda de la placa, connecteu els rails a banda i banda de la placa mitjançant un cable que fa del rail positiu d’un costat al rail positiu de l’altre costat. Repetiu això amb els rails negatius.

Pas 2: Afegir els controls

Afegir els controls
Afegir els controls

Mosquito I utilitza cinc potenciòmetres i dos botons per als controls.

Potenciòmetres:

  1. Col·loqueu les olles a la pissarra. Col·loqueu els testos de manera que cada passador quedi a la seva fila.
  2. Connecteu olles als rails elèctrics. Connecteu el passador lateral esquerre de cada olla (si esteu mirant el botó lateral) a un dels rails negatius de la placa. Connecteu el passador lateral dret de cada olla a un dels rails positius de la placa.
  3. Connecteu olles a Arduino. Connecteu el pin central de cada pot a un dels pins analògics de l'Arduino. El pin central del primer pot es connecta a A0, el segon pot a A1 i així successivament, i el darrer pot està connectat a A4.

Botons de pressió:

  1. Col·loqueu els botons a la pissarra. Col·loqueu els dos botons polsadors a la tauleta de suport perquè estiguin a cavall amb el canal central.
  2. Connecteu els costats positius. En un dels laterals de la placa de connexió, connecteu un dels passadors del polsador al carril positiu.
  3. Connecteu els costats negatius. Col·loqueu una de les resistències 1K a la placa de connexió de manera que un extrem estigui connectat al pin no utilitzat del polsador i l'altre costat de la resistència es connecti al carril negatiu.
  4. Botó Connecta a Arduino. Executeu un cable a la fila que connecti el botó al carril negatiu amb el pin D2. Feu el mateix amb l’altre botó, però connecteu-lo a D3.

Pas 3: afegir sortides

Addició de sortides
Addició de sortides

Sortim àudio des del pin 9, a més de parpellejar un LED al primer pas de cada seqüència. A continuació s’explica com configurar el maquinari per a això.

LED

  1. Col·loqueu un LED en un espai buit de la taula de treball.
  2. Connecteu la pota negativa (curta) del LED al carril negatiu.
  3. Col·loqueu la resistència que limita el corrent. Connecteu un costat d’una resistència de 330 ohms a la pota (llarga) positiva del LED. Connecteu l'altre costat de la resistència al pin D4 de l'Arduino.

Sortida d'àudio

  1. Col·loqueu la xarxa RC. El senyal de sortida de l’Arduino prové del pin 9, però el senyal pot ser una mica més calent del que poden suportar alguns altaveus. Per reduir-la a una mica més propera al nivell de línia, he afegit una xarxa RC (basada en un disseny de Notes & Volts). Col·loqueu els condensadors de 33nF i 100uF, juntament amb la resistència 2K tal com es mostra a la imatge / esquema. Assegureu-vos que el condensador electrolític 100uF estigui connectat amb la polaritat adequada (la cama positiva / llarga es posarà al pin 9 de l’Arduino i la cama negativa / curta connectada al jack).
  2. Connecteu el costat negatiu de la presa d’àudio a terra. Les connexions de la presa d’àudio variaran lleugerament segons el tipus que utilitzeu, però en general funcionen igual. Hem de connectar la màniga del jack a terra. De vegades, es marca amb un símbol menys o s'etiqueta com a "màniga", "anell" o "gnd". Si no hi ha etiquetes a la presa d’àudio, és possible que hagueu de consultar el full de dades o simplement fer una inspecció detallada de la presa i veure si podeu determinar quin pin està connectat a la màniga o a l’anell exterior del connector.
  3. Connecteu el costat positiu de la presa d’àudio al costat negatiu del condensador 100uF. El nostre senyal d'àudio ara flueix des del pin 9 de l'Arduino a través de la xarxa RC i surt del costat negatiu del condensador 100uF. Connectarem això al costat positiu de la nostra presa d’àudio. Normalment es marca amb un símbol més o pot ser etiquetat com a "propina". Una vegada més, si no està etiquetat, potser haureu d'inspeccionar-lo per esbrinar quin pin es connectarà a la punta del jack. A més, si utilitzeu un connector estèreo, és possible que hi hagi una connexió de punta L i punta R. Com que emetem un senyal mono, només podeu connectar-vos a qualsevol de les connexions de punta.

Important: si trobeu que l'àudio és massa silenciós, podreu eliminar la xarxa RC al pas 1 i connectar-vos directament a l'àudio des del pin 9 de l'Arduino. Hauria d’estar bé si connecteu l’àudio a alguna cosa amb un amplificador previ a l’amplificador, com ara altaveus d’ordinador externs amb un comandament de volum, però no el recomanaria per a auriculars, auriculars o cablejat directe a un altaveu. Si decidiu eliminar la xarxa RC, us suggereixo que baixeu el volum dels altaveus abans d’encendre l’Arduino i, a continuació, augmenteu el volum de manera gradual per evitar que els altaveus facin volar.

Un cop hàgiu configurat tot, comproveu que totes les connexions tinguin un aspecte correcte i que coincideixin amb la imatge i l'esquema anterior

Pas 4: penjar el codi

Ara que el maquinari està completament configurat, estem preparats per abordar el vessant del programari:

  1. Inicieu l'IDE Arduino. A l’ordinador, inicieu l’Arduino IDE (si no el teniu, el podeu descarregar des de
  2. Descarregueu la biblioteca Mozzi. La biblioteca Mozzi és la que ens permet utilitzar el nostre Arduino com a sintetitzador. Per obtenir aquesta biblioteca al vostre IDE, aneu a la pàgina Mozzi github https://sensorium.github.io/Mozzi/download/. Feu clic al botó verd "Codi" i trieu Descarregar ZIP.
  3. Instal·leu la biblioteca Mozzi des del fitxer zip. A l’IDE Arduino, aneu a Sketch-> Include Library-> Add. ZIP Library … Aneu al fitxer zip que heu descarregat per afegir-lo. Ara hauríeu de veure Mozzi a la secció Sketch-> Include Library.
  4. Descarregueu el codi Mosquito I Arduino. Ho podeu obtenir des del meu lloc de github https://github.com/analogsketchbook/mosquito_one. (Tingueu en compte que els esquemes també hi són disponibles si els necessiteu per a la referència del cablejat.
  5. Connecteu l'Arduino a l'ordinador i pengeu el codi.

Pas 5: Desordenar-se

Això és. Hauríeu de ser capaços de connectar els altaveus a la presa d’àudio i escoltar el dolç so de la síntesi arpegiada d’aquell Nano tan estrafolari. Si al principi no sentiu res, proveu de centrar els comandaments en totes les olles per assegurar-vos que obtingueu valors inicials dignes.

Això és el que fan els controls:

Olles:

Rate: controla la velocitat de reproducció del seqüenciador. Si el rebutgeu, es reproduiran notes discretes en seqüència. Al girar-lo cap amunt, s'enganxen les notes per crear formes d'ona completament noves.

Legato: la segona olla controla la longitud del legato o de la nota. Si es gira més cap a l’esquerra es produeixen notes curtes i sticatto, mentre que si es gira cap a la dreta es produeixen notes més llargues.

Tonalitat: estableix el to base per a la seqüència. El control de to estableix valors MIDI, de manera que augmenta / disminueix el to en semitonessitat en lloc d’un desplaçament continu de to.

Fase: girar aquest botó cap a la dreta introdueix un efecte de fase subtil. Tècnicament parlant, això provoca que els dos oscil·ladors del mosquit I es desafinin lleugerament, cosa que provoca la fase. Tanmateix, no es fa un seguiment amb el to, de manera que l’efecte de fase probablement es noti més en notes de to més baix.

Filtre: aquest botó controla la freqüència de tall d’un filtre de pas baix. Girar-lo cap a l’esquerra talla les altes freqüències produint un so més apagat, mentre que girant cap a la dreta es produeix un so més brillant.

Botons:

Mosquito té més de vint seqüències diferents que pot reproduir per defecte. Els polsadors permeten seleccionar quina seqüència s'està reproduint. Un botó mou la llista de seqüències cap amunt i l’altre baixa la llista.

Pas 6: personalització

Personalització
Personalització

He afegit un munt de seqüències predeterminades, la majoria de diferents escales, però podeu personalitzar el codi amb força facilitat per canviar la seqüència de notes que es toquen, afegir-ne de noves o canviar el nombre de notes en una seqüència. A continuació es mostren els detalls de com s’està fent per si el voleu personalitzar.

Canvi de notes a la seqüència existent

Les seqüències s’emmagatzemen en una matriu de matrius anomenades NOTES. Cada nota s’emmagatzema com un valor de nota MIDI, de manera que si voleu canviar notes en una seqüència particular, només cal canviar els números de notes MIDI d’aquesta seqüència. La configuració per defecte és reproduir 8 passos per seqüència, de manera que només podeu tenir 8 valors MIDI en una seqüència (vegeu més avall si voleu tenir diferents longituds de seqüència).

Una cosa a tenir en compte, el botó de tonalitat afegeix un desplaçament de notes als valors MIDI especificats a la matriu NOTES. Quan el comandament està centrat, toca les notes MIDI indicades a la matriu, però a mesura que gireu el comandament del to, afegeix o resta un semitò a les notes que es toquen.

Addició de seqüències noves

Podeu afegir noves seqüències a la matriu NOTES simplement afegint una matriu nova de 8 notes al final de la llista. Si ho feu, però, també haureu de canviar el valor de la variable numSequences perquè coincideixi amb el nou nombre de seqüències. Per exemple, la matriu NOTES té 21 seqüències per defecte, de manera que la variable numSequences es defineix a 21. Si afegiu una seqüència nova, haureu de canviar la variable numSequences a 22.

Podeu afegir tantes seqüències noves com vulgueu.

Canviant la longitud de la seqüència

Si voleu canviar la longitud de les seqüències (si voleu dir una seqüència de 4 o 16 passos), podeu fer-ho, però l’única advertència és que totes les seqüències han de tenir la mateixa longitud. També haureu d’establir la variable numNotes perquè coincideixi amb la longitud de les seqüències.

Altres canvis

Hi ha una sèrie d'altres personalitzacions possibles, com ara canviar tipus de forma d'ona, valors i paràmetres de filtre, que estan fora de l'abast d'aquest tutorial. Esbrinar el codi Mozzi al principi pot ser una mica difícil, però he intentat documentar el codi tant com sigui possible per mostrar què fan les diverses parts del codi.

Hi ha algunes parts principals del codi per a Mozzi que tenen usos bastant específics i les he enumerades a continuació per donar-vos una idea de per a què serveixen:

  • setup (): si heu programat per a Arduinos abans que estigueu familiaritzats amb aquesta funció i que s’utilitzi pràcticament igual a Mozzi. L’utilitzem principalment per configurar la configuració predeterminada d’oscil·ladors, filtres, etc.
  • updateControl () - Aquí és on la major part del codi Mozzi està fent la seva feina. És on llegim els valors de botó i pot, mapem i transformem aquests valors per alimentar-los al sintetitzador i on s’està fent la seqüenciació.
  • updateAudio (): aquesta és la sortida final de la biblioteca Mozzi. Normalment, el codi aquí es manté molt petit i magre, perquè Mozzi utilitza aquesta funció per maximitzar tots els cicles de rellotge que pot. Com podeu veure al codi de mosquits, pot ser una mica críptic, però bàsicament tot estem fent combinant / multiplicant les nostres diferents formes d'ona i després canviant-les de bits per ajustar-les a un interval de números específic. El millor és mantenir aquesta funció molt lleugera (no les trucades de sèrie ni els pins de lectura) i posar la majoria de les coses a la funció controlUpdate (). La documentació de Mozzi ho detalla més a fons.

Recomanat: