我正在尝试制作/创建一个 5.1 和一个 7.1 环绕声文件,但我很难找到一种方法来做到这一点。我正在使用 ubuntu 12.04,并且可以访问 octave / matlab / python。我了解如何在 octave / matlab / python 中创建音频文件,但不确定如何为 5.1 和 7.1 环绕文件创建正确的文件格式。
问问题
1451 次
2 回答
0
如果您能够创建 6 个(用于 5.1)或 8 个(7.1)单独的单声道音频文件,每个扬声器一个(front_left.wav、front_center.wav、...),您可以使用以下命令行加入它们:
ffmpeg -i front_left.wav -i front_right.wav -i front_center.wav -i lfe.wav -i back_left.wav -i back_right.wav -filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a]join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-LFE|4.0-BL|5.0-BR[a]" -map "[a]" output.wav
此行来自https://trac.ffmpeg.org/wiki/AudioChannelManipulation,其中包含其他几个有用的频道操作示例。LFE
(低频效果)是指低音炮。ffmpeg可用于 Windows、Mac 和 Linux(例如作为同名的 Debian 软件包)。
如果您想直接从 Python 创建多声道音频文件,请查看pydub包(它在后台使用 ffmpeg 库)。
要探测给定的音频文件是否具有多声道内容,您可以使用ffprobe
ffmpeg 套件:
ffprobe -hide_banner output.wav
其中显示例如:
Input #0, wav, from 'output.wav':
Metadata:
encoder : Lavf58.20.100
Duration: 00:00:01.28, bitrate: 1536 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, 5.1, s16, 1536 kb/s
于 2020-10-06T21:35:20.983 回答