INHOUDSOPGAWE:
- Stap 1: Afhanklikheid
- Stap 2: Stel Midi -invoerwaardes op
- Stap 3: Voeg ekstra gidse by met voorbeelde
- Stap 4: Voeg by en stel ander monsters in nuwe gidse op
- Stap 5: Number Pad Reference
Video: Framboos Pi -trommelmasjien: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
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
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
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:
Werk tuis tuisopnemer met 'n framboos Pi: 7 stappe
Werk van die huis af tydopnemer met 'n framboos -Pi: Die afgelope jaar het ek die geleentheid gehad om tuis te werk. Waarvoor ek die ure wat ek werk, moes dophou. Aan die begin deur 'n Excel-sigblad te gebruik en die 'klok-in'- en' uitklok'-tye handmatig in te voer, het ek dit vinnig gevind:
CCTV -voerbeheer - Framboos Pi: 3 stappe
CCTV Feed Controller - Raspberry Pi: Hallo almal, welkom by nog 'n Instructable by Scientify Inc.! Hierdie projek optimaliseer wat 'n CCTV -kamera opneem deur gebruik te maak van ingeboude bewegingswaarneming met behulp van die gemiddelde gemiddelde kwadraat (RMS) verskil tussen twee opeenvolgende beelde. Dit help om CCTV -voer te maak
Hoe om Windows 10 op 'n Framboos Pi te laat werk: 3 stappe
Hoe om Windows 10 op 'n Framboos Pi te laat werk: om Windows 10 op 'n framboospi te laat werk, kan 'n bietjie frustrerend wees, maar hierdie gids sal al u Raspberry Pi -verwante probleme oplos
Uitskakelknoppie vir Framboos Pi: 3 stappe
Uitskakelknoppie vir Raspberry Pi: Die Raspberry Pi is 'n baie nuttige rekenaarplatform waarmee u verskillende IoT/robotika/smart-home/… projek-toepassings kan skep. Die enigste ding wat dit nie het nie, in vergelyking met 'n gewone rekenaar, is 'n afskakelknoppie. So, hoe kan ons
Beheer woonkamer met Alexa en Framboos Pi: 12 stappe
Beheer woonkamer met Alexa en Raspberry Pi: beheer u woonkamer -TV, ligte en waaier met Alexa (Amazon Echo of Dot) en Raspberry Pi GPIO