Get synchronized song lyrics and sing along with your favorite songs. Built with Tauri and Sveltekit.
- Play a song
- See the lyrics live!
- ✨Magic ✨
- Export and copy LRC files
- Manually control your music from the app
- Lightweight and memory friendly
- Saves lyrics offline
- Works with most music players and even browsers!
There are very few sing along lyrics providers for Linux out there, Ohun attempts to solve this problem by providing a very lightweight and easy to use app If you find it useful, you can Donate to the cause
Ohun uses a number of open source projects to work properly:
- Playerctl - Playerctl is a command-line utility and library for controlling media players that implement the MPRIS D-Bus Interface Specification.
- Tauri - Build an optimised, secure, and frontend-independent application for multi-platform deployment.
- Sveltekit web development, streamlined
- Paroles Library for parsing, making, modifying and "playing" LRC format lyrics
- Lockr A minimal API wrapper for localStorage. Simple as your high-school locker.
And of course Ohun itself is open source with a repository on GitHub.
Ohun requires Playerctl to run.
You can install Playerctl with
sudo apt install playerctl
or anyway your preference or distro dictates
Download any release you want here https://web.crabnebula.cloud/org/n3rd/ohun/releases.
Want to contribute? Great!
Ohun uses NodeJS + Rust for fast development. Make a change in your file and instantaneously see your updates!
- Clone this repository
- Navigate to the folder and run
npm install
oryarn install
orpnpm install
- Run development server with
npm run tauri dev
oryarn tauri dev
orpnpm tauri dev
- Make changes and build with
npm run tauri build
oryarn tauri build
orpnpm tauri build
The main roadmap still prioritises cross-platform compatibility, especially with Windows. The biggest problem plaguing the compatibility is the fact that not many tools exist for getting media metadata from Windows and Mac. Ohun for Linux uses playerctl to get metadata for the currently playing media, but it only works on Linux, a few workarounds exist, some very crude and not healthy for this project. I currently do not have a lot of time to work on this project as I am on a tight schedule but will do my best to achieve cross-compatibility in the near future.
- Cross compatibility
- Improvement in UI (some elements don't just behave...... right)
- Better offline support (caching images for offline use)
- Better error handling
- Fix "Always on top" (Minor Tauri Bug)
- Embed playerctl in the Linux binary as a sidecar so the user does not need to install it manually.
MIT
Free Software, Hell Yeah!
Don't do drugs