Python 中的 IBM 音素检测
IBM Phoneme Detection in Python
我正在尝试使用 watson developer cloud python library to interface with the IBM Speech to Text API 来检测某些文本中存在哪些音素或音节。但是我 运行 遇到了一些与名为 customization_id
的必需参数相关的问题,我希望有人能够提供更多关于传递什么值的上下文。我无法做到阅读文档后理解。这是一个代码片段:
from watson_developer_cloud import TextToSpeechV1, WatsonApiException
API_KEY = "<redacted>"
URL = "https://gateway-wdc.watsonplatform.net/text-to-speech/api"
client = TextToSpeechV1(iam_apikey=API_KEY, url=URL)
try:
#response = client.get_word(customization_id="1", word="HELLO WORLD")
#> Malformed GUID: '1'
#response = client.get_word(word="HELLO WORLD")
#> get_word() missing 1 required positional argument: 'customization_id'
#response = client.get_word(customization_id=None, word="HELLO WORLD")
#> ValueError: customization_id must be provided
#response = client.get_word(customization_id="GA", word="HELLO WORLD")
#> ERROR 400: Malformed GUID: 'GA'
# WHAT VALUE TO USE FOR CUSTOMIZATION_ID ??? ...
response = client.get_word(customization_id="_______", word="HELLO WORLD") #>
print("RESPONSE")
print(type(response))
except WatsonApiException as ex:
print(f"ERROR {str(ex.code)}: {ex.message}")
编辑:预期值可能是新自定义语音模型的标识符。我已经开始研究该策略 here,但不幸的是,我也 运行 研究了该策略的问题。该方法可能类似于:
# ...
voice_model_response = client.create_voice_model(
name="My Custom Model",
language=LANG,
description="to get a valid 'customization_id' value..."
).get_result()
customization_id = voice_model_response["customization_id"]
response = client.get_word(customization_id=customization_id, word="HELLO WORLD")
# ...
我认为您误读了 Speech to Text 服务的文档。
您可以创建自定义来修改语料库使用发音检测单词的方式
https://cloud.ibm.com/apidocs/speech-to-text?code=python#add-custom-words
但要做到这一点,您需要创建一个自定义项,而使用精简版帐户则无法做到这一点。
https://cloud.ibm.com/apidocs/speech-to-text?code=python#create-a-custom-language-model
您可以使用 API 列出您已经创建的自定义项。
https://cloud.ibm.com/apidocs/speech-to-text?code=python#list-custom-language-models
原来我使用了错误的 URL 和错误的 API 密钥。在将 URL 修复为真正的“https://gateway-wdc.watsonplatform.net/text-to-speech/api”并创建和升级新的标准级文本到语音服务并使用该服务的 API 键后,我能够实现两个 -我在问题的更新部分提到的步骤过程。
我正在尝试使用 watson developer cloud python library to interface with the IBM Speech to Text API 来检测某些文本中存在哪些音素或音节。但是我 运行 遇到了一些与名为 customization_id
的必需参数相关的问题,我希望有人能够提供更多关于传递什么值的上下文。我无法做到阅读文档后理解。这是一个代码片段:
from watson_developer_cloud import TextToSpeechV1, WatsonApiException
API_KEY = "<redacted>"
URL = "https://gateway-wdc.watsonplatform.net/text-to-speech/api"
client = TextToSpeechV1(iam_apikey=API_KEY, url=URL)
try:
#response = client.get_word(customization_id="1", word="HELLO WORLD")
#> Malformed GUID: '1'
#response = client.get_word(word="HELLO WORLD")
#> get_word() missing 1 required positional argument: 'customization_id'
#response = client.get_word(customization_id=None, word="HELLO WORLD")
#> ValueError: customization_id must be provided
#response = client.get_word(customization_id="GA", word="HELLO WORLD")
#> ERROR 400: Malformed GUID: 'GA'
# WHAT VALUE TO USE FOR CUSTOMIZATION_ID ??? ...
response = client.get_word(customization_id="_______", word="HELLO WORLD") #>
print("RESPONSE")
print(type(response))
except WatsonApiException as ex:
print(f"ERROR {str(ex.code)}: {ex.message}")
编辑:预期值可能是新自定义语音模型的标识符。我已经开始研究该策略 here,但不幸的是,我也 运行 研究了该策略的问题。该方法可能类似于:
# ...
voice_model_response = client.create_voice_model(
name="My Custom Model",
language=LANG,
description="to get a valid 'customization_id' value..."
).get_result()
customization_id = voice_model_response["customization_id"]
response = client.get_word(customization_id=customization_id, word="HELLO WORLD")
# ...
我认为您误读了 Speech to Text 服务的文档。
您可以创建自定义来修改语料库使用发音检测单词的方式
https://cloud.ibm.com/apidocs/speech-to-text?code=python#add-custom-words
但要做到这一点,您需要创建一个自定义项,而使用精简版帐户则无法做到这一点。
https://cloud.ibm.com/apidocs/speech-to-text?code=python#create-a-custom-language-model
您可以使用 API 列出您已经创建的自定义项。
https://cloud.ibm.com/apidocs/speech-to-text?code=python#list-custom-language-models
原来我使用了错误的 URL 和错误的 API 密钥。在将 URL 修复为真正的“https://gateway-wdc.watsonplatform.net/text-to-speech/api”并创建和升级新的标准级文本到语音服务并使用该服务的 API 键后,我能够实现两个 -我在问题的更新部分提到的步骤过程。