feat: MusicBrainz BPM enrichment + improved AI prompts
- lookupRecordingWithTags, extractBpmFromTags, extractTimeSigFromTags, getMusicBrainzRecording added to MB client - upsertSong preserves existing BPM via COALESCE on conflict - updateSongBpm helper for async enrichment writes - AnalysisInput gains confirmedBpm / confirmedTimeSigNum fields - POST /api/analyze fetches confirmed BPM from DB then MB tags before generation - All three AI providers use confirmedBpm as authoritative and build enriched userMessage - POST /api/tracks auto-registration now fetches tags via getMusicBrainzRecording - Updated User-Agent and MB client fallback URL to Gitea Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -8,6 +8,8 @@ export interface AnalysisInput {
|
||||
mbid?: string | null;
|
||||
contributed_by: string;
|
||||
ollamaModel?: string; // required when provider id is "ollama"
|
||||
confirmedBpm?: number | null; // from MusicBrainz tags or other reliable source
|
||||
confirmedTimeSigNum?: number | null; // time signature numerator if confirmed
|
||||
}
|
||||
|
||||
export interface ProviderInfo {
|
||||
|
||||
Reference in New Issue
Block a user