引题
音频文件的重新采样,通常用于通过大规模语音数据构建模型时,由于算法的一些固有限制,采样率过高,意味着占有的内存,运算都会面临很大的挑战。因为现在数据规模动辄几个小时,甚至几十小时,上百小时。
一种方法可以使用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、对于不遵守此声明或者其他违法使用本站内容者,本人依法保留追究权等。
本文介绍使用Praat脚本批量转换音频文件采样率的方法,适用于大规模语音数据处理,包括代码段、运行步骤及资源获取。
1761





