Satura rādītājs:

Arpeggiating sintezators (moskītu I): 6 soļi
Arpeggiating sintezators (moskītu I): 6 soļi

Video: Arpeggiating sintezators (moskītu I): 6 soļi

Video: Arpeggiating sintezators (moskītu I): 6 soļi
Video: Taka takata (La femme du toréro) 2024, Jūlijs
Anonim
Kondicionējošais sintezators (moskītu I)
Kondicionējošais sintezators (moskītu I)

Mosquito I ir neliels pastiprinošs sintezators, kas izmanto Arduino Nano un Mozzi skaņas sintēzes bibliotēku. Tas var atskaņot vairāk nekā divdesmit 8 soļu secības, bet jūs varat pievienot tik daudz pielāgotu secību, cik vēlaties. Tas ir samērā vienkārši uzstādāms un neprasa daudz detaļu.

Piegādes:

  • Arduino Nano (vai jebkuram Arduino patiešām vajadzētu darboties)
  • 5 ea potenciometri (10K lineāri)
  • 2 ea Spiedpogas
  • 1 gaismas diodes
  • 1 ea rezistors (330 omi)
  • 2 ea rezistors (1K)
  • 1 ea rezistors (2K)
  • 1 ea elektrolītiskais kondensators (100 uF)
  • 1 ea keramikas kondensators (33 nF)
  • 1 un stereo ligzda
  • Savienojuma vads
  • Maizes dēlis

1. darbība: Arduino iestatīšana

Arduino iestatīšana
Arduino iestatīšana
Arduino iestatīšana
Arduino iestatīšana

Vispirms ielieciet Nano uz maizes dēļa un iestatiet savu jaudu:

  1. Novietojiet Nano uz maizes dēļa. Novietojiet to, kā parādīts attēlā iepriekš. Tam vajadzētu pārsniegt maizes dēļa centrālo kanālu. Jūs vēlaties, lai tas atrastos vienā maizes dēļa galā ar USB portu uz šo pusi. Tādā veidā kabelis netraucēs, kad to pievienosim. Ja izmantojat lielāku Arduino, piemēram, Uno vai Mega, jūs, protams, to nemontēsit uz maizes dēļa.
  2. Pievienojiet strāvas sliedes Arduino. Savienojiet vienu no maizes dēļa pozitīvajām (sarkanajām) sliedēm ar Arduino 5V tapu, izmantojot vadu vai džemperu vadus. Pēc tam pievienojiet vienu no negatīvajām (zilajām) sliedēm pie vienas no Nano GND tapām.
  3. Savienojiet barošanas sliedes savā starpā. Lai iegūtu enerģiju gar sliedēm abās maizes dēļa pusēs, savienojiet sliedes abās maizes dēļa pusēs viena ar otru, vadot vadu no pozitīvās sliedes vienā pusē līdz pozitīvajai sliedei otrā pusē. Atkārtojiet to ar negatīvajām sliedēm.

2. darbība: vadīklu pievienošana

Vadīklu pievienošana
Vadīklu pievienošana

Mosquito I izmanto piecus potenciometrus un divas pogas vadībai.

Potenciometri:

  1. Novietojiet katlus uz maizes dēļa. Novietojiet podus tā, lai katra tapa būtu savā rindā.
  2. Pievienojiet katlus strāvas sliedēm. Pievienojiet katra katla kreiso sānu tapu (ja skatāties uz kloķa pusi) pie vienas no maizes dēļa negatīvajām sliedēm. Pievienojiet katra katla labo sānu tapu pie vienas no maizes dēļa pozitīvajām sliedēm.
  3. Savienojiet podi ar Arduino. Savienojiet katra katla centrālo tapu ar vienu no Arduino analogām tapām. Pirmā katla centrālā tapa savienojas ar A0, otrais katls ar A1 un tā tālāk, pēdējais katls ir savienots ar A4.

