/OpenChord

A React Native songbook app for guitar players

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

Open Chord Icon

OpenChord

Cross-platform chordpro reader app for Android and iOS written with React Native.

Build Status PRs Welcome License: GPL v3 David Discord

📷 Screenshots

screenshot-1 screenshot-2 screenshot-3 screenshot-4 screenshot-5

🚀 Features

Open Chord is a React Native application for both Android and iOS that allows you to organize your chord charts, lyric sheets and songbooks with a simple app on your tablet or smartphone. Open Chord easily allows you to get rid of all that paper by displaying your music in a flexible, easy to read format.

To perform searches and download the songs the app uses OpenChordApi. OpenChordApi is currently BETA, which means it may be unreliable, unavailable or not working. That said, it's already useful and we're working to make it rock solid.

Join the community: Discord Chat

A few features include:

Feature Support
Render song with chordpro format ✔️
Import songs from the web ✔️
Transpose song ✔️
Create/edit song ✔️
Show/hide tabs ✔️
Configure font size ✔️
Show guitar chord diagrams ✔️
Autoscroll ✔️
Manage playlists ✔️
Search saved songs ✔️
Slide with touch 🕑
Slide with volume button 🕑
Multiple columns visualization 🕑
Multiple languages support 🕑
Chord dictionary 🕑
Playlist presentation mode 🕑

✔️ = supported

🕑 = will be supported in a future version

✖️ = currently no plans to support it in the near future

🔨 Try it yourself

1. Clone and Install

# clone the repo
git clone https://github.com/artutra/OpenChord.git

# Open the folder and install dependencies
cd OpenChord && npm install

2. Run it on both iOS and Android

# Run on iOS
npm run build:ios

# Run on Android
npm run build:android

Or use Docker (for Android)

# Build the container and run the build scripts inside it
docker-compose run --service-ports android bash

Obs: The docker container can't attatch to the device via USB. You have to build the app-debug.apk using npm run build:android, copy the generated file inside ./android/app/build/outputs/apk/debug/app-debug.apk and install it manually on the device.

Built With

  • React Native v0.60 - The framework for building native apps using React
  • Realm v3.0 - Realm is a mobile database that runs directly inside phones, tablets or wearables
  • React Navigation v4.0 - React Native module support navigation
  • React Native Vector Icons v6.6 - Customizable Icons for React Native with support for NavBar/TabBar/ToolbarAndroid, image source and full styling
  • React Native Webview - A modern, well-supported, and cross-platform WebView for React Native
  • ChordSheetJS - A JavaScript library for parsing and formatting chord sheets
  • ChordPro - A text file format to write lead sheets, songs with lyrics and chords

🙋 How can you help

If you find any problems, feature requests, please open an issue or submit a fix as a pull request.

📰 License

GNU General Public License v3.0

⭐ Credits

Made with ❤️ by Artur Miranda