前提・実現したいこと
現在raspberry Piで音声認識をするために下記のプログラムを一部変更していろいろ試しています。
https://raw.githubusercontent.com/neuralassly/raspi/master/recog-TV.py
pythonはまだ初心者にも至らぬほどの技量なのですが,どなたかご教授お願いします。
発生している問題・エラーメッセージ
発生している問題はimport pyaudioの部分でpyaudioが認識されないことです。
エラーメッセージ
Traceback
1 File "/home/pi/recog-TV.py", line 6, in <module> 2 import pyaudio 3ImportError: No module named 'pyaudio' 4 5### 該当のソースコード 6 7python 8ソースコード 9 10import socket 11from io import StringIO 12import re 13import subprocess 14import pyaudio 15import wave 16 17CHUNK = 1024 18FORMAT = pyaudio.paInt16 19channels = 1 20 21rate = 44199 22 23p = pyaudio.PyAudio() 24 25 26try: 27 unicode # python2 28 def u(str): return str.decode('utf-8') 29 pass 30except: # python3 31 def u(str): return str 32 pass 33 34host = 'localhost' 35port = 10500 36bufsize = 1024 37 38buff = StringIO(u('')) 39pattern = r'WHYPO WORD=\"(.*)\" CLASSID' 40try: 41 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 42 sock.connect((host, port)) 43 while True: 44 data = sock.recv(bufsize) 45 buff.write(data.decode('utf-8')) 46 data = buff.getvalue().replace('> ', '>\n ') 47 if '\n' in data: 48 lines = data.splitlines() 49 for i in range(len(lines)-1): 50 if lines[i] != '.': 51 m = re.search(pattern, lines[i]) 52 if m: 53 word = m.group(1) 54 55 if u('今日 天気') in word: 56 print(word) 57 58 elif u('明日 天気') in word: 59 print(word) 60 61 buff.close() 62 buff = StringIO(u('')) 63 if lines[len(lines)-1] != '.': 64 buff.write(lines[len(lines)-1]) 65 66except socket.error: 67 print('socket error') 68except KeyboardInterrupt: 69 pass 70 71sock.close() 72 73 74 75### 試したこと 76 77https://web.plus-idea.net/2017/05/python-import-error-no-module-name/ 78上記のサイトを参考にインストールされているかの確認,ソースの最初に明示的に追加などしてみましたが何も変わりません。ちなみに以下がpipで調べた際の情報。 79 80pi@raspberrypi:~ $ pip show pyaudio 81Name: PyAudio 82Version: 0.2.11 83Summary: PortAudio Python Bindings 84Home-page: http://people.csail.mit.edu/hubert/pyaudio/ 85Author: Hubert Pham 86Author-email: UNKNOWN 87License: UNKNOWN 88Location: /usr/lib/python2.7/dist-packages 89Requires:
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。