Python RPI:如何动态调整当前播放的wav文件的音量
目前使用覆盆子皮3,Pyaudo,ReSpeaker 2话筒皮帽 如何在RPI中使用python调整.wav文件播放的音量?(通过耳机连接的respeaker 3.5mm音频插孔输出) 我需要RPI动态播放和调整音量,而不需要我手动更改音量 不使用命令提示符中的命令访问alsamixer。需要一些关于如何进行的建议 下面是我的代码的当前进度(此代码将在一段时间内循环播放): 尝试了这段代码,但并不是我想要实现的 在游戏中尝试改变它,而不是在之前改变它Python RPI:如何动态调整当前播放的wav文件的音量,python,raspberry-pi3,sensors,pyaudio,Python,Raspberry Pi3,Sensors,Pyaudio,目前使用覆盆子皮3,Pyaudo,ReSpeaker 2话筒皮帽 如何在RPI中使用python调整.wav文件播放的音量?(通过耳机连接的respeaker 3.5mm音频插孔输出) 我需要RPI动态播放和调整音量,而不需要我手动更改音量 不使用命令提示符中的命令访问alsamixer。需要一些关于如何进行的建议 下面是我的代码的当前进度(此代码将在一段时间内循环播放): 尝试了这段代码,但并不是我想要实现的 在游戏中尝试改变它,而不是在之前改变它 from pydub import Audi
from pydub import AudioSegment
song = AudioSegment.from_wav("output.wav")
song = song - 60
quieter_song_data = song.get_array_of_samples()
quieter_song_fs = song.frame_rate4
在播放循环中,计算区块的体积(例如,使用均方根),然后如果它太高,则除以 用于8位音频(128为中性扬声器位置)
from pydub import AudioSegment
song = AudioSegment.from_wav("output.wav")
song = song - 60
quieter_song_data = song.get_array_of_samples()
quieter_song_fs = song.frame_rate4
data = wf.readframes(chunk)
while data != '':
data2 = (data-128)/128) # now from -1 to 1
volume = sum(data2 ** 2) ** .5
if volume > .6:
data = data2/volume * .6
data = data*128 + 128
data = [max(min(int(d),255),0) for d in data]
# convert data back to type stream is happy with here if needed
stream.write(data)
data = wf.readframes(chunk)