Próbowałem Pygame do odtwarzania wav tak:jak odtwarzać plik wav w python?
import pygame
pygame.init()
pygame.mixer.music.load("mysound.wav")
pygame.mixer.music.play()
pygame.event.wait()
ale to zmienić głos, a ja nie wiem dlaczego! Czytam rozwiązania this link i nie mogę rozwiązać mojego problemu z odtwarzaniem pliku wave!
za to rozwiązanie Nie wiem, co mam zaimportować?
s = Sound()
s.read('sound.wav')
s.play()
i do tego roztworu/dev/dsp nie robi istnieć w nowej wersji systemu Linux:
from wave import open as waveOpen
from ossaudiodev import open as ossOpen
s = waveOpen('tada.wav','rb')
(nc,sw,fr,nf,comptype, compname) = s.getparams()
dsp = ossOpen('/dev/dsp','w')
try:
from ossaudiodev import AFMT_S16_NE
except ImportError:
if byteorder == "little":
AFMT_S16_NE = ossaudiodev.AFMT_S16_LE
else:
AFMT_S16_NE = ossaudiodev.AFMT_S16_BE
dsp.setparameters(AFMT_S16_NE, nc, fr)
data = s.readframes(nf)
s.close()
dsp.write(data)
dsp.close()
i kiedy próbowałem pyglet to daje mi ten błąd:
import pyglet
music = pyglet.resource.media('mysound.wav')
music.play()
pyglet.app.run()
--------------------------
[email protected] Desktop]$ python play.py
Traceback (most recent call last):
File "play.py", line 4, in <module>
music = pyglet.resource.media('mysound.wav')
File "/usr/lib/python2.7/site-packages/pyglet/resource.py", line 587, in media
return media.load(path, streaming=streaming)
File "/usr/lib/python2.7/site-packages/pyglet/media/__init__.py", line 1386, in load
source = _source_class(filename, file)
File "/usr/lib/python2.7/site-packages/pyglet/media/riff.py", line 194, in __init__
format = wave_form.get_format_chunk()
File "/usr/lib/python2.7/site-packages/pyglet/media/riff.py", line 174, in get_format_chunk
for chunk in self.get_chunks():
File "/usr/lib/python2.7/site-packages/pyglet/media/riff.py", line 110, in get_chunks
chunk = cls(self.file, name, length, offset)
File "/usr/lib/python2.7/site-packages/pyglet/media/riff.py", line 155, in __init__
raise RIFFFormatException('Size of format chunk is incorrect.')
pyglet.media.riff.RIFFFormatException: Size of format chunk is incorrect.
AL lib: ReleaseALC: 1 device not closed
co masz na myśli przez "to zmienić głos"? – astrognocci
To zmienia dźwięk człowieka na dźwięk dziecka (przepraszam, mój angielski nie jest zbyt dobry i nie mogę znaleźć odpowiedniego słowa na mój problem) – nim4n
Masz na myśli, że brzmi on wyżej niż powinien? – astrognocci