forked from watson-developer-cloud/python-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathspeech_to_text_v1.py
More file actions
57 lines (44 loc) · 1.71 KB
/
speech_to_text_v1.py
File metadata and controls
57 lines (44 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
from __future__ import print_function
import json
from os.path import join, dirname
from watson_developer_cloud import SpeechToTextV1
from watson_developer_cloud.websocket import RecognizeCallback
speech_to_text = SpeechToTextV1(
username='YOUR SERVICE USERNAME',
password='YOUR SERVICE PASSWORD',
url='https://stream.watsonplatform.net/speech-to-text/api')
print(json.dumps(speech_to_text.list_models(), indent=2))
print(json.dumps(speech_to_text.get_model('en-US_BroadbandModel'), indent=2))
with open(join(dirname(__file__), '../resources/speech.wav'),
'rb') as audio_file:
print(
json.dumps(
speech_to_text.recognize(
audio=audio_file,
content_type='audio/wav',
timestamps=True,
word_confidence=True),
indent=2))
# Example using websockets
class MyRecognizeCallback(RecognizeCallback):
def __init__(self):
RecognizeCallback.__init__(self)
def on_transcription(self, transcript):
print(transcript)
def on_connected(self):
print('Connection was successful')
def on_error(self, error):
print('Error received: {}'.format(error))
def on_inactivity_timeout(self, error):
print('Inactivity timeout: {}'.format(error))
def on_listening(self):
print('Service is listening')
def on_transcription_complete(self):
print('Transcription completed')
def on_hypothesis(self, hypothesis):
print(hypothesis)
mycallback = MyRecognizeCallback()
with open(join(dirname(__file__), '../resources/speech.wav'),
'rb') as audio_file:
speech_to_text.recognize_with_websocket(
audio=audio_file, recognize_callback=mycallback)