FAQ
How can I convert mic-v1
voice templates to noctua
?¶
As of the 5.0.0 release, we introduced a new voice verification algorithm named noctua
.
The templates generated by the older mic-v1
algorithm are incompatible with noctua
.
Important
By default, the server now initializes with the noctua
algorithm. Therefore, previously generated mic-v1
voice templates won't work with the server unless additional configuration is applied. To use the mic-v1
algorithm, configure the voice verification component as follows:
$ docker run -d --name idvoice_server --publish 8080:8080 \
-e IDRND_VOICESDK_VERIFY_INIT_DATAS="mic-v1" \
-e IDRND_VOICESDK_VERIFY_DEFAULT_INIT_DATA="mic-v1" \
voicesdk-server:5.0.0
To facilitate migration and avoid re-enrolling users, we have provided an optional component with an API to convert mic-v1
templates into the noctua
format.
Here’s an example of how to configure IDVoice Server for voice template conversion:
$ docker run -d --name vrss --publish 8080:8080 \
-e IDRND_VOICESDK_COMPONENTS_TEMPLATE_CONVERTER ="true" \
voicesdk-server:5.0.0
To convert a template, you need to perform an HTTP POST request to the endpoint /voice_template_converter/convert_voice_template
with a Content-Type: application/json
header, and include a mic-v1
voice template string in the body.
# Start a server with both mic-v1 and noctua verification algorithms enabled,
# along with the template converter component.
$ docker run --detach --name vrss --publish 8080:8080 \
-e IDRND_VOICESDK_COMPONENTS_TEMPLATE_CONVERTER="true" \
-e IDRND_VOICESDK_VERIFY_INIT_DATAS="mic-v1,noctua" \
voicesdk-server:5.0.0
# Create a mic-v1 template
$ curl --silent --show-error \
-X POST -F wav_file=@audio.wav \
http://localhost:8080/voice_template_factory/create_voice_template_from_file?configuration=mic-v1 \
> mic-v1-template.txt
# Check the mic-v1 voice template init-data id
# Expected output: `"[R85SDNW]"`
$ curl --silent --show-error \
-X POST -H "Content-Type: application/json" --data @mic-v1-template.txt \
http://localhost:8080/voice_template_factory/get_voice_template_init_data_id
# Convert it to noctua
$ curl --silent --show-error \
-XPOST -H "Content-Type: application/json" --data @mic-v1-template.txt \
http://localhost:8080/voice_template_converter/convert_voice_template \
> noctua-template.txt
# Check that the new template has the noctua init-data id
# Expected output: "[NOCTUA]"
$ curl --silent --show-error \
-XPOST -H "Content-Type: application/json" --data @noctua-template.txt \
http://localhost:8080/voice_template_factory/get_voice_template_init_data_id