Skip to content

Daspeak Client usage

This is an example of how to use the Daspeak client:

Check if the API is alive

from vericlient import DaspeakClient

client = DaspeakClient(apikey="your_api_key")
print(f"Alive: {client.alive()}")

Get the available biometrics models

from vericlient import DaspeakClient

client = DaspeakClient(apikey="your_api_key")
print(f"Biometrics models: {client.get_models().models}")

Generate a credential from an audio file

The following code generates a credential from an audio file using the last model:

from vericlient import DaspeakClient
from vericlient.daspeak.models import GenerateCredentialInput

client = DaspeakClient(apikey="your_api_key")
model_input = GenerateCredentialInput(
    audio="/home/audio.wav",
    hash=client.get_models().models[-1],
)
generate_credential_output = client.generate_credential(model_input)
print(f"Credential generated with an audio file: {generate_credential_output.credential}")

You can also check the authenticity of the audio file, its duration, and its net speech duration:

print(f"Authenticity of the audio file: {generate_credential_output.authenticity}")
print(f"Duration of the audio file: {generate_credential_output.duration}")
print(f"Net speech duration of the audio file: {generate_credential_output.net_speech_duration}")

Generate a credential from a bytes object

from vericlient import DaspeakClient
from vericlient.daspeak.models import GenerateCredentialInput

client = DaspeakClient(apikey="your_api_key")
with open("/home/audio.wav", "rb") as f:
    model_input = GenerateCredentialInput(
        audio=f.read(),
        hash=client.get_models().models[-1],
    )
generate_credential_output = client.generate_credential(model_input)
print(f"Credential generated with virtual file: {generate_credential_output.credential}")

Compare a credential with an audio file

You can compare a credential with an audio file using the following code:

from vericlient import DaspeakClient
from vericlient.daspeak.models import CompareCredential2AudioInput

client = DaspeakClient(apikey="your_api_key")
compare_input = CompareCredential2AudioInput(
    audio_to_evaluate="/home/audio.wav",
    credential_reference=generate_credential_output.credential,
)
compare_output = client.compare(compare_input)
print(f"Similarity between the credential and the audio file: {compare_output.score}")

Similarly, you can check the authenticity of the audio file and its durations durations:

print(f"Authenticity of the audio file: {compare_output.authenticity_to_evaluate}")
print(f"Durations of the audio file: {compare_output.duration_to_evaluate}")
print(f"Net speech duration of the audio file: {compare_output.net_speech_duration_to_evaluate}")

Compare a credential with a bytes object

from vericlient import DaspeakClient
from vericlient.daspeak.models import CompareCredential2AudioInput

client = DaspeakClient(apikey="your_api_key")
with open("/home/audio.wav", "rb") as f:
    compare_input = CompareCredential2AudioInput(
        audio_to_evaluate=f.read(),
        credential_reference=generate_credential_output.credential,
    )
compare_output = client.compare(compare_input)
print(f"Similarity between the credential and the virtual file: {compare_output.score}")

Compare two audio files

You can compare two audio files, no matter if they are virtual or real:

from vericlient import DaspeakClient
from vericlient.daspeak.models import CompareAudio2AudioInput

client = DaspeakClient(apikey="your_api_key")
with open ("/home/audio.wav", "rb") as f:
    compare_input = CompareAudio2AudioInput(
        audio_reference="/home/audio.wav",
        audio_to_evaluate=f.read(),
    )
compare_output = client.compare(compare_input)
print(f"Similarity between the two audio files: {compare_output.score}")

Compare two credentials

You can compare two credentials using the following code:

from vericlient import DaspeakClient
from vericlient.daspeak.models import CompareCredential2CredentialInput

client = DaspeakClient(apikey="your_api_key")
compare_input = CompareCredential2CredentialInput(
    credential_reference=generate_credential_output.credential,
    credential_to_evaluate=generate_credential_output.credential,
)
compare_output = client.compare(compare_input)
print(f"Similarity between the two credentials: {compare_output.score}")

Identify a subject comparing an audio against a list of credentials

You can identify a subject comparing an audio against a list of credentials using the following code:

from vericlient import DaspeakClient
from vericlient.daspeak.models import CompareAudio2CredentialsInput

client = DaspeakClient(apikey="your_api_key")
compare_input = CompareAudio2CredentialsInput(
    audio_reference="/home/audio.wav",
    credential_list=[
        ("subject1_credential", generate_credential_output.credential),
        ("subject2_credential", generate_credential_output.credential),   
    ],
)
compare_output = client.compare(compare_input)
print(f"Subject identified: {compare_output.scores}")