我试图使用修改的基于事件的合成代码示例提供的azure文档语音到语音翻译。但是,在这个过程中,我也希望识别扬声器(Seaker1,speaker2),但是我在Python SDK中没有看到一个函数可以帮助我识别扬声器作为Speech=to-Text翻译的一部分。有人能建议在语音到文本的翻译过程中识别说话人的方法吗?下面是代码片段:
def translate_speech_to_text():
translation_config = speechsdk.translation.SpeechTranslationConfig(subscription=speech_key, region=service_region)
translation_config.speech_recognition_language = from_language
translation_config.add_target_language(to_language)
translation_config.voice_name = "en-GB-Susan"
translation_config.request_word_level_timestamps()
translation_config.output_format = speechsdk.OutputFormat(0)
audio_input = speechsdk.AudioConfig(filename=filename)
recognizer = speechsdk.translation.TranslationRecognizer(translation_config = translation_config, audio_config = audio_input)
done = False
def stop_cb(evt):
"""callback that stops continuous recognition upon receiving an event `evt`"""
#print('CLOSING on {}'.format(evt))
recognizer.stop_continuous_recognition()
nonlocal done
done = True
all_results = []
def handle_final_result(evt):
#all_results.append(evt.result.text)
#all_results.append(evt.result.translations['en'])
all_results.append(evt.result.json)
recognizer.recognized.connect(handle_final_result)
# Connect callbacks to the events fired by the speech recognizer
recognizer.recognizing.connect(lambda evt: print('RECOGNIZING: {}'.format(evt)))
recognizer.recognized.connect(lambda evt: print('RECOGNIZED: {}'.format(evt)))
recognizer.session_started.connect(lambda evt: print('SESSION STARTED: {}'.format(evt)))
recognizer.session_stopped.connect(lambda evt: print('SESSION STOPPED {}'.format(evt)))
#recognizer.canceled.connect(lambda evt: print('CANCELED {}'.format(evt)))
recognizer.session_stopped.connect(stop_cb)
recognizer.canceled.connect(stop_cb)
def synthesis_callback(evt):
print('Audio: {}'.format(len(evt.result.audio)))
print('Reason: {}'.format(evt.result.reason))
with open('out.wav', 'wb') as wavfile:
wavfile.write(evt.result.audio)
recognizer.synthesizing.connect(synthesis_callback)
recognizer.start_continuous_recognition()
while not done:
time.sleep(.5)
print("Printing all results:")
print(all_results)
translate_speech_to_text()
如果要识别说话人,应使用语音服务
。
文本无关-识别单个说话人
Speech Services
有一个完整的SDK,使用C#
、C++
、JavaScript
、REST
,并且可以执行说话人识别
。(我搜索了Python SDK
,但没有找到可以直接用于识别它的方法。)
2.建议使用request发送http post请求。
请帮助建议我的问题在下面。 我尝试使用这里的示例代码创建注册 {“错误”:{“代码”:“未指定”,“消息”:“由于订阅密钥无效,访问被拒绝。请确保订阅了试图调用的API并提供正确的密钥。”}} 错误消息很奇怪,因为我使用了与成功创建配置文件相同的订阅密钥。
我正在尝试使用适用于Xamarin Android的Microsoft认知语音从麦克风构建连续语音识别。我认为没有Xamarin的库,所以我稍微修改了“Xamarin。认知。BingSpeech”库(endpoint等)以使其正常工作。我有一些问题 我想通过以下教程连接到microsoft web套接字https://docs.microsoft.com/en-us/azure/cognitive
我正在寻找一种匹配已知数据集的方法,比如说一个MP3或wav文件的列表,每个文件都是一个人说话的样本。在这一点上,我知道ABC文件是关于X个人的。 然后,我想再抽取一个样本,根据当时已知的数据集,进行一些语音匹配,以显示这个语音最有可能是谁。 此外,我不一定在乎这个人说了什么,只要我能找到匹配的,即我不需要任何抄写或其他方式。 我知道CMU狮身人面像不做语音识别,它主要用于语音到文本,但我见过其他
问题内容: 我正在尝试使用Google语音识别API。这是我编写的代码: http://pastebin.com/zJEhnJ74 有用。我从服务器得到答案: 现在的问题是“状态:5”。实际上,这是状态码: 我的问题是“音频文件不正确”。我不知道这是不是.flac文件错误(您可以在此处下载我的测试.flac文件:http ://www21.zippyshare.com/v/61888405/fil
如何将音频转录成文本在iOS10使用Speech.framework?
我正在努力寻找使用谷歌云语音API进行实时连续语音识别的例子。我的要求是使用麦克风,检测语音,并在用户说话时进行转录。 我知道他们的RESTAPI没有这种支持,所以我研究了grpc示例,包括他们提供的示例。但它们似乎都是用户可以上传音频并检测语音的例子。 我在Java,谷歌grpc也支持java。有人遇到一个很好的例子,展示了如何通过麦克风持续进行这种识别吗?