Linux,C音频采集(只是麦克风)库
作者:互联网
我正在开发一个音乐游戏,它就像一个明星,但不是唱歌,你必须玩recorder.它被称为oFlute,它仍处于早期开发阶段.
在游戏中,我捕获麦克风输入,然后运行简单的FFT分析,并将结果与典型的录音机频率进行比较,从而得到播放音符.
一开始,我使用的音频库是RtAudio,但我不记得为什么我切换到PortAudio,这是我目前正在使用的.问题在于,它会不时地随机崩溃或停止捕获,就像没有来自麦克风的声音一样.
我的问题是,在Linux上捕获麦克风输入的最佳选择是什么?我只需要打开,读取和关闭麦克风的字节流.
我一直在阅读this guide,并且(un)令人惊讶的是它说:
I don’t think that PortAudio is very good API for Unix-like operating systems.
那么,你推荐我什么?
解决方法:
鉴于其他选择,PortAudio是一个奇怪的选择.
我个人会抽象出一切并使用GStreamer.音频在Linux上可能是一个可怕的混乱(作为长期受害者说话).让Gstreamer处理这个让你忘记它,继续前进而不必再考虑它.
OpenAL可能是游戏开发者中最受欢迎的,它应该支持大多数系统(尽管你会很乐意让它与PulseAudio一起玩得很好).
我肯定会确保你正在开发最流行的设置(目前是PulseAudio,我估计)所以你不会在你释放的情况下陷入困境,而你却陷入了人们的呻吟声关于声音不起作用.
并且不要听听关于PulseAudio的废话 – 它可能是新的,它可能会占用比准系统ALSA系统更多的资源,但它肯定不会陷入延迟问题.要求人们删除它不是现代桌面发行版的选择,因为它是如此紧密集成(也是有用的).
标签:c,linux,audio,signal-processing,alsa 来源: https://codeday.me/bug/20190827/1740399.html