搜索
bottom↓
回复: 49

用MCU做过吉他校音器,遇到难题!!

[复制链接]

出0入0汤圆

发表于 2009-5-29 09:44:02 | 显示全部楼层 |阅读模式
本人从事吉他放大器和效果器产品开发多年,接触过很多种吉他校音器产品(有VU表显示,有LED显示,有LCD显示),也就是Tuner,玩电吉他的朋友都知道的。其处理IC都是购买国外开发的专用处理IC(应该是用MCU,也就一片20多脚的处理IC,价格也很便宜5~15元,晶振多数用4M),自己一直想用AVR开发属于工厂自己的IC。
现在唯一卡在软件滤波上,其他的都已经解决。懂音频都知道,电吉他发出的弦音,夹杂泛音(谐波)成分很多,用波形整形电路将吉他弦音放大整形给MCU,不经过软件数字滤波处理,无法测量出吉他弦音的基波频率。坛上有高手做过类似的软件滤波,将二次、以及二次以上谐波滤除只留下基波用来测频。在此请教高手们并能提供算法和建议!!感谢!!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2009-5-29 11:13:42 | 显示全部楼层
对音乐不懂,要基波可以FFT啊,高端点的AVR应该可以做了

出0入0汤圆

 楼主| 发表于 2009-5-29 11:31:40 | 显示全部楼层
我是定位是用mega8/mega48实现,这个产品所有成本要求不超过50RMB。显示器件用定做的数码管显示。

出0入0汤圆

发表于 2009-5-29 11:44:04 | 显示全部楼层
我也在做吉他效果器。高端的用MCF5249(license) 只是修改一下原版的数值。原理没搞懂。
低端的用模拟电路。可以交流一下( RANGE, SPEED, DEPTH,FEEDBACK, STAGE,MANUAL,WAVE FORM等等)


如用DSP来做。算法差不多,但是MCU的话D/A--A/D用什么来做?(会点PIC,PIC处理的SPEED不够,DSPIC理论上可以。AVR不懂,)

你上面说有20脚IC那不是MCU,是专们开发的DSP IC 。WAVEFRONT公司有  www.wavefront.com

出0入0汤圆

 楼主| 发表于 2009-5-29 12:42:23 | 显示全部楼层
我们工厂曾经找IC反向公司反向了一款TUNER芯片是DIP16封装的,那个产品是显示是用VU表(当然还有一块DIP16芯片,应该是DA芯片是驱动VU表的),公司还有一款TUNER(LED显示),IC买的进口的,是SOP24封装。公司买了一款韩国TUNER,是特殊数码管显示的,电路抄下了,可IC买不到,项目就停了。
我曾经和KORG的OEM工厂的负责人聊过,市面上好多是专用MCU实现的,可能有简单DSP处理单元。但用DSP来做,成本肯定很高。像这样的小产品做的好的成本一般也不会超过100RMB的。在国外的一个网站上看到过用AVR实现简单TUNER功能,用的是IIR滤波实现的,代码没有完全看的懂!请参看此网页:http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2004/ddb25/complete2.htm

一款数码管显示的tuner原理图ourdev_448993.pdf(文件大小:58K) (原文件名:ST-1-sch.pdf)

出0入0汤圆

发表于 2009-5-29 16:07:09 | 显示全部楼层
我也比较有兴趣搞效果器,我有电吉他。。。

出0入0汤圆

 楼主| 发表于 2009-5-30 13:23:05 | 显示全部楼层
哎!做过这个的朋友估计很少!!没有人顶呀!

出0入0汤圆

发表于 2009-5-30 18:39:16 | 显示全部楼层
既然有5~15块的芯片还开发什么?AVR不也是这价?
我也玩吉他的,玩吉他的耳朵听不出音准似乎不太可能吧,PC有用声卡采样的校音软件,用了感觉和耳朵听没什么差别。
做这个用任何单片机都可以的,分辨率到1HZ应该可以了吧?

出0入0汤圆

 楼主| 发表于 2009-5-31 19:35:22 | 显示全部楼层
5~15块专用IC是LED显示的,我们要做的是特殊数码管或LCD显示的,市面上数码管显示和LCD显示的TUNER专用IC,单独是不卖的。TUNER产品事实市场是很好的。
TUNER分辨率很高的,低频精度最差也要到0.1HZ。我测试过的。单片机测量数字信号频率精度也能达到0.1HZ,只是软件滤波不会。Z正研究!!

