Sto giocando con la costruzione di uno script python che riproduce ritmi come una drum machine. Ho usato PyGame per gestire l'audio. Tuttavia, ho riscontrato ritardi significativi/inaccettabili tra il richiamo del gioco e l'ascolto dell'audio reale.PyGame ha un enorme ritardo con la riproduzione dei suoni
ho incollato il seguente codice nell'interprete interattivo, e quindi eseguire più e più volte l'ultima riga:
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)
Il tempo tra pressatura entrare e sentire l'audio è di mia ipotesi migliore intorno 400ms, e in effetti evidente e inaccettabile. Il ritardo è all'incirca lo stesso di quando clicco sul pulsante di riproduzione in VLC e attendo che l'audio venga riprodotto.
Ho provato questo su Windows e Ubuntu con lo stesso risultato. Il mio computer è un po 'vecchio, un Intel Core i3, 2.53 GHz, ma penso che questo non dovrebbe essere un problema.
Cosa posso fare a riguardo?
In un ciclo:
Questo codice illustra lo stesso ritardo.
for i in range(10):
print i
s.play(loops=0, maxtime=0, fade_ms=0)
sleep(2)
1) Forse un ritardo nell'interprete stesso? Prova 'raw_input(); s.play (loops = 0, maxtime = 0, fade_ms = 0)', quindi premi di nuovo enter. 2) Il rullante inizia all'inizio del file audio? Se apri il file in Audacity, quanto tempo è tra l'inizio e il suono effettivo? –
1) Nessuna differenza. 2) Il suono effettivo inizia immediatamente nel file wave. Inoltre ho provato con altri file wave. –
potresti pubblicare un collegamento al file audio, vorrei testarlo con la mia macchina –