Мазмұны:
- 1 -қадам: тәуелділіктер
- 2 -қадам: Midi енгізу мәндерін конфигурациялау
- 3 -қадам: Үлгілері бар қосымша қалталарды қосыңыз
- 4 -қадам: Жаңа қалталарға қосымша үлгілерді қосу және конфигурациялау
- 5 -қадам: Сандық тақтаға сілтеме
Бейне: Raspberry Pi барабан машинасы: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:22
Sample Sequencer, Raspberry Pi + Python арқылы.
Секвенсерде 4 полифония бар және ол пайдаланушыға нақты уақытта ауыса алатын 6 түрлі тізбекті сақтауға және анықтауға мүмкіндік береді және әр түрлі үлгілер арасында ауысу мүмкіндігін қолдайды.
Мен сценарийді кез келген MIDI контроллері мен дыбыстарымен жұмыс істейтін етіп жаздым. Мен 18 түрлі дыбыстық банктерді қолданамын, олардың әрқайсысында 16 үлгі бар, бірақ банктер мен үлгілерді қосу немесе азайту оңай және көп өзгертулерді қажет етпейді. Егер сізде қиындықтар туындаса, маған электронды пошта арқылы хабарласыңыз: [email protected]
GitHub -тен кодты мына жерден табыңыз:
Егер сіз оны қолдансаңыз, әсіресе, егер сіз онымен видео түсірсеңіз, маған хабарлаңыз!
1 -қадам: тәуелділіктер
Бұл бағдарлама келесі Python модульдерін қажет етеді:
мидо
ойын
ессіз
Алайда, Мидо кейбір қиындықтарды тудырады, өйткені Mido өзі бірнеше тәуелділікті қажет етеді. Олардың барлығы орнатылғанына көз жеткізу үшін Raspberry Pi терминалына келесі пәрмендерді енгізіңіз ('$' белгісі жоқ) және бәрі жақсы болады. Қалған модульдерді қалыпты түрде орнатуға болады.
$ sudo apt-get жаңартуы
$ sudo apt-get install build-essential
$ sudo apt-get libasound-dev немесе libasound2-dev орнатыңыз
$ sudo apt-get install libjack0
$ sudo apt-get install libjack-dev
$ sudo apt-get python-pip орнатыңыз
$ sudo apt-get install python-dev
$ sudo pip python-rtmidi орнатыңыз
$ sudo pip install mido
2 -қадам: Midi енгізу мәндерін конфигурациялау
Негізгі Python сценарийінде 16 бүтін саннан тұратын noteList деп аталатын массив бар (165 -жол). Бұл біздің контроллер дыбыстарды іске қосу үшін Pi -ге жіберетін MIDI ескерту мәндері. Әрбір midi контроллері басқаша, бірақ егер сізде Akai LPD8 болмаса, сізге бұл мәндерді құрылғыға сәйкес өзгерту қажет болады.
Github репо -да осы мақсат үшін арнайы жасалған «midihelp.py» деп аталатын басқа сценарий бар! Ол тек компьютер танитын MIDI контроллерінің кіріс мәндерін консольге басып шығарады. Сізге бұл мәндердің noteList -те қамтылғаннан өзгеше болса, массивте ауыстыру қажет.
Жазбалардың реті сонымен қатар бір қалтада қандай дыбыстық әсердің ойнатылатынына байланысты, сондықтан оны есте сақтаңыз.
3 -қадам: Үлгілері бар қосымша қалталарды қосыңыз
Сценарийдегі жиынтықтар сол каталогтағы қалталар арқылы сақталады, 808 жиынтығының GitHub файлында қалай болатынын дәл орнатыңыз. Осылайша мен оңай реттелетін және ауыстырылатын қалталарда сақталатын әр түрлі үлгі жиынтығына ие бола аламын.
Сценарийді өзгертуге болатын жалғыз нәрсе - бұл айнымалы foldNum, ол сценарийге үлгілердің қанша қалтасы бар екенін айтады. Қазіргі уақытта сценарийде foldNum бар, себебі бір каталогта тек бір ішкі қалта бар (808 жиынтығы). Қазіргі уақытта сценарий өңдей алатын максималды қалталар саны - 18, мен қанша қолданамын, бірақ бұл өте маңызды емес. мұны өзгертіңіз, егер сізге көмек қажет болса, маған хабарлаңыз.
Қалталардың атаулары маңызды емес (бәрі басқаша болса да), өйткені Сценарий тек бір каталогтағы қалталардың санын оқиды және жолдарды солай алады. Файлдардың аттары маңызды, бірақ келесі қадамда.
4 -қадам: Жаңа қалталарға қосымша үлгілерді қосу және конфигурациялау
Дыбыстар іріктегішке 0-15 арасында нөмірленген.wav файлдары бар каталогтағы қалталар арқылы жүктеледі. Бұған мысал үшін берілген 808 қалтасын қараңыз. Үлгілері бар әрбір ішкі қалта бір -біріне ұқсас болуы керек.
NoteList массивіндегі MIDI кірістерінің индексі.wav файл атауына сәйкес келеді.
Мысалға:
- noteList [0] сақталған MIDI жазбасын іске қосқанда, 0.wav wav файлы ойнатылады.
- noteList [8] сақталған MIDI жазбасын іске қосқанда, 8.wav wav файлы ойнатылады.
Мен мұны ішінара жасадым, сондықтан әрбір MIDI контроллері сценариймен жұмыс жасау үшін оңай реттелуі мүмкін, сонымен қатар мен үлгі мен енгізу нөмірін оңай кеңейте немесе шектей аламын, сонымен қатар файлдар мен сценарийді соққы барабанында реттей аламын. дыбыстар, мысалы, әрқашан 0.wav ретінде сақталады және бірінші MIDI жазбасы арқылы іске қосылады.
Мен контроллердегі 16 кіріске сәйкес келу үшін 16 мәнді таңдадым, сондықтан егер сіз тек 1 үлгісі бар секвенер жасағыңыз келсе немесе одан да көп болса, аудио файлдарды сәйкесінше нөмірлеу және noteList массивінде сақталатын сандарды сәйкестендіру үшін алып тастаңыз немесе қосыңыз.
Егер жинақтағы 808 жиынтығы дұрыс жұмыс жасаса, бірақ сізде өз үлгілеріңізбен қиындықтар туындаса, шешім PyGame 22, 050 кГц іріктеу жылдамдығына және 16 бит тереңдігіне сәйкес келетін файлдардың үлгі жиілігін өзгерту болуы мүмкін. Мұны Audacity немесе кез келген басқа аудио өңдеуге арналған бағдарлама. Олар сол жерден мінсіз жұмыс істеуі керек!
5 -қадам: Сандық тақтаға сілтеме
Жақсы, секвенсерде мен ойлағандай көп нәрсе болып жатыр, сондықтан мен функционалдылықты жоғарылату үшін Сандық тақтаға біраз жиналдым. Осыны ескере отырып, жұлдызша * және кезең. екеуі де функция пернелері ретінде жұмыс істейді.
СІЛТЕМЕ
НЕГІЗГІ ФУНКЦИЯЛАР
[8] - Metronome қосу және өшіру
[9] - Жазу режимін қосу және өшіру
[Enter] - Ойнату/кідірту ретін
[0] - тізбектегі ағымдағы жазбаны жою
[Num Lock және *] - Өшіру
[MIDI Note және.] - жұп сандарды санамаңыз
ТЕМПО ФУНКЦИЯЛАРЫ
[+] - Курс BPM жылдамдатады
[-] - BPM баяулайтын курс
[+ және *] - BPM жылдамдығын жылдамдату
[- және *] - BPM жылдамдығын баяулатады
[+ және.] - BPM жылдамдығын жақсарту
[- және.] - Fine Slow Down BPM
РЕТТІЛІК ФУНКЦИЯЛАРЫ
[1-6] 1-6 ретін еске түсіру
[1-6 және.] Дүкендердің реттілігі 1-6
[0 және.] Ағымдағы тізбекті тазарту
ҮЛГІ ҚАЛТАЛАРЫН ӨЗГЕРТУ
[1-9 және *]-1-9 қалталардағы үлгі жиынтығына өзгерту
[1-9 және * және.]-10-18 қалталардағы үлгі жиынтығына өзгерту
РЕТТІ КЕҢЕСТЕР:
-[0 және.] Ағымдағы тізбекті тазалаңыз және оны жадтан тазартқыңыз келетін кез келген тізбекте сақтаңыз.
-Ретті еске түсіріп, оны басқа нөмірге көшіру үшін сақтаңыз.
Ұсынылған:
Arduino Uno және Mozzi бар қарапайым барабан машинасы: 4 қадам
Ардуино Уно мен Моцци бар қарапайым барабан машинасы: Аргентинада тұру халықаралық поштаның ұрланатынын немесе кеденде қалып қоюын білдіреді. Коронавирус карантинін қосыңыз және сіздің келесі жобаңыз ескі Arduino Uno тақтасымен шектеледі. Жақсы жаңалық? Роллинг Стоунздың ұлы ақыны айтқандай: «Уақыт жақында
Микро: бит - микро барабан машинасы: 10 қадам (суреттермен)
Микро: бит - Микро барабан машинасы: Бұл микро дыбысты микро барабан машинасы, ол тек дыбысты шығарудың орнына, барабанды әрекет етеді. Бұл микро: бит оркестрінің қояндарының шабытымен.Мокро: битпен қолдануға оңай соленоидтарды іздеуге біраз уақыт кетті
Макей Макей электр барабандары / барабан машинасы: 8 қадам
Makey Makey электр барабандары / барабан машинасы: Бұл электр барабандар жиынтығын құруға арналған оқулық - бұл Makey Makey конкурсының материалдары, қол жетімділігі мен жеке таңдауларына байланысты өзгереді. Картонды берік материалдармен алмастыруға болады. текс үшін көбік/ басқа
HX1 -DM - жаңартылған Arduino DUE қуатты DIY барабан машинасы (өлі машинамен MK2 арқылы жасалған): 4 қадам
HX1 -DM - Upcycled Arduino DUE қуатты DIY барабан машинасы (Өлі машинамен MK2 арқылы жасалған): Техникалық сипаттамасы. Гибридті Midi контроллері / барабан машинасы: Arduino DUE жұмыс істейді! Кез келген Midi #CC пәрменіне тағайындалатын, 8 кнопкасы бар, жылдамдығы сенсорлық тақталар 16ch, кіріктірілген реттегіш (компьютер қажет емес !!) MIDI кіру/шығу/функция арқылы
Raspberry Pi қуатты барабан машинасы: 15 қадам (суреттермен)
Raspberry Pi қуаты бар барабан машинасы: Бұл нұсқаулық сізге Raspberry Pi жұмыс істейтін робот барабан машинасын қалай жасау керектігін көрсетеді. Бұл шынымен қызықты, креативті, интерактивті жоба. Мен сізге ішкі жұмысты қалай жасау керектігін көрсетемін, бірақ нақты барабандар сізге байланысты, бұл сізге