PR077 »
📁Digital Design
👤嘉锐 连
📅Apr 30, 2018
Regional Final

👀 1479   💬 9

PR077 » 智能自动调音器



Demo Video

  • URL:

  • Project Proposal

    1. High-level Project Description


    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.


    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



    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


    recognizable frequency range


    the range of tuning


    the accuracy of tuning

    About 3 cents

    tuning time

    Within 30s each string

    the speed of motor




    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.





    🕒 Jan 27, 2018 09:51 PM
    🕒 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
    pretty good
    🕒 Jan 10, 2018 03:37 PM
    Qian Tang
    Good product!!!
    🕒 Jan 06, 2018 03:56 PM

    Please login to post a comment.