如何在 python 中更改正在播放的音频文件的播放速度?
How can I change playback speed of an audio file in python whilst it is playing?
我进行了大量搜索以尝试找到实现此目的的方法,但我找到的解决方案 or 。
我正在寻找一种在 python 中播放声音的方法(非阻塞),它允许我在播放时实时更改播放速度,没有间隙或切口。
改变音调没问题。音频质量甚至没有那么重要。
大多数解决方案I've found只允许在播放文件之前设置一次播放速度。
我找到了一个解决方案,使用 python-mpv,mpv.io
的包装器
from pynput.keyboard import Key, Listener
import mpv
speed=1
#quick function to change speed via keyboard.
def on_press(key):
global speed
if key.char == 'f' :
speed=speed-0.1
player.speed=speed
if key.char == 'g' :
speed=speed+0.1
player.speed=speed
player = mpv.MPV(ytdl=True)
player.play('/Users/regvardy/mediapipe_faceswap-main/test.wav')
with Listener(
on_press=on_press) as listener:
listener.join()
while True:
player.speed=speed
我还没有测试它的稳定性。
这感觉像是一种解决方法,而不是我真正找到了解决方法,所以我可能会尝试找到不同的解决方案。
我在我的 python 项目中已经这样做了。我使用 VLC 在 PyQt5 GUI 中呈现 audio/video。 GUI 具有在播放时减慢或加快 A/V 的控件。
https://github.com/ccbogel/QualCoder
用于显示 audio/video 的主要 python 文件位于:view_av.py 并且其中有 Class DialogViewAV
它为 GUI 和 vlc 集成导入了一些额外的模块,如果它能帮助您了解它并提取您需要的代码位的话。
我有一个解释使用软件 A/V 部分的视频,在 45 秒时我提到了播放速度更改选项。
https://www.youtube.com/watch?v=TjOfPvvXh7U&t=0s
如果我有时间,也许,我可以准备一个脚本来做你想要的。
我进行了大量搜索以尝试找到实现此目的的方法,但我找到的解决方案
我正在寻找一种在 python 中播放声音的方法(非阻塞),它允许我在播放时实时更改播放速度,没有间隙或切口。
改变音调没问题。音频质量甚至没有那么重要。
大多数解决方案I've found只允许在播放文件之前设置一次播放速度。
我找到了一个解决方案,使用 python-mpv,mpv.io
的包装器from pynput.keyboard import Key, Listener
import mpv
speed=1
#quick function to change speed via keyboard.
def on_press(key):
global speed
if key.char == 'f' :
speed=speed-0.1
player.speed=speed
if key.char == 'g' :
speed=speed+0.1
player.speed=speed
player = mpv.MPV(ytdl=True)
player.play('/Users/regvardy/mediapipe_faceswap-main/test.wav')
with Listener(
on_press=on_press) as listener:
listener.join()
while True:
player.speed=speed
我还没有测试它的稳定性。
这感觉像是一种解决方法,而不是我真正找到了解决方法,所以我可能会尝试找到不同的解决方案。
我在我的 python 项目中已经这样做了。我使用 VLC 在 PyQt5 GUI 中呈现 audio/video。 GUI 具有在播放时减慢或加快 A/V 的控件。 https://github.com/ccbogel/QualCoder 用于显示 audio/video 的主要 python 文件位于:view_av.py 并且其中有 Class DialogViewAV 它为 GUI 和 vlc 集成导入了一些额外的模块,如果它能帮助您了解它并提取您需要的代码位的话。
我有一个解释使用软件 A/V 部分的视频,在 45 秒时我提到了播放速度更改选项。 https://www.youtube.com/watch?v=TjOfPvvXh7U&t=0s
如果我有时间,也许,我可以准备一个脚本来做你想要的。