This project is a guitar tuner application built for Linux and WSL. It uses the PortAudio library for real-time audio input and the FFTW library for frequency analysis. The application detects the frequency of the played guitar string and matches it to the closest musical note.
- Real-time audio input processing using PortAudio.
- Frequency analysis using FFTW.
- Detection of the closest musical note to the detected frequency.
- User-friendly console output displaying the detected frequency and closest note.
Before you begin, ensure you have met the following requirements:
To install the necessary libraries, run the following commands:
# Install PortAudio
sudo apt-get install portaudio19-dev
# Install FFTW
sudo apt-get install libfftw3-dev
- Clone this repository to your local machine.
git clone https://github.com/aashishbishow/tuner.git
cd tuner
- Compile the application using
g++
.
g++ -o guitar_tuner tuner.cpp -lportaudio -lfftw3
- Run the application.
./guitar_tuner
-
Play a note on your guitar. The application will display the detected frequency and the closest musical note.
-
Press
Enter
to quit the application.
Contributions are always welcome! Please adhere to the following guidelines:
- Fork the repository.
- Create a new branch (
git checkout -b feature-foo
). - Make your changes.
- Commit your changes (
git commit -m 'Add some foo'
). - Push to the branch (
git push origin feature-foo
). - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.