我正在玩一個構建像鼓機一樣播放節奏的python腳本。我用PyGame來處理音頻。但是,我在播放和聽到實際音頻之間遇到了顯着/不可接受的延遲。PyGame在播放聲音時有巨大的延遲
我粘貼下面的代碼到交互式解釋,然後一次又一次地執行的最後一行:
import pygame
pygame.mixer.init(frequency=22050, size=-16, channels=2, buffer=4096)
s = pygame.mixer.Sound('snare.wav')
s.play(loops=0, maxtime=0, fade_ms=0)
之間按下Enter鍵,聽到的聲音是我最好的猜測圍繞400ms的,確實的時間顯而易見且不可接受的。延遲大致與單擊VLC中的播放按鈕並等待音頻播放相同。
我已經在Windows和Ubuntu上都嘗試了這個,結果相同。我的電腦有點舊,英特爾酷睿i3 2.53GHz,但我認爲這不應該是一個問題。
我該怎麼辦?
在循環:
此代碼演示相同滯後。
for i in range(10):
print i
s.play(loops=0, maxtime=0, fade_ms=0)
sleep(2)
1)也許在解釋器本身的延遲?嘗試'raw_input(); s.play(loops = 0,maxtime = 0,fade_ms = 0)',然後再次按Enter。 2)圈套是從聲音文件的一開始就開始的嗎?如果您在Audacity中打開文件,開始和實際聲音之間有多少時間? –
1)沒有區別。 2)實際的聲音確實在波形文件中立即開始。我也試過用其他wave文件。 –
你可以發佈一個鏈接到聲音文件,我想用我的機器測試這個 –