音频文件重采样 - python 实现

在处理音频文件的时候,经常会将原音频进行统一的重采样处理,设置为相同的采样率,本示例,就是将44100采样率的音频,重采样为16000.

安装对应的python 库:librosa 和 soundfile.

python 复制代码
pip install soundfile
pip install librosa

示例中用到的音频文件下载地址:【免费】音频文件重采样-python实现-示例音频资源-CSDN文库

具体代码实现如下:

python 复制代码
# -*- encoding: utf-8 -*-
import librosa
import soundfile as sf

# 音频重采样
def resample_audio(input_path, output_path, new_sample_rate):
    # 读取:音频文件
    signal, sr = librosa.load(input_path, sr=None)
    print("原采样率 sr:{}".format(sr))
    print("目标采样率 sr:{}".format(new_sample_rate))
    # 重新采样
    new_signal = librosa.resample(signal, orig_sr = sr, target_sr = new_sample_rate)
    #保存为新的音频文件
    sf.write(output_path, new_signal, new_sample_rate)
if __name__ == '__main__':
    # input_path = 'test_44100.mp3'
    input_path = 'test_44100.wav'

    new_sample_rate = 16000 # 16000
    output_path = 'out_{}.wav'.format(new_sample_rate)
    print("原文件:{}".format(input_path))
    resample_audio(input_path, output_path, new_sample_rate)
    print('文件已保存到 {}'.format(output_path))

log 如下:

python 复制代码
原文件: test_44100.wav
原采样率 sr: 44100
目标采样率 sr: 16000
文件已保存到 out_16000.wav

助力快速掌握数据集的信息和使用方式。

相关推荐
Swift社区6 分钟前
LeetCode - #139 单词拆分
算法·leetcode·职场和发展
Kent_J_Truman37 分钟前
greater<>() 、less<>()及运算符 < 重载在排序和堆中的使用
算法
一念之坤1 小时前
零基础学Python之数据结构 -- 01篇
数据结构·python
IT 青年1 小时前
数据结构 (1)基本概念和术语
数据结构·算法
wxl7812271 小时前
如何使用本地大模型做数据分析
python·数据挖掘·数据分析·代码解释器
NoneCoder1 小时前
Python入门(12)--数据处理
开发语言·python
ZHOU_WUYI1 小时前
3.langchain中的prompt模板 (few shot examples in chat models)
人工智能·langchain·prompt
Dong雨1 小时前
力扣hot100-->栈/单调栈
算法·leetcode·职场和发展
如若1231 小时前
主要用于图像的颜色提取、替换以及区域修改
人工智能·opencv·计算机视觉
SoraLuna2 小时前
「Mac玩转仓颉内测版24」基础篇4 - 浮点类型详解
开发语言·算法·macos·cangjie