python实时采集与处理声音信号_Python之音频信号处理(一)音频基础知识

一、音频基础知识

1、声音的三要素

(1)音调

人耳对声音高低的感觉称为音调(也叫音频)。音调主要与声波的频率有关。声波的频率高,则音调也高。一般音频 儿童>女生>男生。

人耳听觉音频范围是20Hz-20000Hz(做音频压缩时不在这个范围内的数据就可以砍掉)。

(2)音量

也就是响度。人耳对声音强弱的主观感觉称为响度。响度和声波振动的幅度有关。一般说来,声波振动幅度越大则响度也越大。

人们对响度的感觉还和声波的频率有关,同样强度的声波,如果其频率不同,人耳感觉到的响度也不同。

(3)音色

也就是音品。音色是人们区别具有同样响度、同样音调的两个声音之所以不同的特性,或者说是人耳对各种频率、各种强度的声波的综合反应。音色与声波的振动波形有关,或者说与声音的频谱结构有关。

2、音频的量化与编码

(1)音频的量化过程

现实生活中,我们听到的声音都是时间连续的,我们把这种信号叫模拟信号。模拟信号(连续信号)需要量化成数字信号(离散的、不连续的信号)以后才能在计算机中使用。如下所示量化过程分为5个步骤:

模拟信号

现实生活中的声音表现为连续的、平滑的波形,其横坐标为时间轴,纵坐标表示声音的强弱。

采样

按照一定的时间间隔在连续的波上进行采样取值,如下图所示取了10个样。

量化

将采样得到的值进行量化处理,也就是给纵坐标定一个刻度,记录下每个采样的纵坐标的值。

编码

将每个量化后的样本值转换成二进制编码。

数字信号

将所有样本二进制编码连起来存储在计算机上就形成了数字信号。

(2)量化的基本概念

1)采样大小

一个采样用多少个bit存放,常用的是16bit(这就意味着上述的量化过程中,纵坐标的取值范围是0-65535,声音是没有负值的)。

2)采样率

也就是采样频率(1秒采样次数),一般采样率有8kHz、16kHz、32kHz、44.1kHz、48kH

  • 11
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供相关的知识讲解和Python实现电脑录音的方法。 首先,我们需要了解一些音频基础知识音频是一种模拟信号,它可以被数字化为一系列数字信号,这些数字信号称为采样点。采样率是指每秒钟采集采样点数,它决定了音频的质量。常用的采样率有8kHz、16kHz、44.1kHz和48kHz等。 Python中可以使用PyAudio库来录制音频。PyAudio是Python语言的一种音频处理库,可以用于录音、播放音频等操作。下面是一个简单的录制音频的示例代码: ```python import pyaudio import wave # 设置录音参数 CHUNK = 1024 FORMAT = pyaudio.paInt16 CHANNELS = 1 RATE = 16000 RECORD_SECONDS = 5 WAVE_OUTPUT_FILENAME = "output.wav" # 创建PyAudio对象 p = pyaudio.PyAudio() # 打开音频流 stream = p.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK) print("* recording") # 录制音频 frames = [] for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)): data = stream.read(CHUNK) frames.append(data) print("* done recording") # 关闭音频流 stream.stop_stream() stream.close() p.terminate() # 保存音频文件 wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb') wf.setnchannels(CHANNELS) wf.setsampwidth(p.get_sample_size(FORMAT)) wf.setframerate(RATE) wf.writeframes(b''.join(frames)) wf.close() ``` 该代码使用PyAudio打开了一个音频流,并将音频数据读取到一个列表中。在录制完成后,将音频数据保存到一个WAV文件中。 需要注意的是,该代码只是一个简单的示例,实际应用中需要根据需要进行相关参数的设置,如采样率、录制时间等。 希望这些信息能够帮助到您。如果您还有其他问题,请随时提出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值