mpg321이나 aplay, sox 또는 TTS(Text Speech)를 사용하여 오디오 파일을 실행하면 오디오 파일을 두 번째로 재생했을 때부터만 오디오가 올바르게 출력됩니다...
텍스트 음성 변환의 예를 기반으로 하면 "Hello World!"라고 쓰면 "orld"만 표시되고, "You are a good boy"라고 쓰면 "a good boy"만 표시됩니다... 왜죠?
이 문제를 어떻게 해결할 수 있나요?
이는 espeak, Google Api, VoiceRSS Api 등 모든 TTS에서 발생하며 Ubuntu(14.04.1 LTS)뿐만 아니라 이전 Raspberry Pi(Raspbian)에서도 발생합니다. Medium
오디오 엔진이 시작되기까지 0.5~2초 정도 지연이 발생하기 때문인 것 같습니다. 그런 다음 오디오의 처음 2초를 건너뜁니다.
동일한 오디오를 두 번, 세 번 실행하면 두 번째부터는 제대로 작동하지만 속도가 빠른 경우에만...
텍스트 읽기에 필요해요.
Raspberry Pi와 Ubuntu Machine은 모두 HDMI를 통해 연결됩니다.
어떻게 해결할 수 있나요? 모든 단어를 말해? 그리고 처음부터 오디오를?
답변1
HDMI를 통해 연결된 출력 장치가 시스템에서 수신하기 시작하는 데이터 스트림과 동기화하는 데 몇 초가 걸립니다. 먼저 몇 초의 무음을 추가하거나 애플리케이션이 실행되는 동안 계속 재생하여 동기화를 유지한 다음 필요한 경우 TTS 출력을 믹싱하는 것을 고려할 수 있습니다.
편집: 이 질문과 관련된 것으로 보이며 거기에 있는 제안 사항도 도움이 될 수 있습니다.askubuntu.com
답변2
pavucontrol을 켜면 동기화가 계속 켜져 있으므로 TTS를 원할 때 시작하면 됩니다.
참고: 내 시스템에서 이 기능을 켜면 SPDIF 통과(예: Dolby Digital)를 시작할 수 없지만, 끄고 통과를 시작하기 전에 몇 초 정도 기다리면 작동됩니다.