The central hub for contributing and streaming high-fidelity lossless .flac audio within the Echo Music ecosystem.
This repository stores community-contributed FLAC files and uses a high-performance Scatter-Gather Architecture to process thousands of song submissions without merge conflicts.
To ensure this database can scale infinitely without Git merge conflicts, we do not allow users to manually edit the master music.json file. Instead:
- Scatter: Users submit their song metadata as a tiny, uniquely named
.jsonfile into thesubmissions/folder (e.g.submissions/username-1234.json). - Merge: Because everyone creates a brand new file, Pull Requests merge instantly with zero merge conflicts.
- Gather (Compile): Once merged into
main, a background GitHub Action automatically scoops up the tiny submission files, appends them to the mastermusic.json, and deletes the tiny files to keep the repository clean.
The easiest way to submit a high-fidelity track is through the Contribute Portal. No Git knowledge is required!
- Log In: Authenticate with GitHub to allow the portal to submit on your behalf.
- Upload: Drag and drop your
.flacfile (max 99MB). - Submit: The portal will automatically handle the scatter-gather process, upload the audio to
Music/, create your unique submission.jsonfile, and open a Pull Request. - Auto-Merge: A security bot will instantly validate and merge your PR. Your song goes live in seconds!
If you prefer working with Git directly from your terminal, you must follow the scatter-gather pattern:
Add your .flac file into the Music/ directory.
- Filename: Must be prefixed with your GitHub username.
- Example:
Music/octocat-blinding_lights.flac
Do not edit music.json. Instead, create a new file in the submissions/ folder named [your_username]-[timestamp].json.
Inside this file, provide a JSON array containing your song details:
[
{
"song": "Track Title",
"artist": "Artist Name",
"url": "https://lossless.echomusic.fun/Music/username-trackname.flac"
}
]Commit your .flac and your .json file, push to your fork, and submit a Pull Request.
git add Music/octocat-blinding_lights.flac submissions/octocat-123.json
git commit -m "feat: added lossless track for Song Title"
git push origin mainOnce you open a Pull Request, our bot will automatically validate it and merge it. The backend compiler will then move your song into the master music.json!
We run an automated validation workflow (auto-merge.yml) on every Pull Request. For a Pull Request to be automatically merged, it must pass the following checks:
- Strict Path Security:
- Your Pull Request must only add files to the
submissions/andMusic/directories. Modifying any core files will result in instant rejection.
- Your Pull Request must only add files to the
- Maximum File Size Limit:
- Audio files must be under 99 MB.
- Ownership Prefix:
- Audio files must be prefixed with your GitHub username to prevent naming collisions.
Need help or want to join the Echo Music community?
- Discord Community: Join our Discord
- Telegram Channel: Join our Telegram
- Issues: If you encounter any bugs, please open a GitHub Issue.
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.
