INHOUDSOPGAWE:

Framboos Pi -trommelmasjien: 5 stappe
Framboos Pi -trommelmasjien: 5 stappe

Video: Framboos Pi -trommelmasjien: 5 stappe

Video: Framboos Pi -trommelmasjien: 5 stappe
Video: LP - Lost On You (Official Music Video) 2024, November
Anonim
Framboos Pi -trommelmasjien
Framboos Pi -trommelmasjien

Voorbeeld Sequencer, via 'n Raspberry Pi + Python.

Die sequencer het 4 polifonie en stel die gebruiker in staat om 6 verskillende rye op te slaan waarna hulle intyds kan wissel, en ondersteun die vermoë om tussen verskillende monsters te verander.

Ek het die draaiboek geskryf op 'n manier wat heeltemal werkbaar is met enige MIDI -kontroleerder en klanke. Ek gebruik 18 verskillende klankbanke, 16 monsters elk, maar die byvoeging of aftrekking van banke en monsters is maklik en vereis nie veel wysigings nie. Stuur vir my 'n e -pos as u probleme ondervind: [email protected]

Vind die kode op GitHub op:

Laat weet my asseblief as u dit gebruik, en veral as u 'n video daarmee maak!

Stap 1: Afhanklikheid

Hierdie program benodig die volgende (nie ingeboude) Python -modules:

mido

pigame

gevoelloos

Mido veroorsaak egter komplikasies, aangesien Mido self 'n paar afhanklikheid benodig. Om seker te maak dat hulle almal geïnstalleer word, tik u slegs die volgende opdragte in die terminale van u Raspberry Pi (laat die '$' weg) en dit sal goed gaan. Die ander modules kan normaalweg geïnstalleer word.

$ sudo apt-get update

$ sudo apt-get install build-essential

$ sudo apt-get installeer libasound-dev of libasound2-dev

$ sudo apt-get install libjack0

$ sudo apt-get installeer libjack-dev

$ sudo apt-get install python-pip

$ sudo apt-get install python-dev

$ sudo pip installeer python-rtmidi

$ sudo pip installeer mido

Stap 2: Stel Midi -invoerwaardes op

Stel Midi -invoerwaardes op
Stel Midi -invoerwaardes op

Binne die hoof Python Script bestaan daar 'n skikking genaamd noteList wat bestaan uit 16 heelgetalle (reël 165.) Dit is die MIDI nootwaardes wat ons beheerder na die Pi stuur om die klanke te aktiveer. Elke midi -kontroleerder is egter anders, dus tensy u ook 'n Akai LPD8 het, moet u waarskynlik hierdie waardes verander om by u toestel te pas.

Die Github -repo bevat ook 'n ander skrif genaamd "midihelp.py" wat spesifiek vir hierdie doel gemaak is! Al wat dit doen, is om die invoerwaardes van die eerste MIDI -beheerder wat die rekenaar herken, na die konsole te druk. Al wat u hoef te doen, is om hierdie waardes in die skikking te vervang as dit verskil van die waardes in die noteList.

Die volgorde van die note korreleer ook met watter klankeffek per gids gespeel word, so hou dit ook in gedagte.

Stap 3: Voeg ekstra gidse by met voorbeelde

Voorbeeldstelle in die skrip word gestoor via gidse in dieselfde gids, en stel presies hoe die 808 -stel in die GitHub -lêer is. Op hierdie manier kan ek allerhande verskillende monsterstelle in dopgehou laat stoor wat maklik georganiseer en vervang kan word.

Die enigste ding om te verander in die script self is die veranderlike foldNum wat net die script vertel hoeveel dopgehoue monsters daar is. Tans het die script foldNum op een gestel, want daar is slegs een submap in dieselfde gids (die 808 -kit). Die maksimum vouers wat die script tans kan hanteer, is 18, dit is hoeveel ek gebruik, maar dit is redelik triviaal verander dit, laat weet my as u hulp nodig het.

