Turinys:

„Raspberry Pi“būgno mašina: 5 žingsniai
„Raspberry Pi“būgno mašina: 5 žingsniai

Video: „Raspberry Pi“būgno mašina: 5 žingsniai

Video: „Raspberry Pi“būgno mašina: 5 žingsniai
Video: Fun with Music and Programming by Connor Harris and Stephen Krewson 2024, Lapkritis
Anonim
Raspberry Pi būgnų mašina
Raspberry Pi būgnų mašina

Sequencer pavyzdys, naudojant „Raspberry Pi + Python“.

Sekos nustatymo priemonė turi 4 polifonijas ir leidžia vartotojui išsaugoti ir nustatyti 6 skirtingas sekas, kurias jie gali keisti realiuoju laiku, ir palaiko galimybę keisti skirtingus mėginius.

Scenarijų parašiau taip, kad jis būtų visiškai suderinamas su bet kokiu MIDI valdikliu ir garsais. Aš naudoju 18 skirtingų garso bankų, po 16 pavyzdžių, tačiau bankų ir pavyzdžių pridėjimas arba atėmimas yra lengvas ir nereikalauja daug pakeitimų. Jei turite kokių nors problemų, parašykite man el. Paštu: [email protected]

Kodą rasite „GitHub“adresu:

Praneškite man, ar jį naudojate, ypač jei su juo kuriate vaizdo įrašą!

1 žingsnis: priklausomybės

Šiai programai reikalingi šie (neįtaisyti) „Python“moduliai:

mido

žaidimą

kvailas

Tačiau „Mido“sukelia tam tikrų komplikacijų, nes pats „Mido“reikalauja kelių priklausomybių. Norėdami įsitikinti, kad jie visi yra įdiegti, tiesiog įveskite šias komandas į savo „Raspberry Pi“terminalą (praleisdami „$“) ir viskas bus gerai. Kitus modulius galima įdiegti įprastai.

$ sudo apt-get atnaujinimas

$ sudo apt-get install build-essential

$ sudo apt-get install libasound-dev arba 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 įdiegti python-rtmidi

$ sudo pip įdiegti mido

2 veiksmas: sukonfigūruokite „Midi“įvesties vertes

Konfigūruokite „Midi“įvesties vertes
Konfigūruokite „Midi“įvesties vertes

Pagrindiniame „Python“scenarijuje yra masyvas, vadinamas „noteList“, kurį sudaro 16 sveikųjų skaičių (165. eilutė). Tai yra MIDI užrašų vertės, kurias mūsų valdiklis siunčia „Pi“, kad suaktyvintų garsus. Tačiau kiekvienas „midi“valdiklis yra skirtingas, todėl, jei neturite „Akai LPD8“, greičiausiai turėsite pakeisti šias vertes, kad jos atitiktų jūsų įrenginį.

„Github“repo taip pat apima kitą scenarijų, pavadintą „midihelp.py“, sukurtą specialiai šiam tikslui! Viskas, ką jis daro, yra spausdinti įvesties vertes iš pirmojo kompiuterio atpažįstamo MIDI valdiklio konsolėje. Viskas, ką jums reikia padaryti, tai pakeisti šias masyvo reikšmes, jei jos skiriasi nuo tų, kurios įtrauktos į „NoteList“.

Užrašų tvarka taip pat koreliuoja su tuo, koks garso efektas leidžiamas kiekvienam aplankui, todėl turėkite tai omenyje.

3 veiksmas: pridėkite papildomų aplankų su pavyzdžiais

Pavyzdiniai rinkiniai scenarijuje saugomi per aplankus tame pačiame kataloge, tiksliai nustatant, kaip 808 rinkinys yra „GitHub“faile. Tokiu būdu aplankuose galiu saugoti įvairius pavyzdžių rinkinius, kurie yra lengvai organizuojami ir keičiami.

Vienintelis dalykas, kurį reikia pakeisti pačiame scenarijuje, yra kintamasis foldNum, kuris tik nurodo scenarijui, kiek yra pavyzdžių aplankų. Šiuo metu scenarijuje „foldNum“yra nustatytas kaip vienas, nes tame pačiame kataloge yra tik vienas pakatalogis (808 rinkinys.) Didžiausias aplankas, kurį šiuo metu gali tvarkyti scenarijus, yra 18, tai yra, kiek aš naudoju, tačiau tai gana nereikšminga pakeiskite tai, praneškite man, jei jums reikia pagalbos.

