Використання Raspberry Pi для Хеллоуїна, щоб змінювати голос в реальному часі
Рейтинг статті: / 5
НайгіршеНайкраще 
HalloweenДля Хеллоуїна було б чудово змінити голос, що дозволить отримати «хороший» голос з могили, який ефектно доповнить моторошний вигляд.
Голос через маски, зазвичай, надзвичайно приглушений, тому важко вести розмову або навіть поговорити з ким-небудь, тому деяка зовнішня приставка конче необхідна.
Що взагалі здивувало ... ніхто ще не зробив цього. Автор шукав по всій мережі пристрої обробки голосу в реальному часі для використанням з Raspberry Pi або Arduino і, хоча деякі люди наблизилися, ніхто серед знайденого не об’єднав всі шматки разом. Таким чином, зараз саме той час, щоб це зробити.
Перший компонент, природно, Raspberry Pi. Далі, RPi має на борту аудіо, але ... ну, це відстій. Потрібно мати окремий мікрофонний вхід і виходи та оброблення звуку поза процесором. На щастя, є величезна кількість таких USB-адаптерів, що забезпечують звук менш ніж за $10. Один з них - портативний Pyle Audio (PA):
Realtime Voice Changer
Далі, потрібен підсилювач. Портативний, голосний і з виносним мікрофоном. Очевидно, що обираючи для свого власного проекту, ви виберете ті аудіо опції, які забажаєте. Звуковий адаптер має стандартні 1/8-дюймові гнізда для мікрофона і аудіо виходу, так що підключити напряму буде просто. Автор використав портативну систему Pyle Pro PWMA50B. Вона варта своїх $29. Поставляється з мікрофоном, вбудованими акумуляторними батареями, ремнем кріплення і, найголовніше, має додатковий вхід.
Зараз йде складна частина. Спочатку треба налаштувати аудіо так, щоб можна було робити запис і відтворення в реальному часі, що потребує установки 'sox', набору інструментів, в тому числі, всіх інструментів ALSA (більшість з ALSA поставляється з RPi, але ви переконайтеся, що вони там є). По-перше, переконайтеся, що можете відтворювати аудіо через карту USB в PA. Я '' AПлей через це (цієї ALSA простий плеєр), і спробуйте невеликий WAV-файл.
Також рекомендується запускати "alsamixer" заздалегідь, щоб переконатися, що бачите всі пристрої, і вони не приглушені.
"aplay -l'' і "arecord -l" зручні команди, щоб переконатися, що бачите все, необхідне вам.
Припускаючи, що ви вже можете працювати з аудіо, тепер починається найцікавіше. Налаштуємо sox-канал за замовчуванням для читання з аудіо пристрою і для запису на аудіо пристрій. Подібно цьому:
play "|rec -d"
Якщо все піде добре, то ви повинні тепер бути в змозі говорити в мікрофон і отримати звук свого голосу в динаміку. Майже напевно буде затримка десь від однієї десятої до половини секунди. Є способи зменшити її, але ми повернемося до цього пізніше.
Якщо у вас все працює, то 90% шляху пройдено!
Якщо потрібний глибокий голос, то можна додати pitch -300 таким чином:
play "|rec -d pitch -300"
Якщо виникають проблеми з дуже високим вереском з гучномовцях, то треба додати смуговий фільтр для видалення небажаної частоти таким чином:
play "|rec -d pitch -300 band 1.2k 1.5k"
Даний синтаксис означає "Видалити звук зі смугою пропускання 1,5 кГц по обидві сторони від центральної частоти 1.2кГц".
Ще трохи тонкого налаштування з додаванням деякого відлуння, і автор отримав голос, який хотів. Команда –buffer скорочує кількість даних в буфері для обробки. Це допомогло небагато скоротити затримку, але ризикує переповненням буфера, якщо будете багато говорити.
play "|rec --buffer 2048 -d pitch -300 echos 0.8 0.88 100 0.6 150 .5 band 1.2k 1.5k"
Останнє, що потрібно, це мати автоматичний запуск, коли RPi перезавантажується. При розміщенні RPi десь під одягом чи на поясі, ви не зможете зайти і перезапустити інструменти, коли RPi завантажується. Виправимо це, вставивши 'play' та інші команди amixer в простий скрипт (автор розмістив його в /root/setup.sh), і за допомогою команди @reboot, яку підтримує версія RPi з Linux, додайте цей рядок в crontab кореневого користувача (root):
@reboot sh /root/setup.sh > /root/sound.log 2>&1
Перезавантаження тепер працює без підключення монітора і клавіатури, звуковий процесор запускається правильно. Отже, вперед на свято!
Звичайно, використання RPi для такої простої задачі не зовсім обґрунтоване, але це може бути додатком до інших проектів для Хеллоуїна на RaspberryPi.
(Джерело EN: planet-geek.com)
 
>
КнигаНовиниПрактика пошукуПартнериПро нас
Підтримка та дизайн: Могильний С.С. Шаблон: Joomla Templates by BuyHTTP Joomla Hosting