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

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

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

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

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

Q&A

0回答

329閲覧

[質問]RaspberryPiを用いたdocomo音声認識APIが動作しない

x066

総合スコア23

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

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

0グッド

0クリップ

投稿2018/01/09 06:17

編集2022/01/12 10:55

#前回までの流れ
前回の質問:RaspberryPiとdocomoAPIを用いた音声認識について
前回の質問にて雑談対話と音声認識機能を組み合わせた対話システムの構築の際に発生したエラーについて回答していただきました
こちらのサイトを元にlsusbとcat /proc/asound/modulesを実行したところ、マイクの認識がされていませんでした。
そこでいくつかのサイトで動作事例のあるMM-MCUSB16 USBマイクロホンの後続機であるMM-MCU02BKを用いて動作確認を行いました。
###今回の流れ
新しく購入したマイクを用いて動作実験を行いましたが、やはりエラーが発生してしまいました。
Raspberrypiのハードを変更したことでマイクが正しく認識されるようになりました。

コードを実行したところ、また別のエラーが発生してしまいました。
使用したソースコードは前回と同じです
###今回発生したエラー

python

1pi@raspberrypi:~/onsei_kanren $ python Kaiwa.py 2Please input recoding time>>>3 3ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave 4ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear 5ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe 6ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side 7ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi 8ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi 9ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem 10ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem 11ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline 12ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline 13ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused 14 15ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused 16 17ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave 18Cannot connect to server socket err = No such file or directory 19Cannot connect to server request channel 20jack server is not running or cannot be started 21Traceback (most recent call last): 22 File "Kaiwa.py", line 89, in <module> 23 message = recognize() 24 File "Kaiwa.py", line 18, in recognize 25 message = r.json()['text'] 26KeyError: 'text'

###使用したソースコード

python

1# -*- coding: utf-8 -*- 2#マイク0番からの入力を受ける。一定時間(RECROD_SECONDS)だけ録音し、ファイル名:mono.wavで保存する。 3 4import pyaudio 5import sys 6import time 7import wave 8import requests 9import os 10import json 11 12while True: 13 14 def recognize(): 15 url = "https://api.apigw.smt.docomo.ne.jp/amiVoice/v1/recognize?APIKEY={}".format(APIKEY) 16 files = {"a": open(PATH, 'rb'), "v":"on"} 17 r = requests.post(url, files=files) 18 message = r.json()['text'] 19 print message 20 return message 21 22 def dialogue(message="こんにちは"): 23 url = "https://api.apigw.smt.docomo.ne.jp/dialogue/v1/dialogue?APIKEY={}".format(APIKEY) 24 payload = { 25 "utt": message, 26 "context": "", 27 "nickname": "光", 28 "nickname_y": "ヒカリ", 29 "sex": "女", 30 "bloodtype": "B", 31 "birthdateY": "1997", 32 "birthdateM": "5", 33 "birthdateD": "30", 34 "age": "16", 35 "constellations": "双子座", 36 "place": "東京", 37 "mode": "dialog", 38 "t":20 39 } 40 r = requests.post(url, data=json.dumps(payload)) 41 print r.json()['utt'] 42 return r.json()['utt'] 43 44 def talk(message="こんにちは", card=1, device=0): 45 # os.system('/home/pi/aquestalkpi/AquesTalkPi " ' + message.encode('utf-8') + ' " | aplay -Dhw:{},{}').format(card, device) 46 os.system('/home/pi/3nen/Kaiwa/aquestalkpi/AquesTalkPi " ' + message.encode('utf-8') + ' " | aplay') # .format(card, device) 47 48 if __name__ == '__main__': 49 chunk = 1024 50 FORMAT = pyaudio.paInt16 51 CHANNELS = 1 52 PATH = 'tmp.wav' 53 APIKEY='356a6d6851544a4b3647456e656a37325a5075374b786649763266573257733232756d35666746706c4631362f7630742f34756a354c6d34736e31703470447878774e453263496736374c68474a326c7361516c4543362f7630742f34756a354c6d34736e31703470447878774e453263496736374c68474a326c7361516c4543' #DocomoAPI Key 54 CARD = 1 #OUTPUTの指定 55 DEVICE = 0 #OUTPUTの指定 56 57 #サンプリングレート、マイク性能に依存 58 RATE = 16000 59 #録音時間 60 RECORD_SECONDS = input('Please input recoding time>>>') 61 62 #pyaudio 63 p = pyaudio.PyAudio() 64 65 #マイク0番を設定 66 input_device_index = 0 67 #マイクからデータ取得 68 stream = p.open(format = FORMAT, 69 channels = CHANNELS, 70 rate = RATE, 71 input = True, 72 frames_per_buffer = chunk) 73 all = [] 74 for i in range(0, RATE / chunk * RECORD_SECONDS): 75 data = stream.read(chunk) 76 all.append(data) 77 78 stream.close() 79 data = ''.join(all) 80 out = wave.open(PATH,'w') 81 out.setnchannels(1) #mono 82 out.setsampwidth(2) #16bits 83 out.setframerate(RATE) 84 out.writeframes(data) 85 out.close() 86 87 p.terminate() 88 89 message = recognize() 90 talk_message = dialogue(message) 91 talk(talk_message, CARD, DEVICE) 92 93

このエラーの発生原因及び修正方法について教えていただきたいです

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

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

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

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

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

CHERRY

2018/01/11 08:01

Unable to connect: Connection refused とか Cannot connect to server socket err = No such file or directory Cannot connect to server request channel jack server is not running or cannot be started とか 言われていますけど サーバーに接続して通信できてますか?
x066

2018/01/11 14:23

無線でインターネットには接続できています。APIキーに関しましては他のプログラムだと問題なく接続できますが、なぜかこのプログラムはできません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問