Text Independent - Create Enrollment

Registrare il profilo
Aggiunge le registrazioni al profilo esistente. Se viene raggiunto il numero minimo di audio di registrazione richiesti, viene creata una stampa vocale. Se la stampa vocale è stata creata in precedenza, viene ricreata da tutte le registrazioni esistenti, inclusa quella nuova.

Limitazioni

  • La lunghezza minima dell'input audio per ogni richiesta è di 1 secondo

  • La lunghezza massima dell'input audio per ogni richiesta è di 120 secondi

  • Lunghezza minima effettiva minima del parlato (escluso il silenzio e altri fotogrammi non vocali) per la creazione di un'impronta vocale è di 20 secondi Questa limitazione può essere disabilitata impostando "ignoreMinLength" su true.

  • La lunghezza massima di input audio totale consentita per la creazione di un'impronta vocale è di 300 secondi

  • Il rapporto minimo tra segnale audio e disturbo (SNR) è 0dB

POST {Endpoint}/speaker/verification/v2.0/text-independent/profiles/{profileId}/enrollments
POST {Endpoint}/speaker/verification/v2.0/text-independent/profiles/{profileId}/enrollments?ignoreMinLength={ignoreMinLength}

Parametri dell'URI

Name In Required Type Description
Endpoint
path True
  • string

Endpoint di Servizi cognitivi supportati (protocollo e nome host, ad esempio: https://westus.api.cognitive.microsoft.com) .

profileId
path True
  • string
uuid

Identificatore univoco per l'ID profilo (GUID).

Regex pattern: ^([0-9a-fA-F]){8}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){4}-?([0-9a-fA-F]){12}$

ignoreMinLength
query
  • boolean

Se true, verrà creata immediatamente una stampa vocale per questo profilo, indipendentemente dalla quantità di voce fornita o archiviata. L'impostazione predefinita è false.

Intestazione della richiesta

Media Types: "audio/wav; codecs=audio/pcm"

Name Required Type Description
Ocp-Apim-Subscription-Key True
  • string

Corpo della richiesta

Media Types: "audio/wav; codecs=audio/pcm"

Name Type Description
audioData
  • object

File audio binario. I formati supportati sono audio/wav. codecs=audio/pcm. Supporta audio fino a 5 MB.

Risposte

Name Type Description
201 Created

Data di creazione

400 Bad Request

Bad Request

  • InvalidRequest: lunghezza audio non valida. La lunghezza massima consentita per ogni richiesta di registrazione è di 120 secondi.
  • InvalidRequest: lunghezza audio non valida. La lunghezza minima consentita per ogni richiesta di registrazione è di 1 secondo.
  • InvalidRequest: formato audio non valido. Il formato supportato è 16Khz 16 bit Mono PCM.
  • InvalidArgument: valore del parametro ignoreMinLength non valido. I valori validi sono "true" e "false".
  • InvalidRequest: l'audio è troppo rumoroso. Il rapporto minimo tra segnale e rumore (SNR) consentito è 0dB.
401 Unauthorized

La richiesta non è autorizzata. Assicurarsi che la chiave di sottoscrizione sia inclusa e valida.

403 Forbidden

Accesso negato

  • InvalidRequest: la lunghezza massima consentita per tutte le registrazioni del profilo è di 300 secondi.
404 Not Found

NotFound: il profilo richiesto non esiste

500 Internal Server Error

Errore interno del server.

Other Status Codes

Conflitto

  • Conflitto: l'invio di richieste simultanee nello stesso profilo non è consentito.
Other Status Codes

UnsupportedMediaType: tipo di supporto non supportato. Solo "audio/wav; codecs=audio/pcm" è accettato.

Other Status Codes

Il limite di velocità è stato superato.

Sicurezza

Ocp-Apim-Subscription-Key

Type: apiKey
In: header

Esempio

Successful Query

Sample Request

POST {Endpoint}/speaker/verification/v2.0/text-independent/profiles/49a36324-fc4b-4387-aa06-090cfbf0064f/enrollments
Ocp-Apim-Subscription-Key: {API key}
"{binary file date}"

Sample Response

