问题描述
尝试在标准IBM Watson S2T模型上测试mp3文件时,我得到以下输出:
<bound method DetailedResponse.get_result of <ibm_cloud_sdk_core.detailed_response.DetailedResponse object at 0x00000250B1853700>>
这是我的代码:
api = IAMAuthenticator(api_key)
speech_to_text = SpeechToTextV1(authenticator=api)
speech_to_text.set_service_url(url)
with open(mp3-file,"rb") as audio_file:
result = speech_to_text.recognize(
model='de-DE_broadbandModel',audio=audio_file,content_type="audio/mp3"
).get_result
print(result)
我对这个话题还很陌生,还没有真正弄清楚参数是什么。我希望有这样的输出
{'result': [...]}
我关注了this tutorial。 我在做什么错了?
解决方法
get_result
是一种方法,因此您需要调用它。您正在打印该方法,而不是调用它。因此,您的输出显示了
<bound method DetailedResponse.get_result ...
应该用几个方括号将其修复。
with open(mp3-file,"rb") as audio_file:
result = speech_to_text.recognize(
model='de-DE_BroadbandModel',audio=audio_file,content_type="audio/mp3"
).get_result()
,
以下是使用示例audio_file2.mp3
import json
from os.path import join,dirname
from ibm_watson import SpeechToTextV1
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
authenticator = IAMAuthenticator('{api_key}')
speech_to_text = SpeechToTextV1(
authenticator=authenticator
)
speech_to_text.set_service_url('{url}')
with open(join(dirname(__file__),'./.','audio-file2.mp3'),'rb') as audio_file:
speech_recognition_results = speech_to_text.recognize(
audio=audio_file,content_type='audio/mp3',word_alternatives_threshold=0.9
).get_result()
print(json.dumps(speech_recognition_results,indent=2))
步骤:
- 创建Watson Speech-to-Text service
- 用语音到文本服务凭据替换Python代码中的
{url}
和{api_key}
。 - 将代码保存为
speech-to-text.py
的文件。 - 在命令提示符或终端上,运行
pip install ibm-watson
,然后运行python speech-to-text.py
,以查看与以下所示类似的结果
请参阅speech-to-text api docs,以获取更多选项。
{
"result_index": 0,"results": [
{
"final": true,"alternatives": [
{
"transcript": "a line of severe thunderstorms with several possible tornadoes is approaching Colorado on Sunday ","confidence": 1.0
}
],"word_alternatives": [
{
"start_time": 0.2,"end_time": 0.35,"alternatives": [
{
"word": "a","confidence": 0.94
}
]
},{
"start_time": 0.35,"end_time": 0.69,"alternatives": [
{
"word": "line",{
"start_time": 0.69,"end_time": 0.78,"alternatives": [
{
"word": "of","confidence": 1.0
}
]
},{
"start_time": 0.78,"end_time": 1.13,"alternatives": [
{
"word": "severe",{
"start_time": 1.13,"end_time": 1.9,"alternatives": [
{
"word": "thunderstorms",{
"start_time": 4.0,"end_time": 4.18,"alternatives": [
{
"word": "is",{
"start_time": 4.18,"end_time": 4.63,"alternatives": [
{
"word": "approaching",{
"start_time": 4.63,"end_time": 5.21,"alternatives": [
{
"word": "Colorado","confidence": 0.93
}
]
},{
"start_time": 5.21,"end_time": 5.37,"alternatives": [
{
"word": "on",{
"start_time": 5.37,"end_time": 6.09,"alternatives": [
{
"word": "Sunday","confidence": 0.94
}
]
}
]
}
]
}