Съдържание:
- Стъпка 1: Зависимости
- Стъпка 2: Конфигурирайте входните стойности на midi
- Стъпка 3: Добавете допълнителни папки с проби
- Стъпка 4: Добавете и конфигурирайте допълнителни проби в нови папки
- Стъпка 5: Референтен номер на клавиатурата
Видео: Raspberry Pi Drum Machine: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Примерен секвенсор чрез Raspberry Pi + Python.
Секвенсорът има 4 полифонии и позволява на потребителя да съхранява и подрежда 6 различни последователности, които могат да редуват в реално време, и поддържа възможността за промяна между различни проби.
Написах сценария по начин, който е напълно работещ с наистина всеки MIDI контролер и звуци. Използвам 18 различни звукови банки, по 16 проби всяка, но добавянето или изваждането на банки и семпли е лесно и не изисква много модификации. Ако имате проблеми, изпратете ми имейл: [email protected]
Намерете кода в GitHub на:
Моля, уведомете ме, ако го използвате, и особено ако правите видеоклип с него!
Стъпка 1: Зависимости
Тази програма изисква следните (не вградени) Python модули:
mido
pygame
буца
Въпреки това, Mido хвърля някои усложнения, тъй като самият Mido изисква няколко зависимости. За да сте сигурни, че всички те ще бъдат инсталирани, просто въведете следните команди в терминала на вашия Raspberry Pi (като пропуснете „$“) и всичко ще бъде наред. Другите модули могат да бъдат инсталирани нормално.
$ sudo apt-get update
$ sudo apt-get install build-съществено
$ sudo apt-get install libasound-dev или 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 инсталирайте python-rtmidi
$ sudo pip инсталирайте mido
Стъпка 2: Конфигурирайте входните стойности на midi
В рамките на основния скрипт на Python съществува масив, наречен noteList, който се състои от 16 цели числа (ред 165.) Това са нотните стойности на MIDI, които нашият контролер изпраща на Pi, за да задейства звуците. Всеки midi контролер е различен, така че ако нямате и Akai LPD8, най -вероятно ще трябва да промените тези стойности, за да съответстват на вашето устройство.
Репото на Github включва и друг скрипт, наречен "midihelp.py", който е направен специално за тази цел! Всичко, което прави, е да отпечата входните стойности от първия MIDI контролер, който компютърът разпознава, към конзолата. Всичко, което трябва да направите, е да замените тези стойности в масива, ако те се различават от тези, включени в noteList.
Редът на нотите също корелира с това кой звуков ефект от всяка папка се възпроизвежда, така че имайте това предвид.
Стъпка 3: Добавете допълнителни папки с проби
Примерните комплекти в скрипта се съхраняват чрез папки в една и съща директория, задайте точно как комплектът 808 е в GitHub файла. По този начин мога да съхранявам в папки всякакви различни примерни набори, които лесно се организират и заменят.
Единственото нещо, което трябва да се промени в самия скрипт, е променливата foldNum, която просто казва на скрипта колко папки с проби има. В момента скриптът е foldNum зададен на един, защото има само една подпапка в същата директория (комплект 808.) Максималните папки, които скриптът може да обработва в момента, са 18, което е колко много използвам, но това е доста тривиално променете това, уведомете ме, ако имате нужда от помощ.
Имената на папките всъщност нямат значение (стига всички да са различни), тъй като скриптът просто чете количеството папки в същата директория и хваща пътищата по този начин. Имената на самите файлове обаче са важни, повече за това в следващата стъпка.
Стъпка 4: Добавете и конфигурирайте допълнителни проби в нови папки
Звуците се зареждат в семплера чрез папки в същата директория, съдържащи.wav файлове с имена, номерирани между 0-15. Вижте включената папка 808 за пример за това. ВСЯКА подпапка с мостри трябва да изглежда идентична една с друга.
Индексът на MIDI входовете в масива noteList съответства точно на.wav името на файла.
Например:
- когато задействате MIDI бележката, съхранена в noteList [0], wav файлът 0.wav ще се възпроизведе.
- когато задействате MIDI бележката, съхранена в noteList [8], wav файлът 8.wav ще се възпроизведе.
Направих това отчасти, така че всеки един MIDI контролер да може лесно да бъде настроен да работи със скрипта, а също така и да улесня разширяването или ограничаването на пробата и входния номер, както и да организирам файловете и скрипта така, че да е ударният барабан звуците, например, винаги ще бъдат записани като 0.wav и ще се задействат от първата MIDI бележка.
Избрах 16 стойности донякъде произволно, за да съответстват на 16 входа на моя контролер, така че ако предпочитате да направите секвенсор само с 1 проба или с много повече, всичко, което трябва да направите, е да номерирате аудио файловете съответно и изважда или добавя числата, съхранени в масива noteList, за да съвпадат.
Ако включеният комплект 808 работи правилно, но имате проблеми със собствените си проби, решението най -вероятно ще бъде да промените честотата на дискретизация на файловете, така че да съответства на 22, 050 kHz честота на дискретизация на PyGame и битова дълбочина 16. Можете да направите това в Audacity или всеки друг софтуер за редактиране на аудио. Те трябва да работят перфектно от там!
Стъпка 5: Референтен номер на клавиатурата
Добре, има много неща, които се случват в секвенсора, повече, отколкото първоначално имах предвид, така че се натъпках доста на Number Pad, за да съответства на увеличената функционалност. Имайте предвид това, Звездичката * и Периодът. и двете работят като функционални клавиши.
РЕФЕРЕНЦИЯ
ОСНОВНИ ФУНКЦИИ
[8] - Включване и изключване на Metronome
[9] - Включване и изключване на режима на запис
[Enter] - Възпроизвеждане/пауза
[0] - Изтриване на текуща бележка в последователност
[Num Lock и *] - Изключете
[MIDI бележка и.] - Не квантувайте до четни числа
ТЕМПО ФУНКЦИИ
[+] - Ускоряване на курса BPM
[-] - Забавяне на курса BPM
[+ и *] - Бързо ускоряване на BPM
[- и *] - Бързо забавяне на BPM
[+ и.] - Фино ускоряване на BPM
[- и.] - Фино забавяне на BPM
ФУНКЦИИ НА ПОСЛЕДОВАТЕЛНОСТТА
[1-6] Извикване на последователност 1-6
[1-6 и.] Последователност на съхранение 1-6
[0 и.] Изчистване на текущата последователност
ПРОМЯНА НА ПРОБНИ ПАПКИ
[1-9 и *]-Промяна на Примерен пакет в папки 1-9
[1-9 и * и.]-Промяна в Примерен пакет в папки 10-18
СЪВЕТИ НА ПОСЛЕДОВАТЕЛНОСТТА:
-Изчистете текущата последователност [0 и.] И я запазете във всички последователности, които искате да бъдат изчистени от паметта.
-Извикайте последователност и я съхранявайте на различен номер, за да я копирате.
Препоръчано:
Raspberry Pi Retro Gaming Machine Setup: 5 стъпки
Raspberry Pi Retro Gaming Machine Setup: За възпроизвеждане на ретро аркадни игри от ранните дни на компютрите, Rasberry Pi и придружаващата системата Retropie са чудесни за настройка у дома на всички стари игри, които може да искате да играете или като хоби изучаване на Пи. Тази система е била
Micro: bit - Micro Drum Machine: 10 стъпки (със снимки)
Micro: bit - Micro Drum Machine: Това е micro: bit микро барабанна машина, която вместо просто да генерира звука, всъщност барабани. Той е тежък, вдъхновен от зайците от микро: бит оркестъра. Отне ми известно време да намеря някои соленоиди, които бяха лесни за използване с mocro: bit
Arduino Drum Man: 5 стъпки (със снимки)
Arduino Drum Man: Съставки: 1. Метална тел 2. Евтин комплект играчки за барабани (Hi hat, snare и kick drum) 3. Три серво 4. Електрически проводник5. Тиксо 6. Платформа 7. Arduino Uno8. USB към USB 2.0
Bare Minimum Raspberry Pi Torrent Machine Урок: 4 стъпки (със снимки)
Bare Minimum Raspberry Pi Torrent Machine Урок: Hai people.Torrenting винаги е животоспасяващо и се надяваме, че свързан без глава Raspberry Pi, който прави това за вас, наистина може да бъде невероятно. С този урок ще ви помогна да създадете Torrent машина с Pi, която може да работи без глава и можете да използвате нашия Andro
Guitar Hero: World Tour Drum Repair: 6 стъпки
Guitar Hero: World Tour Drum Repair: Някои проблеми са забелязани с барабаните на GH: World Tour. Тази инструкция има за цел да поправи тези проблеми, като същевременно анулира вашата гаранция. Ако червената ви глава на барабана е нефункционална, или може би оранжевата ви тарелка, или наистина някакъв проблем, че законът