引题
音频文件的重新采样,通常用于通过大规模语音数据构建模型时,由于算法的一些固有限制,采样率过高,意味着占有的内存,运算都会面临很大的挑战。因为现在数据规模动辄几个小时,甚至几十小时,上百小时。
一种方法可以使用C
或者Python
等编写程序,转化采样率,这一种需要有一定的编程能力;另外也可以使用Cool Edit
或者叫Adobe Audition
批量转化,有兴趣的可以搜一下如何实现,这种方式有一个不好的方式就是在批量导入的时候,如果文件比较多时,会特别的慢。如图“添加文件“
的位置。
我们这里使用Praat
脚本来批量操作,Praat
对于音频,标注文件都有比较方便的操作方式。脚本利用的一个操作即是Praat
的Resample
功能。
代码段
很简单,只需要将上面的Resample
这个命令的代码行,加在读取文件和保存文件之间即可。注意这里将采样率new_sample_rate
和采样精度precision
都设置为一个变量,在脚本运行的时候可以根据个人需要设置。有兴趣学习脚本的同学可以用这样比较简单的脚本练练手。
...
Read from file: input_directory$ + fileName$
objectName$ = selected$("Sound", 1)
Resample: new_sample_rate, precision
Save as WAV file: output_directory$ + objectName$ + ".wav"
...
运行脚本
打开Praat
之后,选择Praat
,Open Praat Script...
,打开这个脚本,然后在脚本窗口选择Run
,Run
,或者直接使用快捷键Ctrl+R
,在弹出来的对话框里,设置以下几个地方:
- 可以设置你要重新采样的音频的
扩展名
,这里默认是.wav
; - 设置你的
原始wav
所在的目录
,这里因为是在Windows系统
,所以路径斜线是\
,如果你是在Mac
使用,将这个斜线方向反一下就好。也可以用这样的路径D:\data\wavs_48k\
,取决于你的数据所在的目录; - 接着设置
目标wav
所在的目录
,同上; - 设置
采样率
,比如例子是把48K转化为16K
,则设置新的采样率为16000
,可以转换为22K
,设置为22050
, 如果转换为8K
,设置为8000
,另外还有一个常用的是44K
,设置为44100
,而48K
指的是48000
;请注意我们有时候提采样率用K
,这里要用0
转化出来,一般情况下,转换采样率是从高到低的,这总归是有一些参数损失的; - 设置
采样精度
,这里默认是50
,一般不需要改动;
设置完毕,点击OK
,运行脚本,结果可以到目标目录里查看。
获取脚本
https://github.com/feelins/Praat_Scripts
本站所有Praat脚本
都可以在上述github的项目目录
里找到,如果日常对代码、脚本操作比较熟练的可通过下载、安装、配置github for windows
在自己的电脑上通过git clone
将代码下载到本机,这样的好处是可以跟主站及时更新代码。
不想费如此脑筋,可以通过点击如下图1位置所示,下载整站的代码,也可直接使用。
本文的代码是01-resample_sound_files/Resample_Sound_Files.Praat
,点进去之后,还有附带的示例文件,同学可练习使用。脚本里有我的邮箱,有任何问题都可以来信咨询。
关注
关于对本站脚本的使用咨询,以及功能修改,增加等,都可以扫QQ咨询群,私信群主。
版权说明
1、版权归本公众号“极地语音工作室”,原名“语音处理小站”所有;
2、未经本站或者作者允许, 不得任意转载本文内容,否则将视为侵权;
3、转载或者引用本文内容请注明来源及原作者;
4、对于不遵守此声明或者其他违法使用本站内容者,本人依法保留追究权等。