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

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

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

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

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

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

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

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

One Solution collect form web for “воспроизводить звук из оболочки – мгновенно”

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

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

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

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

  • Липкие записи в истории оболочки
  • Выполнение сценария оболочки на нескольких серверах
  • Cronjob не выполняет сценарий оболочки, но когда я выполняю его автономно, он работает. Зачем?
  • В то время как цикл занимает больше времени для завершения
  • Msgstr "sudo: source: команда не найдена"
  • Автоматически обнаруживать, когда я набрал «vi», но имел в виду «cd»?
  • ln -s с дорогой относительно pwd
  • Как реализовать механизм повтора при выполнении URL-адреса сервера в сценарии оболочки?
  • Записывать в цикл
  • Удалить символы строки строки из stdout? Несколько строк в одну строку
  • У меня есть 10 файлов в папке Unix с расширением .txt, здесь мне нужно получить все файлы отдельно от файла fgh.txt (любой), что такое команда UNIX?
  • Linux и Unix - лучшая ОС в мире.