Content-Type: application/json
{
  "profileId": "49a36324-fc4b-4387-aa06-090cfbf0064f",
  "enrollmentStatus": "Enrolling",
  "enrollmentsCount": 1,
  "enrollmentsLength": 1.83,
  "enrollmentsSpeechLength": 1.35,
  "remainingEnrollmentsSpeechLength": 18.65,
  "audioLength": 1.83,
  "audioSpeechLength": 1.35
}
Content-Type: application/json
{
  "error": {
    "code": "InvalidRequest",
    "message": "Audio is too noisy."
  }
}
Content-Type: application/json
{
  "error": {
    "code": "Unauthorized",
    "message": "Request is not authorized. Make sure subscription key is included and valid."
  }
}
Content-Type: application/json
{
  "error": {
    "code": "InvalidRequest",
    "message": "Maximum allowed length across all profile enrollments is 300 seconds."
  }
}
Content-Type: application/json
{
  "error": {
    "code": "Not Found",
    "message": "Requested profile doesn't exist"
  }
}
Content-Type: application/json
{
  "error": {
    "code": "Conflict",
    "message": "Sending concurrent requests on same profile is not allowed."
  }
}
Content-Type: application/json
{
  "error": {
    "code": "UnsupportedMediaType",
    "message": "Unsupported media type. Only 'audio/wav; codecs=audio/pcm' is accepted."
  }
}
Content-Type: application/json
{
  "error": {
    "code": "RateLimit",
    "message": "Rate limit is exceeded."
  }
}
Content-Type: application/json
{
  "error": {
    "code": "InternalServerError",
    "message": "Internal Server Error."
  }
}

Definizioni

Error

Messaggio di errore del parlante

TiEnrollmentInfo

Text-Independent di registrazione del profilo voce

TrainingStatusType

Stato che rappresenta lo stato corrente del profilo. I valori disponibili sono:

  • Registrazione: il profilo non ha stampa vocale e non è pronto per le richieste di riconoscimento.
  • Training: la stampa vocale del profilo è in fase di creazione e non può essere usata per il riconoscimento al momento.
  • Registrato: il profilo ha una stampa vocale e pronto per le richieste di riconoscimento.

Error

Messaggio di errore del parlante

Name Type Description
error

TiEnrollmentInfo

Text-Independent di registrazione del profilo voce

Name Type Description
audioLength
  • number

Lunghezza dell'audio di iscrizione in secondi.

audioSpeechLength
  • number

Questa registrazione audio puro voce (che è la quantità di audio dopo la rimozione di silenzio e segmenti non voce) lunghezza in secondi.

enrollmentStatus

Stato che rappresenta lo stato corrente del profilo. I valori disponibili sono:

  • Registrazione: il profilo non ha stampa vocale e non è pronto per le richieste di riconoscimento.
  • Training: la stampa vocale del profilo è in fase di creazione e non può essere usata per il riconoscimento al momento.
  • Registrato: il profilo ha una stampa vocale e pronto per le richieste di riconoscimento.
enrollmentsCount
  • integer

Numero di audio di iscrizione accettati per questo profilo.

enrollmentsLength
  • number

Lunghezza totale degli audio di registrazione accettati per questo profilo in secondi.

enrollmentsSpeechLength
  • number

Somma del parlato puro (ovvero la quantità di audio dopo la rimozione del silenzio e dei segmenti non vocali) in tutte le registrazioni del profilo in secondi.

profileId
  • string

Identificatore univoco per l'ID profilo (GUID).

remainingEnrollmentsSpeechLength
  • number

Quantità di voce pura (ovvero la quantità di audio dopo la rimozione del silenzio e dei segmenti non vocali) necessaria per completare la registrazione del profilo in pochi secondi.

TrainingStatusType

Stato che rappresenta lo stato corrente del profilo. I valori disponibili sono:

  • Registrazione: il profilo non ha stampa vocale e non è pronto per le richieste di riconoscimento.
  • Training: la stampa vocale del profilo è in fase di creazione e non può essere usata per il riconoscimento al momento.
  • Registrato: il profilo ha una stampa vocale e pronto per le richieste di riconoscimento.
Name Type Description
Enrolled
  • string
Enrolling
  • string
Training
  • string