You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需保存为wav文件降低ndarray的采样率

无需保存文件的音频重采样方法

当然有不用存文件的简便方法,直接在内存里处理ndarray就行,给你两个常用的方案:

  • 使用 librosa 直接重采样
    librosa本身就支持对内存中的ndarray直接做重采样,完全不需要读写文件。示例代码如下:

    import librosa
    import numpy as np
    
    # 假设audio是你从麦克风获取的采样率48000的ndarray
    resampled_audio = librosa.resample(audio, orig_sr=48000, target_sr=16000)
    

    这个方法内置了针对音频优化的抗混叠滤波器,重采样后的音质比较有保障,是处理音频重采样的首选方式。

  • 使用 scipy.signal.resample
    如果不想引入librosa依赖,也可以用scipy的信号处理工具。需要先根据采样率比例计算目标采样点数量,再执行重采样:

    from scipy import signal
    import numpy as np
    
    # 计算目标长度:原长度 × 目标采样率/原采样率
    new_length = int(len(audio) * 16000 / 48000)
    resampled_audio = signal.resample(audio, new_length)
    

    这个方法基于傅里叶变换实现,适合对音质要求不高或者整数倍采样率转换的场景,不过处理音频的效果不如librosa专业。

内容的提问来源于stack exchange,提问作者user3668129

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 23:02:05