C++ 将多个MP3曲目合并到一个曲目中
坦白说,我不知道从哪里开始。我必须有一个程序,将几个mp3曲目合并到一个曲目中(不是串联,而是实际合并它们,有点像一次播放几个音频曲目)。是否有可用的库或其他基本程序可以自动执行此操作?我还需要改变每首歌的音量,我也不知道从哪里开始C++ 将多个MP3曲目合并到一个曲目中,c++,linux,audio,mp3,C++,Linux,Audio,Mp3,坦白说,我不知道从哪里开始。我必须有一个程序,将几个mp3曲目合并到一个曲目中(不是串联,而是实际合并它们,有点像一次播放几个音频曲目)。是否有可用的库或其他基本程序可以自动执行此操作?我还需要改变每首歌的音量,我也不知道从哪里开始 速度和效率是其中的一个主要因素,所以我不能只是做一些懒惰的事情,然后播放它们并捕捉它们。你可以在audacity中将它们作为单独的曲目混合。是否要求您自己编写代码 当数据流为原始形式时,可以将可能样本值的中点视为零。。(8位样本..可能有256个值..127为零..
速度和效率是其中的一个主要因素,所以我不能只是做一些懒惰的事情,然后播放它们并捕捉它们。你可以在audacity中将它们作为单独的曲目混合。是否要求您自己编写代码 当数据流为原始形式时,可以将可能样本值的中点视为零。。(8位样本..可能有256个值..127为零..0或255处的样本为最大体积) 要调整音量,请按住shift键,然后乘以增大音量,除以以减小音量(注意剪裁) 要混合,只需添加每个流的值,一次一个样本(注意剪裁)
这里还有一个很好的链接:如果处理器性能足够好,这可以实时完成。您需要能够读取mp3文件、一些实时软件mp3解码器块(类似于您自己制作的mp3播放器/可视化工具),它们的速度足以实时运行N个拷贝/线程,可能还有一些DSP采样率转换块和DSP混音器块。所有软件。将所有处理线程与队列和数据FIFO绑定在一起
有些块(解码器、重采样器)可能有我的库代码,但请注意潜在的许可限制。我将尝试绘制一些您可以遵循的一般步骤:
new my_media broadcast enabled
setup my_media input my_video.mpeg input my_other_movie.mpeg
setup my_media output #rtp{mux=ts,dst=239.255.1.1,sdp=sap://,name="My Media"}
当然,VLC中的输出流也可以是本地文件
编辑:
我还发现了一个问题,建议您使用。从主页:
SoX是一个跨平台(Windows、Linux、MacOS X等)的命令行
可以将各种格式的计算机音频文件转换为
其他格式。它还可以对这些声音应用各种效果
文件(…)
看看瘸子,奥格。您需要一个原始音频流(这实际上是一系列数字,表示每个样本的扬声器线圈获得的功率)。我正在更新我的答案以作进一步解释。