0
Watsonサーバーのマイクを使ってリアルタイムでテキストを取得できる小さなPythonプログラムを作成しようとしています(here)。PythonのWatsonを使ったテキストへの連続リアルタイム音声
import pyaudio
import json
from watson_developer_cloud import SpeechToTextV1
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
RECORD_SECONDS = 10
p = pyaudio.PyAudio()
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK)
print("* recording")
frames = []
for i in range(0, int(RATE/CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data)
print("* done recording")
stream.stop_stream()
stream.close()
p.terminate()
data_feed = b''.join(frames)
speech_to_text = SpeechToTextV1(
username='secret',
password='secret too',
x_watson_learning_opt_out=False
)
result = speech_to_text.recognize(data_feed,
content_type="audio/l16;rate=44100;channels=2",
word_confidence=True,
max_alternatives=4,
word_alternatives_threshold=0.5,
model="en-US_BroadbandModel",
continuous=True)
j = json.dumps(result, indent=2)
print(j)
解決したい問題がありますか?コードを1行ずつ進めてみましたか? – alex
こんにちは@alex、現在のところ、PythonのSDKは、マイク経由で直接オーディオを取得する代わりに、オーディオファイルを使用することに限定されています。私は現在、マイクを使っている間にリアルタイムテキストを得ることを可能にするプロジェクトに取り組んでいます。 – DBeck
私は今、これを行うためにウェブソケットを使用しています、そして、私は明日までに何かを持っているかもしれないと思います。 – DBeck