Aplankų pavadinimai tikrai nesvarbūs (jei jie visi yra skirtingi), nes scenarijus tiesiog skaito tame pačiame kataloge esančių aplankų kiekį ir tokiu būdu patraukia kelius. Tačiau pačių failų pavadinimai yra svarbūs, daugiau apie tai kitame žingsnyje.

4 veiksmas: pridėkite ir sukonfigūruokite papildomų pavyzdžių naujuose aplankuose

Pridėkite ir sukonfigūruokite papildomų pavyzdžių naujuose aplankuose
Pridėkite ir sukonfigūruokite papildomų pavyzdžių naujuose aplankuose

Garsai į mėginių ėmiklį įkeliami per aplankus tame pačiame kataloge, kuriame yra.wav failų, kurių pavadinimai yra nuo 0 iki 15. To pavyzdį rasite įtrauktame aplanke 808. KIEKVIENAS pakatalogis su pavyzdžiais turėtų atrodyti identiškai vienas kitam.

Masyvo „NoteList“MIDI įvesties rodyklė tiksliai atitinka.wav failo pavadinimą.

Pavyzdžiui:

  • kai suaktyvinsite „NoteList [0]“saugomą MIDI užrašą, bus paleistas „wav“failas 0.wav.
  • kai suaktyvinsite NoteList [8] išsaugotą MIDI užrašą, bus paleistas 8. wav failas.

Aš tai padariau iš dalies, kad kiekvienas MIDI valdiklis galėtų būti lengvai nustatytas dirbti su scenarijumi, taip pat kad galėčiau lengvai išplėsti arba apriboti mėginio ir įvesties numerį, taip pat sutvarkyti failus ir scenarijų taip, kad smūgio būgnas Pavyzdžiui, garsai visada būtų išsaugomi kaip 0.wav ir juos suaktyvintų pirmoji MIDI pastaba.

Aš šiek tiek savavališkai pasirinkau 16 reikšmių, kad atitiktų 16 valdiklio įvesties, taigi, jei norėtumėte sukurti seką su tik 1 pavyzdžiu arba su daugeliu kitų, jums tereikės atitinkamai suskaičiuoti garso failus ir atimkite arba pridėkite „NoteList“masyve saugomus skaičius, kad jie atitiktų.

Jei pridėtas 808 rinkinys veikia tinkamai, bet turite problemų su savo pavyzdžiais, greičiausiai sprendimas būtų pakeisti failų atrankos dažnį, kad jis atitiktų „PyGame“22, 050 khz imties dažnį ir bitų gylį 16. Tai galite padaryti naudodami „Audacity“arba bet kokia kita garso redagavimo programinė įranga. Iš ten jie turėtų veikti puikiai!

5 žingsnis: Nuoroda į skaičių klaviatūrą

Gerai, kad sekos keitimo priemonėje vyksta daug dalykų, daugiau nei iš pradžių turėjau omenyje, todėl šiek tiek prigludau prie skaičių klaviatūros, kad atitiktų padidėjusį funkcionalumą. Atsižvelgiant į tai, žvaigždutė * ir laikotarpis. abu veikia kaip funkciniai klavišai.

NUORODA

PAGRINDINĖS FUNKCIJOS

[8] - Įjunkite ir išjunkite metronomą

[9] - Įjunkite ir išjunkite įrašymo režimą

[Enter] - Paleidimo/pristabdymo seka

[0] - ištrinkite dabartinę pastabą iš eilės

[Num Lock ir *] - Išjunkite

[MIDI pastaba ir.] - Nekventuokite iki lyginių skaičių

TEMPO FUNKCIJOS

[+] - Kursas pagreitina BPM

[-] - Kursas sulėtino BPM

[+ ir *] - Greitai pagreitinkite BPM

[- ir *] - Greitai sulėtinkite BPM

[+ ir.] - Fine Pagreitinti BPM

[- ir.] - Fine Slow Down BPM

SEKOS FUNKCIJOS

[1-6] Prisiminkite 1-6 seką

[1-6 ir.] Parduotuvės seka 1-6

[0 ir.] Išvalyti dabartinę seką

MĖGINIŲ APLANKŲ KEITIMAS

[1-9 ir *]-Pakeiskite į pavyzdinį paketą aplankuose 1-9

[1-9 ir * ir.]-Pakeiskite į pavyzdinį paketą aplankuose 10-18

SEKOS PATARIMAI:

-Išvalykite dabartinę seką [0 ir.] Ir išsaugokite ją visose sekose, kurias norite ištrinti iš atminties.

-Prisiminkite seką ir išsaugokite ją kitu numeriu, kad ją nukopijuotumėte.

Rekomenduojamas: