如何sox合成命令序列

问题描述 投票:0回答:1

我现在已经创建了一个简单的脚本,它可以产生几个带有synusoids的蜂鸣声,并且在连接它们之后会产生更复杂的声音。我使用了一个bash脚本来做到这一点,因为我无法理解如何使用sox来做到这一点......我的剧本就是这样的

count=0
while [ 1 ]
do
play -n synth 1 sine C
play -n synth 0.2 sine E
play -n synth 0.2 sine C
play -n synth 0.2 sine E
if [ $count -eq 5 ]
then
sleep 1
count=0
fi
count=$(($count+1))
done

这产生了类似意大利救护车的东西。这当然不是目的,但这个想法是......如何在不需要不同命令的情况下用一个命令产生几个连续的正弦?

bash sox
1个回答
0
投票

有一种方法可以做到这一点,尽管在文档中不是很清楚或可发现,尽管声称相反。我在手册中寻找其他东西时偶然遇到了这种方法。您可以使用':'字符分隔效果链,如下所示:

play -n synth 1 sin C : synth .5 sin D

它在两个不同长度的正弦波形上播放C,D。您还可以为每个音符创建单独的效果链:

play -n synth .5 sin C3 : synth 1 tri D3 chorus .7 .5 20 1 1 2 -t : synth 2 pl E3

这将使用不同长度的音符,波形和效果播放C3 D3和E3。

显然你也可以使用换行符分隔符,但如果你使用的是--effects-file选项,这就是我发现':'字符的方法。这在手册页的“多重效果链”中有所描述,大约25%是一个相当长的手册页。

另一种将音符组合成单个样本的方法是使用延迟和重混效果,如下所示:

play -n synth 1 pl C pl D pl E delay 0 1 2 remix -

但问题是这些音符的长度都是一样的。

© www.soinside.com 2019 - 2024. All rights reserved.