python 输出纯音频_Python音频处理(一)音频基础知识-周振洋

1.声音音频基础知识

(1)声音是由震动产生,表现为波的形式。波有频率,振幅等参数。对于声波而言:频率越大,音调越高,反之越低。振幅越大,声音越大,反之越小。

(2)采样率,帧率:波是连续(无穷)的,计算机存储是离散(有限)的。要想用有限存储无限,几乎不可能。因此,要每隔一段时间对波进行一次采样。每秒采样次数采样率。长用采样率是44.1kHz(这里的1k不是1024,是1000!!!切记。)。

(3)采样大小,采样宽度:波每一个时刻都有一个对应的能量值,在计算机中用整数存储。通常使用16bit有符号整数存储,采样大小是16bit。

(4)声道:这个不好解释,引用百度百科上的一句话。声道(Sound Channel) 是指声音在录制或播放时在不同空间位置采集或回放的相互独立的音频信号,所以声道数也就是声音录制时的音源数量或回放时相应的扬声器数量。

(5)人耳能听到的声波频率范围是20Hz ~20000Hz,人耳对160Hz~2500Hz的声音比较敏感。

(6)音色:不同物体发音有所不同,这些不同表现在音色上。音色在音频曲线级别的表现是频率的特定变化,振幅的特定变化

2.python读取.wav音频

下面是python3读取音频代码,详细说明都在注释里。

import wave

import struct

wave_file=wave.open("./sound111.wav", 'r')

channels=wave_file.getnchannels()#声道数

samp_width=wave_file.getsampwidth()#采样大小

frame_rate=wave_file.getframerate()#帧率

numframes=wave_file.getnframes()#总帧数

print("channel",channels)#声道数

print('samp_width',samp_width)#采样大小2B 16bit

print('frame_rate',frame_rate)#8000 帧率8000fps

print('numframes',numframes)#总帧数=帧率*时间=8000fps*10s=80000f

#输出

#channel 1

#samp_width 2

#frame_rate 8000

#numframes 80000

for i in range(500):

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值