Files
Soundgen/Cargo.toml
T
Emil 3e2376ac26 Add feedback loop: SQLite-backed rating system + MCP tools + GUI Training tab
New crate: soundgen-feedback
- FeedbackDB with SQLite (rusqlite, bundled)
- CRUD: add, update_rating, get_all, get_unrated, top_rated, delete
- search_similar: keyword-based similarity for few-shot reference
- export_jsonl: export rated examples for fine-tuning
- 9 tests

MCP server: 5 tools (was 3)
- generate_batch: generate multiple sounds by name, store in DB
- get_reference_sounds: search DB for highly-rated similar sounds
- render_sound: now returns reference examples from DB in response
- --db flag to specify feedback database path

GUI: Training tab
- Open/create feedback DB (file dialog)
- Generate batch dialog (enter names, output dir)
- Sound list with star rating (1-5), feedback text, play button
- Export dataset as JSONL
- Stats display (total/rated/avg rating)

OpenCode config updated with --db feedback.db path
2026-06-21 22:40:07 +03:00

39 lines
1.0 KiB
TOML

[workspace]
members = [
"crates/soundgen-core",
"crates/soundgen-fmt",
"crates/soundgen-io",
"crates/soundgen-seq",
"crates/soundgen-cli",
"crates/soundgen-mcp",
"crates/soundgen-gui",
"crates/soundgen-runtime",
"crates/soundgen-feedback",
]
resolver = "2"
[workspace.package]
version = "0.1.0"
edition = "2021"
license = "MIT"
repository = "https://github.com/emil28092005/Soundgen"
[workspace.dependencies]
soundgen-core = { path = "crates/soundgen-core" }
soundgen-fmt = { path = "crates/soundgen-fmt" }
soundgen-io = { path = "crates/soundgen-io" }
soundgen-seq = { path = "crates/soundgen-seq" }
soundgen-runtime = { path = "crates/soundgen-runtime" }
soundgen-feedback = { path = "crates/soundgen-feedback" }
hound = "3"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
clap = { version = "4", features = ["derive"] }
cpal = "0.15"
eframe = "0.28"
egui = "0.28"
egui-file-dialog = "0.6"
rusqlite = { version = "0.31", features = ["bundled"] }
uuid = { version = "1", features = ["v4"] }