出0入0汤圆

发表于 2009-5-31 19:53:52 | 显示全部楼层
【7楼】 teddeng
积分:36
派别:
等级:------
来自:
既然有5~15块的芯片还开发什么?AVR不也是这价?
我也玩吉他的,玩吉他的耳朵听不出音准似乎不太可能吧,PC有用声卡采样的校音软件,用了感觉和耳朵听没什么差别。
做这个用任何单片机都可以的,分辨率到1HZ应该可以了吧?  
   
---------------------------------------------------
    7楼耳朵很强啊,准与不准是相对的,不知道7L耳朵分辨率能到多少HZ?

出0入0汤圆

发表于 2009-5-31 20:28:40 | 显示全部楼层
我也写过这个Tuner的程序,而且分辨率在三百赫兹以下是真可以做到测量数字信号频率精度也能达到0.1HZ,可能是我选得MCU速度慢吧!我用得是89S52做的!到400赫兹以上时,精度就到不了0.1HZ了!现在到真想看看用AVR做出来的精度是否好很多,但我从价格上比较来说,S52能做到了的!那就没什么必要用AVR了!我看过有用4K空间的MCU 摩托罗拉的 做得到!!成本才五元啊!!

出0入0汤圆

发表于 2009-5-31 20:55:13 | 显示全部楼层
【10楼】 geniusjia
积分:19
派别:
等级:------
来自:
我也写过这个Tuner的程序,而且分辨率在三百赫兹以下是真可以做到测量数字信号频率精度也能达到0.1HZ,可能是我选得MCU速度慢吧!我用得是89S52做的!到400赫兹以上时,精度就到不了0.1HZ了!现在到真想看看用AVR做出来的精度是否好很多,但我从价格上比较来说,S52能做到了的!那就没什么必要用AVR了!我看过有用4K空间的MCU 摩托罗拉的 做得到!!成本才五元啊!!  
   
-------------------------------------------------------------------------
   Mega48 不到5快,比S52好用不知道多少倍。

出0入0汤圆

 楼主| 发表于 2009-6-1 07:59:47 | 显示全部楼层
10楼是高手呀!!能否共享您的软件滤波算法,感谢呀!!

出0入0汤圆

发表于 2009-6-1 08:35:37 | 显示全部楼层
我用的是平均值滤波程序,还有回复11楼!我用S52主要还因为脚数问题吧!数码管和LED,BYPASS按键,PITCH按键,MANUAL/AUTO按键等占了不少IO,而且我对AVR还不太熟悉!固只用了S52来做!等我有空,再做一个用摩托罗拉MCU的版本!!

出0入0汤圆

发表于 2009-6-1 09:13:11 | 显示全部楼层
吉他用耳朵听就可以了,弹一个所有弦都用到的曲子,那个弦有问题就知道。

出0入0汤圆

 楼主| 发表于 2009-6-1 10:33:10 | 显示全部楼层
13楼如果方便的话,可否让我借鉴您的平均值滤波程序测量音频信号频率的代码呢?很需要!!现在的项目就卡在软件滤波上,其他处理显示部分好解决的。先谢谢了!!

出0入0汤圆

发表于 2009-6-1 10:52:53 | 显示全部楼层
感兴趣,不错

出0入0汤圆

发表于 2009-6-1 12:51:49 | 显示全部楼层
【13楼】 geniusjia
积分:20
派别:
等级:------
来自:
我用的是平均值滤波程序,还有回复11楼!我用S52主要还因为脚数问题吧!数码管和LED,BYPASS按键,PITCH按键,MANUAL/AUTO按键等占了不少IO,而且我对AVR还不太熟悉!固只用了S52来做!等我有空,再做一个用摩托罗拉MCU的版本!!  
--------------------------------------------------------
   如果要IO多的话可以Mega16,不过价格要十一块多了,反正用了AVR过后,再也不想用51了。摩托的MCU没用过,话说回来,MCU适用就行了。




14楼】 hittiger 杨乾坤
吉他用耳朵听就可以了,弹一个所有弦都用到的曲子,那个弦有问题就知道。  
--------------------------------------------------------------------------
    用耳朵听不准吧,弹所有弦都用到的曲子来调音,太麻烦了吧,高手是这么干的?1弦-2弦(5品) 2-3(4) 3-4(5) 4-5(5) 5-6(5),我是先定1弦,然后根据1弦来调其他弦。平时调音也是耳朵听,再看是否共振,这能满足一般的要求,因为误差不是谁都能听得出来。专业的人调音决不是仅仅是用耳朵听。

