Music library and metadata database. https://radio.animebits.moe/player/hash/3f90704a30f9
Go to file
2022-02-17 20:09:09 +01:00
database Completed database types 2022-02-14 16:45:30 +01:00
dbschema Added EdgeDB test schema and migration 2022-02-17 20:09:09 +01:00
metadata Fix DiscEntry directory/album entries 2022-02-16 20:36:52 +01:00
store Add % on badger import state 2022-02-06 18:13:31 +01:00
utilities Added DiscHandler, TOC generator from file list, sorter, and muxed hasher 2022-02-16 20:01:51 +01:00
.gitignore Initial commit 2022-01-30 04:39:04 +01:00
edgedb.toml Added EdgeDB test schema and migration 2022-02-17 20:09:09 +01:00
go.mod Added DiscHandler, TOC generator from file list, sorter, and muxed hasher 2022-02-16 20:01:51 +01:00
go.sum Added DiscHandler, TOC generator from file list, sorter, and muxed hasher 2022-02-16 20:01:51 +01:00
LICENSE Initial commit 2022-01-30 04:39:04 +01:00
METANOIA.go Open badger readonly on server/query commands 2022-02-06 21:24:27 +01:00
README.md Completed database types 2022-02-14 16:45:30 +01:00
schema.sql update schema, optimized db ops a bit 2022-02-01 11:49:35 +01:00

METANOIA

Music library and metadata database.

Dependencies

Go >= 1.18

Hibiki dependencies

Hibiki is an implementation of Panako in Go, and other audio utilities.

Check its native dependencies that must be installed before usage.

Postgres 14+

Test setup

# Create ephemeral postgres database
docker run --rm -p 5432:5432 --name metanoia-postgres \
-e POSTGRES_PASSWORD=metanoia -e POSTGRES_DB=metanoia -e POSTGRES_USER=metanoia -d \
postgres:14

# Insert schema
docker exec -i --env PGPASSWORD=metanoia metanoia-postgres psql --username metanoia metanoia < schema.sql

# Add tracks to database and fingerprint them
CGO_CFLAGS="-march=native -Ofast" go run . \
-connstr "user=metanoia password=metanoia dbname=metanoia sslmode=disable host=127.0.0.1" -printdb ./data/prints \
-cmd add -path /path/to/add

# Query tracks/segments from database
CGO_CFLAGS="-march=native -Ofast" go run . \
-connstr "user=metanoia password=metanoia dbname=metanoia sslmode=disable host=127.0.0.1" -printdb ./data/prints \
-cmd query -path /file/to/query.flac