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

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

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

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

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

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

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

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

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

Чтобы улучшить / контролировать звук, можно изучить программный PWM и пассивный зуммер или динамик.

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

Что такое активный зуммер ?: https://electronics.stackexchange.com/questions/224374/active-vs-passive-buzzer