gpt4 book ai didi

Python 3.6 : How to play audio faster

转载 作者:太空宇宙 更新时间:2023-11-03 15:24:12 25 4
gpt4 key购买 nike

所以,我有一段代码可以以延迟的方式打印文本,就像您在一些老式或独立视频游戏中看到的那样。

一切正常,但不是我想要的方式。我希望打印和播放声音更快,因为现在太慢了。

有什么办法可以实现这一点吗?

这是我的代码:

注意:这在 pycharm 中滞后,但在终端/cmd 中运行良好。

import sys
import time
from pydub import AudioSegment
from pydub.playback import play



def print_delay(string_in):
sound_1 = "text_beep.wav"
sound_play = AudioSegment.from_wav(sound_1)


for char in string_in:
sys.stdout.write(char)
sys.stdout.flush()
play(sound_play)

if char != ",":
time.sleep(0.01)
if char == ".":
time.sleep(0.20)
if char == ",":
time.sleep(0.10)

print("\n")

string_hello = "Hello World, this is a sample text.\nI want want this to print out faster without being delayed by the sound file.\nIs there any faster way to do this?"

print_delay(string_hello)

最佳答案

哇哦!好吧,我明白了。

使用名为:“pyglet”的模块

我不是 100% 确定,但看起来 pyglet 可以让你指定你的声音文件是短声音。如果是这种情况,那么您可以传递参数“streaming = False”,这基本上告诉它立即播放声音,从而使用更少的 CPU 功率。我不确定这是否是使声音文件按照我想要的方式播放的原因,但可能是这样。

如果有人确切知道请告诉我。

这是我的来源:https://pythonhosted.org/pyglet/programming_guide/playing_sounds_and_music.html

import sys
import time
import pyglet



def print_delay(string_in):
sound_1 = pyglet.resource.media("text_beep.wav", streaming=False)


for char in string_in:
sound_1.play()
sys.stdout.write(char)
sys.stdout.flush()

if char != ",":
time.sleep(0.05)
if char == ".":
time.sleep(0.70)
if char == ",":
time.sleep(0.50)


print("\n")

string_hello = "Hello World, this is a sample text.\nI want want this to print out faster without being delayed by the sound file.\nIs there any faster way to do this?"

print_delay(string_hello)

关于Python 3.6 : How to play audio faster,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43272114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com