Click here to Skip to main content
15,901,373 members
Please Sign up or sign in to vote.
5.00/5 (4 votes)
See more:
HI

I wonder if some one could help me with my problem

Our bussiness record almost 10 radio station on continuous basis and one person is dedicated to listen to the audio and find if some Ads are playing. We capture the Ads flighted in the radio and do the bussiness.

Is there any approach that i can develop using visual studio where i can record the radio stations using .net interface and any intellegence that can tell me propable number of ads in this recording so that we can go to that exact time frames and check instead of listening to entire recording. Any algorithms , any audio pattern matching technique with live streaming. any thing like that.

Your help is much appreciated.
Posted
Comments
Sergey Alexandrovich Kryukov 17-May-11 15:55pm    
Quite advanced problem, my 5 for the question.
--SA
Karwa_Vivek 19-May-11 1:18am    
Really ! Quite Interesting
and Challenging
raj chitty 23-May-11 7:23am    
yah intresting stuff. I researched on net and found the way how to do it but no proper dlls given to make the work done.

found the process how we can achieve but dont know where to start. process follows like this.
1. each 5 mnts recording is sampled using FFT algorithms and fingerprints for each sample is taken and stored in the databse. Finger print is like digitised form of the sample info. 0 and 1. this finger print file for each 5mnt sample is stored in a seperate folder.
2. We have to feed the ads to the system to detect it next time when it is flighted. So this interface detects ads more efficiently during the course of time with ,ore and more ads fed.
3. We need to compare each recording with all the fingerprints in the system and predict the possibility of matched patterns. If the pattern is matched the system gives us exact timeframe with the probability of ad.
4. By the time the capturer come in the morning he must check the possible ads and timeframes given by the system and able to capture it with all the info in the ad.

so its basically comparing each recording segment with all the fingerprints system is having againt the registered ads and detecting the possibility of an ad witht he timeframe.
Member 10858688 5-Jun-14 12:00pm    
HI Raj,
Did you get the solution of ad detection? I am working on a similar project and I really need some help.

Your required precision will determine what algorithm is acceptable. If it is alright to capture 90-99% of the ads, then I would propose the following plan:

If all you care about is whether a sound that is playing is or is not an ad, then a very simple algorithm could work. Sample every 1/20th of a second. If you hear silence, the radio is amidst a transition. Programmatically track isSilent, as well as the time of the last silence. The span of time between the two represents a single audio event. That audio event may be a Song, or it may be an Advertisement. You could decide that successive spans of time 60 seconds or longer are likely songs, while the remainder are advertisements.

At this point, I'd recommend generating a user-friendly abstraction of this data, perhaps for an hour. Record the same station at the same time the next day. If the advertisement times are exactly equal, then you've got your schedule, and the 'Record now' function could simply be hard-coded (or in a data table, etc.). If on the other hand the times vary from day to day, the listening application would need to run real-time. At the same time, you could be having a recorder that continuously records. The listening application could then, upon completion of an audio event, signal either Song or Advertisement. In the event it is an advertisement, a GetLastAudioEvent() could be requested. That would provide the snippet of sound of only the last audio event, which could then be stored.

I suspect you would end up with an occasional song amidst the advertisements, when songs have silent parts. However, from the problem you describe, false positives don't sound like a problem, as you are currently needing to listen to everything!
 
Share this answer
 
v2
Comments
raj chitty 15-Jun-11 3:20am    
there are too things i want to find out from the application:
1. to check for the probability of the sound to be an Ad.
2. To display the repeated Ads by comparing with the Ads already stored in the system. There is a technique i searched which use audio fingerprints to compare each recording with the number of fingerprints we have on the system and mark it as repeated.
I've heard of a system that should do the job. It is called Zeus. Try version 4.1
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900