Python-批处理修改音频采样率(批量重采样)

20 篇文章 1 订阅
4 篇文章 0 订阅

由于有网友私信我,需要批处理修改音频的采样率,所以就写一下这篇博客吧~其实很简单

一、安装 ffmpeg,不会的看我这篇博客,安装过的忽略~
二、了解ffmpeg和ffmpeg命令行的常用参数

ffmpeg 是强大的媒体文件转换工具,常用于转码,可选命令非常多,编码器、视频时长、帧率、分辨率、像素格式、采样格式、码率、裁剪选项、声道数等等都可以自由选择

主要参数:
-i 设定输入流
-f 设定输出格式
-ss 开始时间
视频参数:
-b 设定视频流量,默认为200Kbit/s
-r 设定帧速率,默认为25
-s 设定画面的宽与高
-aspect 设定画面的比例
-vn 不处理视频
-vcodec 设定视频编解码器,未设定时则使用与输入流相同的编解码器
音频参数:
-ar 设定采样率
-ac 设定声音的Channel数
-acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器
-an 不处理音频

三、ffmpeg修改采样率的使用方式 [ffmpeg -i 输入文件 -ar 采样率 输出文件]

示例如下:

ffmpeg -i input.wav -ar 441000 output.wav  

上面命令可以把input.wav的音频采样率重采样为441000的音频(output.wav)

四、ffmpeg批处理修改采样率

1.下面是windows命令行的方式:

for %i in (*.wav) do ffmpeg -i "%i" -ar 441000  "%i"

用上述命令行可以把当前目录下所有音频的采样率修改为441000(即原来的音频文件被覆盖)

如果不希望覆盖原来的音频文件,可以用下面的这个命令行(我选择输出路径为E:\untitled1\audio_test)

for %i in (*.wav) do ffmpeg -i "%i" -ar 441000  "E:\untitled1\audio_test\%i"

这是原本的音频文件,采样率是16000,注意文件大小和采样率
在这里插入图片描述
在这里插入图片描述

然后windows进入这个路径(E:\untitled1\audio_test\test),运行上面的命令行,如下图:
在这里插入图片描述
最后在这个路径(E:\untitled1\audio_test)下生成采样率为441000的音频文件,可以明显看到文件变大了,采样率也是441000在这里插入图片描述
在这里插入图片描述
2.下面是python脚本的方式:

import os
import subprocess

input_path = r"E:\untitled1\audio_test\input"
output_path = r"E:\untitled1\audio_test\out"
for file in os.listdir(input_path):
    file1 = input_path+'\\'+file
    file2 = output_path+'\\'+file
    cmd = "ffmpeg -i " + file1 + " -ar 44100 " + file2  #ffmpeg -i 输入文件 -ar 采样率  输出文件
    subprocess.call(cmd, shell=True)

其实理解上面的,你就可以对音频做各种各样的批处理~
如果你的工作和音频相关,真的建议多看看ffmpeg~
好了,今天的分享就到这了~
希望对你有帮助~

  • 11
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Python中有多种方法可以实现音频文件的重采样。一种方法是使用ffmpeg命令行工具,另一种方法是使用Python库如librosa或ffmpeg-python。 使用ffmpeg命令行工具进行重采样的步骤如下: 1. 打开命令行终端并导航到音频文件所在的路径。 2. 运行以下命令,将输入音频文件重采样为目标采样率音频文件: ``` ffmpeg -i input.wav -ar 44100 output.wav ``` 使用Python库librosa进行重采样的步骤如下: 1. 导入所需的库: ``` import librosa ``` 2. 使用`librosa.load`函数加载音频文件,并指定`sr=None`以保持原始采样率: ``` audio, sr = librosa.load('audio.wav', sr=None) ``` 3. 使用`librosa.resample`函数将音频文件重采样为目标采样率: ``` audio_24k = librosa.resample(audio, sr, 24000) ``` 4. 使用`librosa.output.write_wav`函数将重采样后的音频保存为新的文件: ``` librosa.output.write_wav('audio.24000.wav', audio_24k, 24000) ``` 使用Pythonffmpeg-python进行重采样的步骤如下: 1. 导入所需的库: ``` import ffmpeg ``` 2. 使用`ffmpeg.input`函数指定输入音频文件路径,并使用`ffmpeg.output`函数指定输出文件路径和目标采样率: ``` ffmpeg.input('audio.wav').output('audio.24000.wav', ar=24000).run() ``` 以上是使用Python进行音频文件重采样的方法,您可以根据具体需求选择适合您的方法进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python-批处理修改音频采样率批量重采样)](https://blog.csdn.net/zkw_1998/article/details/111033543)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [python音频重采样实现](https://blog.csdn.net/Joseph__Lagrange/article/details/114835664)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值