Spiedpogas:

  1. Novietojiet pogas uz maizes dēļa. Novietojiet abas spiedpogas uz maizes tāfeles tā, lai tās aptvertu centrālo kanālu.
  2. Savienojiet pozitīvās puses. Maizes dēļa vienā pusē savienojiet vienu no spiedpogas tapām ar pozitīvo sliedi.
  3. Savienojiet negatīvās puses. Novietojiet vienu no 1K rezistoriem uz maizes dēļa tā, lai viens gals būtu savienots ar spiedpogas neizmantoto tapu, bet otra rezistora puse - pie negatīvās sliedes.
  4. Savienot pogu ar Arduino. Izvelciet vadu rindā, kas savieno pogu ar negatīvo sliedi ar D2 tapu. Dariet to pašu ar otru pogu, bet pievienojiet to D3.

3. darbība. Izeju pievienošana

Izeju pievienošana
Izeju pievienošana

Mēs izvadām audio no 9. tapas, kā arī mirgo gaismas diode katras secības pirmajā solī. Tālāk ir norādīts, kā iestatīt aparatūru.

LED

  1. Novietojiet gaismas diodi tukšā vietā uz maizes dēļa.
  2. Pievienojiet gaismas diodes negatīvo (īso) kāju pie negatīvās sliedes.
  3. Novietojiet strāvu ierobežojošo rezistoru. Savienojiet 330 omu rezistora vienu pusi ar gaismas diodes pozitīvo (garo) kāju. Pievienojiet rezistora otru pusi Arduino tapai D4.

Audio izvade

  1. Novietojiet RC tīklu. Izejas signāls no Arduino nāk no 9. tapas, bet signāls var būt nedaudz karstāks, nekā daži skaļruņi spēj apstrādāt. Lai to samazinātu līdz kaut kam tuvāk līnijas līmenim, esmu pievienojis RC tīklu (pamatojoties uz Notes & Volts dizainu). Novietojiet 33nF un 100uF kondensatorus kopā ar 2K rezistoru, kā parādīts attēlā/shematiski. Pārliecinieties, vai elektrolītiskais 100uF kondensators ir pievienots ar pareizu polaritāti (pozitīvā/garā kāja iet uz Arduino 9. tapu un negatīvā/īsā kāja ir savienota ar domkratu).
  2. Pievienojiet audio ligzdas negatīvo pusi zemei. Audio ligzdas savienojumi nedaudz atšķirsies atkarībā no izmantotā veida, taču parasti tie visi darbojas vienādi. Mums ir jāpievieno domkrata uzmava ar zemi. Dažreiz tas tiek atzīmēts ar mīnusa simbolu vai apzīmēts kā "piedurkne", "gredzens" vai "gnd". Ja uz audio ligzdas nav etiķešu, jums, iespējams, vajadzēs iepazīties ar datu lapu vai vienkārši rūpīgi pārbaudīt ligzdu un noskaidrot, vai varat noteikt, kura tapa ir pievienota ligzdas uzmavai vai ārējam gredzenam.
  3. Pievienojiet audio ligzdas pozitīvo pusi 100uF kondensatora negatīvajai pusei. Mūsu audio signāls tagad plūst no Arduino tapas 9 caur RC tīklu un parādās no 100uF kondensatora negatīvās puses. Mēs to savienosim ar audio ligzdas pozitīvo pusi. Tas parasti ir atzīmēts ar plus simbolu vai var tikt apzīmēts kā “tip”. Atkal, ja tas nav marķēts, jums, iespējams, vajadzēs to pārbaudīt, lai noskaidrotu, kura tapa tiks savienota ar domkrata galu. Turklāt, ja izmantojat stereo ligzdu, var būt savienojums ar L galu un R galu. Tā kā mēs izvadām mono signālu, varat vienkārši izveidot savienojumu ar kādu no gala savienojumiem.

Svarīgi: ja konstatējat, ka skaņa ir pārāk klusa, iespējams, varēsit likvidēt RC tīklu 1. darbībā un izveidot tiešu savienojumu ar skaņu no Arduino 9. tapas. Tam vajadzētu būt kārtībā, ja pievienojat audio kaut kam ar priekšpastiprinātāju, piemēram, ārējiem datora skaļruņiem, kur ir skaļuma regulēšanas poga, taču es to neiesakām tādām lietām kā austiņas, austiņas vai tieša vadu pievienošana skaļrunim. Ja jūs nolemjat likvidēt RC tīklu, es iesaku pirms Arduino ieslēgšanas pilnībā samazināt skaļruņu skaļumu un pēc tam pakāpeniski palielināt skaļumu, lai izvairītos no skaļruņu izpūšanas.

