Esempio n. 1
0
# -*- coding: utf-8 -*-
import requests
import json
import codecs
import sys, time
from requests.packages.urllib3.exceptions import InsecureRequestWarning
import env

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)


##########################################################################
# Delete an audio source file from the acoustic model
##########################################################################

print "\nDeleting audio source ..."

audio_name = env.get_arg("name of audio source")
headers = {'Content-Type' : "application/json"}
uri = "https://gateway-lon.watsonplatform.net/speech-to-text/api/v1/acoustic_customizations/"+env.get_acoustic_id()+"/audio/"+audio_name
r = requests.delete(uri, auth=(env.get_username(),env.get_password()), verify=False, headers=headers)

print "Delete audio source returns: ", r.status_code
if r.status_code != 200:
   print "Failed to delete audio source"
   print r.text
   sys.exit(-1)
else:
   sys.exit(0)
# -*- coding: utf-8 -*-
import requests
import json
import codecs
import sys, time
from requests.packages.urllib3.exceptions import InsecureRequestWarning
import env

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

##########################################################################
# Create a custom language model
##########################################################################

model_name = env.get_arg("language model name")
print "\nCreate a new language custom model: " + model_name

headers = {'Content-Type': "application/json"}
data = {
    "name": model_name,
    "base_model_name": "en-US_NarrowbandModel",
    "description": "My narrowband language model"
}
uri = "https://stream.watsonplatform.net/speech-to-text/api/v1/customizations/"
jsonObject = json.dumps(data).encode('utf-8')
r = requests.post(uri,
                  auth=(env.get_username(), env.get_password()),
                  verify=False,
                  headers=headers,
                  data=jsonObject)
Esempio n. 3
0
try:
    language_id = "&language_customization_id=" + os.environ['LANGUAGE_ID']
    print(" - custom language model (id: %s)" % os.environ['LANGUAGE_ID'])
except:
    language_id = ""
    print(" - base language model")

try:
    acoustic_id = "&acoustic_customization_id=" + os.environ['ACOUSTIC_ID']
    print(" - custom acoustic model (id: %s)" % os.environ['ACOUSTIC_ID'])
except:
    acoustic_id = ""
    print(" - base acoustic model")

audio_file = env.get_arg("audio file to transcribe")
uri = env.get_endpoint(
) + "/v1/recognize?model=en-US_NarrowbandModel" + language_id + acoustic_id
with open(audio_file, 'rb') as f:
    r = requests.post(uri,
                      auth=(env.get_username(), env.get_password()),
                      verify=False,
                      headers=headers,
                      data=f)

output_file = open(audio_file.replace('.wav', '') + '.transcript', 'w')
transcript = ""
print(r.json())
for result in r.json()['results']:
    for alternative in result['alternatives']:
        transcript += alternative['transcript']
Esempio n. 4
0
# -*- coding: utf-8 -*-
import requests
import json
import codecs
import sys, time
from requests.packages.urllib3.exceptions import InsecureRequestWarning
import env

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

##########################################################################
# Delete a corpus file from a custom language model
##########################################################################

corpusName = env.get_arg("corpus filename")

print("\nDeleting corpus ...")

headers = {'Content-Type': "application/json"}
uri = "https://stream.watsonplatform.net/speech-to-text/api/v1/customizations/" + env.get_language_id(
) + "/corpora/" + corpusName
r = requests.delete(uri,
                    auth=(env.get_username(), env.get_password()),
                    verify=False,
                    headers=headers)

print("Delete corpus returns: ", r.status_code)
if r.status_code != 200:
    print("Failed to get corpus")
    print(r.text)
    sys.exit(-1)
# -*- coding: utf-8 -*-
import requests
import json
import codecs
import sys, time
from requests.packages.urllib3.exceptions import InsecureRequestWarning
import env

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

##########################################################################
# Create a new custom acoustic model
##########################################################################

model_name = env.get_arg("acoustic model name")
print("\nCreate a new acoustic custom model: " + model_name)

headers = {'Content-Type': "application/json"}
data = {
    "name": model_name,
    "base_model_name": "en-US_NarrowbandModel",
    "description": "My narrowband acoustic model"
}
uri = env.get_endpoint() + "/v1/acoustic_customizations"
jsonObject = json.dumps(data).encode('utf-8')
resp = requests.post(uri,
                     auth=(env.get_username(), env.get_password()),
                     verify=False,
                     headers=headers,
                     data=jsonObject)
Esempio n. 6
0
import codecs
import sys, time
from requests.packages.urllib3.exceptions import InsecureRequestWarning
import env

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

##########################################################################
# Step 1: Add a corpus file (plain text file)
##########################################################################
# 'dictation_fixed.txt' is name of local file containing the corpus to be uploaded
# 'dictation-1' is the name of the new corpus
# >>>> REPLACE THE VALUES BELOW WITH YOUR OWN CORPUS FILE AND NAME
#corpus_file = "dictation_fixed.txt"
#corpus_name = "dictation-1"
corpus_file = env.get_arg("corpus filename")
print "\nAdding corpus file: " + corpus_file

headers = {'Content-Type': "application/json"}
uri = "https://stream.watsonplatform.net/speech-to-text/api/v1/customizations/" + env.get_language_id(
) + "/corpora/" + corpus_file
with open(corpus_file, 'rb') as f:
    r = requests.post(uri,
                      auth=(env.get_username(), env.get_password()),
                      verify=False,
                      headers=headers,
                      data=f)

print "Adding corpus file returns: ", r.status_code
if r.status_code != 201:
    print "Failed to add corpus file"
# -*- coding: utf-8 -*-
import requests
import json
import codecs
import sys, time
from requests.packages.urllib3.exceptions import InsecureRequestWarning
import env

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

##########################################################################
# Add an archive of audio files (wav files)
# You can add multiple audio sources to an acousic model
##########################################################################

audio_filename = env.get_arg("audio filename")
print "\nAdding audio source ..."

headers = {'Content-Type': "application/zip"}
uri = "https://gateway-lon.watsonplatform.net/speech-to-text/api/v1/acoustic_customizations/" + env.get_acoustic_id(
) + "/audio/" + audio_filename

with open(audio_filename, 'rb') as f:
    r = requests.post(uri,
                      auth=(env.get_username(), env.get_password()),
                      verify=False,
                      headers=headers,
                      data=f)

print "Adding audio source returns: ", r.status_code
if r.status_code != 201: