本人有一个创意,是关于麦克风实时扩放环境中防止啸叫的方法。 说创意内容之前,先讲一段本人关于这个创意产生的前因后果。 2015年底的时候,本人在网上购买了两只FM无线话筒,带混响和音频输入接口的,这样,就可以把无线话筒插在手机上唱K,利用带收音机功能的音响接收无线话筒信号,模拟卡拉OK厅的环境,效果还是不错的。在玩无线话筒的过程中,我对怎样防止麦克风啸叫的原理产生了兴趣。网上搜了一些资料,总结认为啸叫产生的原因是当话筒和喇叭正对时,某一频率的相对较大的底噪信号(音频范围)在话筒收音和喇叭放音的循环回路中形成共振持续放大,从而形成了让人厌烦的单频啸叫音。啸叫音的频率基本上与使用环境的一些因素有关,例如麦的频响,放大电路频响,喇叭频响以及话筒与喇叭的距离和相对角度等。也因此,多频点陷波器大抵就是针对实际的现场环境把几个常见啸叫频率切除掉来防止啸叫产生的。 另外,市面上其他防止啸叫的技术手段大概有如下几类,除上述的陷波方法,其他有移频法,利用把话筒接收到的信号在整体上上移或下降几个hz的频率,使喇叭放出音和话筒接收音因频差始终存在而无法共振放大,从而防止啸叫。移频法的优点是防啸作用明显,缺点是不能使人声原音重放,即有变调之嫌。 再有一种技术方法是双麦法,A减B去除底噪的大致原理,但想来如果主麦A对准了喇叭,啸叫还是无可避免的。另有一种技术方法和双麦法相似,即将喇叭信号在电路内部直接返回一部分到电路前端,如果麦信号和这返回的信号有相似性,说明话筒可能对上了喇叭。处理上,简单来说也是用话筒接收信号减去这部分返回的信号,理论上就可以消除啸叫。但这其间不确定的因素是话筒和喇叭的距离,声速和光速的差大家都清楚,麦是移动的,因此,上述的两信号作减运算时在时域上不可能完全匹配,也因此,此方法可能反而对音质造成了严重的损伤。 其他的防止啸叫的主要方法则是操作上的避免法,如提高话筒指向性来减小话筒和喇叭正对的机会,又如通过降低灵敏度和放大系数来防止啸叫。指向型话筒只能减小啸叫机率,并不能阻止啸叫;降指标方法同样,话筒和喇叭太近时依然会啸叫,并且降指标的方法会使讲麦的人有大声吼的嫌疑。 讲了上面一些不全面的防止啸叫的方法及原理后,就要开始谈到我的想法了。凡事找源头,破坏了源头,由其造成的一切结果自然灰飞烟灭。那么在啸叫这档事里,源头就是共振,正反馈放大。如果我们能够通过技术手段把共振消灭在萌芽,并且基本不影响话筒的原音重放,那才是真正的成功。上述中的移频法破坏共振是OK的,无奈做不到原音重放。多频点陷波则对音质也有一定损伤。那怎样才能安全而又无损地做到原音重放呢,我的想法就是:预判加处理。 所谓预判,就是随时对正常扩放的话筒扬声器电路进行监控,当判断为有啸叫可能产生时则进行下一步动作。判断的原理,可基于频谱分析以及声强分析。这下一步动作就是指处理,所谓处理,则指以最高的原音重放的指标来进行防止啸叫的完美处置。这里的防啸原理,我提出了两个方法,其一是切波法,另一是延时法。 为了例证切波以及延时二方法可以防止啸叫的可行性,我又从网上买了两块混响功放板,其一为整件,另一为散包。混响IC是PT2399,其特点是有一个AD再DA的过程,过程中通过一个外部电阻来调节延时时间。为了做实验,我先得将混响板改为延时板,然后又通过一只S7-200的PLC来产生无规则脉冲波,再加反并的两只光耦,试验各种无规则脉冲波的周期、脉宽,以及试验电路板上各点的短路、对地及变阻。无奈各种举措,要么啸叫无法消除,要么干扰太大,总之似乎没有成功的希望。 到这个时候,通过模拟电路进行可行性验证基本宣告失败。接下来,也只有通过数字电路进行实验了。“单片机”三个字,第一次出现在了我的视线中。 单片机,一个很科技的名词,我认识它,却一点儿也不了解它。什么这个语言那个语言的,英文单词我也不认识几个,更别说这和天书一样的什么鬼语言了。怎样办,上网找人帮!可稍稍接触了下这行,发现这单片机人才可真是了不得,出场费那和名星有得一比。你和他谈合作,他更是压根不正眼瞧你。噫,克强先生还在号召万众创业呢,我好不容易揣了点梦想,不带你单片机大神这样打击我吧。 这其间,我和我买的无线麦的制造商老板搭上,因为我很欣赏他的产品,我觉得他也是一个很有想法的人,并且他也算是成功了。可接触下,发现他的新产品里已经在宣传DSP防啸叫了,他主要做的汽车无线K歌麦这一块,所以把防啸做在了无线麦里。没了解到他的防啸原理,但想来大抵也是移频这一招吧。后来他更是直接问我“你的成本、你的成本!”,妈呀,我对单片机一窍不通,我能算出什么成本来。 再渐渐的了解单片机的过程中,我感觉STM32系列挺合适作音频数字化处理的。单片价格不高,并且自带ADC和DAC,理论上是不需要其他单独的ADC或DAC模块配合的。但了解中,发现应用STM32自带的ADC作音频处理的人和电路寥寥无几,并且,做过的人中普遍反映效果不佳,还原后喇叭里带杂音。后来我仔细想了,理论上STM32自行处理音频应该是没问题的,主要是愿意接触这一块的人少,外路电路上则做不到很完善,所以会存在一些诸如模电电路底噪高,采样率偏小、DAC没做滤波圆化等。因此,目前单片机处理音频基本上还是带上了辅助模块,例如较常用的VS1003系列。 说了以上这些,感觉废话多了点,言归正传。我想法中的预判加处理概念如果能很好的进行防啸叫,利用STM32加以开发,应该可以做到一种低成本的防啸叫专用设备,它既可以单独推出到市场上使用在目前常见的无线话筒接收器和功放之间,也可以内置于相关产品中,其成本,以目前STM32较小开发板只在20元左右算的话,单独产品的硬件成本也只在30元以内(含电源),卖出价在100元以上应该不成问题。那么问题来了: 这个创想的理论基础是可靠的吗,这个世界有梦想的人还很多吗?
热诚盼望有激情的单片机才俊看中这一创想,共同谱写心中的梦想! 言之草草,大家或可一笑而过。具体创想的细节,后续陆续发上来。
|