Taula de continguts:

Arduino Soundlab: 3 passos
Arduino Soundlab: 3 passos

Vídeo: Arduino Soundlab: 3 passos

Vídeo: Arduino Soundlab: 3 passos
Vídeo: how to solve a rubik's cube 3x3 easy 2024, Octubre
Anonim
Image
Image
Construcció
Construcció

És increïble que es pugui generar una àmplia gamma de sons sorprenents amb la tècnica de síntesi de FM, fins i tot amb un Arduino senzill. En una instrucció prèvia, això es va il·lustrar amb un sintetitzador que tenia 12 sons preprogramats, però un espectador va suggerir que seria molt més fresc tenir un control complet dels paràmetres de so amb potenciòmetres, i així és.

En aquest laboratori de so, els tons es poden controlar mitjançant 8 paràmetres: 4 per a l’embolcall ADSR de la intensitat i 4 per a la modulació de freqüència que determina la textura.

L’addició dels 8 potenciòmetres no va costar el nombre de tecles: es lligen tres conjunts de 8 tecles uns quants microsegons un darrere l’altre, per un total de 24 tecles, que corresponen a dues octaves completes. De fet, dos pins Arduino no s’utilitzen i seria possible ampliar fins a 40 tecles.

Mireu el vídeo sobre com fer sons salvatges, aquí teniu una breu descripció general:

* A = atac: temps perquè un to assoleixi la seva intensitat màxima (rang 8ms-2s)

* D = decadència: temps perquè un to baixi al nivell de sonoritat constant (rang 8ms-2s)

* S = sustain: nivell de sonoritat constant (rang 0-100%)

* R = llançament: temps perquè es desaparegui un to (interval 8ms-2s)

* f_m: relació entre la freqüència de modulació i la freqüència portadora (rang 0,06-16) els valors inferiors a 1 donen lloc a subtones, valors més alts a les sobretones

* beta1: l'amplitud de la modulació FM al començament de la nota (rang 0,06-16) valors petits que resulten en petites variacions de la textura del so. els grans valors donen lloc a sons bojos

* beta2: amplitud de la modulació FM al final de la nota (rang 0,06-16) Doneu a beta2 un valor diferent del beta1 perquè la textura del so evolucioni amb el temps.

* tau: velocitat a la qual l'amplitud FM evoluciona de beta1 a beta 2 (rang 8ms-2s). Els valors petits donen una petita explosió al començament d'una nota; els valors grans, una evolució llarga i lenta.

Pas 1: construcció

Construcció
Construcció
Construcció
Construcció
Construcció
Construcció

Clarament, aquest segueix sent un prototip, espero que algun dia jo o algú altre construïm aquest gran i fort i bell amb tecles grans i dials reals per als potenciòmetres en un increïble recinte …

Components necessaris:

1 Arduino Nano (no funcionarà amb l’Uno, que només té 6 entrades analògiques)

24 polsadors

8 potenciòmetres, entre 1kOhm - 100kOhm

1 potenciòmetre de 10kOhm per al control de volum

1 condensador - 10 microfarad electrolític

1 connector per a auriculars de 3,5 mm

1 xip amplificador d'àudio LM386

2 condensador electrolític de 1000 microfarades

1 condensador ceràmic de 1 microfarad

1 microinterruptor

1 altaveu de 8 Ohm de 2 watts

1 tauler prototip de 10x15cm

Assegureu-vos d’entendre els esquemes adjunts. Els 24 botons es connecten en 3 grups de 8, per llegir-los a D0-D7 i activar-los a D8, D10 i D11. Les olles tenen + 5 V i es terra a les aixetes finals i les aixetes centrals s’alimenten a les entrades analògiques A0-A7. D9 té la sortida d'àudio i s'acobla a un potenciòmetre de 10kOhm per controlar el volum. El so es pot escoltar directament amb auriculars o amplificar-lo amb un xip amplificador d’àudio LM386.

Tot s’adapta a una placa de prototipus de 10x15cm, però els botons estan massa a prop per jugar bé, així que seria millor construir un teclat més gran.

El circuit es pot alimentar mitjançant la connexió USB de l’Arduino Nano o amb una font d’alimentació externa de 5 V. Una caixa de bateries 2xAA seguida d’un convertidor intensiu és una solució d’alimentació perfecta.

Pas 2: programari

Pengeu l'esbós adjunt a l'Arduino Nano i tot hauria de funcionar.

El codi és senzill i fàcil de modificar, no hi ha codi de màquina ni interrupcions, però hi ha un parell d’interaccions directes amb els registres, per interactuar amb el temporitzador, per accelerar la lectura del botó i per controlar el comportament de l’ADC. per a la lectura del potenciòmetre

Pas 3: millores futures

Les idees de la comunitat sempre són benvingudes.

Els botons em molesten molt: són minúscules i fan clic amb força quan es premen. Estaria molt bé tenir botons més grans que siguin més còmodes de prémer. A més, els botons sensibles a la força o la velocitat permetrien controlar la sonoritat de les notes. Potser els botons de 3 direccions o els botons sensibles al tacte podrien funcionar?

Altres coses interessants serien emmagatzemar configuracions de so a EEPROM; emmagatzemar melodies curtes a EEPROM també permetria fer música molt més interessant. Finalment, es podrien generar sons més complexos, si algú sap generar sons de percussió d’una manera computacionalment eficient, seria fantàstic …

Recomanat: