1.本发明属于乐器调律领域,特别是涉及一种钢琴自动调律方法。
背景技术:2.随着社会的发展和进步,现在使用钢琴的人越来越多,而钢琴经过一段时间的弹奏和温湿度变化的影响,会直接影响到音准,也会影响到听众的听觉感受,需要定期调律,才能保证音准。
3.现有的方式都是请专门的钢琴调律师上门调律,不仅受限于调律师本身的听音水准,还需要增加调律的费用,因此,亟需一种能实现钢琴自动调律的方法,解决目前存在的调律的问题。
技术实现要素:4.针对以上技术问题,本发明提供一种钢琴自动调律方法。
5.本发明解决其技术问题采用的技术方案是:
6.一种钢琴自动调律方法,方法包括以下步骤:
7.步骤s200:获取当前琴键按下时发出的当前声音频率,当当前声音频率和预设的当前琴键的标准频率不一致时,获取调律扳手的当前位置和当前琴键对应弦轴销的位置,根据调律扳手的当前位置和当前琴键对应弦轴销的位置控制步进电机将调律扳手从当前位置移动到当前琴键对应弦轴销的位置;
8.步骤s300:根据预设的旋转原则通过旋转试探的方法将调律扳手自动套进当前琴键对应弦轴销;
9.步骤s400:根据当前声音频率和预设的当前琴键的标准频率相减得到频率差值,根据频率差值和预设的频率差值
‑
旋转信息对应关系控制步进电机带动调律扳手根据得到的旋转信息旋转,完成调律动作,之后再次获取当前琴键按下时发出的当前声音频率,重复步骤s400,直至当前声音频率和预设的当前琴键的标准频率一致;
10.步骤s500:根据预设的安全退出原则控制步进电机带动调律扳手安全退出,按照预设的调节顺序确定下一琴键作为当前琴键,并返回步骤s200,直至所有琴键调律完成。
11.优选地,步骤s200之前还包括:
12.步骤s100:将调律扳手移动到预设的原点位置,控制调律扳手从预设的原点位置移动至每个弦轴销对应的位置,并记录下步进电机从预设的原点位置移动到对应弦轴销在x方向和y方向上移动的步数并保存。
13.优选地,步骤s200中根据调律扳手的当前位置和当前琴键对应弦轴销的位置控制步进电机将调律扳手从当前位置移动到当前琴键对应弦轴销的位置,包括:
14.步骤s210:将当前琴键对应弦轴销的位置的参数减去调律扳手的当前位置的参数得到x方向和y方向上的位置差值;
15.步骤s220:根据x方向和y方向上的位置差值确定移动步数和移动方向,根据移动
步数和移动方向控制步进电机将调律扳手从当前位置移动到当前琴键对应弦轴销的位置。
16.优选地,弦轴销为四角螺丝,调律扳手为八角套筒,调律扳手的底座上设置有接近开关感应器,步骤s300包括:
17.步骤s310:当弦轴销与调律扳手存在角度差时,限位弹簧被压缩,弦轴销套不进调律扳手,控制步进电机带动调律扳手逆时针旋转第一步数;
18.步骤s320:判断弦轴销与调律扳手是否存在角度差,若仍然存在角度差,控制步进电机带动调律扳手顺时针旋转第二步数;
19.步骤s330:再次判断弦轴销与调律扳手是否存在角度差,若仍然存在角度差,控制步进电机带动调律扳手逆时针旋转第三步数,重复执行步骤s320和步骤s330,直至判断弦轴销与调律扳手不存在角度差,根据接近开关感应器判断调律扳手成功套进弦轴销,其中,第一步数大于第二步数和第三步数,第三步数大于第二步数。
20.优选地,旋转信息包括旋转步数和旋转方向,预设的频率差值
‑
旋转信息对应关系包括第一预设的频率差值范围
‑
旋转步数对应关系和第二预设的频率差值范围
‑
旋转步数对应关系,步骤s400中根据频率差值和预设的频率差值
‑
旋转信息对应关系控制步进电机带动调律扳手根据得到的旋转信息旋转,包括:
21.当频率差值大于零时,旋转方向为逆时针,根据频率差值和第一预设的频率差值范围
‑
旋转步数对应关系得到对应的旋转步数;当频率差值等于零时,不需要旋转;当频率差值小于零时,旋转方向为顺时针,根据频率差值和第二预设的频率差值范围
‑
旋转步数对应关系得到对应的旋转步数。
22.优选地,第一预设的频率差值范围
‑
旋转步数对应关系包括:当频率差值在零到五的范围内时,对应的旋转步数为700;当频率差值在五到十的范围内时,对应的旋转步数为900;当频率差值大于十时,对应的旋转步数为1100。
23.优选地,第二预设的频率差值范围
‑
旋转步数对应关系包括:当频率差值在零到负五的范围内时,对应的旋转步数为200;当频率差值在负五到负十的范围内时,对应的旋转步数为500;当频率差值小于负十时,对应的旋转步数为700。
24.优选地,步骤s500包括:
25.步骤s510:获取步骤s400中最后一次调律动作的旋转方向,控制步进电机按照与最后一次调律动作的旋转方向相反的旋转方向旋转第四步数;
26.步骤s520:控制步进电机将调律扳手以离开弦轴销的方向直线拉回第五步数;
27.步骤s530:根据接近开关感应器判断调律扳手是否退出成功,当退出成功时,控制步进电机将调律扳手以离开弦轴销的方向再次直线拉回第六步数。
28.优选地,步骤s530还包括:当调律扳手退出不成功时,控制调律扳手按照最后一次调律动作的旋转方向旋转第七步数,控制步进电机将调律扳手以离开弦轴销的方向直线拉回第五步数;再次根据接近开关感应器判断调律扳手是否退出成功,当退出成功时,控制步进电机将调律扳手以离开弦轴销的方向再次直线拉回第六步数,若退出不成功时,则返回步骤s510,直至调律扳手退出成功。
29.优选地,当最后一次调律动作的旋转方向为逆时针时,第四步数为1200步,第五步数为2000步,第六步数为4000步,第七步数为1000步;
30.当最后一次调律动作的旋转方向为顺时针时,第四步数为1000步,第五步数为
2000步,第六步数为4000步,第七步数为1200步。
31.上述钢琴自动调律方法,开启自动调律后,钢琴通过自动演奏系统从预设的调节顺序的第一键开始敲击琴键,发出声音,同时通过语音识别技术判断该琴键的声音频率是否和预设的当前琴键的标准频率一致,如果不一致,则根据调律扳手的当前位置及当前琴键对应弦轴销的位置计算出需要移动的距离,并通过步进电机将调律扳手移动到该弦轴销的位置上;通过旋转试探的方法将调律扳手套进当前位置的弦轴销中;调律扳手成功套进弦轴销后,根据语音识别的结果得到旋转信息,控制调律扳手根据得到的旋转信息旋转,完成当前琴键的自动调律后,安全退出调律扳手,并开始敲击下一个琴键,按以上方式继续完成所有琴键的自动调律。通过结合自动化技术、语音识别技术、钢琴自动演奏系统,再配上对应的自动调律算法,实现了钢琴自动调律。
附图说明
32.图1为本发明一实施例提供的钢琴自动调律方法流程图。
具体实施方式
33.为了使本技术领域的人员更好地理解本发明的技术方案,下面结合附图对本发明作进一步的详细说明。
34.在一个实施例中,如图1所示,一种钢琴自动调律方法,方法包括以下步骤:
35.步骤s200:获取当前琴键按下时发出的当前声音频率,当当前声音频率和预设的当前琴键的标准频率不一致时,获取调律扳手的当前位置和当前琴键对应弦轴销的位置,根据调律扳手的当前位置和当前琴键对应弦轴销的位置控制步进电机将调律扳手从当前位置移动到当前琴键对应弦轴销的位置;
36.步骤s300:根据预设的旋转原则通过旋转试探的方法将调律扳手自动套进当前琴键对应弦轴销;
37.步骤s400:根据当前声音频率和预设的当前琴键的标准频率相减得到频率差值,根据频率差值和预设的频率差值
‑
旋转信息对应关系控制步进电机带动调律扳手根据得到的旋转信息旋转,完成调律动作,之后再次获取当前琴键按下时发出的当前声音频率,重复步骤s400,直至当前声音频率和预设的当前琴键的标准频率一致;
38.步骤s500:根据预设的安全退出原则控制步进电机带动调律扳手安全退出,按照预设的调节顺序确定下一琴键作为当前琴键,并返回步骤s200,直至所有琴键调律完成。
39.具体地,开启自动调律后,钢琴通过自动演奏系统从预设的调节顺序的第一键开始敲击琴键,发出声音,同时通过语音识别技术判断该琴键的声音频率是否和预设的当前琴键的标准频率一致,如果不一致,则根据调律扳手的当前位置及该键对应弦轴销的位置计算出需要移动的距离,并通过步进电机将调律扳手移动到该弦轴销的位置上;通过旋转试探的方法将调律扳手套进当前位置的弦轴销中;调律扳手成功套进弦轴销后,根据语音识别的结果,控制调律扳手根据得到的旋转信息旋转,完成当前琴键的自动调律后,安全退出调律扳手,并开始敲击下一个琴键,按以上方式继续完成所有琴键的自动调律。
40.在一个实施例中,步骤s200之前还包括:
41.步骤s100:将调律扳手移动到预设的原点位置,控制调律扳手从预设的原点位置
移动至每个弦轴销对应的位置,并记录下步进电机从预设的原点位置移动到对应弦轴销在x方向和y方向上移动的步数并保存。
42.具体地,寻找每根琴弦对应弦轴销位置的方法,首先利用限位开关让自动调律扳手退回到原点位置(对应预设的原点位置)(本发明中将预设的原点位置定在钢琴的中央位置),然后利用控制软件手动控制调律扳手移动到每个弦轴销对应的位置,并记录下步进电机从预设的原点位置移动到对应弦轴销在x方向和y方向上移动的步数,后期需要自动调律时,只要按照每个弦轴销存储的位置参数,就可以自动找到该位置;进一步地,因为同一种型号的铁牌弦轴销的位置是固定的,所以该步骤只需执行一次。
43.完成一个琴键的调律后调律扳手不需要退回原点,直接从当前位置移动到下一个需要调律的位置,因为调律扳手的位置每次移动都会记录下当前调律扳手所处的位置。直接根据下一个需要调律的位置与扳手位置相减就能得出需要移动的距离。
44.在一个实施例中,步骤s200中根据调律扳手的当前位置和当前琴键对应弦轴销的位置控制步进电机将调律扳手从当前位置移动到当前琴键对应弦轴销的位置,包括:
45.步骤s210:将当前琴键对应弦轴销的位置的参数减去调律扳手的当前位置的参数得到x方向和y方向上的位置差值;
46.步骤s220:根据x方向和y方向上的位置差值确定移动步数和移动方向,根据移动步数和移动方向控制步进电机将调律扳手从当前位置移动到当前琴键对应弦轴销的位置。
47.具体地,比如1号弦轴销位置参数为:x1=
‑
20000,y1=100,调律扳手当前位置参数为:x2=100,y2=20,则需要自动移动的步数为:x1
‑
x2=
‑
20100,y1
‑
y2=80。即向左移动20100步,向下移动80步。x方向为负,表示向左移动,反之向右,y方向为负,表示向上移动,反之向下。
48.在一个实施例中,弦轴销为四角螺丝,调律扳手为八角套筒,调律扳手的底座上还设置有接近开关感应器,步骤s300包括:
49.步骤s310:当弦轴销与调律扳手存在角度差时,弦轴销套不进调律扳手,控制步进电机带动调律扳手逆时针旋转第一步数;
50.步骤s320:判断弦轴销与调律扳手是否存在角度差,若仍然存在角度差,控制步进电机带动调律扳手顺时针旋转第二步数;
51.步骤s330:再次判断弦轴销与调律扳手是否存在角度差,若仍然存在角度差,控制步进电机带动调律扳手逆时针旋转第三步数,重复执行步骤s320和步骤s330,直至判断弦轴销与调律扳手不存在角度差,根据接近开关感应器判断调律扳手成功套进弦轴销,其中,第一步数大于第二步数和第三步数,第三步数大于第二步数。
52.具体地,调律扳手包括套筒本体和底座,限位弹簧设置于套筒本体和底座之间,限位弹簧的一端伸入套筒本体内部,且该限位弹簧与套筒本体远离弦轴销的一端固定连接,其另一端固定于底座上,该限位弹簧主要用来做试探套入用,如果里面没有弹簧,当扳手的旋转角度跟弦轴销的旋转角度不一致时,直接套上去会把弦轴销顶坏,但是加上弹簧缓冲,就不会顶坏弦轴销,这个时候再缓慢旋转扳手,就可以慢慢将旋转角度对齐,然后靠着弹簧的弹力推动扳手前进,最后成功套入。接近开关感应器位于调律扳手的底座上,当步进电机控制扳手伸缩移动时,调律扳手离底座的距离会发生变化,没有套进弦轴销比套进弦轴销的距离近,可以用接近开关感应器感应到,以此来判断有没有成功套进。
53.进一步地,由于弦轴销是四角螺丝,而调律扳手是八角套筒,所以调律扳手每次需要旋转0
‑
45度,才能刚好套进弦轴销中。本算法采用旋转试探的方式实现自动套进弦轴销,当调律扳手移动到当前弦轴销的位置后,通过步进电机将调律扳手套进弦轴销,调律扳手上使用限位弹簧实现伸缩,如果弦轴销与调律扳手刚好对齐,则可以直接套进,套进后会有接近开关感应器用来判断是否成功套进,如果弦轴销与调律扳手有角度差,此时套不进去,限位弹簧被压缩,未感应到成功套进,算法程序控制电机带动调律扳手首先逆时针旋转第一步数(逆时针旋转是调松,所以首先逆时针旋转就算带动琴弦不会导致琴弦拉断,其次首次旋转步数较大,保证能最大程度旋转套入),然后判断是否套进,如果没有套进,则顺时针旋转第二步数,再次判断是否套进,如未套进则再次逆时针旋转第三步数,再此判断是否套进,如未套进,则顺时针旋转第二步数,重复此过程,直到判断套进成功为止(只有左右来回旋转才能更好的套进,如果朝一个方向旋转容易使扳手与弦轴销卡住)。
54.在本实施例中,第一步数优选为2800步,第二步数优选为500步,第三步数优选为700步,可以理解,以上是实验中得出的理想数据,并不限定是以上数据。
55.在一个实施例中,旋转信息包括旋转步数和旋转方向,预设的频率差值
‑
旋转信息对应关系包括第一预设的频率差值范围
‑
旋转步数对应关系和第二预设的频率差值范围
‑
旋转步数对应关系,步骤s400中根据频率差值和预设的频率差值
‑
旋转信息对应关系控制步进电机带动调律扳手根据得到的旋转信息旋转,包括:
56.当频率差值大于零时,旋转方向为逆时针,根据频率差值和第一预设的频率差值范围
‑
旋转步数对应关系得到对应的旋转步数;当频率差值等于零时,不需要旋转;当频率差值小于零时,旋转方向为顺时针,根据频率差值和第二预设的频率差值范围
‑
旋转步数对应关系得到对应的旋转步数。
57.具体地,调律扳手成功套进弦轴销后,软件控制钢琴自动演奏敲击弦轴销对应的琴键,让钢琴发声,然后通过语音识别算法判断该弦的发声频率是否正确,如果比标准频率偏大即频率差值大于零,则逆时针方向旋转,反之,顺时钟方向旋转。旋转的步数依据频率偏差的大小,偏差越大旋转的步数越大,每次旋转后再敲击琴键判断频率差值,直到最后调整到与标准频率一致。
58.在一个实施例中,第一预设的频率差值范围
‑
旋转步数对应关系包括:当频率差值在零到五的范围内时,对应的旋转步数为700;当频率差值在五到十的范围内时,对应的旋转步数为900;当频率差值大于十时,对应的旋转步数为1100。
59.在一个实施例中,第二预设的频率差值范围
‑
旋转步数对应关系包括:当频率差值在零到负五的范围内时,对应的旋转步数为200;当频率差值在负五到负十的范围内时,对应的旋转步数为500;当频率差值小于负十时,对应的旋转步数为700。
60.具体地,旋转步数与频率差值对照表如下:
[0061][0062]
在一个实施例中,步骤s500包括:
[0063]
步骤s510:获取步骤s400中最后一次调律动作的旋转方向,控制步进电机按照与最后一次调律动作的旋转方向相反的旋转方向旋转第四步数;
[0064]
步骤s520:控制步进电机将调律扳手以离开弦轴销的方向直线拉回第五步数;
[0065]
步骤s530:根据接近开关感应器判断调律扳手是否退出成功,当退出成功时,控制步进电机将调律扳手以离开弦轴销的方向再次直线拉回第六步数。
[0066]
在一个实施例中,步骤s530还包括:当调律扳手退出不成功时,控制调律扳手按照最后一次调律动作的旋转方向旋转第七步数,控制步进电机将调律扳手以离开弦轴销的方向直线拉回第五步数;再次根据接近开关感应器判断调律扳手是否退出成功,当退出成功时,控制步进电机将调律扳手以离开弦轴销的方向再次直线拉回第六步数,若退出不成功时,则返回步骤s510,直至调律扳手退出成功。
[0067]
在一个实施例中,当最后一次调律动作的旋转方向为逆时针时,第四步数为1200步,第五步数为2000步,第六步数为4000步,第七步数为1000步;
[0068]
当最后一次调律动作的旋转方向为顺时针时,第四步数为1000步,第五步数为2000步,第六步数为4000步,第七步数为1200步。
[0069]
具体地,完成调律后,调律扳手与弦轴销处于卡紧状态,此时直接拉出扳手会导致拉动弦轴销,造成刚调律完成的琴弦再次不准,所以在退出时,本发明采用了边旋边拔,迂回旋转的机制。
[0070]
首先判断最后一次调律动作是逆时针旋转还是顺时钟旋转。
[0071]
当最后一次调律动作是逆时针旋转:a.控制调律扳手旋转的电机顺时针旋转1200步;b.控制调律扳手移动的步进电机将其拉回2000步;c.通过接近开关感应器判断是否退出成功。如果判断退出成功,则控制调律扳手移动的步进电机将其再拉回4000步,确保扳手完全归位;如果判断退出不成功,则逆时针旋转1000步;d.控制调律扳手移动的步进电机将其拉回2000步;e.通过接近开关感应器判断是否退出成功。如果判断退出成功,则控制调律扳手移动的步进电机将其再拉回4000步,确保扳手完全归位;如果判断退出不成功,则回到第一步重复此过程,直到判断成功退出。
[0072]
当最后一次调律动作是顺时针旋转:a.控制调律扳手旋转的电机逆时针旋转1000步;b.控制调律扳手移动的步进电机将其拉回2000步;c.通过接近开关感应器判断是否退出成功。如果判断退出成功,则控制调律扳手移动的步进电机将其再拉回4000步,确保扳手完全归位;如果判断退出不成功,则顺时针旋转1200步;d.控制调律扳手移动的步进电机将其拉回2000步;e.通过接近开关感应器判断是否退出成功。如果判断退出成功,则控制调律扳手移动的步进电机将其再拉回4000步,确保扳手完全归位;如果判断退出不成功,则回到第一步重复此过程,直到判断成功退出。
[0073]
进一步地,以上过程顺时针旋转总是比逆时针旋转多出200步,是为了每次旋转都能产生一个很小的差值,达到松开的目的,而选择让顺时针多200步,是因为顺时针旋转是让琴弦拉紧,所需力度较大,不易拉动,而逆时针旋转是让琴弦松开,所需力度较小,容易拉动,造成调好音再次不准。
[0074]
上述钢琴自动调律方法,通过结合自动化技术、语音识别技术、钢琴自动演奏系统,再配上对应的自动调律算法,可实现钢琴自动调律。
[0075]
以上对本发明所提供的一种钢琴自动调律方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。