youtube/remotion/src/folge08/laternenlied.ts
2026-11-06 12:47:46 +00:00

71 lines
2.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import {SPRACHE, type Sprache} from '../baukasten/sprache';
import type {LiedZeile} from '../lieder/karaoke';
// Laternenlied (Suno, eine Fassung mit DE, ES und FR nacheinander, 644eb1d0…, siehe
// drehbuecher/lieder/suno-auswahl.md). Je Sprache ist der Abschnitt mit der zweimal gesungenen Strophe
// ausgeschnitten nach public/musik/folge08/laternenlied-<sprache>.mp3 (auf −14 LUFS, weich ein- und
// ausgeblendet). Wortzeiten am 06.11.2026 mit faster-whisper gemessen, hier relativ zum Schnittanfang.
type Lied = {datei: string; dauer: number; zeilen: LiedZeile[]};
// Wortzeiten im ganzen Lied → relativ zum Schnittanfang
const ab = (start: number, zeilen: string[]): LiedZeile[] =>
zeilen.map((z) =>
z
.split(' ')
.map((w) => {
const [text, t] = w.split('@');
return `${text}@${(Number(t) - start).toFixed(2)}`;
})
.join(' '),
);
const LIEDER: Record<Sprache, Lied> = {
// Schnitt 9,0–34,0 s
de: {
datei: 'musik/folge08/laternenlied-de.mp3',
dauer: 25.0,
zeilen: ab(9.0, [
'Mein@10.96 kleines@11.34 Licht,@12.06 so@12.4 rund@12.84 und@13.16 warm,@13.52',
'ich@13.96 trag@14.16 es@14.56 durch@14.9 den@15.26 Garten.@15.68',
'Der@16.74 Mond@17.0 schaut@17.24 schon,@17.64 die@18.02 Sterne@18.44 auch,@18.94',
'die@19.4 wollen@19.88 auf@20.38 uns@20.84 warten.@21.18',
'Mein@22.36 kleines@22.6 Licht,@23.24 so@23.62 rund@23.98 und@24.36 warm,@24.66',
'ich@25.14 trag@25.34 es@25.74 durch@26.06 den@26.4 Garten.@26.76',
'Der@27.8 Mond@28.18 schaut@28.42 schon,@28.82 die@29.2 Sterne@29.6 auch,@30.1',
'die@30.58 wollen@30.96 auf@31.56 uns@32.04 warten.@32.36',
]),
},
// Schnitt 43,4–67,2 s
es: {
datei: 'musik/folge08/laternenlied-es.mp3',
dauer: 23.8,
zeilen: ab(43.4, [
'Mi@44.6 farolito@45.04 redondo,@46.04',
'lo@47.2 llevo@47.62 por@48.06 el@48.52 jardín.@48.8',
'La@50.3 luna@50.5 y@51.0 las@51.25 estrellas@51.9',
'nos@52.6 esperan@53.08 por@53.95 allí.@54.38',
'Mi@55.3 farolito@56.05 redondo,@57.17',
'lo@58.32 llevo@58.75 por@59.2 el@59.66 jardín.@60.04',
'La@61.5 luna@61.68 y@62.18 las@62.43 estrellas@63.07',
'nos@63.82 esperan@64.26 por@65.1 allí.@65.62',
]),
},
// Schnitt 76,8–101,2 s
fr: {
datei: 'musik/folge08/laternenlied-fr.mp3',
dauer: 24.4,
zeilen: ab(76.8, [
'Ma@78.36 lanterne@78.78 est@79.4 ronde@79.82 et@80.26 chaude,@80.58',
'je@81.22 la@81.44 porte@81.96 au@82.34 grand@82.6 jardin.@82.82',
'Lune@83.7 et@84.16 étoiles,@84.74 tout@85.36 là-haut,@85.64',
"elles@86.94 m'attendent@87.1 en@88.04 chemin.@88.4",
'Ma@89.7 lanterne@89.92 est@90.4 ronde@90.74 et@91.28 chaude,@91.62',
'je@92.24 la@92.62 porte@93.12 au@93.44 grand@93.74 jardin.@93.96',
'Lune@95.14 et@95.52 étoiles,@95.84 tout@96.5 là-haut,@96.84',
"elles@98.08 m'attendent@98.24 en@99.24 chemin.@99.6",
]),
},
};
export const LATERNENLIED = LIEDER[SPRACHE];