出0入0汤圆

 楼主| 发表于 2009-6-1 13:25:13 | 显示全部楼层
专业玩电吉他Tuner肯定要的,买Fender一把吉他都配我们公司Tuner一只的。 期盼geniusjia能分享软件滤波测频代码!!

出0入0汤圆

发表于 2009-6-1 13:52:49 | 显示全部楼层
LZ我给你出个主意,你用连续AD转换采样一段时间然后寻找峰值频率就可以了,不需要滤波,一般情况下只要不过载失真吉他的谐波电平不会高于基波电平

出0入0汤圆

 楼主| 发表于 2009-6-1 15:01:15 | 显示全部楼层
谢谢楼上的建议,您要是看了吉他弦音的频谱会发现有的二次谐波幅度会高于基波的,我查过相关资料。还是好好研究IIR滤波,这个肯定很实用。不知有没有高手做过IIR滤波实现音频基播频率测量,能否指点一二,谢谢。

出0入0汤圆

发表于 2009-6-4 15:01:56 | 显示全部楼层
现在效果器上面都带了这个功能了,上面说靠耳朵听的办法是不行的,如果你在演出的时候不小心被别人动了琴,现场那么嘈杂你能听出来??我有个电箱琴,上面也带了音调电路和调弦的电路,成本应该很低。而且用9v电池供电可以用很久。界面是液晶显色的那种,有一个音调高低条,中间的最准!

出0入0汤圆

发表于 2010-6-2 23:40:51 | 显示全部楼层
做音乐产品的好像很少。楼主,3楼和10楼的能否留个联系方式。有机会可以合作!

出0入0汤圆

发表于 2010-6-3 13:24:03 | 显示全部楼层
用一个 3 阶低通滤波器就可以了,算法可以上网查一查。

出0入0汤圆

发表于 2010-6-3 13:26:32 | 显示全部楼层
低通滤波器很容易实现,例如,开一个窗口,套在被滤波波形上求平均值就可以了。

出0入0汤圆

发表于 2010-6-3 13:52:05 | 显示全部楼层
我的理解:
LZ要的并不是一个带通滤波,要的是一个基音捕捉。

出0入0汤圆

发表于 2010-6-3 14:47:58 | 显示全部楼层
http://www.codeproject.com/KB/audio-video/FftGuitarTuner.aspx
http://cnx.org/content/m11714/latest/
http://arxiv.org/ftp/arxiv/papers/0912/0912.0745.pdf
http://www.cs.pdn.ac.lk/~roshanr/research/papers/herath07implementation.pdf

matlab
http://www.mathworks.com/matlabcentral/newsreader/view_thread/142680

http://www.codesoso.com/code/Guitar_Tuner.aspx

出0入0汤圆

发表于 2010-6-18 10:00:48 | 显示全部楼层
回复【楼主位】yqing81
-----------------------------------------------------------------------
小菜一碟,本人做过N个这类产品。有兴趣可以联系:ChromaticTuner@163.com

出0入0汤圆

发表于 2010-9-22 00:54:59 | 显示全部楼层
那天闲来无事把电吉他接在了示波器上看了看发现了一个可能性的方法,楼主你试试用一个失真放大器把声音放大到几乎成方波的状态然后检测这个方波频率,因为我们都知道无论吉他的声音如果单纯放大即使失真也不会变频,这说明谐波与基波叠加并不会导致基波出现新的过零点,所以可以想办法利用削顶失真来去掉谐波的干扰,如果可行的话,可以利用AVR单片机的比较器来实现这个功能,我准备这两天试试这个想法,如果成功了我再告诉你

出0入0汤圆

发表于 2010-9-22 01:01:21 | 显示全部楼层
楼主能不能开源一些吉他效果器的资料,我也是个吉他爱好者(上学的时候电吉他玩的比较多,目前主要是玩古典吉他了)以前也自制过一些简单的效果器,不过太复杂的效果器就很少能找到资料了,还有我有一些关于吉他效果器的创意可不可以私下和你沟通一下

出0入0汤圆

