C++常用的音频工具库
Posted sanqima
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++常用的音频工具库相关的知识,希望对你有一定的参考价值。
由于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。推荐指数四颗星☆☆☆☆。
以上是关于C++常用的音频工具库的主要内容,如果未能解决你的问题,请参考以下文章
文本转语音通过语音合成标记语言(SSML)改进合成 知识点详解