我是一名学生,用C#做与语音相关的项目。
我已经使用Azure Bing Speech API和Google Cloud Speech API将人们的声音作为文本。
但我还需要Azure Speaker Recognition API来识别和验证使用语音的单个发言人。
但是,即使使用Google搜索,也没有太多关于此API的信息。 Azure网站(特别是使用包含用户语音的wav文件识别和验证发言人的部分)非常简单......
我不知道如何加载wav文件以识别和验证C#代码中的发言人。
如何使用Azure Speaker Recognition API执行此操作?
我尝试过:
以下是Azure Site上的示例代码。
static async void MakeRequest()
{
var client = new HttpClient();
var queryString = HttpUtility.ParseQueryString(string.Empty);
// Request headers
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "subscription-key");
// Request parameters
queryString["shortAudio"] = "true";
var uri = "https://westus.api.cognitive.microsoft.com/spid/v1.0/identify?identificationProfileIds={identificationProfileIds}&" + queryString;
HttpResponseMessage response;
// Request body
byte[] byteData = Encoding.UTF8.GetBytes("{body}");
using (var content = new ByteArrayContent(byteData))
{
content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
response = await client.PostAsync(uri, content);
}
}
答案 0 :(得分:0)
对于Azure网站上的代码段,您始终需要替换{something}
表单的占位符,因此在您的情况下,您需要为identificationProfileIds
和{{1}填写相应的值}。此外,内容类型必须是body
或application/octet-stream
,而不是multipart/form-data
。
您可以使用预先构建的客户端SDK来保存大量的输入内容。您还可以查看该SDK的源代码,例如IdentifyAsync,了解HTTP请求的构造方式。