音频基本概念

1 分钟阅读

音频

  • 比特率:比如128kbps,表示每秒有128kbit的音频数据,也就是16KB/s。标准的MP3用128kbs;高品质MP3用192kbps。

  • 频道:也称声道(Channel),表示声音信号流数量。1为单声道;2为立体声道。
  • 量化位深:Bit Depth,表示每个采用点振幅的二进制数据。8bit用于早期游戏机;16bit主流音频;24bit专业录音。
  • 分贝:decibel (dB),音频领域表示动态范围,$ DR ≈ 6.02 × n(位深) + 1.76 (单位:dB)$。其中位深16bit对应98dB;24bit对应146dB。

  • 采样频率:也称采样率(Sampling Rate),每秒对音频信号的采样次数。CD质量的采用率一般是44.1kHz

  • 未压缩音频数据量大小计算:$ 文件大小(bytes) ≈ 采样率(Hz) × 量化位深 (bits/sample) × 声道数 × 时长 (s) ÷ 8 (bits → bytes) $

    比如44.1kHz、16 bit、2声道、1分钟数据量: $ ≈ 44 100 × 16 × 2 × 60 ÷ 8 ≈ 1 058 400 bytes ≈ 1.01 MB $

  • 比特率 = 采用率 × 位深 × Channel

Python方法

import librosa
y, sr = librosa.load(data,sr=SAMPLE_RATE,offset=0,duration=None)

# 读取音频
# data对应音频源,可以是文件,比如mp4/wav等等;也可以是字节流
# sr对应Sample Rate,如果指定为None,则保留原始采样率;指定为正整数,则重采样到该频率
# offset对应起始秒
# duration对应时长秒

# 返回值
# y 对应numpy一维数组,-1.0到1.0的浮点数,
# sr 对应实际采样率