原理:
1. 利用pyaudio库,实现音频录制,输出为bytes格式音频数据流;
2. 使用pydub.AudioSegment库,将bytes数据流转换为pydub.AudioSegment对象,进行音频处理;
3.使用pydub.playback.play库播放pydub.AudioSegment对象数据。
代码如下:文章来源:https://www.toymoban.com/news/detail-619148.html
import pyaudio
from pydub import AudioSegment
from pydub.playback import play
#录音采样设置
chunk_size = 1024 # 512
audio_format = pyaudio.paInt16
channels = 1
rate = 20000
#实例化PyAudio类
p = pyaudio.PyAudio()
#建立录制流(input)
recording_stream = p.open(format=audio_format, channels=channels, rate=rate, input=True,
frames_per_buffer=chunk_size)
while True:
#获取录音bytes数据流
data = recording_stream.read(1024)
#将data转换为AudioSegment对象,以实现后面的音频处理
sound = AudioSegment(data=data,frame_rate=rate,sample_width=2,channels=1)
#音量增加20db
sound = sound +20
#使用pydub.playback.play播放AudioSegment对象
play(sound)
模块用法说明文章来源地址https://www.toymoban.com/news/detail-619148.html
# 高级用法:原始数据处理
sound = AudioSegment(
# 音频原始数据(bytes)
data=b'…',
# 2 byte (16 bit) 采样
sample_width=2,
# 44.1 kHz 采样率 frame_rate=44100,
# 声道
channels=1
到了这里,关于使用Python 录音、调整音量、播放的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!