docs: add proposition to karaoke exercise
This commit is contained in:
parent
307a5eaaa2
commit
7d832c9df7
@ -100,3 +100,38 @@ Before providing the API specs for the second type of the exercises page, there'
|
||||
**Option:** Provide both a file path and Base64-encoded audio in the JSON.
|
||||
|
||||
---
|
||||
|
||||
### **Proposition of the Karaoke Exercise JSON Structure**
|
||||
|
||||
This proposition uses one solution of the different design challenges mentioned above and is designed for a karaoke type exercise where audio is associated with tasks that guide the user through the exercise. The **audio** path points to the MP3 file used in the exercise. Each task contains a segment of the lyrics that should be highlighted in sync with the audio playback.
|
||||
|
||||
In this structure:
|
||||
- The **audio** is stored as a file path to the MP3.
|
||||
- The **tasks** are broken down by segments of the audio, and each segment corresponds to a specific time range defined by **start_time** and **end_time**.
|
||||
- The **highlighted_text** field will now represent **words** rather than full sentences, providing more granular control for highlighting.
|
||||
|
||||
Here’s the updated JSON example:
|
||||
|
||||
```json
|
||||
{
|
||||
"exercise_id": 1,
|
||||
"title": "Karaoke Exercise",
|
||||
"audio": "/path/to/audio/file/karaoke_exercise.mp3",
|
||||
"tasks": [
|
||||
{
|
||||
"id": 1,
|
||||
"text": "The lyrics of the audio content subtask",
|
||||
"start_time": 0,
|
||||
"end_time": 30,
|
||||
"highlighted_text": "The first word of the first sentence"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"text": "Continue with the next part of the lyrics",
|
||||
"start_time": 31,
|
||||
"end_time": 60,
|
||||
"highlighted_text": "The first line of the second part of the audio"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
Loading…
x
Reference in New Issue
Block a user