由于C++这种语言改装于C语言,它在C语言的基础上加了继承、封装、多态,使编程风格更接近面向对象(OO:object-oriented),在游戏开发、服务器编程、音视频处理、网络通信等领域应用非常广泛。这里介绍几种常用的音频工具库。
1、irrKang
irrKang
是一种开源、小巧的音频工具库,支持x86或x64的Linux、Windows、Mac系统,在官网提供已经编译好的lib文件、头文件。
既支持Qt,也支持MFC
。个人用户使用免费,企业用户使用收费。推荐指数五颗星☆☆☆☆☆。
2、YSE
YSE
是一种开源的3D音频引擎,支持跨平台编译(Linux,Windows、Mac)。它对Qt的支持非常好,但对MFC的支持较弱。免费使用,遵循Eclipse协议即可。推荐指数五颗星☆☆☆☆☆。
3、FFmpeg
FFmpeg
是开源的音视频处理库,对音频、视频流的编码与解码非常方便,这个库很强大,包括libavcodec解码库、libavformat格式转换库,在抖音、快手、剪映等热门软件的安装包里可以解压出这些包。推荐指数五颗星☆☆☆☆☆。
4、FMOD
FMOD
是一个专为视频游戏和应用程序设计的声音效果引擎和创作工具,它一种
商用的
音视频引擎,采用许可证机制进行批量使用,推荐指数四颗星☆☆☆☆。
5、CLAM
CLAM
是一个软件框架,主要用于音频和音乐领域的研究,也是
开源并免费
的,支持Linux、Windows、Mac这3种操作系统,更加灵活。推荐指数四颗星☆☆☆☆。
6、Bass
BASS
是一个音频库,适用于多个平台(Linux、Windows、Mac等)、多种语言(C/C++,Visual Basic、Delphi等语)。它的目的是为开发者提供强大而有效的采样流、音频流(MP3、MP2、MP1、OGG、WAV、AIFF、自定义生成的,以及更多通过操作系统编解码器和插件生成的)、MOD音乐(XM、IT、S3M、MOD、MTM、UMX)、MO3音乐(MP3/OGG压缩的MOD)和录音功能。所有这些都在一个紧凑的DLL中,非常小巧。
也提供了C/C++、Delphi、.Net、Visual Basic的API,并有对应的案例学习使用。BASS也适用于UWP平台。个人使用免费,企业使用收费。推荐指数四颗星☆☆☆☆。
7、JUSE
JUCE
是一个
部分开源
的跨平台c++应用程序框架,支持Linux、WIndows、Mac、iOS、Android系统(即PC机和手机,都支持),最常用于音频插件(如合成器)。到2022年,JUSE最新的版本为v7。个人使用免费,企业使用收费。推荐指数四颗星☆☆☆☆。
8、SoundTouch
SoundTouch
是一个开源音频处理库,用于改变音频流或音频文件的速度、音高和音频播放速率。该库还支持为音频轨道估算稳定的每分钟节拍率。支持Linux、WIndows、Mac、iOS、Android系统。遵循LPGL许可证,免费使用。推荐指数五颗星☆☆☆☆☆。
9、PortAudio
PortAudio
是一个免费的、跨平台的、开源的音频I/O库。 它可以让你用’C’或C++编写简单的音频程序,可以在许多平台上编译和运行,包括Windows、Macintosh OS X和Unix(OSS/ALSA)等系统。它的目的是促进不同平台上的开发者之间使用并交流音频软件。许多应用程序使用PortAudio进行音频的输入输出。它只提供了源码,如果需要lib文件,则需要配置环境并编译源码才能得到对应的lib文件。推荐指数四颗星☆☆☆☆。
10、SoLound
SoLoud
是一个C/C++音频引擎,为游戏提供音频播放器、示例播放和过滤器。
SoLoud包括对各种wav格式的支持,包括8、16、32位、浮动、双倍、pcmcia等,以及Ogg Vorbis和MP3文件。它是开源并且免费的,但只有源码,需要自己配置环境并编译成DLL。推荐指数四颗星☆☆☆☆。