質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

3614閲覧

waveファイルをpython上で再生したいが、sounddeviceのInternal PortAudio error [PaErrorCode -9986]が発生し、再生できない。

ponzu_3338

総合スコア1

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/07/07 12:32

前提・実現したいこと

waveファイルをpython上で再生したいが、sounddeviceのInternal PortAudio error [PaErrorCode -9986]が発生し、再生できない。

発生している問題・エラーメッセージ

--------------------------------------------------------------------------- PortAudioError Traceback (most recent call last) <ipython-input-51-f863b2cc0fe5> in <module> 12 data=np.frombuffer(data,dtype=np.int16) 13 ---> 14 sd.play(data,wav.getframerate()) 15 print("再生開始") 16 status=sd.wait() ~/venv/ongen/lib/python3.6/site-packages/sounddevice.py in play(data, samplerate, mapping, blocking, loop, **kwargs) 175 ctx.output_dtype, callback, blocking, 176 prime_output_buffers_using_stream_callback=False, --> 177 **kwargs) 178 179 ~/venv/ongen/lib/python3.6/site-packages/sounddevice.py in start_stream(self, StreamClass, samplerate, channels, dtype, callback, blocking, **kwargs) 2576 callback=callback, 2577 finished_callback=self.finished_callback, -> 2578 **kwargs) 2579 self.stream.start() 2580 global _last_callback ~/venv/ongen/lib/python3.6/site-packages/sounddevice.py in __init__(self, samplerate, blocksize, device, channels, dtype, latency, extra_settings, callback, finished_callback, clip_off, dither_off, never_drop_input, prime_output_buffers_using_stream_callback) 1487 """ 1488 _StreamBase.__init__(self, kind='output', wrap_callback='array', -> 1489 **_remove_self(locals())) 1490 1491 def write(self, data): ~/venv/ongen/lib/python3.6/site-packages/sounddevice.py in __init__(self, kind, samplerate, blocksize, device, channels, dtype, latency, extra_settings, callback, finished_callback, clip_off, dither_off, never_drop_input, prime_output_buffers_using_stream_callback, userdata, wrap_callback) 893 samplerate, blocksize, stream_flags, 894 callback_ptr, userdata), --> 895 'Error opening {}'.format(self.__class__.__name__)) 896 897 # dereference PaStream** --> PaStream* ~/venv/ongen/lib/python3.6/site-packages/sounddevice.py in _check(err, msg) 2736 raise PortAudioError(errormsg, err, hosterror_info) 2737 -> 2738 raise PortAudioError(errormsg, err) 2739 2740 PortAudioError: Error opening OutputStream: Internal PortAudio error [PaErrorCode -9986]

該当のソースコード

Python

1import wave 2import pyroomacoustics as pa 3import numpy as np 4import sounddevice as sd 5 6pa.datasets.CMUArcticCorpus(basedir="./CMU_ARCTIC",download=True,speaker=["aew","axb"]) 7sample_wave_file="./CMU_ARCTIC/cmu_us_aew_arctic/wav/arctic_a0001.wav" 8wav=wave.open(sample_wave_file) 9 10data=wav.readframes(wav.getnframes()) 11data=np.frombuffer(data,dtype=np.int16) 12 13sd.play(data,wav.getframerate()) 14print("再生開始") 15status=sd.wait() 16 17wav.close()

試したこと

仮想環境が悪さをしているのかと考え、pyenvとvenvを使用せずに下記システム環境下でコマンドラインから該当ソースを実行しましたが、同様のエラーが発生しました。
Python==3.9.1(system)
sounddevice==0.4.1
pyroomacoustics==0.4.3
numpy==1.19.5

補足情報(FW/ツールのバージョンなど)

macOS BigSur 11.4
Python==3.6.4
pyenvを用いてpython3.6.4に切り替え、venvを用いて「ongen」という仮想環境を作っています。
「ongen」下にインストールしたモジュールは以下です。
sounddevice==0.4.1
pyroomacoustics==0.4.3
numpy==1.19.5

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ponzu_3338

2021/07/08 17:51

githubのissuesの通り、 brew install portaudio --HEAD を実行することで解決しました。ありがとうございます。 (issueタイトルのエラーコードが9985だったので下の方まで読んでいませんでした。失礼しました。)
guest

回答1

0

自己解決

ターミナルで下記を実行する

brew install portaudio --HEAD

投稿2021/07/08 17:55

ponzu_3338

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問