Я делаю проект обработки речи с Raspberry Pi 3 (работает Raspbian) с использованием USB-микрофона. Я вижу, как микрофон отображается как выбранное аудиоустройство для Pi, и он отлично воспроизводит / захватывает звук.
Я не могу понять, как использовать это в моем коде; Я провел тонну исследований по этому поводу и нашел несколько уроков, но ничего такого, что имело бы смысл. Я пришел из более опытного аппаратного обеспечения и сделал нечто подобное с контроллерами, где я подключаю настоящий микрофон и обрабатываю аналоговый сигнал в цифровой на IO Pins; Я настолько разочарован этим, что собираюсь перекачивать данные с Arduino, используя преобразование микрофона и A2D.
——————————————————-Мои вопросы———————————————— —-
1) Я хочу знать, как получить доступ к потоку данных USB или USB-устройству на C или C ++. Мои способности в Linux не самые лучшие. Открывать последовательное соединение или открывать поток файлов в «/ dev / USB / ….»? Можете ли вы привести пример кода?
2) Независимо от точности входа USB Mic, я хочу знать, как получить доступ к его входу в C / C ++. Я смотрю на ALSA, но не могу понять многое из ее сложности. Есть ли что-то, что дает мне доступ к необработанному входному сигналу на USB-порте, который я могу обработать (где я экстраполирую частоту, амплитуду и т. Д.)?
Я уже прошел через много подобных постов здесь. Я действительно застрял на этом. Я действительно хочу понять, что происходит с точки зрения ОС; Я буду использовать данную библиотеку, но я хочу понять, как она работает.
Спасибо!
Итак, обновление:
Поэтому я сделал весь свой код на C с помощью некоторых сценариев .sh. Я пошел дальше и выяснил, как использовать Alsa asoundlib (особенно asound.h). На данный момент я могу генерировать и записывать звук через USB Mic / Headset с моим Pi 3. Это довольно сложно, но вот полезная ссылка (1).
Для моего проекта я также нашел учебник / репозитории CMU для их устройства распознавания звука PocketSphinx по ссылке (2) и по видео (3). В этом проекте также используется Alsa asoundlib, и он мне очень помог. Загрузка занимает некоторое время, и вам нужно пролистать его скрипты .sh, чтобы выяснить его gcc-связывание. Но теперь я могу дать звуковые подсказки, которые интерпретируются моим Pi 3 и выдвигаются на выход динамика и выводы GPIO.
LINKS
(1)http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2pcm_8c-example.html
(2)https://wolfpaulus.com/embedded/raspberrypi2-sr/
(3)https://www.youtube.com/watch?v=5kp5qpwVh_8
Других решений пока нет …