PR077 »
智能自动调音器
📁Digital Design
👤嘉锐 连
 (重庆大学)
📅Apr 30, 2018
Regional Final


👀 1630   💬 9

PR077 » 智能自动调音器

Description

吉他、尤克里里等乐器的初学者总是为不知如何为其乐器调弦而烦恼,同样这类表演者也会在演出曲目间隙花费较长时间为其乐器调弦。不管你的经验水平如何,调弦是一个繁琐且耗费时间的事情,这不仅会打击这类乐器初学者的信心,也会让乐器表演者感到十分麻烦。
本项目旨在设计与实现一款基于FPGA的智能自动调音器,使其能在很大程度上解放吉他、尤克里里这类乐器使用者的双手,在短时间内实现对其乐器的精确调弦。目前,大部分吉他、尤克里里这类乐器的使用者,都使用手动调弦,弦的音调准确只能依靠电子调音器和耳朵确定,多次手动调弦也未必能将弦调到准确音调。与手动调弦不同,使用者只需选择必要参数并将智能自动吉他调音器的旋钮固定在你想要调节的琴弦的头部旋钮上,拨动琴弦,等待数秒钟,就能将跑音的吉他、尤克里里等的琴弦调到正确的音调,相比于手动调弦,实在是太方便快捷了。

