Tune your guitar with ease using this precise and user-friendly tuner app. Featuring multiple tuning algorithms, customizable presets, and a noise reduction feature, this app ensures your guitar is always in perfect tune.
- π±
Overview
- β¨
Demonstration
- π
Download
- π οΈ
Project Setup
- π οΈ
Architecture
- π οΈ
Tech stack & Open-source libraries
- π€
Join the team
- βοΈ
Author
- βοΈ
Stats
- Perfect for beginners and experienced guitarists
- Intuitive interface
- Adaptive design: Ensures a great experience on any Android device
- Customizable appearance: dark/light theme, change display modes for strings (list/grid), different tuner indicator modes, supports multiple music notations (Solfeggio, English, German), supports ukrainian language, e.t.c.
- Automatic tuning mode for quick and easy tuning
- Create/delete your own tuning sets
- Noise reduction for optimal tuning in noisy environments
- Customizable base frequency
- Many available pitch detection algorithms (powered by TarsosDSP):
Download and test latest version
You need to have Android Studio to set up this project locally. After downloading all the requirements, please import the project into Android Studio, build the project, and click Run.
Build or run the project with terminal using
./gradlew assembleDebug
or ./gradlew assembleRelease
command.
- Minimum SDK level 24
- Kotlin - Official programming language for Android development.
- Jetpack Compose - Jetpack Compose is Androidβs recommended modern toolkit for building native UI.
- Coroutines - For asynchronous and more..
- Coroutines Flow - For streams and alternative Live Data..
- Koin - The pragmatic Kotlin & Kotlin Multiplatform Dependency Injection framework
- Room DB - The Room persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite
- Satchel: A fast, secure and modular key-value storage with batteries-included for Android and JVM.
- TarsosDSP: TarsosDSP is a Java library for audio processing.
- Android Architecture Components - Collection of
libraries that help you design robust, testable, and maintainable apps.
- Lifecycle: Observe Android lifecycles and handle UI states upon the lifecycle changes.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- Material Components for Android - Modular and customizable Material Design UI components for Android.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Open an issue first to discuss what you would like to change. Report issues in the issue tracker
- Fork the Project
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a pull request
π¬ Discuss?
Have any questions, doubts or want to present your opinions, views? You're always welcome. You can start discussions.
π€ GitaristErik
- Linked-In: GitaristErik
- Email: GitaristErik@gmail.com
Warning
Please be aware of the following crucial points regarding the GNU General Public License, Version 3 (GPL-3.0):
- This software is distributed under the terms of the GNU General Public License, Version 3.
- Any modifications or derivative works you create must also be licensed under the GPL-3.0.
- The software is provided "as is," without any warranties or guarantees.
By using this software, you agree to abide by the terms of the GPL-3.0.
For more details, please refer to the LICENSE file.