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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

受付中

リアルタイム音声認識の完成度をあげたい!

jajauma007
jajauma007

総合スコア13

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

0回答

0評価

0クリップ

6660閲覧

投稿2018/05/30 19:37

話した内容がテキスト化される音声認識をGoogleAPIを用いて実装中
一応話した内容が表示されるようになったのだが・・・

・音声ファイルをGoogleサーバに送る
・認識結果を受け取る
・認識結果を表示する

この間に話した内容はstreamをcloseにしているので録音されていない
(streamをcloseにしている理由は、openのまま音声認識を行うとinputOverFlowと表示され、エラーが発生するため)

【課題】
Googleサーバで音声認識をしている間に話している内容を録音したい
(音声の録音と音声認識は並列処理?で行える??)

Python

##### coding:utf8 import base64 from googleapiclient import discovery import httplib2 import pyaudio #録音機能を使うためのライブラリ import wave #wavファイルを扱うためのライブラリ import time import math import audioop #APIキーを設定 key = "APIキー" DISCOVERY_URL = ('https://{api}.googleapis.com/$discovery/rest?' 'version={apiVersion}') #音声を保存するファイル名 WAVE_OUTPUT_FILENAME = "sample10.wav" RATE = 44100 CHUNK = 1024 CHANNELS = 1 FORMAT = pyaudio.paInt16 DECIBEL_THRESHOLD=50 frames=[] frame_counter = 0 start_Rec = False def get_speech_service(): http = httplib2.Http() return discovery.build( 'speech', 'v1', http=http, discoveryServiceUrl=DISCOVERY_URL, developerKey=key) def SpeechAPI(): #音声ファイルを開く waveFile = wave.open(WAVE_OUTPUT_FILENAME, 'wb') waveFile.setnchannels(CHANNELS) waveFile.setsampwidth(p.get_sample_size(FORMAT)) waveFile.setframerate(RATE) waveFile.writeframes(b''.join(frames)) waveFile.close() with open(WAVE_OUTPUT_FILENAME, 'rb') as speech: speech_content = base64.b64encode(speech.read()) #APIの情報を取得して、音声認識を行う service = get_speech_service() service_request = service.speech().recognize( body={ 'config': { 'encoding': 'LINEAR16', 'sampleRateHertz': 44100, 'languageCode': 'ja-JP', #日本語に設定 'enableWordTimeOffsets': 'false', }, 'audio': { 'content': speech_content.decode('UTF-8') } }) #SpeechAPIによる認識結果を保存 response = service_request.execute() #見やすいようにコンソール画面で出力 for i in response["results"]: print(i["alternatives"][0]["transcript"],"confidence:" , i["alternatives"][0]["confidence"]) if __name__=='__main__': p = pyaudio.PyAudio() stream = p.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK) while True: data=stream.read(CHUNK)#ストリームを開く rms=audioop.rms(data,2) decibel=20*math.log10(rms) if decibel >= DECIBEL_THRESHOLD:#音圧レベルが50dB以上なら録音開始 start_Rec=True frame_counter=0 if start_Rec==True and decibel<DECIBEL_THRESHOLD: frame_counter+=1 if frame_counter>=20:#録音開始後、20チャンク分の無音が続いた場合は録音終了 frame_counter=0 start_Rec=False stream.stop_stream() stream.close()#ストリーム閉じる p.terminate() SpeechAPI()#音声認識 stream = p.open(format=FORMAT,#ストリーム再開 channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK) frames=[] if start_Rec==True: frames.append(data)

元々の文章
赤ちゃんの鳴き声を翻訳するアプリが自閉症の早期発見を加速する。
赤ちゃんの鳴き声をアルゴリズムによって解析し、(※ここは認識中に読み上げて録音されなかった)
人工知能 AI によって泣いている理由を教えてくれる無料アプリが公開された

赤ちゃんの鳴き声を翻訳するアプリが自閉症の早期発見を加速する confidence: 0.9511766 人工知能 AI によって泣いている理由を教えてくれる無料アプリが公開された confidence: 0.93573725

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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