воспроизвести звук из оболочки - мгновенно

воспроизвести звук из оболочки - мгновенно

Я пытаюсь создать звуковой сигнал, который будет воспроизводиться на динамиках корпуса.

Я могу легко сделать это с помощью aplay,но, проходит около секунды, прежде чем он действительно воспроизводится.

Мне нужно, чтобы это было практически мгновенно, так как я использую его в (headless) скрипте оболочки для воспроизведения звука при нажатии клавиши. При использовании aplay сигнал появляется слишком поздно.

Я думаю записать что-нибудь напрямую на звуковое устройство /dev или что-то в этом роде, но пока не добился успеха в этом.

Я использую Odroid-W (клон Raspberry Pi) и слышал, что, по крайней мере на Pi, аудиоразъем на самом деле подключен к двум контактам PWM GPIO (40, 45), однако запись на эти контакты напрямую приводит только к тишине.

Это не обязательно должен быть какой-то необычный звук, подойдет любое жужжание или писк.

(Если ничего не получится, то я, вероятно, подключу контакт GPIO к самодельному микшеру и подключу его к усилителю.)

решение1

Поскольку задержка важна для «ощущения» приложения (звуковая обратная связь с пользователем), я решил создать ее, подключив активный зуммер (активная часть здесь устраняет необходимость в выходе ШИМ) к одному из контактов gpio, это производит звук мгновенно. К контактам GPIO можно получить доступ напрямую с помощью утилиты командной строки WiringPi Drogons. Недостатком является то, что вы не можете контролировать сам звук, но производимый звуковой сигнал пока что вполне хорош.

Для улучшения/контроля звука можно рассмотреть возможность использования программного ШИМ и пассивного зуммера или динамика.

Дополнительная информация о WiringPi: http://wiringpi.com/

Что такое активный зуммер?: https://electronics.stackexchange.com/questions/224374/активный-против-пассивного-зуммера

Связанный контент