Exciting news—our API now features Speaker Separation! Isolate individual speakers from mono audio files, transforming them into stereo recordings with distinct channels. Dive deeper into dialogues with precision analysis. Check out how simple it is to use:

import nijtaio

# Set up API parameters
params = {  
    'separate': True,  
    # Add other anonymization parameters here  
}
# [...]
# Send audio for processing
response = nijtaio.send_request(["path/to/audio.wav"], params)
# [...]

Check the Speaker Separation section in the documentation for the complete sample code.

Introducing the power of regular expressions (regex) for precise text masking! Now, alongside Named Entity Recognition (NER), you can use regex patterns to mask specific entities, ensuring even the most intricate cases are handled.

Just use the new parameter regex_entitieswhen passing the anonymization parameters.

params = {
    'language': 'en_us',
    'regex_entities': [('[a-zA-Z0-9_.]+[@]{1}[a-z0-9]+[\.][a-z]+', 'Email Adress'),]  
}

By introducing aliases like HIPAA for PHI entities, users can simplify their anonymization efforts and maintain regulatory compliance effortlessly. Have ideas for more entity groups? Share them with us for even greater convenience!

params = {
    'entities': 'HIPAA'  # Pass aliases for group of entities
}

will be interpreted as:

params = {
		'entities': 'Name,Address,Zip Code,Date,Phone Number,Fax Number, Email addres, Social Security Number, ...'
}

Step into the world of temporal precision with our latest API upgrade! Meet the words parameter – a powerful addition that delivers exact start and end times for each word in your anonymized transcription.

🛠️ How to Harness Temporal Insight
Set the words parameter to True in your API request, and receive your anonymized transcription enriched with the addition of precise timestamps for each word.


params = {
    'language':'english_16',
    'gender':'f',
    'robotic':'false',
    'mask':'silence',
    'voice':True,
    'content':True,
    'entities': 'Name,Organization,Location,City,Country,Numbers,Age,Date,Credit Card Number,Email,Concept,Product,Event,Technology,Group,Medical Condition,Characteristic,Research,County',
    'words': True
}

will give:

{  
  'path/to/audio.wav': {  
    'audio': b'RIFFb\\x12\\x03\\x00WAVEfmt \\x10\\x00\[...]\\xff\\xeb\\xff\\xe6\\xff',  
    'transcription': 'Hey my name is <Name> I am from <City> ...',  
    'words': \[{'end': 1.14, 'start': 0.56, 'text': ' Hey'},  
             {'end': 1.32, 'start': 1.14, 'text': ' my'},  
             {'end': 1.48, 'start': 1.32, 'text': ' name'},  
             {'end': 1.76, 'start': 1.48, 'text': ' is'},  
             {'end': 1.92, 'start': 1.76, 'text': ' <Name>'},  
             [...]]  
  }  
}

Master time – Word Timestamps bring temporal precision to your fingertips! ⏰

Our latest update brings forth compatibility with AWS, allowing you to handle natively S3 datasets. Embrace the power of the cloud effortlessly, making your data integrate harmoniously with VoiceHabor.

## S3 bucket
storage_options = {
    "key": <AWS_ACCESS_KEY_ID>,
    "secret": <AWS_SECRET_ACCESS_KEY>
}
response = nijtaio.send_request('s3://my-bucket/',
                                params,
                                session_id,
                                headers=headers,
                                api_url=API_URL, 
                                storage_options=storage_options)

Now, effortlessly handle audio files, even those without extensions. No more worrying about file format dramas; our system seamlessly recognizes and processes your audio files, embracing an extension-agnostic approach. Whether your audio files flaunt their format with extensions or keep it a secret, our enhanced capabilities have got you covered.

Our speech anonymization just got an adrenaline shot with a 6x faster NER inference. Your content will now vanish into anonymity at warp speed. Upgrade now for a turbocharged experience! ⚡

Our pipeline used to return your anonymized audio in WAV format, sampled at 16 KHz, whatever you were filling it with. Now, the audio returned will groove to the same beat as the original. No more audio format clashes!
For those who used to the old WAV 16 KHz rhythm, you'll need a conversion post-anonymization. But hold tight, because future updates will let you set the audio format and sampling rate as your preference, giving you the ultimate control!

Select the sensitive elements that matter to you.
Our new Named Entity Recognition (NER) now offers an extensive range of entity categories. To exploit the full potential of this new NER, here's the game-changer: YOU get to choose which entities you want to conceal. So, to harness the full power of our enhanced NER, update your code to specify the types of entities you want to hide in each of your requests using the new "entities" parameter.


params = {
    'language':'english_16',
    'gender':'f',
    'voice':True,
    'content':True,
    'entities': 'Name,Country,Product,City,Event,Medical Condition'
}
var params = {
        'language': 'french_8',
        'gender': 'f',
        'voice': 'True',
        'content': 'True',
        'entities': 'Name,Country,Product,City,Event,Medical Condition'
};

Previous output:

Hey how are you My name is <PER> I'm from <LOC> <LOC> I have some back pain so I'm taking some paracetamol We go tomorrow to an event in <LOC> Call Vivatech and we will see you there Thank you

New output:

Hey how are you My name is <Name> I'm from <City> <Country> I have some <Medical Condition> so I'm taking some <Product> We'll go tomorrow to an event in <City> call it <Event> and we will see you there Thank you

Thanks to our optimized ASR, you can now enjoy 4 times faster transcription speed ! This means quicker and more efficient content anonymization. No action is required from you, just enjoy !