Die name van die vouers maak nie regtig saak nie (solank hulle almal anders is), aangesien die skrif net die hoeveelheid vouers in dieselfde gids lees en die paaie so gryp. Die name van die lêers self is egter belangrik, meer hieroor in die volgende stap.

Stap 4: Voeg by en stel ander monsters in nuwe gidse op

Voeg by en konfigureer bykomende monsters in nuwe gidse
Voeg by en konfigureer bykomende monsters in nuwe gidse

Klanke word in die monsternemer gelaai via vouers in dieselfde gids wat.wav-lêers bevat met name wat tussen 0-15 genommer is. Sien die meegaande 808 -lêergids vir 'n voorbeeld hiervan. ELKE subgids met monsters moet identies aan mekaar lyk.

Die indeks van MIDI -insette in die array noteList stem presies ooreen met die.wav -lêernaam.

Byvoorbeeld:

  • as u die MIDI -noot wat in noteList [0] gestoor is, aktiveer, sal die wav -lêer 0.wav speel.
  • as u die MIDI -noot wat in noteList [8] gestoor is, aktiveer, sal die wav -lêer 8.wav speel.

Ek het dit gedeeltelik gedoen sodat elke MIDI -kontroleerder maklik kon opstel om met die script te werk, en ek kon ook die monster- en invoernommer uitbrei of beperk, sowel as om die lêers en die script te organiseer sodat die skoptrommel klanke sal byvoorbeeld altyd as 0.wav gestoor word en deur die eerste MIDI -noot geaktiveer word.

Ek het 16 waardes ietwat willekeurig gekies om ooreen te stem met die 16 insette op my kontroleerder, so as u verkies om 'n sequencer met slegs 1 monster of met nog vele meer te maak, hoef u slegs die klanklêers daarvolgens te nommer en trek die getalle wat in die noteList -skikking gestoor is, af of voeg dit by.

As die meegeleverde 808 -kit behoorlik werk, maar u probleme ondervind met u eie monsters, is die oplossing heel waarskynlik om die steekproefsnelheid van die lêers aan te pas volgens PyGame se 22, 050khz -monstertempo en bisdiepte van 16. U kan dit doen in Audacity of enige ander klankbewerkingsprogrammatuur. Hulle moet van daar af perfek werk!

Stap 5: Number Pad Reference

Ok, daar is baie dinge in die sequencer aan die gang, meer as wat ek aanvanklik in gedagte gehad het, so ek het nogal 'n bietjie op 'n Number Pad gepak om by die verhoogde funksionaliteit te pas. Dit in gedagte, die sterretjie * en die tydperk. beide werk as funksiesleutels.

VERWYSING

HOOFSTELLINGS

[8] - Skakel Metronoom aan en af

[9] - Skakel opnamemodus aan en uit

[Enter] - Speel/pouse volgorde

[0] - Verwyder die huidige noot in volgorde

[Num Lock en *] - Skakel af

[MIDI Nota en.] - Moenie kwantifiseer tot ewe getalle nie

TEMPO FUNKSIES

[+] - Kursus versnel BPM

[-] - Kursus vertraag BPM

[+ en *] - Versnel BPM vinnig

[- en *] - Vertraag BPM vinnig

[+ en.] - Versnel BPM fyn

[- en.] - Fyn stadiger BPM

REEKSFUNKSIES

[1-6] Onthou volgorde 1-6

[1-6 en.] Stoorvolgorde 1-6

[0 en.] Maak huidige volgorde skoon

VERANDERING VAN MONSTERMAPPE

[1-9 en *]-Verander na voorbeeldpakket in vouers 1-9

[1-9 en * en.]-Verander na voorbeeldpakket in vouers 10-18

Volgorde wenke:

-Maak die huidige volgorde [0 en.] Skoon en stoor dit in die volgorde wat u uit die geheue wil verwyder.

-Roep 'n reeks op en stoor dit in 'n ander nommer om dit te kopieer.

Aanbeveel: