Coral
A brand new take on a self-hosted music streaming platform.
Install / Use
/learn @GOATS2K/CoralREADME
Coral
A brand new take on a self-hosted music streaming platform.
Features
- A universal app written in React Native (Web, iOS, Android)
- Gapless audio playback on all platforms
- A recommendation system powered by Essentia's ML models.
- On-demand, on-the-fly audio transcoding
Build
- .NET 9
- Bun
- make
- ffmpeg
- libmpv
Install frontend dependencies.
$ git submodule update --init --recursive
$ cd src/coral-app
$ bun install
Backend
You will need to have a C++ toolchain setup to compile the inference program.
On Windows, you can install MSVC to do that.
On Linux, you should be fine with the build-essential package.
On macOS, you'll need brew installed.
$ cd src/Coral.Essentia.Cli
$ make install-deps
$ make configure
$ make build
$ cd ../Coral.Api
$ dotnet run --
Web
$ cd src/coral-app
$ bun run web
It is recommended to use Firefox as Chrome is much stricter with what codecs it supports when using MSE.
Electron
First, download libmpv for x86_64 and extract the files to src/coral-app/electron/native/libmpv/win
Then, in src/coral-app run bun run electron:dev and refresh the page with CTRL+SHIFT+R to kick off the web server.
iOS
Download XCode from the app store.
Run the following command:
$ sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
$ sudo xcodebuild -license
$ cd src/coral-app
$ bunx expo run:ios
Open the ios directory in Xcode, look in the top bar where it says "iOS 18.2 Not installed" and click "Get".
Related Skills
node-connect
351.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
