Initial commit

This commit is contained in:
diyaa
2026-09-13 20:21:10 +02:00
commit 18d7d56345
42 changed files with 5459 additions and 0 deletions
+87
View File
@@ -0,0 +1,87 @@
# Song Project --- Draft Data Model
This schema is intentionally provider-neutral and should evolve before
implementation is locked.
``` text
SongProject
- id
- title
- idea
- duration
- conversationMode: auto | discuss
- languages[]
- dialects[]
- arabicPronunciationSettings
- genres[]
- moods[]
- emotionalArc[]
- bpm
- key
- scale
- maqam
- sections[]
- instruments[]
- vocalists[]
- lyrics
- productionDirections[]
- sunoOutput
- versions[]
- createdAt
- updatedAt
InstrumentCatalogItem
- id
- name
- familyCategory
- regionOrigin (optional)
- aliases[]
- searchTerms[]
SongSection
- id
- type (intro, verse, preChorus, chorus, bridge, outro, custom)
- title
- startTime
- endTime
- lyrics
- emotion
- energy
- vocalDirection
- productionDirection
InstrumentTrack
- instrumentId
- selected
- variant
- playingStyle
- role
- autoArrangementEnabled
- placements[]
InstrumentPlacement
- sectionId (optional)
- startTime (optional)
- endTime (optional)
- direction
Vocalist
- id
- label
- voiceType
- genderSelection
- performanceStyle
- assignedSections[]
SunoOutput
- lyricsText
- stylePrompt
- additionalFields
- generatedAt
```
## Override Rule
Explicit user values are authoritative. AI may fill missing values or
propose changes, but must not silently replace locked/manual user
choices.