【发布时间】:2018-09-19 05:19:34
【问题描述】:
我正在使用 USB 麦克风使用 Raspberry Pi 3(运行 Raspbian)进行语音处理项目。我可以看到麦克风显示为 Pi 的可选音频设备,它可以完美地产生/捕获声音。
我不知道如何在我的代码中使用它;我对此进行了大量研究,并找到了一些教程,但没有任何意义。我来自更多的硬件背景,并且在控制器上做了类似的事情,我连接了一个实际的麦克风并将模拟信号处理成 IO 引脚上的数字信号;我对此感到非常沮丧,以至于我即将使用 Mic 和 A2D 转换从 Arduino 中提取数据。
----------------------------------- --------我的问题---------------------------------------- ------------
1) 我想知道如何在 C 或 C++ 中访问 USB 数据流或 USB 设备。我的 Linux 能力不是最好的。我是在“/dev/USB/....”中打开串行连接还是打开文件流?能否提供代码示例?
2) 不管 USB 麦克风输入的保真度如何,我想知道如何在 C/C++ 中访问它的输入。我一直在研究 ALSA,但不能真正理解它的很多复杂性。有什么东西可以让我访问我可以处理的 USB 端口上的原始输入信号(我可以在其中推断出频率、幅度等)?
我已经在这里浏览了很多类似的帖子。我真的坚持这个。我真的很想从操作系统的角度了解发生了什么;我将使用给定的库,但我想了解它是如何工作的。
谢谢!
【问题讨论】:
-
“C/C++”不是一种语言。
-
您想使用 ALSA 或 OpenSLES。查看 arecord.c 了解 ALSA 的工作原理
-
既然您标记为 C++,请在互联网上搜索“c++ boost asio”。
-
我个人认为python会是这个项目更好的选择。学习编程也不是一朝一夕的事。耐心是关键。祝你好运。
标签: c++ c usb raspberry-pi3 audio-processing