Jos*_*ino 4 c++ linux audio signal-processing alsa
我正在开发一个音乐游戏,它就像一个明星,但不是唱歌,你必须播放录音机.它被称为oFlute,它仍处于早期开发阶段.
在游戏中,我捕获麦克风输入,然后运行简单的FFT分析,并将结果与典型的录音机频率进行比较,从而得到播放音符.
一开始,我使用的音频库是RtAudio,但我不记得为什么我切换到PortAudio,这是我目前正在使用的.该问题是,不时,要么随机崩溃或停止捕获,就像如果没有声音来自麦克风.
我的问题是,在Linux上捕获麦克风输入的最佳选择是什么?我只需要打开,读取和关闭麦克风的字节流.
我一直在读这本指南,并且(un)令人惊讶的是它说:
我不认为PortAudio对于类Unix操作系统来说是非常好的API.
那么,你推荐我什么?
鉴于其他选项,PortAudio是一个奇怪的选择.
我个人会抽象出一切并使用GStreamer.音频在Linux上可能是一个可怕的混乱(作为长期受害者说话).让Gstreamer处理这个让你忘记它,继续前进而不必再考虑它.
OpenAL的是可能是最流行的游戏开发者,虽然它应该支持大多数系统(虽然你将拥有"趣味"得到它打很好用的PulseAudio).
我肯定会确保你正在开发最流行的设置(目前是PulseAudio,我估计)所以你不会在你释放的情况下陷入困境,而你却陷入了人们的呻吟声关于声音不起作用.
并且不要听听有关PulseAudio的废话 - 它可能是新的,它可能会占用比准系统ALSA系统更多的资源,但它肯定不会陷入延迟问题.要求人们删除它不是现代桌面发行版的选择,因为它是如此紧密集成(也是有用的).
| 归档时间: |
|
| 查看次数: |
6320 次 |
| 最近记录: |