Sisällysluettelo:
- Vaihe 1: Arduinon asentaminen
- Vaihe 2: Säätimien lisääminen
- Vaihe 3: Tuotosten lisääminen
- Vaihe 4: Lataa koodi
- Vaihe 5: Messing ympäri
- Vaihe 6: Mukauttaminen
Video: Arpeggiating Synthesizer (Mosquito I): 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Mosquito I on pieni mutkitteleva syntetisaattori, joka käyttää Arduino Nano -järjestelmää ja Mozzin äänisynteesikirjastoa. Se voi toistaa yli kaksikymmentä 8-vaiheista jaksoa, mutta voit lisätä niin monta mukautettua jaksoa kuin haluat. Se on suhteellisen yksinkertainen asentaa eikä vaadi paljon osia.
Tarvikkeet:
- Arduino Nano (tai minkä tahansa Arduinon pitäisi todella toimia)
- 5 ea potentiometriä (10K lineaarinen)
- 2 ea Painikkeet
- 1 ea LED
- 1 ea vastus (330 ohmia)
- 2 ea vastus (1K)
- 1 ea vastus (2K)
- 1 ea elektrolyyttikondensaattori (100 uF)
- 1 kpl keraaminen kondensaattori (33 nF)
- 1 ja stereoliitin
- Liitäntäjohto
- Leipälauta
Vaihe 1: Arduinon asentaminen
Otetaan ensin Nano leipälaudalle ja asetetaan voimamme:
- Aseta Nano leipälevylle. Aseta yllä olevan kuvan mukaisesti. Sen tulisi ulottua leipälaudan keskikanavan yli. Haluat sen olevan leipälaudan toista päätä kohti USB -portti kyseistä puolta kohti. Tällä tavalla kaapeli ei häiritse, kun kytket sen. Jos käytät suurempaa Arduinoa, kuten Unoa tai Megaa, et tietenkään asenna sitä leipälevylle.
- Liitä virtakiskot Arduinoon. Kytke yksi leipälevyn positiivisista (punaisista) kiskoista Arduinon 5 V: n nastaan lanka- tai hyppyjohtimilla. Liitä sitten yksi negatiivisista (sinisistä) kiskoista yhteen nanon GND -nastoista.
- Liitä virtakiskot toisiinsa. Saadaksesi virtaa leipälaudan molemmin puolin olevia kiskoja pitkin yhdistä leipälaudan molemmin puolin olevat kiskot toisiinsa johtamalla lanka toiselta puolelta positiivisesta kiskosta toisen puolen positiiviseen kiskoon. Toista tämä negatiivisilla kiskoilla.
Vaihe 2: Säätimien lisääminen
Mosquito I käyttää viittä potentiometriä ja kahta painiketta säätöihin.
Potentiometrit:
- Aseta kattilat leipälaudalle. Aseta ruukut niin, että jokainen tappi on omalla rivillään.
- Liitä kattilat sähkökiskoihin. Liitä jokaisen kattilan vasen tappi (jos katsot nupin puolta) johonkin leipälevyn negatiivikiskoista. Liitä jokaisen kattilan oikea sivutappi johonkin leipälevyn positiivisiin kiskoihin.
- Yhdistä ruukut Arduinoon. Liitä jokaisen potin keskitappi yhteen Arduinon analogisista nastoista. Ensimmäisen potin keskitappi yhdistetään A0: een, toinen potti A1: ään ja niin edelleen, kun viimeinen potti on liitetty A4: ään.
Painikkeet:
- Aseta painikkeet leipäpöydälle. Aseta kaksi painonappia leipälaudalle niin, että ne ovat keskikanavan välissä.
- Yhdistä positiiviset puolet. Yhdistä leipälaudan toisella puolella yksi painikkeen nastoista positiiviseen kiskoon.
- Yhdistä negatiiviset puolet. Aseta yksi 1K -vastuksista leipälevylle niin, että toinen pää on kytketty painikkeen käyttämättömään tappiin ja vastus toinen puoli miinuskiskoon.
- Yhdistä -painike Arduinoon. Vedä lanka riville, joka yhdistää painikkeen negatiiviseen kiskoon D2 -nastaan. Tee sama toisella painikkeella, mutta liitä se D3: een.
Vaihe 3: Tuotosten lisääminen
Lähetämme ääntä nastasta 9 sekä vilkkumalla LED jokaisen sekvenssin ensimmäisessä vaiheessa. Näin voit määrittää laitteiston sitä varten.
LED
- Aseta LED -valo tyhjään tilaan leipälevylle.
- Liitä LEDin negatiivinen (lyhyt) jalka negatiivikiskoon.
- Aseta virtaa rajoittava vastus. Kytke 330 ohmin vastuksen toinen puoli LED -valon positiiviseen (pitkään) osaan. Liitä vastuksen toinen puoli Arduinon nastaan D4.
Äänen ulostulo
- Aseta RC -verkko. Arduinon lähtösignaali tulee nastasta 9, mutta signaali voi olla hieman kuumempi kuin jotkut kaiuttimet voivat käsitellä. Saadakseni sen lähemmäs linjatasoa olen lisännyt RC -verkon (Notes & Voltsin suunnittelun perusteella). Aseta 33nF- ja 100uF -kondensaattorit sekä 2K -vastus kuvan/kaavion mukaisesti. Varmista, että elektrolyyttinen 100uF kondensaattori on kytketty oikein napaisuuteen (positiivinen/pitkä jalka menee Arduinon nastaan 9 ja negatiivinen/lyhyt jalka liitetty liittimeen).
- Liitä ääniliittimen negatiivinen puoli maahan. Ääniliitäntöjen liitännät vaihtelevat hieman käyttämäsi tyypin mukaan, mutta ne toimivat yleensä samalla tavalla. Meidän on kytkettävä pistokkeen holkki maahan. Tämä on joskus merkitty miinusmerkillä tai merkitty "hihalle", "renkaalle" tai "gnd". Jos ääniliittimessäsi ei ole tarroja, sinun on ehkä tutustuttava tietolomakkeeseen tai vain tarkastettava liitin tarkasti ja voit selvittää, voitko määrittää, mikä nasta on liitetty liittimen holkkiin tai ulkorenkaaseen.
- Liitä ääniliitännän positiivinen puoli 100uF -kondensaattorin negatiiviseen puoleen. Äänisignaalimme virtaa nyt Arduinon nastasta 9 RC -verkon läpi ja nousee 100uF -kondensaattorin negatiiviselta puolelta. Yhdistämme sen ääniliittimemme positiiviseen puoleen. Tämä on yleensä merkitty plusmerkillä tai se voi olla merkitty "tip". Jälleen, jos sitä ei ole merkitty, sinun on ehkä tarkastettava se selvittääksesi, mikä tappi liitetään liittimen kärkeen. Lisäksi, jos käytät stereoliitäntää, siinä voi olla L- ja R -kärjen liitäntä. Koska lähetämme monosignaalin, voit muodostaa yhteyden jompaankumpaan kärkiliitäntään.
Tärkeää: Jos huomaat, että ääni on liian hiljainen, voit ehkä poistaa RC -verkon vaiheessa 1 ja muodostaa yhteyden suoraan ääneen Arduinon nastasta 9. Tämän pitäisi olla kunnossa, jos liität äänen johonkin esivahvistimeen, kuten ulkoisiin tietokoneen kaiuttimiin, joissa on äänenvoimakkuuden säädin, mutta en suosittele sitä esimerkiksi kuulokkeille, nappikuulokkeille tai suoraan kaiuttimeen kytkemiselle. Jos päätät poistaa RC -verkon, suosittelen kääntämään kaiuttimien äänenvoimakkuus kokonaan alas ennen Arduinon käynnistämistä ja lisäämään sitten äänenvoimakkuutta asteittain, jotta kaiuttimet eivät puhalla.
Kun olet saanut kaiken valmiiksi, tarkista, että kaikki liitännät näyttävät oikein ja vastaavat yllä olevaa kuvaa ja kaaviota
Vaihe 4: Lataa koodi
Nyt kun laitteisto on asennettu, olemme valmiita käsittelemään ohjelmistopuolen:
- Käynnistä Arduino IDE. Käynnistä tietokoneellasi Arduino IDE (jos sinulla ei ole sitä, voit ladata sen osoitteesta
- Lataa Mozzi -kirjasto. Mozzin kirjasto antaa meille mahdollisuuden käyttää Arduinoa syntetisaattorina. Saat tämän kirjaston IDE -laitteeseesi siirtymällä Mozzin github -sivulle https://sensorium.github.io/Mozzi/download/. Napsauta vihreää "Koodi" -painiketta ja valitse Lataa ZIP.
- Asenna Mozzi -kirjasto zip -tiedostosta. Siirry Arduino IDE: ssä Sketch-> Include Library-> Add. ZIP Library… Siirry lataamasi zip-tiedoston kohdalle lisätäksesi sen. Sinun pitäisi nyt nähdä Mozzi luettelossa Luonnos-> Sisällytä kirjasto.
- Lataa Mosquito I Arduino -koodi. Saat tämän github -sivustoltani https://github.com/analogsketchbook/mosquito_one. (Huomaa, että kaaviot ovat saatavilla myös siellä, jos tarvitset niitä johdotukseen.
- Liitä Arduino tietokoneeseen ja lähetä koodi.
Vaihe 5: Messing ympäri
Se siitä. Sinun pitäisi pystyä liittämään kaiuttimesi ääniliitäntään ja kuulla arpeggioidun synteesin makea ääni tältä pikku nanolta! Jos et kuule aluksi mitään, yritä keskittää nupit kaikkiin kattiloihin varmistaaksesi, että saat kunnolliset lähtöarvot.
Ohjaimet toimivat seuraavasti:
Ruukut:
Nopeus: Tämä säätää, kuinka nopeasti sekvensseri toistaa. Jos käännät sen pois, toistetaan erilliset nuotit järjestyksessä. Sen kääntäminen ylöspäin tahraa nuotit yhteen ja luo täysin uusia aaltomuotoja.
Legato: Toinen potti ohjaa legato- tai nuotin pituutta. Kun käännät sitä enemmän vasemmalle, syntyy lyhyitä, sticatto -muistiinpanoja, kun taas kääntämällä sitä oikealle tuottaa pitempiä nuotteja.
Äänenvoimakkuus: Tällä asetetaan sekvenssin perusväli. Äänenvoimakkuuden säätö asettaa MIDI -arvoja, joten se lisää/pienentää sävelkorkeutta puolijohteessa eikä jatkuvaa siirtymää.
Vaihe: Tämän nupin kääntäminen oikealle tuo hienovaraisen vaiheistusvaikutuksen. Teknisesti ottaen tämä aiheuttaa hyttysen I kahden oskillaattorin hiipumisen hieman, mikä aiheuttaa vaiheistuksen. Se ei kuitenkaan ole seuranta äänenkorkeudella, joten vaiheistusvaikutus on luultavasti havaittavissa alemmilla sävelkorkeuksilla.
Suodatin: Tämä nuppi ohjaa alipäästösuodattimen rajataajuutta. Kääntämällä sitä vasemmalle katkaisee korkeat taajuudet, mikä tuottaa vaimeampaa ääntä, kun taas kääntämällä sitä oikealle tuottaa kirkkaamman äänen.
Painikkeet:
Mosquitolla on yli kaksikymmentä eri sekvenssiä, joita se voi toistaa oletuksena. Painikkeiden avulla voit valita toistettavan sekvenssin. Yksi painike siirtää ylöspäin sekvenssiluettelossa ja toinen alas luettelossa.
Vaihe 6: Mukauttaminen
Olen lisännyt joukon oletussarjoja, enimmäkseen eri asteikkoja, mutta voit muokata koodia melko helposti muuttaaksesi toistettavien muistiinpanojen järjestystä, lisätäksesi uusia tai muuttaaksesi muistiinpanojen määrää järjestyksessä. Alla on tietoja siitä, miten tämä tehdään, jos haluat muokata sitä.
Muistiinpanojen muuttaminen nykyisessä järjestyksessä
Sekvenssit tallennetaan joukkoon matriiseja, joita kutsutaan NOTESiksi. Jokainen nuotti tallennetaan MIDI -muistiinpanoarvoksi, joten jos haluat muuttaa nuotteja tietyssä järjestyksessä, muuta vain kyseisen sarjan MIDI -muistiinpanonumerot. Oletusasetus on toistaa 8 vaihetta sarjaa kohti, joten sarjassa voi olla vain 8 MIDI -arvoa (katso alla, jos haluat käyttää eri pituisia jaksoja).
Yksi huomioitava asia on, että sävelkorkeuden säätönuppi lisää nuotin siirtymän NOTES -taulukossa määritettyihin MIDI -arvoihin. Kun nuppi on keskitetty, se toistaa taulukossa ilmoitetut MIDI-nuotit, mutta kun käännät sävelkorkeuden säätönuppia, se lisää tai vähentää soittoääniä.
Uusien jaksojen lisääminen
Voit lisätä uusia sekvenssejä NOTES-taulukkoon yksinkertaisesti lisäämällä uuden 8-nuotin taulukon luettelon loppuun. Jos kuitenkin teet tämän, sinun on myös muutettava numSequence -muuttujan arvo vastaamaan uutta jaksojen määrää. Esimerkiksi NOTES -taulukossa on oletuksena 21 sekvenssiä, joten numSequence -muuttujan arvoksi on määritetty 21. Jos lisäät yhden uuden sekvenssin, sinun on muutettava numSequence -muuttuja arvoon 22.
Voit lisätä niin monta uutta jaksoa kuin haluat.
Sarjan pituuden muuttaminen
Jos haluat muuttaa jaksojesi pituutta (jos haluat sanoa 4- tai 16-vaiheisen jakson), voit tehdä sen, mutta ainoa varoitus on, että kaikkien jaksojen on oltava yhtä pitkiä. Sinun on myös asetettava muuttuja numNotes vastaamaan jaksojesi pituutta.
Muut muutokset
On olemassa useita muita mukautuksia, jotka ovat mahdollisia, kuten aaltomuodotyyppien vaihtaminen, suodatinasetukset/arvot, jotka eivät kuulu tämän opetusohjelman soveltamisalaan. Mozzi -koodin selvittäminen voi olla aluksi hieman haastavaa, mutta olen yrittänyt dokumentoida koodin mahdollisimman paljon osoittaakseni, mitä koodin eri osat tekevät.
Mozzin koodissa on muutamia pääosia, joilla on melko erityisiä käyttötarkoituksia, ja olen luetellut ne alla antaakseni sinulle käsityksen siitä, mihin niitä käytetään:
- setup () - Jos olet ohjelmoinut Arduinosille ennen kuin olet perehtynyt tähän toimintoon ja sitä käytetään melko paljon Mozzi -ohjelmassa. Käytämme sitä lähinnä oskillaattoreiden, suodattimien jne. Oletusasetusten määrittämiseen.
- updateControl () - Tässä leijonanosa Mozzi -koodista tekee työnsä. Siellä luemme potin ja painikkeen arvot, kartoitamme ja muunnamme ne syötettäväksi syntetisaattoriin ja missä sekvensointi suoritetaan.
- updateAudio () - Tämä on Mozzi -kirjaston lopputulos. Tyypillisesti koodi pidetään tässä pienenä ja laihana, koska Mozzi käyttää tätä toimintoa maksimoidakseen kaikki mahdolliset kellosyklit. Kuten voit nähdä hyttyskoodista, se voi olla hieman salaperäinen, mutta kaikki, mitä me pohjimmiltaan teemme yhdistämällä/kertomalla eri aaltomuotojamme ja siirtämällä ne sitten bitshiftiksi sopimaan tiettyyn numeroalueeseen. On parasta pitää tämä toiminto hyvin kevyenä (ei sarjakutsut tai lukunastat) ja laittaa suurin osa tavasta controlUpdate () -toimintoon. Mozzin dokumentaatiossa kerrotaan tästä tarkemmin.
Suositeltava:
Ultrasonic Mosquito Killer: 3 vaihetta (kuvilla)
Ultrasonic Mosquito Killer: Mosquitoes SUCK! Ärsyttävän kutiavan kuopan lisäksi nämä verta imevät pakanat tuovat joitakin tappavimmista sairauksista ihmisille; Denguekuume, malaria, Chikungunya -virus … lista jatkuu! Joka vuosi noin miljoona ihmistä kuolee
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): 8 vaihetta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): ultraäänikaiuttimet L298N DC-naarasadapterin virtalähde urospuolisella dc-nastalla ja analogiset portit koodin muuntamiseksi (C ++)
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: 3 vaihetta
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: Seuraava opas auttaa sinua saamaan live-HD-videovirtoja lähes mistä tahansa DJI-dronesta. FlytOS -mobiilisovelluksen ja FlytNow -verkkosovelluksen avulla voit aloittaa videon suoratoiston droonilta
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
Basys3 FPGA Digital Audio Synthesizer: 5 vaihetta
Basys3 FPGA Digital Audio Synthesizer: Tämä digitaalinen siniaaltonäppäimistön syntetisaattori ottaa käyttäjän syötteet käyttöön hetkellisten kytkimien avulla, jotka on asetettu näppäimistön tapaan, ja antaa ääniaallon kaiuttimen kautta. Laite tuottaa käyttäjän syötteiden perusteella eri taajuuksisia siniaaltoja