Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python RPI:如何动态调整当前播放的wav文件的音量_Python_Raspberry Pi3_Sensors_Pyaudio - Fatal编程技术网

Python RPI:如何动态调整当前播放的wav文件的音量

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

目前使用覆盆子皮3,Pyaudo,ReSpeaker 2话筒皮帽

如何在RPI中使用python调整.wav文件播放的音量?(通过耳机连接的respeaker 3.5mm音频插孔输出)

我需要RPI动态播放和调整音量,而不需要我手动更改音量

不使用命令提示符中的命令访问alsamixer。需要一些关于如何进行的建议

下面是我的代码的当前进度(此代码将在一段时间内循环播放):

尝试了这段代码,但并不是我想要实现的

在游戏中尝试改变它,而不是在之前改变它

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)