Sisällysluettelo:

Raspberry Pi -rumpukone: 5 vaihetta
Raspberry Pi -rumpukone: 5 vaihetta

Video: Raspberry Pi -rumpukone: 5 vaihetta

Video: Raspberry Pi -rumpukone: 5 vaihetta
Video: СТРАШНЫЕ ПРИЗРАКИ ПОКАЗАЛИ СВОЮ СИЛУ НОЧЬЮ В ТАИНСТВЕННОЙ УСАДЬБЕ / WHAT ARE GHOSTS CAPABLE OF? 2024, Marraskuu
Anonim
Raspberry Pi -rumpukone
Raspberry Pi -rumpukone

Näytesekvensseri Raspberry Pi + Pythonin kautta.

Sekvensserissä on 4 polyfoniaa, ja sen avulla käyttäjä voi tallentaa ja luoda 6 eri sekvenssiä, joita he voivat vuorotella reaaliajassa, ja tukee mahdollisuutta vaihtaa eri näytteiden välillä.

Kirjoitin käsikirjoituksen tavalla, joka toimii täysin kaikkien MIDI -ohjainten ja äänien kanssa. Käytän 18 eri äänipankkia, kukin 16 näytettä, mutta pankkien ja näytteiden lisääminen tai vähentäminen on helppoa eikä vaadi monia muutoksia. Jos sinulla on ongelmia, lähetä minulle sähköpostia: [email protected]

Löydä koodi GitHubista osoitteesta:

Kerro minulle, jos käytät sitä, ja etenkin jos teet videon sen kanssa!

Vaihe 1: Riippuvuudet

Tämä ohjelma vaatii seuraavat (ei sisäänrakennetut) Python -moduulit:

mido

pygame

numpy

Mido aiheuttaa kuitenkin joitain komplikaatioita, koska Mido itse vaatii muutamia riippuvuuksia. Varmistaaksesi, että ne kaikki asennetaan, kirjoita vain seuraavat komennot Raspberry Pi: n päätelaitteeseen (jättämättä '$') ja kaikki on hyvin. Muut moduulit voidaan asentaa normaalisti.

$ sudo apt-get päivitys

$ sudo apt-get install build-essential

$ sudo apt-get install libasound-dev tai libasound2-dev

$ sudo apt-get install libjack0

$ sudo apt-get install libjack-dev

$ sudo apt-get install python-pip

$ sudo apt-get install python-dev

$ sudo pip asenna python-rtmidi

$ sudo pip asenna mido

Vaihe 2: Midi -tuloarvojen määrittäminen

Määritä Midi -tuloarvot
Määritä Midi -tuloarvot

Python -komentosarjan sisällä on taulukko nimeltä noteList, joka koostuu 16 kokonaisluvusta (rivi 165.) Nämä ovat MIDI -muistiinpanojen arvot, jotka ohjain lähettää Pi: lle äänien laukaisemiseksi. Jokainen midi -ohjain on kuitenkin erilainen, joten jos sinulla ei ole myös Akai LPD8 -laitetta, sinun on todennäköisesti muutettava nämä arvot vastaamaan laitettasi.

Githubin repossa on myös toinen käsikirjoitus nimeltä "midihelp.py", joka on tehty erityisesti tätä tarkoitusta varten! Ainoa mitä se tulostaa, on tuloarvot ensimmäisestä tietokoneen tunnistamasta MIDI -ohjaimesta konsolille. Sinun tarvitsee vain korvata nämä arvot taulukossa, jos ne eroavat noteListiin sisältyvistä arvoista.

Muistiinpanojen järjestys korreloi myös sen, mikä äänitehoste kansiota kohden toistetaan, joten pidä tämä myös mielessä.

Vaihe 3: Lisää muita kansioita näytteillä

Käsikirjoituksen näytesarjat tallennetaan saman hakemiston kansioihin ja määritetään täsmälleen, miten 808 -sarja on GitHub -tiedostossa. Näin voin tallentaa kaikenlaisia erilaisia näytejoukkoja kansioihin, jotka on helppo järjestää ja vaihtaa.

Ainoa asia, joka itse skriptissä on muutettava, on muuttuja foldNum, joka vain kertoo skriptille, kuinka monta kansiota näytteistä on. Tällä hetkellä komentosarjassa on foldNum asetettu yhdeksi, koska samassa hakemistossa on vain yksi alikansio (808 -sarja.) Skriptin enimmäiskansiot voivat tällä hetkellä käsitellä 18, eli kuinka monta käytän, mutta se on melko triviaalia muuta tätä, kerro minulle, jos tarvitset apua.

