Audio Fingerprinting in Software Audio Test Automation

Audio Fingerprinting in Software Audio Test Automation

Introduction: Audio Fingerprinting

·      An audio fingerprint is a condensed digital summary, generated from an audio signal, that can be used to identify an audio sample or quickly locate similar items in an audio database. It works on the principle of human fingerprinting. It records the fingerprint of ingested audio content and later can be used to match with the recorded audio or playlists on mobile, TV or any other device.

·      It provides the ability to link short, unlabeled pieces of audio content to corresponding metadata. Audio fingerprinting enables users to identify song titles by providing a small piece of audio sample of the song instead of entering keywords in a search engine.

·      Audio fingerprints are very discriminative so the system can use them to identify the recording they belong to. Audio fingerprints are also robust, making it possible to identify audio recordings even in noisy environments, Famous Applications available in the market are like Shazam, SoundHound, VLC etc…

Applications and Use Cases of Audio Fingerprinting:

Some of the major applications of audio fingerprinting technology include:

Music Retrieval

Music recognition is an integral application of audio fingerprinting. The specific feature of a song or music signal is captured as a fingerprint. This unique metadata made it possible to identify and retrieve the song from millions of databases. An ideal audio fingerprinting system will give accurate retrieval result even in a noisy environment. An efficient searching algorithm is also required to provide the best and precise results.

Watermarking

Digital audio watermarking allows to embed a secret digital signature to the audio signal. Audio fingerprinting allows the signal processing approach to generate the digital signature. This embedded signature can be used to verify the authenticity of the audio signal. The advantage of using fingerprinting techniques is that it is less vulnerable to attacks since any attempt to change the fingerprint will alter the quality of the audio.

Broadcast Monitoring

monitor a song or an advertisement broadcast by the TV or radio channel. This might be useful as the royalty for the song is applicable while it broadcasts on TV or radio. Similarly, advertisers pay based on the number of times it airs in the media. Audio fingerprinting techniques are commonly used for TV viewership analytics and content protection also.

Voice Identification – Biometric and Automotive Use-cases

Audio fingerprinting techniques can be used to identify the voice. With the advancement of smart devices, nowadays, the demand for a robust speaker identification system has increased. Lots of automotive use cases like car infotainment systems, where voice-based commands with user profiles, can be realized with an accurate fingerprinting system.

Audio Fingerprinting for test automation:

The idea is to develop an audio service to be able to do 3 main jobs and using these services/API the tester can emulate/automate the SUT dependent audio test cases.

1.audio acquisition (recording):

2. audio matching (fingerprinting):

3. audio synthesis (generation):

the used stack for this POC is:

·      flask: as a rest api dev framework

·      numpy+scipy: for statistical calculations

·      wavio: wav handling and manipulation

·      PyAudio: audio recording

·      Flasgger: swagger documentation

·      pyttsx3; speech synthesis

docker: for containerization and packaging

the basic idea is to use different mix of api requessts to simuate any audio related use case



To view or add a comment, sign in

Insights from the community

Others also viewed

Explore topics