Guitartuner
A QT gui application that helps you tune your guitar
Contents
About
Guitartuner is a easy to run tuning application. It easily helps you tune your guitar with the help of a simple GUI.
Functionality
- Real-time standard tuning
- Showing pitch frequency
Hardware
- Raspberry pi model 4b
- I2s microphone
Quick Start
Assembly and Soldering
More details can be found here!
Raspberry pi for wiring
More datails, remember this is mono mic based project.
Installation
Follow the following steps
-
Install the driver for i2s mic, link, after the wiring section.
-
Install several dependenceis.
sudo apt-get -y update
sudo apt-get -y upgrade
and then install these modules
- asound module
- fftw3 module
- Qt module
- iir filter module
sudo apt-get install libasound2-dev python3-pip libboost-all-dev
sudo apt-get install libfftw3-dev
sudo apt-get install qtdeclarative5-dev-tools libqwt-qt5-dev qtmultimedia5-dev
- Configure dynamic linker run-time bindings
sudo ldconfig
- clone this project
git clone https://github.com/LancerMar/GuitarTuner
cd GuitarTuner
Before compiling
you need to use command
arecord -l
to find which card your sensor connected on your raspberry Pi
after that ,you can open the i2s_mems_mic.h find this line
char const* pcm_name = "plughw:1";//sound device name
make sure the number in "plughw:1" is your card number. For example, if your card number is "card 0" , then you should change "plughw:1" to "plughw:0" , in that way, after compiling , the program can run successfully
Run the executable
You can compile the release version of our project by using following command on RaspberryPi
mkdir release
cd release/
cmake -DCMAKE_BUILD_TYPE=Release ..
make
The guitartuner is the excutable file, run it.
./guitartuner
Debug
You can compile the debug version of our project by using following command on RaspberryPi
mkdir debug
cd debug/
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
The guitartuner is the excutable file
You can use
gdb -tui guitartuner
to debug this program
Running Tests
To run the unit tests
make test
Usage
For instructions on how to use the Guitartuner application, see the User Manual.
Documentation
Stretch Goals
- Electric machine that could tune the guitar automatically
- More precise pitches detection, remove harmonics