我有几个语音文件,我需要剪切声音文件的某个部分,从0.21毫秒到0.45毫秒。下面的脚本将从0.21毫秒到0.45毫秒选择声音片段并保存。我想从语音文件中剪切片段,然后在没有它的情况下保存它。我应该在&#34之后添加另一条线;将选择结束移到最近的零交叉点#34;并改变"写出选定的声音..."但我不确定究竟是怎么回事。
form Files
sentence InputDir ./
endform
createDirectory ("output")
Create Strings as file list... list 'inputDir$'*.wav
numberOfFiles = Get number of strings
for ifile to numberOfFiles
select Strings list
fileName$ = Get string... ifile
Read from file... 'inputDir$''fileName$'
sound_name$ = selected$ ("Sound")
select Sound 'sound_name$'
Edit
editor Sound 'sound_name$'
Select... 0.21 0.45
Move start of selection to nearest zero crossing
Move end of selection to nearest zero crossing
Write selected sound to WAV file... ./output/'fileName$'
endeditor
select all
minus Strings list
Remove
endfor
select all
Remove
答案 0 :(得分:0)
我想从语音文件中剪切片段,然后在没有它的情况下保存它
目前尚不清楚您要对删除的细分做什么。你想编辑它(如,缩短声音的总持续时间吗?)或者只是让它静音(如设置中包含的样本为零?)。
无论哪种方式,您都不需要打开声音编辑器(带有声波和频谱图的窗口)。下面我用一些替代方法再现了你的脚本(并更新了语法)。
{{1}}