lagt till spundpack

This commit is contained in:
larssand
2026-08-28 12:45:58 +02:00
parent e5af42ce2d
commit 3f3b410869
12 changed files with 99 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
# RC Race Sound Pack
Repository-ready sound assets and event manifest for an RC racing timing application.
## Included
- 48 kHz / 16-bit mono WAV effects
- Start tone
- Transponder/pass beep
- Warning and final-lap tones
- Personal-best sting
- Fastest-lap trophy sting
- Track-record fanfare
- Race-finish sting
- Position gain/loss cues
- Swedish and English TTS scripts in `sound_manifest.json`
## Voice files
Generate TTS as WAV and place files in `sounds/en/` and `sounds/sv/`, using the event keys
from `sound_manifest.json` as filenames, for example `sounds/sv/fastest_lap.wav`.
Recommended voice style: clear professional race director / PA announcer, energetic but short.
Keep announcements dry (no reverb) so they remain intelligible over RC cars and PA systems.
## Start sequence
1. Play `drivers_ready`
2. Play `start_phrase`
3. Wait a random 1–4 seconds
4. Play `effects/start_beep.wav`
5. Start race timing on the tone
## Integration
Treat `sound_manifest.json` as the contract between timing events and audio assets.
Effects can be used immediately; voice assets can later be replaced without code changes.

View File

@@ -0,0 +1,66 @@
{
"format": {
"sample_rate": 48000,
"channels": 1,
"pcm": "16-bit",
"recommended_runtime_gain_db": -6
},
"effects": [
"fastest_lap_trophy.wav",
"final_lap.wav",
"personal_best.wav",
"position_gain.wav",
"position_loss.wav",
"race_finish.wav",
"start_beep.wav",
"track_record_fanfare.wav",
"transponder_pass.wav",
"warning.wav"
],
"voice_events": {
"en": {
"race_1_minute": "Race starts in one minute.",
"race_30_seconds": "Thirty seconds to start.",
"drivers_ready": "Drivers, stand by.",
"start_phrase": "Starting on the sound of the tone.",
"personal_best": "Personal best!",
"fastest_lap": "Fastest lap!",
"track_record": "New track record!",
"new_leader": "We have a new race leader.",
"one_minute_remaining": "One minute remaining.",
"thirty_seconds_remaining": "Thirty seconds remaining.",
"final_lap": "Final lap.",
"time_expired": "Time has expired. Finish the lap you are on.",
"race_finished": "Race is finished.",
"race_winner": "Race winner!"
},
"sv": {
"race_1_minute": "Start om en minut.",
"race_30_seconds": "Trettio sekunder till start.",
"drivers_ready": "Förare, gör er redo.",
"start_phrase": "Start på signalen.",
"personal_best": "Personbästa!",
"fastest_lap": "Snabbaste varv!",
"track_record": "Nytt banrekord!",
"new_leader": "Vi har en ny ledare.",
"one_minute_remaining": "En minut kvar.",
"thirty_seconds_remaining": "Trettio sekunder kvar.",
"final_lap": "Sista varvet.",
"time_expired": "Tiden är slut. Slutför pågående varv.",
"race_finished": "Racet är avslutat.",
"race_winner": "Segrare!"
}
},
"runtime": {
"start_delay_seconds": {
"min": 1.0,
"max": 4.0,
"randomize": true
},
"passing_sound": "effects/transponder_pass.wav",
"start_sound": "effects/start_beep.wav",
"fastest_lap_sound": "effects/fastest_lap_trophy.wav",
"track_record_sound": "effects/track_record_fanfare.wav",
"finish_sound": "effects/race_finish.wav"
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.