发表于 2010-9-22 09:07:27 | 显示全部楼层
曾经有一进口校音器,出去演出被人顺走了……现在这把alhambra 8p上d'dario的超高张力弦音准几乎不变。我觉得这东西只有精确度高了才有意义,还不如耳朵的话真没什么用处。用过国产的八九十块的,经常六根弦分别调准了,但是每根弦之间又不准了

出0入0汤圆

发表于 2010-9-22 12:07:19 | 显示全部楼层
mark~以前仿制过led的,没有用软件滤波,效果比较差...

出0入42汤圆

发表于 2010-9-22 15:17:55 | 显示全部楼层
mark,校音器

出0入0汤圆

发表于 2010-9-22 20:26:37 | 显示全部楼层
正在研究!
学习一下!

出0入0汤圆

发表于 2010-9-22 20:39:38 | 显示全部楼层
不知道用锁相环行不行,吉他的信号被锁定后,测量压控振荡器的频率应该容易些。没有搞过,瞎猜一下。

出0入0汤圆

发表于 2010-9-27 00:22:51 | 显示全部楼层
回复【30楼】eggcar 八号机
曾经有一进口校音器,出去演出被人顺走了……现在这把alhambra 8p上d'dario的超高张力弦音准几乎不变。我觉得这东西只有精确度高了才有意义,还不如耳朵的话真没什么用处。用过国产的八九十块的,经常六根弦分别调准了,但是每根弦之间又不准了
-----------------------------------------------------------------------

你说的这个现象应该是吉他在六根弦都张紧的过程中琴颈发生了微弱的形变造成的是正常现象,带有悬挂式颤把的电吉他更明显,一般多调几次就好了,而且调之前让所有的弦都有一定的张力然后从第六弦调起会好一些

出0入0汤圆

发表于 2010-10-10 05:20:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-10 16:53:18 | 显示全部楼层
回复【35楼】changjing
-----------------------------------------------------------------------

好吧,我那是把古典,并非是琴颈变形或者弦松了的问题,而是校音器的精度不够高,用耳朵能够听出误差来~

出0入0汤圆

发表于 2011-12-17 09:59:08 | 显示全部楼层
MARK
头像被屏蔽

出0入0汤圆

发表于 2012-6-10 23:59:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2012-6-20 15:30:44 | 显示全部楼层
顺便提一句,耳朵听的话灵敏度其实非常高,只要给我一个准确的定音哨(这个用单片机实现太容易了)我可以把吉他音准定在1Hz以内~~
其实这是有窍门的,当吉他的弦的频率与标准频率发生器的频率接近的时候,仔细听你会听到这两个频率的排频,听起来是忽大忽小的,这时候仔细调整当排频的声音频率(就是忽大忽小的声音频率)几乎没有的时候你的这根弦与标准频率就相差小于1Hz了(用这个方法调琴小于0.5HZ都不是难事)

出0入0汤圆

发表于 2012-6-20 15:34:02 | 显示全部楼层
windy__xp 发表于 2009-5-31 19:53
【7楼】 teddeng
积分:36
派别:

参照我楼上的做法,1Hz以内的分辨率还是有的

出0入0汤圆

发表于 2012-6-27 09:30:04 | 显示全部楼层
mark 学习学习。。

出0入0汤圆

发表于 2012-12-18 00:33:58 | 显示全部楼层
不知道楼主的校音器程序写好吗?如果有高人能写此类程序,4位数人民币求教。有意者请EMIL: yuan88_bin@126.com

出0入0汤圆

发表于 2012-12-18 09:33:18 | 显示全部楼层
吉他调音,一个麦克风 + 一个PC调音软件搞定

出0入0汤圆

发表于 2012-12-18 10:42:51 | 显示全部楼层
这个帖子真是不错,MARK

出0入0汤圆

发表于 2012-12-18 10:48:41 | 显示全部楼层
用MCU做电吉他校音器 ,MARK  

出0入0汤圆

发表于 2012-12-18 11:11:43 | 显示全部楼层
家里有把电吉闲置了,lz有没有可以Diy的效果器介绍一下,好让我重拾这方面的兴趣

出0入0汤圆

发表于 2013-10-23 10:03:00 | 显示全部楼层
楼主,我对这个很有兴趣,,现在想做个毕业设计,,初步思路是,拾音放大,然后用FFT提取出频率,,就跟安卓手机上的一款软件功能类似,,现在没什么具体实现的思路,,求楼主赐教。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 00:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表