Demo Video

  • URL: http://v.youku.com/v_show/id_XMzU3NTQxMjkwOA==.html?spm=a2h0k.8191407.0.0&from=s1.8-1-1.2

  • Project Proposal

    1. High-level Project Description

    Purpose:

    Tuning up the string to the right pitch is a necessary step for string instruments player. But it's really a tedious process expecially for novices.  Due to they can't handle the distance that should be screwed well. The player should tighten or loosen an adjustor screw at the bridge that alters the position of its corresponding string with the help of tuner many times until it reach the right pitch. In order to solve this problem we design and implement an automatic tuner system instead of tuning manually.


    Application:

    There are also many other tuners on the market, but they just show the current pitch and tell you the current pitch is lower or higher than the right pitch. The users still can't know how much should they adjust the knob on the guitar. Even worse, the player want to tuning the string into the ptich that he wanted. It will be much more tedious and time-consuming than standard tuning. But with the help of our automatic tuner system, the players can tuning up the string to they wanted pitch quickly and accurately.


    Target users:
    String instruments player

    2. Block Diagram

    Fig1

    Fig2

    3. Intel FPGA Virtues in Your Project

    1 The Altera Cyclone V chip on the DE10-Nano-SoC has abundant logic resources. During the implementation of the project, many FPGA resources need to be controlled to run in parallel through the HPS. The Cyclone V chip provides great convenience for the progress of the subject in a very easy-to-use way.

    2 The Altera DE10-Nano-SoC development board has an extremely rich on-board resources and Altera's open and rich solutions that can greatly accelerate the development process.

    4. Design Introduction

     

    Since the invention of string instrument such as guitar and ukulele, their tuning has always been done manually. The user adjusts the string tightness by comparing the reference note and the played note with a modern electronic tuner or their musical knowledge. Both these methods,involve mechanical action on the part of the user to tune the string which requires a lot of time and may involve human error.   

    Therefore, this paper proposes an automatic tuner.This tuner will not only aid the player in tuning the guitar with much precision but will also save time by doing it more quickly.Adjusting the string to standard pitch in a short time is very important for beginners and musicians. Beginners can save tuning time and focus more on learning play. If a professional musician suddenly breaks the string during a performance, an automatic tuner may be particularly valuable to him. In a short time, the performer can quickly connect the tuner to the head of the guitar and use the tuner to adjust the tightness of the strings to adjust to a perfect pitch.

      

    5. Function Description

               

    1 Motorized string winder

    String changing for guitars and ukulele-type instruments is a time-consuming and arduous task for beginners and musicians. The automatic coiling function of this topic allows users to save time and effort and change strings quickly.

     

    2 Tuning function

    Tuning function can be divided into standard tuning and custom tuning. The standard tuning is to adjust the pitch of the current string to the standard pitch. Custom tuning adjusts the pitch of the current string to the user's desired pitch.

     

    3 Metronome

    Metronome consists of regular metronome and advanced metronome. Regular metronome is the same as metronome products on the market. It cannot subdivide every beat.Advanced metronome can subdivide every beat. It can better meet people's needs.

      

                  

    6. Performance Parameters

    The performance of this tuner mainly includes: recognizable frequency range, the range of tuning, the accuracy of tuning, tuning time, the speed of motor, metronome speed.

    The following table shows the performance parameters of the system.

    system performance

    description

    recognizable frequency range

    25Hz-2.5Khz

    the range of tuning

    55Hz-1760Hz

    the accuracy of tuning

    About 3 cents

    tuning time

    Within 30s each string

    the speed of motor

    10rpm-180rpm

    BPM

    30bpm-250bpm

    7. Design Architecture

    1 Hardware design

    In order to realize the fast and accurate tuning of the string instrument. The system hardware design consists of five parts: core processing module(DE10-Nano-SoC), audio collection module, audio output module, motor control module, and bluetooth communication module. The system hardware block diagram is shown in Figure 1.

     

     

     

     

     

     

     

     

     

     

     

     

    Fig  1

    The core processing module is the DE10-Nano-SoC development board. The SOC system block diagram of this system is shown in Figure 2. The SD card and USB Bluetooth adapter are connected to the HPS resource. The FPGA resource contains audio collection ip and motor control ip.

    Fig 2

    The automatic tuner uses WM8731 chip to achieve audio signal. The HPS can configure the WM8731 chip through the I2C configuration interface module. And then the chip performs AD conversion on the input analog audio signal according to the configuration. The converted data is stored in a ADC_FIFO on FPGA. The HPS can read the data from the ADC_FIFO through the I2S bus protocol for subsequent processing.

    In order to satisfy the tuning of most string instruments, we choose a stepper motor with large torque and easy control. In order to achieve accurate control of the stepper motor, the driver of this part is a custom IP core. The HPS can control  the subdivision degree and speed of the stepper motor by configuring the parameters of the IP core .

    The LED display module visualized the state of the tuning. The audio output module will be triggered when the mode is switched and the tuning is completed. 

    The Bluetooth module uses a classic USB Bluetooth adapter. The Bluetooth adapter is connected to the HPS side of the DE10-Nano through a USB interface, and the mobile phone and the tuner are communicated by writing a corresponding program on the HPS side and the mobile phone side, thereby implementing a custom tuning function through the mobile phone control tuner.

    2. Software Design

    The software design is an important part of this project. We need to design a wide-range, high-accuracy frequency identification algorithm and control the motor complete the tuning quickly after obtaining the frequency message. For better user experience, the system use the multithreading technology. Besides the mian thread, the other two threads are data receiving thread and data sending thread. The function of data receiving thread is accepting the target frequency from the mobile terminal when we use the custom tunning mode. The funciton of data sending thread is to send the identified frequency information to the mobile terminal intuitively through bluetooth, so the frequency message could be shown in the screen in time. The flow chart of main thread is shown in Fig 3.

                                    

                                                                                  Fig 3

    The system will initialize the parameter when the system started which including the filter parameter setting parameter and so on. Then check the button is pressed or not. If it was pressed, get the voice data and process them to get the current frequency message which including measuring frequency coarsely by FFT, FIR filter, and get the accurate pitch frequency of the voice data by measuring the cycle approach. Then compare it with the excepted frequency. if it can't meet the demand, we will control the motor to fix the string to the excepted frequency by fuzzy control algorithm.

    The automatic tuning system can be applied to variety of stringed instruments. Therefore, the basic frequency range of the signal that should be supported between 28Hz and 2.5KHz. In order to remove the interference of the harmonic components, we should set the parameter of FIR filter properly. So we use subsection filter here. The signal frequency domain is divided into 7 segments and set the parameters of these filters respectively. There is a certain deviation in the frequency value of the signal obtained by the FFT, so it is necessary to leave some margin when designing the filter so as to avoid loss of the useful signal. The measured frequency values and band widths of the band-pass filter parameters are listed below.

    Frequency Obtained by FFT  Band Widths of Filters 
    20 ~ 70 10 ~80
    70 ~ 100 50 ~ 120
    100 ~ 200 80 ~ 220
    200 ~ 400 180 ~ 420
    400 ~ 800 380 ~ 820
    800 ~ 1600 780 ~ 1700
    1600 ~ 3000 1500~3300

    After data preprocessing and FIR filter, high-frequency components and noise have been removed from the voice data. The wave is a fundamental signal of the sound signal now. Therefore, the frequency value could be calculated by measuring cycle of frequency.The flow chart is shown in Fig 4.

                                   

                                                                                 Fig 4

    After the current sound frequency is obtained, the current frequency and the desired frequency are sent to the fuzzy controller, and the fuzzy controller outputs the fuzzy values of the direction and speed of the control motor. After the corresponding conversion, the motor can be driven to rotate.The flow chart is shown in Fig 5.

                                        

                                                                                     Fig 5

     

    3. Android Application

    The main functions of the mobile phone include that custom tuning and metronome. Custom tuning requires the user to input the desired frequency of each string and send it to the tuner. The ARM side parses the received command to complete the corresponding action. After completing the tuning function of the instrument, the user can select the “metronome” to enter the metronome interface. The metronome in this design has advanced features in addition to the basic beat selection compared to existing products and software on the market. The advanced function of  metronome is that the user can further subdivide each beat as needed after selecting the beat. The current subdivision has 4 points, 8 points, 16 points, 16 points and 16 points. After the user sets the beat and clicks “Start”, the phone will start to sound according to the user's set beat.The Android program design flow chart is shown in fig 6. Figure 7 shows some application interfaces.

    Fig 6

    Fig 7

    4. Conclusion

    with the help of our automatic tuner system, the players can tuning up the string to they wanted pitch quickly and accurately.It will be a good helper for user of string instrument.

     

     

     



    9 Comments

    xiong
    666
    🕒 Jan 27, 2018 09:51 PM
    LiAn
    想法真的很有创意。很感兴趣。
    🕒 Jan 27, 2018 08:06 PM
    Jun Fu · Judge ★
    期待表现。
    🕒 Jan 26, 2018 03:08 PM
    jiajia he
    很不错的,是音乐初学者的福音。
    🕒 Jan 21, 2018 09:12 PM
    Doreen Liu · Judge ★
    看了你的提案对实现方法还有点疑惑,很好奇这个怎么去实现。
    🕒 Jan 17, 2018 02:26 PM
    Bill Yuan · Judge ★
    很不错的想法,个人觉得驱动电机去调整琴弦的松紧旋钮,那个需要的力度还是蛮大的,驱动的机械部分需要仔细设计的。我投一票!
    🕒 Jan 14, 2018 08:08 PM
    berkay egerci
    needs little bit improvement
    🕒 Jan 13, 2018 04:24 AM
    chenlinhuioo58
    pretty good
    🕒 Jan 10, 2018 03:37 PM
    Qian Tang
    Good product!!!
    🕒 Jan 06, 2018 03:56 PM

    Please login to post a comment.