Kad viss ir iestatīts, vēlreiz pārbaudiet, vai visi savienojumi izskatās pareizi un atbilst iepriekš redzamajam attēlam un shēmai

4. darbība: koda augšupielāde

Tagad, kad aparatūra ir iestatīta, mēs esam gatavi risināt programmatūras pusi:

  1. Palaidiet Arduino IDE. Datorā palaidiet Arduino IDE (ja jums tā nav, varat to lejupielādēt vietnē
  2. Lejupielādējiet Mozzi bibliotēku. Mozzi bibliotēka ļauj mums izmantot mūsu Arduino kā sintezatoru. Lai iegūtu šo bibliotēku savā IDE, dodieties uz Mozzi github lapu https://sensorium.github.io/Mozzi/download/. Noklikšķiniet uz zaļās pogas "Kods" un izvēlieties Lejupielādēt ZIP.
  3. Instalējiet Mozzi bibliotēku no zip faila. Arduino IDE dodieties uz Sketch-> Include Library-> Add. ZIP Library… Pārejiet uz lejupielādēto zip failu, lai to pievienotu. Tagad jums vajadzētu redzēt Mozzi, kas norādīts sadaļā Skice-> Iekļaut bibliotēku.
  4. Lejupielādējiet Mosquito I Arduino kodu. To var iegūt no manas github vietnes https://github.com/analogsketchbook/mosquito_one. (Ņemiet vērā, ka shēmas ir pieejamas arī tur, ja tās ir nepieciešamas, lai iegūtu atsauci uz vadiem.
  5. Pievienojiet Arduino datoram un augšupielādējiet kodu.

5. solis: Messing apkārt

Tieši tā. Jums vajadzētu būt iespējai savienot savus skaļruņus ar audio ligzdu un dzirdēt saldu arpeģētas sintēzes skaņu no šī itāliskā Nano! Ja sākumā neko nedzirdat, mēģiniet centrēt pogas uz visiem podiem, lai pārliecinātos, ka iegūstat pienācīgas sākuma vērtības.

Lūk, ko dara vadīklas:

Podi:

Novērtēt: tas nosaka, cik ātri sekvences atskaņotājs tiek atskaņots. Pagriežot to uz leju, tiek atskaņotas atsevišķas piezīmes pēc kārtas. Pagriežot to uz augšu, notis tiek sasmērētas, lai izveidotu pilnīgi jaunas viļņu formas.

Legato: Otrais katls kontrolē legato vai piezīmju garumu. Pagriežot to vairāk pa kreisi, tiek iegūtas īsas, sticatto notis, bet pagriežot pa labi - garākas notis.

Pitch: tas nosaka secības bāzes piķi. Skaļuma kontrole nosaka MIDI vērtības, tāpēc tā palielina/samazina piķi pusotrumā, nevis nepārtrauktā augstuma maiņā.

Fāze: pagriežot šo pogu pa labi, tiek radīts smalks pakāpenisks efekts. Tehniski tas nozīmē, ka divi moskītu I oscilatori tiek nedaudz nojaukti, kas izraisa pakāpenisku pārtraukšanu. Tomēr tas nav izsekošana, izmantojot piķi, tāpēc pakāpeniskais efekts, iespējams, ir vairāk pamanāms zemāka augstuma piezīmēs.

Filtrs: šī poga kontrolē zemas caurlaidības filtra izslēgšanas frekvenci. Pagriežot to pa kreisi, augstās frekvences tiek izslēgtas, radot klusāku skaņu, bet pagriežot to pa labi, tiek radīta spilgtāka skaņa.

Pogas:

Mosquito ir vairāk nekā divdesmit dažādas sekvences, kuras tas var atskaņot pēc noklusējuma. Spiedpogas ļauj izvēlēties atskaņojamo secību. Viena poga pārvieto jūs secību sarakstā uz augšu, bet otra - sarakstā.

6. darbība: pielāgošana

Pielāgošana
Pielāgošana

Esmu pievienojis virkni noklusējuma secību, galvenokārt dažādas skalas, taču jūs varat diezgan viegli pielāgot kodu, lai mainītu atskaņojamo piezīmju secību, pievienotu jaunas vai mainītu piezīmju skaitu secībā. Tālāk ir sniegta informācija par to, kā tas tiek darīts, ja vēlaties to pielāgot.

Piezīmju maiņa esošajā secībā

Secības tiek glabātas masīvu masīvā, ko sauc par PIEZĪMES. Katra piezīme tiek saglabāta kā MIDI piezīmes vērtība, tādēļ, ja vēlaties mainīt piezīmes noteiktā secībā, vienkārši mainiet šīs secības MIDI piezīmju numurus. Noklusējuma iestatījums ir atskaņot 8 darbības vienā secībā, lai secībā varētu būt tikai 8 MIDI vērtības (skatiet tālāk, ja vēlaties, lai būtu dažādi secības garumi).

Jāatzīmē viena lieta: piķa poga pievieno piezīmju nobīdi MIDI vērtībām, kas norādītas masīvā NOTES. Kad poga ir centrēta, tā atskaņo masīvā norādītās MIDI notis, bet, pagriežot augstuma regulēšanas pogu, tā atskaņotajām notīm pievieno vai atņem pustoņu.

Jaunu secību pievienošana

Jūs varat pievienot jaunas secības masīvam NOTES, vienkārši pievienojot jaunu 8 piezīmju masīvu saraksta beigās. Tomēr, ja to darāt, jums būs jāmaina arī mainīgā numSequence vērtība, lai tā atbilstu jaunajam secību skaitam. Piemēram, masīvā NOTES pēc noklusējuma ir 21 secība, tāpēc mainīgais numSequence ir iestatīts uz 21. Ja pievienojat vienu jaunu secību, mainīgais numSequence ir jāmaina uz 22.

Jūs varat pievienot tik daudz jaunu secību, cik vēlaties.

Secības garuma maiņa

Ja vēlaties mainīt secību garumu (ja vēlaties teikt 4 vai 16 soļu secību), varat to izdarīt, taču vienīgais brīdinājums ir tāds, ka visām secībām jābūt vienāda garuma. Jums arī jāiestata mainīgais numNotes, lai tas atbilstu jūsu secību garumam.

Citas izmaiņas

Ir iespējami vairāki citi pielāgojumi, piemēram, viļņu formu veidu pārslēgšana, filtru iestatījumi/vērtības, kas ir ārpus šīs apmācības darbības jomas. Sākumā Mozzi koda noteikšana var būt nedaudz sarežģīta, taču esmu mēģinājis pēc iespējas vairāk dokumentēt kodu, lai parādītu, ko dara dažādas koda daļas.

Mozzi ir dažas galvenās koda daļas, kurām ir diezgan specifisks pielietojums, un es tās uzskaitīju zemāk, lai sniegtu jums priekšstatu par to, kam tās tiek izmantotas:

  • setup () - ja esat ieprogrammējis Arduinos, pirms esat iepazinies ar šo funkciju, un Mozzi to izmanto gandrīz tāpat. Mēs to galvenokārt izmantojam, lai iestatītu oscilatoru, filtru uc noklusējuma iestatījumus.
  • updateControl () - šeit lauvas tiesa Mozzi koda dara savu darbu. Šeit mēs lasām katla un pogas vērtības, kartējam un pārveidojam šīs vērtības, lai tās ievadītu sintezatorā, un kur tiek veikta secība.
  • updateAudio () - šī ir Mozzi bibliotēkas gala izvade. Parasti kods šeit tiek turēts ļoti mazs un niecīgs, jo šo funkciju Mozzi izmanto, lai maksimāli palielinātu visus iespējamos pulksteņa ciklus. Kā jūs varat redzēt moskītu kodā, tas var būt nedaudz noslēpumains, bet viss, ko mēs pamatā darām, apvienojot/reizinot mūsu dažādās viļņu formas un pēc tam bitshifting, lai tās atbilstu noteiktam skaitļu diapazonam. Vislabāk ir saglabāt šo funkciju ļoti vieglu (nevis sērijas zvanus vai lasīšanas tapas) un lielāko daļu satura ievietot funkcijā controlUpdate (). Mozzi dokumentācijā tas ir sīkāk aprakstīts.

Ieteicams: