0

Ich verwende die python sdk für Sprechererkennung mit Microsoft kognitiven Service [Ich arbeite in der Identifizierung Ordner]; Wenn ich die CreateProfile.py Datei durchführe versuche ich einem Profil einen Benutzernamen zu geben. So zum Beispiel würde ich meine main.py Datei ausführen und dann würde ich versuchen, das Gebietsschema und Name übergeben.Azure Speaker Recognition - Wie füge ich einem Benutzerprofil einen neuen Schlüssel/Wert hinzu?

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) 

Sobald ich das Get-Profil GetProfile.py ausführen Ich möchte es alle Benutzerinformationen einschließlich ihres Benutzernamens ausgeben. Aber ich bekomme das im Terminal zurück.

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 

Ich habe versucht, die IdentificationProfile.py Bearbeitung von Dingen wie _PROFILE_NAME = 'identificationProfileName' in der Klasse hinzufügen, ich habe eine Änderung dieses in vielen Orten im Zusammenhang hinzugefügt, aber ich sehe noch nicht den Namen zurückkehrt, wenn ich betreibe GetProfile.py

Das ist mein 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]) 

Antwort

1

Sie können keinen Namen ein Identifikationsprofil geben. Das vom Python-SDK verwendete HTTP endpoint akzeptiert keine anderen Parameter als das Gebietsschema für die Stimme.

Sie müssten Benutzernamen selbst ID-Profil-IDs zuordnen. Sie können dafür eine Datenbank verwenden, vielleicht eine Azure MySQL db. Oder, wenn Sie nur Dinge austesten, verwenden Sie eine In-Memory-Map (alias Wörterbuch).

Verwandte Themen