gpt4 book ai didi

将音频格式从flac转到wav的两种方法

转载 作者:我是一只小鸟 更新时间:2023-05-08 14:32:17 32 4
gpt4 key购买 nike

最近在智能语音中用到了数据集cn-celeb。这个数据集的音频格式是flac,而在做数据增强(augmentation)以及模型训练时用的数据格式是wav,因此需要把音频格式从flac转到wav。我在ubuntu下摸索了一番,找到了两种方法.

  。

1,基于Linux下的sox命令写shell脚本实现 。

SoX​​(即 Sound eXchange)是一个跨平台(Windows,Linux,MacOS 等)的命令行实用程序,可以将各种格式的音频文件转换为需要的其他格式。在Ubuntu下安装sox命令如下:sudo apt  install sox。Sox装好后就开始写shell脚本,基于sox做音频格式转换的shell脚本如下:

                  #!/bin/
                  
                    bash


                  
                  
                    echo
                  
                  
                    "
                  
                  
                    $0  $@ $#
                  
                  
                    "
                  
                  
                    

srcdir
                  
                  =$
                  
                    1
                  
                  
                    
outdir
                  
                  =$
                  
                    2
                  
                  
                    echo
                  
                  
                    "
                  
                  
                    insrc: $srcdir, outdir: $outdir
                  
                  
                    "
                  
                  
                    echo
                  
                  
                    "
                  
                  
                    doing, pls waiting
                  
                  
                    "
                  
                  
                    for
                  
                   x 
                  
                    in
                  
                   $srcdir
                  
                    /*
                  
                  
                    .flac; do 
    name=`basename $x`
    dirx=`dirname $x`
    array=(${name//./  })
    filename=${array[0]}
    newfile=$filename".wav"
    echo $newfile
    sox $x -t wav $outdir/$newfile
done

echo "done,pls check!!"
                  
                

  。

2,基于pydub的python库写python代码实现 。

Pydub是一个依赖于ffmpeg的python音频处理库,因此要先安装ffmpeg,安装命令如下:sudo apt  install ffmpeg  # version 7:4.2.7-0ubuntu0.1。安装后用命令ffmpeg –version查看是否安装好,如下图:

ffmpeg安装好后再在一个conda环境下安装pydub库,命令如下:pip install pydub。可以用pip list看一下是否装好以及版本,如下图:

这些都ready后就开始写python代码,基于pydub做音频格式转换的python代码如下:

                  
                    from glob import glob
                    
from pydub import AudioSegment
import os

def find_files(directory, ext='flac'):
    return sorted(glob(directory + f'/**/*.{ext}', recursive=True))

def trans_flac_to_wav(file_path):
    file_dir = os.path.dirname(file_path)
    new_name = os.path.basename(file_path).replace('.flac', '.wav')
    new_file = os.path.join(file_dir, new_name)
    song = AudioSegment.from_file(file_path)
    song.export(new_file, format="wav")
    
print('===== Begin to Do converter =====')
audio_files = find_files('/home/....../format_converter/flac')
for audio_file in audio_files:
    # do converter
    trans_flac_to_wav(audio_file)

  。

以上就是将音频格式从flac转到wav的两种方法。对其他音频格式之间的互转,方法也是适用的,只不过代码上有可能需要做一点小的改动.

最后此篇关于将音频格式从flac转到wav的两种方法的文章就讲到这里了,如果你想了解更多关于将音频格式从flac转到wav的两种方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com