不知道在哪里提出这个问题,所以我提前道歉。
我在一个房间里安装了一个带有5个扬声器的测试,围绕着一对麦克风。我正在从扬声器的不同角度测试麦克风的灵敏度。我有一个放大器/调音台连接到它们并控制各个通道。
我想在一个文件中放入5个音频通道。如果有适当的延迟,我希望一次只能播放一位发言者。因此,通道1进入扬声器1,通道2进入扬声器2,依此类推。
我一直在使用Audacity来创建文件。但是,通道4和5在两个扬声器而不是一个扬声器中播放。而频道3听起来很弱。我想这是因为5.1标准,其中4/5频道必须解决'左后/右',3频道用于潜艇。
是否有一种文件格式可以让我有纯粹的个人频道进入扬声器?我不限于文件格式,但到目前为止我已经尝试了wav,ogg和flac。
答案 0 :(得分:1)
在Audacity中,您必须检查Import/Export section of the preferences中的“使用自定义混合”单选按钮。这将允许您导出多声道文件,并手动将曲目分配给频道。
除此之外,普通的.wav可以正常工作。
但您也可以使用SoX以更自动的方式创建文件。
手动,您可以将五个不同的文件组合(或“合并”,如文档中所述)五个不同的文件,如下所示:
sox -M chan1.wav chan2.wav chan3.wav chan4.wav chan5.wav multi.wav
为了自动化这个过程,我整理了一个简短的Bash例程,用于生成具有交错测试音的多声道文件:
NUM=5 # Number of channels
LEN=2 # Length of each test tone, in seconds
OVL=0.5 # Overlap between test tones, in seconds
# A one-channel base file containing simple white noise.
# faded at both end with a quarter wave envelope to ensure
# smooth equal power transitions
sox -n -b 24 -c 1 out.wav synth $LEN whitenoise fade q $OVL -0 $OVL
# Instead of white noise you can for example make a 1kHz tone
# like this:
# sox -n -b 24 -c 1 out.wav synth $LEN sine 1k fade q $OVL -0 $OVL
# Or a sweep from 10Hz to 10kHz like this:
# sox -n -b 24 -c 1 out.wav synth $LEN sine 10-10k fade q $OVL -0 $OVL
# Produces a sequence of the number of seconds each channel
# shall be padded with
SEQ=$(for ((i=1; i<=NUM; i++))
do
echo "$i 1 - [$LEN $OVL -]x * p" | dc # reverse-Polish arithmetic
done)
echo $SEQ
# Padding the base file to various degrees and saving them separately
for j in $SEQ
do
sox -c 1 out.wav outpad${j}.wav pad $j
done
# Finding the just-produced individual files
FIL=$(ls | grep ^outpad)
# Merging the individual files into a single multi-channel file
sox -M $FIL multi.wav
rm $FIL # removing the individual files
# Producing a multi-channel waveform plot
ffmpeg -i multi.wav -y -filter_complex "showwavespic=s=2400x900:split_channels=1" -frames:v 1 waveform.png
# displaying the waveform plot
open waveform.png
当波形图清晰显示时,结果包含一个包含五个通道的文件,每个通道具有相同的内容,只是在一段时间内移动:
有关使用dc
:http://wiki.bash-hackers.org/howto/calculate-dc
有关使用ffmpeg
显示波形的更多信息:https://trac.ffmpeg.org/wiki/Waveform