很好的实时音频库(发送和接收)
Good library for realtime audio (both sending and receiving)?
我正在考虑做实时音频聊天的东西node.js。然而,据我所知,目前还没有任何好的库。为了录制音频,我可能会打开一个音频设备并从中读取PCM字节-然而,我不确定如何继续。我想要控制网络的东西,例如,我希望能够通过现有的连接复用流量,所以一个库,也处理网络部分不会为我工作。所以,我认为我需要的是:
- 一个C/c++/JavaScript库,能够做快速(可能有损)实时音频(解)压缩(可能优化压缩人声)
- 一个C/c++/JavaScript库,可以确保事情保持实时,例如,在抖动后照顾掉数据-也许我也可以在JavaScript中自己做这部分
这听起来合理吗?对于这些东西有什么好的库呢?
我创建了一个名为"Crosstalk"的c++音频库。
这是一个实时的c++音频引擎,允许你实时创建和路由音频系统。基本上,引擎会处理所有的音频路由,并为你提供一个创建系统组件的简单平台。"网络输入馈送"组件连接到"低通滤波器"连接到"文件记录器")。
它很容易使用。下面是一个如何播放mp3文件的示例(这些组件与引擎一起提供):
XtSystem system;
XtMp3Decoder mp3Decoder;
XtAudioDevice audioDevice;
long md = system.addComponent(&mp3Decoder);
long ad = system.addComponent(&audioDevice);
system.connOutToIn(md,0,ad,0);
system.connOutToIn(md,1,ad,1);
mp3Decoder.loadFile("../05 Tchaikovski-Swan Lake-Scene.mp3");
mp3Decoder.play();
您可以在这里查看API文档和许可详细信息:http://www.adaptaudio.com/Crosstalk
更新:兼容免费许可证。
只有Crosstalk的演示版本可以与自由许可的软件一起使用,但是,Crosstalk的商业用途和分发仍然是不允许的。如果您希望在自由软件中使用"相声"演示,只需在您的EULA中注明您的程序使用"相声"的演示版本,并且无论您在哪里提供到您的软件的链接,都要提供到:"http://www.adaptaudio.com/Crosstalk"的链接,以便他们可以自己下载。
编辑(01-12-2012):
Crosstalk已经被一个叫做"DSPatch"的开源项目所取代。DSPatch本质上是Crosstalk背后路由引擎的升级版本,不再局限于音频处理。DSPatch允许您创建和路由几乎可以想象的任何类型的过程链,并且免费用于个人和专有用途:)
- 媒体基金会:WavSink以比实时消耗率更快的速度处理音频-是否可以实时限制后台处理
- C# 的垃圾回收会给实时音频应用程序带来问题吗?
- C++从字节数组实时播放音频
- 实时更改音频文件的速度
- 如何在SDL2音频流数据上执行实时FFT
- C++精确的44100Hz时钟,用于实时音频合成
- VoIP:如何从QT多媒体中的相机中捕获实时音频/视频流字节
- 需要一个音频分析库来从音频文件中创建实时反馈
- C++ 是使用 OpenAL 进行实时 PCM fft 音频处理
- 使用waveIn和waveOut在窗口中进行音频录制和实时播放
- 实时录制/转换音频数据到WAV
- 实时音频应用程序,提高性能
- 在哪里使用c++和qt将Wav标头添加到实时音频服务器中的数据
- Live555可在一个RTSP流中流式传输实时视频和音频
- 很好的实时音频库(发送和接收)
- 如何从Tizen上的实时FFT中获得最准确的音频数据?
- 哪些实时c++音频库与Xcode 4一起工作
- 实时音频处理
- 实时音频处理
- 实时音频,快速循环中的临时缓冲区,不同的方法