인클로저의 스피커에서 재생되는 경고음을 생성하려고 합니다.
aplay를 사용하면 쉽게 이 작업을 수행할 수 있습니다.하지만, 실제로 재생하는 데 1초 정도 걸립니다.
키를 눌렀을 때 소리를 재생하기 위해 (헤드리스) 쉘 스크립트에서 사용하고 있기 때문에 거의 즉각적으로 작동해야 합니다. aplay를 사용할 때 경고음이 너무 늦게 옵니다.
/dev 사운드 장치 등에 직접 뭔가를 쓸 생각인데 아직 성공하지 못했습니다.
저는 Odroid-W(Raspberry Pi 클론)를 사용하고 있으며 적어도 Pi에서는 오디오 잭이 실제로 두 개의 PWM GPIO 핀(40, 45)에 연결되어 있고 이 핀에 직접 쓰면 다음이 생성된다는 이야기를 들었습니다. 침묵 외에는 아무것도 없습니다.
화려한 소리일 필요는 없습니다. 윙윙거리는 소리나 경고음만 들리면 됩니다.
(다른 모든 방법이 실패하면 GPIO 핀을 임시 믹서에 연결하고 이를 증폭기에 연결할 수 있습니다.)
답변1
지연은 애플리케이션의 "느낌"(사용자 가청 피드백)에 중요하기 때문에 활성 버저(여기서 활성 부분은 PWM 출력이 필요하지 않음)를 GPIO 핀 중 하나에 연결하여 지연을 생성하기로 결정했습니다. 즉각적인 소리를 냅니다. GPIO 핀은 Drogons WiringPi 명령줄 유틸리티를 사용하여 직접 액세스할 수 있습니다. 단점은 소리 자체를 제어할 수 없다는 점이지만 현재로서는 생성되는 경고음이 충분합니다.
사운드를 개선/제어하려면 소프트웨어 PWM과 패시브 버저 또는 스피커 사용을 고려하십시오.
WiringPi에 대한 추가 정보: http://wiringpi.com/
액티브 버저란 무엇입니까? : https://electronics.stackexchange.com/questions/224374/active-vs-passive-buzzer