# -*- 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)
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']
# -*- 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)
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: