Azure Speaker Recognition - 如何向用户配置文件添加新的 key/value?

Azure Speaker Recognition - How to add a new key/value to a users profile?

我正在使用 python sdk 通过 Microsoft 认知服务进行说话人识别 [我正在识别文件夹中工作];当我 运行 CreateProfile.py 文件时,我正在尝试为配置文件提供用户名。因此,例如,我会 运行 我的 main.py 文件,然后我会尝试传递语言环境和 名称

import sys
sys.path.append('./Identification')
from CreateProfile import create_profile

name="Jane Doe"
subscriptionKey = "<my subscription key>"
locale = "en-us"

create_profile(name, subscriptionKey, locale)

一旦我 运行 获取配置文件 GetProfile.py 我希望它输出所有用户的信息,包括他们的用户名。但是我在终端中得到了返回。

Profile Name = None
Profile ID = 93affed1-ceb2-4538-9e6b-f0bd22d123b0
Locale = en-us
Enrollments Speech Time = 0.0
Remaining Enrollment Time = 30.0
Created = 2017-10-07T02:03:51.956Z
Last Action = 2017-10-07T02:03:51.956Z
Enrollment Status = Enrolling

我尝试通过在 class 中添加 _PROFILE_NAME = 'identificationProfileName' 之类的内容来编辑 IdentificationProfile.py,我在很多地方添加了与此相关的更改,但我仍然当我 运行 GetProfile.py

时没有看到返回的名字

这是我的IdentificationProfile.py

import IdentificationServiceHttpClientHelper
import sys

def get_profile(subscription_key, profile_id):
    """Get a speaker's profile with given profile ID

    Arguments:
    subscription_key -- the subscription key string
    profile_id -- the profile ID of the profile to resets
    """
    helper = IdentificationServiceHttpClientHelper.IdentificationServiceHttpClientHelper(
        subscription_key)

    profile = helper.get_profile(profile_id)

    print('Profile Name = {0}\n Profile ID = {1}\nLocale = {2}\nEnrollments Speech Time = {3}\nRemaining Enrollment Time = {4}\nCreated = {5}\nLast Action = {6}\nEnrollment Status = {7}\nName\n'.format(
        profile._profile_name,
        profile._profile_id,
        profile._locale,
        profile._name,
        profile._enrollment_speech_time,
        profile._remaining_enrollment_time,
        profile._created_date_time,
        profile._last_action_date_time,
        profile._enrollment_status))


if __name__ == "__main__":
    if len(sys.argv) < 3:
        print('Usage: python DeleteProfile.py <subscription_key> <profile_id> ')
        print('\t<subscription_key> is the subscription key for the service')
        print('\t<profile_id> the ID for a profile to delete from the sevice')
        sys.exit('Error: Incorrect usage.')
    get_profile(sys.argv[1], sys.argv[2])

您不能为身份配置文件命名。 python SDK 使用的 HTTP endpoint 不接受语音区域设置以外的任何参数。

您必须自己将用户名映射到标识配置文件 ID。您可以为此使用数据库,也许是 Azure MySQL db。或者,如果您只是想测试一下,请使用内存映射(又名字典)。