mirror of
https://github.com/cstaelen/shazarr.git
synced 2026-10-19 01:31:11 -05:00
3021a5840992ee6a8795e68ea655e555fdbd26e3
Shazarr - ShazamIO web UI
This project provides a mobile app to shazam songs with Lidarr and Tidarr integration.
Features
- Audio microphone capture and song recognition using python ShazamIO.
- Download discovered album to Lidarr
- Download discovered song/album with Tidarr
- Listen on streaming app Spotify, Apple Music and Deezer
- Show lyrics
- Offline song record and recognize later (if API is not accessible)
- Record history
Get started
In order to use it you will have to install:
- API : Docker image to query Shazam services
- Client apps:
- android: ✅ APK download
- ios: ⚠️ build app from Xcode ONLY (needs xcode and paired device)
Summary:
- Pull and up docker image
cstaelen/shazarr-api - Go to url on
http://<docker-host>:12358to see qrcode - Download APK by scanning qrcode
- Fill Shazarr API URL in app
1. Docker image
Using docker-compose.yml:
version: "3"
services:
shazarr-api:
image: cstaelen/shazarr-api:latest
ports:
- 12358:12358
environment:
- LIDARR_API_KEY=123456789abcdef
- LIDARR_URL=http://<lidarr-web-ui-url>
- LIDARR_LIBRARY_PATH=/music/
- TIDARR_URL=http://<tidarr-web-ui-url>
Using docker run:
docker run \
--rm \
--name shazarr-api \
--platform=linux/amd64 \
-p 12358:12358 \
-e LIDARR_API_KEY=123456789abcdef \
-e LIDARR_URL=http://<lidarr-web-ui-url> \
-e LIDARR_LIBRARY_PATH=/music/ \
-e TIDARR_URL=http://<tidarr-web-ui-url>
You will find your lidarr music path in web ui :
API should be reachable at http://<docker_machine_ip>:12358.
2. Mobile App
Android
Downloads:
- by scanning QR code displayed on
http://<docker_shazarr>:12358 - APK available here
iOS (source build)
Requirements: npm, ionic, xcode.
- Git clone project first
- in project folder run:
cd docker-shazarr
npm run ios:build
XCode should open project.
- Pair your iOS device
- build the app.
- After few secs, it should be installed on your ipad/iphone.
Roadmap
- API using docker image
- Android app
- Record history: access last shazamed songs
- Offline record: record without API access, recognize song later
- [-] iOS app: find a way to distribute packaged app without using app store and without have to build it
Development
- Docker image for API services (ExpressJS + python)
- Android mobile app (ReactJS + Ionic/Capacitor)
Watch mode
Start api in watch mode :
make api/dev
UI available on port 8100 http://localhost:12358/
Start app in watch mode :
make app/dev
UI available on port 8100 http://localhost:8100/
Build
Build APK with Android studio:
make android/build
Build ios app with Xcode:
make ios/build
Build API docker image:
make api/build
Credits
- Big thanks to the ShazamIO team for the awesome works 👏💪🙏
- UI inspiration : https://github.com/codrops/ShazamButtonEffect
- See Lidarr project: https://github.com/linuxserver/docker-lidarr
- See Tidarr project: https://github.com/cstaelen/tidarr
Description
Offroad Shazam Android app (iOs available on source build). Lidarr and Tidarr companion.
68 MiB
0 Stars
1 Watchers
0 Forks