2022-01-30 03:39:04 +00:00
|
|
|
# METANOIA
|
|
|
|
|
|
|
|
Music library and metadata database.
|
|
|
|
|
|
|
|
## Dependencies
|
2022-02-14 15:45:30 +00:00
|
|
|
### Go >= 1.18
|
2022-01-30 03:39:04 +00:00
|
|
|
### [Hibiki](https://git.gammaspectra.live/S.O.N.G/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
|
|
|
|
|
|
|
|
```bash
|
2022-02-01 10:49:35 +00:00
|
|
|
# Create ephemeral postgres database
|
2022-01-30 03:39:04 +00:00
|
|
|
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
|
|
|
|
|
|
|
|
```
|