└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Voice-Prints 2 | Create speaker voiceprints from a few seconds of audio. And, identify individuals in real-time streaming or recorded conversations. 3 | 4 |

Speaker Enrollment API for Identification (REST Api)

5 | 6 | Speaker enrollment api enrolls user for [Speaker Identification Api](https://docs.deepaffects.com/docs/speaker-identification-api.html) and [Realtime Speaker Identification Api](https://docs.deepaffects.com/docs/realtime-speaker-identification-api.html). 7 | 8 | ### POST Request 9 | 10 | `POST https://proxy.api.deepaffects.com/audio/generic/api/v1/sync/diarization/enroll` 11 | 12 | ### Sample Code 13 | 14 | ```shell 15 | curl -X POST "https://proxy.api.deepaffects.com/audio/generic/api/v1/sync/diarization/enroll?apikey=" -H 'content-type: application/json' -d @data.json 16 | 17 | # contents of data.json 18 | {"content": "bytesEncodedAudioString", "sampleRate": 8000, "encoding": "FLAC", "languageCode": "en-US", "speakerId": "user1" } 19 | ``` 20 | 21 | ### Output 22 | 23 | ```shell 24 | # Sync: 25 | 26 | { 27 | "message": "Success" 28 | } 29 | ``` 30 | 31 | > For every successfull enrollment the response will containe message as "Success". 32 | > Repeat the enrollment with different audios untill the status message changes to 33 | > "Complete". Then proceed with speaker identification 34 | 35 | 36 | 37 | > Enroll a user atleast thrice with 3 different audio, each about 10-12 seconds. 38 | > The more diverse the enrollment audio files, the better the accuracy for identification. 39 | 40 | ### Body Parameters 41 | 42 | | Parameter | Type | Description | Notes | 43 | | ------------ | ------ | ----------------------------------------- | ---------------------------- | 44 | | encoding | String | Encoding of audio file like MP3, WAV etc. | | 45 | | sampleRate | Number | Sample rate of the audio file. | | 46 | | languageCode | String | Language spoken in the audio file. | [default to 'en-US'] | 47 | | content | String | base64 encoding of the audio file. | | 48 | | speakerId | String | speaker id tobe registered | | 49 | 50 | ### Query Parameters 51 | 52 | | Parameter | Type | Description | Notes | 53 | | --------- | ------ | ----------- | ----------------------------------------------- | 54 | | api_key | String | The apikey | Required for authentication inside all requests | 55 | 56 | ### Output Parameters (Sync) 57 | 58 | | Parameter | Type | Description | Notes | 59 | | --------- | ------ | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 60 | | message | String | Status of enrollment Success or Complete | Success: Current enrollment is successfull, Complete: Enrollment is completed, Repeat the enrollments with different audio samples until Complete message is received | 61 | 62 | ### Speaker Enrollment Delete API for Identification (REST Api) 63 | 64 | This API deletes speaker enrollment for the user 65 | 66 | ### POST Request 67 | 68 | `POST https://proxy.api.deepaffects.com/audio/generic/api/v1/sync/diarization/delete` 69 | 70 | ### Sample Code 71 | 72 | ### Shell 73 | 74 | ```shell 75 | curl -X POST "https://proxy.api.deepaffects.com/audio/generic/api/v1/sync/diarization/delete?apikey=" -H 'content-type: application/json' -d @data.json 76 | 77 | # contents of data.json 78 | {"speakerId": "user1"} 79 | ``` 80 | 81 | ```shell 82 | # The above command returns output: 83 | { 84 | "message": "Success" 85 | } 86 | ``` 87 | 88 | ### Body Parameters 89 | 90 | | Parameter | Type | Description | Notes | 91 | | --------- | ------ | --------------------------- | ----- | 92 | | speakerId | String | speaker id to be registered | | 93 | 94 | ### Query Parameters 95 | 96 | | Parameter | Type | Description | Notes | 97 | | --------- | ------ | ----------- | ----------------------------------------------- | 98 | | api_key | String | The apikey | Required for authentication inside all requests | 99 | 100 | ### Output Parameters (Sync) 101 | 102 | | Parameter | Type | Description | Notes | 103 | | --------- | ------ | -------------- | ------------------ | 104 | | message | String | Request status | Success or Failure | 105 | 106 | ### Get Enrolled Speakers Api 107 | 108 | This API lists all the enrolled speakers enrolled for a developer along with enrollment status 109 | 110 | ### GET Request 111 | 112 | `GET https://proxy.api.deepaffects.com/audio/generic/api/v1/sync/diarization/get_enrolled_speakers` 113 | 114 | ### Sample Code 115 | 116 | ### Shell 117 | 118 | ```shell 119 | curl -X GET "https://proxy.api.deepaffects.com/audio/generic/api/v1/sync/diarization/get_enrolled_speakers?apikey=" 120 | 121 | ```shell 122 | # The above command returns output: 123 | { 124 | "developer_id": "testuser", 125 | "enrolled_speaker_ids": [ 126 | { 127 | "speaker_id": "speaker_1", 128 | "enrollment_complete" "True" 129 | } 130 | ] 131 | } 132 | ``` 133 | 134 | ### Query Parameters 135 | 136 | | Parameter | Type | Description | Notes | 137 | | --------- | ------ | ----------- | ----------------------------------------------- | 138 | | apikey | String | The apikey | Required for authentication inside all requests | 139 | 140 | ## About 141 | 142 | DeepAffects is a speech analysis platform for Developers. We offer a number of speech analysis apis like, Speech Enhancement, Multi-Speaker Diarization, Emotion Recognition, Voice-prints, Conversation Metrics etc. For more information, checkout our [developer portal](https://developers.deepaffects.com) 143 | --------------------------------------------------------------------------------