2016-11-23 4 views
1

Ich versuche Sounds mit der Pyo-Bibliothek abzuspielen.Abspielen von Sound in Python mit Pyo

Der folgende Code:

from psychopy import sound, logging, core 
logging.console.setLevel(logging.DEBUG) 
from pyo import * 

s = Server() 
s.setInputDevice(4) 
s.setOutputDevice(4) 
s.boot() 
s.start() 

print "output", pa_get_output_devices() 
print "input", pa_get_input_devices() 

play_audio1 = sound.SoundPyo(value = 'LRsound.wav', stereo = True) 
play_audio1.play() 
core.wait(1) # wait so the sound can play 

gibt diese Ausgabe:

pyo version 0.8.0 (uses single precision)

Portmidi warning: could not open midi output 0 (Microsoft MIDI Mapper): PortMidi: `Host error'

output (['Microsoft Sound Mapper - Output', 'Speakers/Headphones (Realtek ', 'Primary Sound Driver', 'Speakers/Headphones (Realtek High Definition Audio)', 'Realtek ASIO', 'Speakers/Headphones (Realtek High Definition Audio)'], [0, 1, 2, 3, 4, 5])

input (['Realtek ASIO'], [4])

Server not booted. The Server must be booted! portaudio error in Pa_OpenStream: Illegal combination of I/O devices Portaudio error: Illegal combination of I/O devicesportaudio error in Pa_AbortStream: Invalid stream pointer portaudio error in Pa_CloseStream: Invalid stream pointer

Wie Sie aus dem Code sehen und den Ausgang ich versucht habe, um sicherzustellen, dass die Ein- und Ausgabegeräte die sind gleich.

Dies liegt an der Meldung über eine unzulässige Kombination von E/A-Geräten. Zugegeben, wie Sie auch sehen können, ist mein Versuch kläglich gescheitert. Die gleichen Fehlermeldungen werden mit oder ohne Server() Code Chunk angezeigt.

Ich habe den obigen Code in PsychoPy ausgeführt. Wenn ich den gleichen Code in Spyder laufe, wird es nie tatsächlich passiert:

es hängt einfach nichts zu tun.

Irgendeine Idee, warum pyo nicht mit Python spielt, wie es sollte? Irgendwelche Ideen, wie ich das beheben kann?

Danke für Ihre Zeit.

Antwort

0

gab ich schließlich auf der Pyo Bibliothek und verwaltet erfolgreich Sound in PsychoPy spielen PyGame Verwendung von BEFORE wie folgt vorgehen sound von psychopy importieren:

from psychopy import prefs 
prefs.general['audioLib'] = ['pygame'] 

...

sound.Sound(value = soundfile) 

I habe festgestellt, dass Pyo ein Albtraum bei der Verwendung von Windows 7 Pro ist. Hoffentlich wird diese Arbeit mit PyGame nützlich sein.

0

Sie müssen boot() die Server, bevor irgendetwas anderes zu tun, so dass Ihre Zeilen sein sollte:

import pyo 

s = pyo.Server() 
s.boot() 
s.start() 
s.setInputDevice(4) 
s.setOutputDevice(4) 

Dann könnten Sie die SfPlayer Klasse von pyo verwenden ein Soundfile zu spielen:

play_audio1 = pyo.SfPlayer(path="LRsound.wav", speed=[1, 1]) 
play_audio1.out() 

und Führen Sie die GUI-Schnittstelle:

s.gui(locals(), exit=False) 
+0

Ich habe diese Lösung ausprobiert und es hat nicht funktioniert. Ich habe PyGame für meine Audio-Bedürfnisse verwendet. Danke für den Vorschlag. – Docconcoct

Verwandte Themen