音频模式匹配 [英] Audio Pattern Matching

查看:87
本文介绍了音频模式匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

HI

我想知道是否有人可以帮助我解决我的问题

我们的业务连续录制了将近10个广播电台,并且一个人专用于收听音频并查找是否正在播放一些广告.我们捕获在广播中播放的广告,然后做生意.

我有没有可以使用Visual Studio开发的方法,可以在其中使用.net界面录制广播电台,并且可以在此录制中告诉我适当数量的广告的智能程度,以便我们可以查看确切的时间范围并检查而不是聆听整个录音.带有实时流的任何算法,任何音频模式匹配技术.诸如此类的任何事情.

非常感谢您的帮助.

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.

推荐答案

您所需的精度将确定可接受的算法.如果可以捕获90-99%的广告,那么我将提出以下计划:

如果您只关心播放的声音是否是广告,那么可以使用一种非常简单的算法.每1/20秒采样一次.如果您听到沉默,则收音机正在过渡中.以编程方式跟踪isSilent,以及最后一次沉默的时间.两者之间的时间跨度代表单个音频事件.该音频事件可以是歌曲,也可以是广告.您可以确定连续60秒或更长时间的时间很可能是歌曲,而其余时间是广告.

在这一点上,我建议为这个数据生成一个用户友好的抽象,大概一个小时.第二天在同一时间录制同一电台.如果广告时间完全相等,那么您便有了时间表,并且立即记录"功能可以简单地硬编码(或在数据表中,等等).另一方面,如果时间每天变化,则监听应用程序将需要实时运行.同时,您可能拥有一个连续记录的记录器.然后,在完成音频事件后,侦听应用程序可以用信号发送歌曲"或广告".如果是广告,则可以请求GetLastAudioEvent().这样只会提供最后一个音频事件的声音片段,然后可以将其存储.

我怀疑您会在广告中偶尔听到一首歌,而歌曲中却有无声的部分.但是,从您描述的问题来看,误报听起来不像是一个问题,因为您当前需要收听所有内容!
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!


我听说过一个系统应该做这份工作.它被称为宙斯.尝试版本4.1
I''ve heard of a system that should do the job. It is called Zeus. Try version 4.1


这篇关于音频模式匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