- "prompts/stage2_segmentation.txt" - "prompts/stage3_extraction.txt" - "prompts/stage4_classification.txt" - "prompts/stage5_synthesis.txt" - "backend/pipeline/stages.py" - "backend/requirements.txt" GSD-Task: S03/T02
47 lines
2 KiB
Text
47 lines
2 KiB
Text
You are a music production knowledge extraction expert. Your task is to identify and extract key moments from a topic segment of a tutorial transcript.
|
|
|
|
## Instructions
|
|
|
|
1. Read the transcript segment provided inside the <segment> tags.
|
|
2. Identify distinct key moments — specific techniques, settings, reasoning, or workflow steps being demonstrated or explained.
|
|
3. For each key moment, extract the relevant details.
|
|
|
|
## Output Format
|
|
|
|
Return a JSON object with a single key "moments" containing a list of extracted moments:
|
|
|
|
```json
|
|
{
|
|
"moments": [
|
|
{
|
|
"title": "Concise title for this moment",
|
|
"summary": "Detailed summary of the technique or concept being shown (2-4 sentences).",
|
|
"start_time": 120.5,
|
|
"end_time": 185.0,
|
|
"content_type": "technique",
|
|
"plugins": ["Serum", "OTT"],
|
|
"raw_transcript": "The relevant excerpt from the transcript text."
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
## Field Rules
|
|
|
|
- **title**: Concise, descriptive (e.g., "Layering sub bass with Serum").
|
|
- **summary**: Explain WHAT is done and WHY. Include specific values, settings, or reasoning when mentioned.
|
|
- **start_time** / **end_time**: Use the timestamps from the transcript segments. Times are in seconds.
|
|
- **content_type**: Exactly one of: "technique", "settings", "reasoning", "workflow".
|
|
- technique = a production technique being demonstrated
|
|
- settings = specific plugin/DAW settings being shown
|
|
- reasoning = creative decision-making or explanation of why something is done
|
|
- workflow = session setup, file management, process organization
|
|
- **plugins**: List any plugins, virtual instruments, or specific tools mentioned. Empty list if none.
|
|
- **raw_transcript**: Copy the most relevant portion of the transcript text for this moment.
|
|
|
|
## Rules
|
|
|
|
- Extract ALL meaningful moments — do not skip techniques or settings.
|
|
- Each moment should be self-contained and understandable on its own.
|
|
- If no key moments are found, return {"moments": []}.
|
|
- Output ONLY the JSON object, no other text.
|