Desktop, mobile and web app for Record.
Note: This repo is the React & React Native UI for Record Node.
Record is a proof of concept immutable distributed system for audio files. Built entirely on IPFS, user data is stored in a scuttlebot-esque immutable log via IPFS-Log & OrbitDB. Bootstraping/peer discovery is done via bitboot.
At it's core, the application intends to be a media library management & playback system akin to beets with the ability to join various sources of music like tomahawk player. By building everything on top of IPFS, it can become a connected network of libraries, opening the door to many other possibilities (i.e. soundcloud & musicbrainz), while still being entirely distributed and thus being able to function permanently.
- Supports: mp3, mp4, m4a/aac, flac, wav, ogg, 3gpp, aiff
- Audio file tag support via Music Metadata
- Audio fingerprinting via Chromaprint
- Listening history w/ counter and timestamps
- Tagging system for organization
- Play / Shuffle search results & organizational tags
- Import files from the local file system
- Import from various web-based sources: Youtube, Soundcloud, Bandcamp, etc
- Content deduplication
- Play queue
Future Features
- Metadata cleaning / import using: discogs, musicbrainz, last.fm, allmusic, beatport, streaming services, etc
- Media server (MPD, Sonos, Plex, Kodi, Emby)
- Audio and music analysis (Aubio, Essentia)
- Audio Scrobbling (last.fm, libre.fm, listenbrainz)
- Trustless timestamping / distributed copyrighting & distribution (OpenTimestamps, Nano, etc)
- Read the wiki for a primer.
- Check out the roadmap to view planned features.
Installation & Usage (Development)
yarn install
yarn start:electron
First, install packages needed by nodejs-mobile:
yarn install:nodejs-mobile
Then, start react native packager with:
yarn start:rn
yarn build:ios // or `yarn build:ios:dev`
yarn start:ios // or open & build with xcode `open ios/Record.xcodeproj/`
yarn build:android
yarn start:android
MIT