2016-11-23 23 views
1

pyoライブラリを使用してサウンドを再生しようとしています。Pyoを使用してPythonでサウンドを再生する

次のコード:

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 

戻り、この出力:

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

あなたは、コードと私は入力と出力のデバイスであることを保証することを試みてきた出力から見ることができるように同じ。

これは、I/Oデバイスの不正な組み合わせに関するメッセージが原因です。私の試みが悲惨に失敗したのを見ることもできます。 Server()コードチャンクの有無にかかわらず、同じエラーメッセージが表示されます。

私はPsychoPyで上記のコードを実行しました。 Spyderで同じコードを実行すると、実際には渡されません。

play_audio1 = sound.SoundPyo(value = 'LRsound.wav', stereo = True) 

何もしないだけです。

pyoがなぜPythonを使って遊んでいないのでしょうか?どのように私はそれを修正することができますか?

お時間をいただきありがとうございます。

答えて

0

私は最終的にはピョライブラリをあきらめたし、正常psychopyからsoundをインポートする前に、次の操作を実行してpygameのダウンロードを使用してPsychoPyでサウンドを再生するために管理:

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

...

sound.Sound(value = soundfile) 

私はWindows 7 Proを使用しているときにPyoが悪夢であると感じました。うまくいけば、PyGameを使ったこの作業は役に立つでしょう。

0

あなたの行がなければなりませんので、何かを行う前にServerboot()する必要があります。

import pyo 

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

次にあなたがサウンドファイルを再生するにはpyoからSfPlayerクラスを使用する場合があります。

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

とguiインターフェイスを実行します。

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

私はその解決策を試してみたが、うまくいかなかった。私は私のオーディオニーズにPyGameを使用して終了しました。しかし、提案をありがとう。 – Docconcoct

関連する問題