gpt4 book ai didi

audio - 按键时的低延迟声音

转载 作者:行者123 更新时间:2023-11-28 21:42:22 28 4
gpt4 key购买 nike

我正在尝试为我儿子写一个应用程序(我是一个 gui 初学者),他有自闭症。上半部分是视频播放器,下半部分是文本输入区。键入字母时会产生声音以模仿视频中的单词。

本网站上还有其他帖子介绍了使用 gstreamer 作为系统调用在按键时播放声音。我也尝试过 libcanberra,但两者似乎在声音之间都有明显的延迟。我可以用 Python 或 C 编写应用程序,但可能至少会用 C 编写其中的一部分。

我还想提一下,视频部分是由 gstreamer 播放的。我尝试创建两个 gstreamer 实例,以避免昂贵的系统调用,但音频实例在调用时似乎会终止应用程序。

如果有人有任何关于创建更快响应声音的提示,我将不胜感激。

最佳答案

您可以将原始音频样本直接上传到 PulseAudio,这样就没有解码和(可能保存)额外的开关,方法是使用来自堪培拉的以下功能:

http://developer.gnome.org/libcanberra/unstable/libcanberra-canberra.html#ca-context-cache

下一个 ca_context_play() 将使用它。

但是,您在这种情况下(同时播放视频)会遇到的最大问题是,音频设备可能配置有 PulseAudio 的较大延迟(正常播放时长达 1/2 秒或更多)。向 libcanberra 提交错误以支持 LOW_LATENCY 标志可能是合理的,因为它目前不会尝试最小化声音事件 afaik 的延迟。如果有那就太好了。

GStreamer pulsesink 也可能获得低延迟(它有一些属性),但我担心它不会像 libcanberra 那样轻量级,例如您将无法缓存示例。理想情况下,GStreamer 还可以学习缓存样本,或预填充 PulseAudio...

关于audio - 按键时的低延迟声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9413706/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com