Kansioiden nimillä ei ole oikeastaan väliä (kunhan ne ovat kaikki erilaisia), koska komentosarja vain lukee kansioiden määrän samassa hakemistossa ja nappaa polut tällä tavalla. Tiedostojen nimet ovat kuitenkin tärkeitä, lisää siitä seuraavassa vaiheessa.

Vaihe 4: Lisää ja määritä lisänäytteitä uusiin kansioihin

Lisää ja määritä uusia näytteitä uusiin kansioihin
Lisää ja määritä uusia näytteitä uusiin kansioihin

Äänet ladataan näytteenottimeen saman hakemiston kansioiden kautta, jotka sisältävät.wav-tiedostoja, joiden nimet on numeroitu välillä 0-15. Katso esimerkki mukana toimitetusta 808 -kansiosta. JOKAisen alikansion, jossa on näytteitä, pitäisi näyttää identtiseltä toistensa kanssa.

MIDI -tulojen hakemisto noteList -taulukossa vastaa tarkasti.wav -tiedostonimeä.

Esimerkiksi:

  • kun käynnistät noteList [0]: een tallennetun MIDI -muistiinpanon, wav -tiedosto 0.wav toistetaan.
  • kun käynnistät noteList [8]: ään tallennetun MIDI -muistiinpanon, wav -tiedosto 8.wav toistetaan.

Tein tämän osittain niin, että jokainen yksittäinen MIDI -ohjain voidaan asettaa helposti toimimaan käsikirjoituksen kanssa, ja myös jotta voisin helposti laajentaa tai rajoittaa näytteen ja syöttönumeron sekä järjestää tiedostot ja käsikirjoituksen niin, että potkurirumpu Esimerkiksi äänet tallennetaan aina 0.wav -muodossa ja laukaistaan ensimmäisen MIDI -muistiinpanon avulla.

Olen valinnut 16 arvoa jonkin verran mielivaltaisesti vastaamaan ohjaimen 16 tuloa, joten jos haluat tehdä sekvensserin, jossa on vain yksi näyte tai paljon muuta, sinun tarvitsee vain numeroida äänitiedostot vastaavasti ja vähennä tai lisää noteList -taulukkoon tallennettuja numeroita vastaamaan.

Jos mukana toimitettu 808 -sarja toimii oikein, mutta sinulla on ongelmia omien näytteiden kanssa, ratkaisu olisi todennäköisesti muuttaa tiedostojen näytteenottotaajuus vastaamaan PyGamen 22, 050 khz: n näytteenottotaajuutta ja bittisyvyyttä 16. Voit tehdä tämän Audacityssä tai mikä tahansa muu äänenmuokkausohjelmisto. Niiden pitäisi toimia täydellisesti sieltä!

Vaihe 5: Viittaus numeronäppäimistöön

Ok, sekvensserissä tapahtuu paljon tavaraa, enemmän kuin alun perin ajattelin, joten ahdistin melko paljon numeronäppäimistölle vastaamaan lisääntyneitä toimintoja. Tämä mielessä, tähti * ja kausi. molemmat toimivat toimintonäppäiminä.

VIITE

HUOLTO

[8] - Ota metronomi käyttöön tai poista se käytöstä

[9] - Ota tallennustila käyttöön tai poista se käytöstä

[Enter] - Toisto/tauko

[0] - Poista nykyinen muistiinpano järjestyksessä

[Num Lock ja *] - Sammuta

[MIDI Note and.] - Älä kvantisoi parillisiin numeroihin

TEMPO -TOIMINNOT

[+] - Kurssi nopeuttaa BPM: ää

[-] - Kurssin hidastaa BPM

[+ ja *] - Nopeasti nopeuttaa BPM: ää

[- ja *] - hidastaa nopeasti BPM: ää

[+ ja.] - Hienosäädä BPM

[- ja.] - Hieno hidastaa BPM

JAKSO -TOIMINNOT

[1-6] Muista jakso 1-6

[1-6 ja.] Tallenna jakso 1-6

[0 ja.] Tyhjennä nykyinen jakso

NÄYTTEEN KANSSIEN MUUTTAMINEN

[1-9 ja *]-Vaihda näytepakettiin kansioissa 1-9

[1-9 ja * ja.]-Vaihda näytepakettiin kansioissa 10-18

JÄRJESTYSVINKKEJÄ:

-Tyhjennä nykyinen sekvenssi [0 ja.] Ja tallenna se mihin tahansa sarjaan, jonka haluat poistaa muistista.

-Muista sarja ja tallenna se toiseen numeroon kopioidaksesi sen.

Suositeltava: