From 2395c048ffe01bf42588aeb762b49fcb1d46d9a5 Mon Sep 17 00:00:00 2001 From: Joshua Zhang Date: Wed, 4 Mar 2026 17:02:59 +0800 Subject: [PATCH] fix speaker recognize --- .gitignore | 3 + _assembleai/S01E02_assemblyai.json | 438 +--- _assembleai/S02E01_assemblyai.json | 3411 ---------------------------- _assembleai/S02E02_assemblyai.json | 808 ++----- _lines/S01E01_lines.txt | 67 - _lines/S01E02_lines.txt | 56 - _lines/S02E01_lines.txt | 86 - _lines/S02E02_lines.txt | 94 - _speakers/S01E01_speakers.txt | 67 - _speakers/S01E02_speakers.txt | 56 - _speakers/S02E01_speakers.txt | 86 - _speakers/S02E02_speakers.txt | 94 - _translated/S01E01_translated.json | 60 +- _translated/S01E02_translated.json | 64 +- _translated/S02E01_translated.json | 518 ----- _translated/S02E02_translated.json | 66 +- debug_llm.py | 235 ++ step3_infer_speakers.py | 237 +- 18 files changed, 652 insertions(+), 5794 deletions(-) delete mode 100644 _assembleai/S02E01_assemblyai.json delete mode 100644 _lines/S01E01_lines.txt delete mode 100644 _lines/S01E02_lines.txt delete mode 100644 _lines/S02E01_lines.txt delete mode 100644 _lines/S02E02_lines.txt delete mode 100644 _speakers/S01E01_speakers.txt delete mode 100644 _speakers/S01E02_speakers.txt delete mode 100644 _speakers/S02E01_speakers.txt delete mode 100644 _speakers/S02E02_speakers.txt delete mode 100644 _translated/S02E01_translated.json create mode 100644 debug_llm.py diff --git a/.gitignore b/.gitignore index 7ddcbfa..4d97ce6 100644 --- a/.gitignore +++ b/.gitignore @@ -56,10 +56,13 @@ cache/ # cached files _translate_cache/ +_lines/ _speakers_debug/ +_speakers/ # Progress files .step1_progress.json +.step3_progress.json .transcription_progress.json # API keys and secrets diff --git a/_assembleai/S01E02_assemblyai.json b/_assembleai/S01E02_assemblyai.json index f8e0b18..592d40d 100644 --- a/_assembleai/S01E02_assemblyai.json +++ b/_assembleai/S01E02_assemblyai.json @@ -1,7 +1,7 @@ { - "id": "ef828811-9fa8-407f-848e-6e2f6bd42dc4", + "id": "e563a14c-cd19-4ae0-a2c7-086be560671d", "status": "TranscriptStatus.completed", - "audio_url": "https://cdn.assemblyai.com/upload/62a20aa11f3abe888d203e9115d588159830540aef97d1fe9a852686fc781c32/f4b9241c-6739-47c3-a1ba-433e3ca252c0", + "audio_url": "https://cdn.assemblyai.com/upload/0ce88635eed2a52796e504b46e1d19f866b91c176763a8587be0e71ffdded48f/e6322bf2-147c-4d50-8d92-c943a6354484", "text": "To the moon and back. Ha ha. I jump on every planet and every star. Come on, let's go far. Explore the whole universe. Little Malabar, the partying sun. Bum bum bum bum bum bum bum bum. Hey, Lemur, can you hear that? Oh. What is that noise? We are going to find out where it's coming from. No, it's not coming from the moon. Oh. Over there. It's not coming from Mercury either. Wow. Then it's the sun that's making all that noise. And that heat. Can you hear? It sounds like it's coming from the inside of the sun. Shall we go? Yeehaw. Yay. Yoohoo. Yoo hoo. Yay. It's so hot in here. You want to come with us? How about that? Do you want to come with us? Come with us. But where? Here. To the Adam's party. A party inside the sun. Hey, Adams, Now I understand why it's so hot at your plate. You keep on dancing. Wow. It's piping hot. It's so hot that you can't turn into popcorn. These atoms are crazy. The more they mix, the more they produce heat. Whoa. Hey. Hee haw hee haw. Ha ha ha. Ah, sun. Heat is so good. I love it. Ha ha. The popcorn is pretty hot. Thank you, sun. The inside of our star. The sun is made of atoms which bump into each other, merge, and produce heat. Sam.", "confidence": 0.94673383, "audio_duration": 241, @@ -9,9 +9,10 @@ "utterances": [ { "speaker": "A", - "text": "To the moon and back.", + "text": "To the moon and back. Ha ha. I jump on every planet and every star.", "start": 800, - "end": 2240, + "end": 7920, + "confidence": 0.9483724, "words": [ { "text": "To", @@ -42,15 +43,7 @@ "start": 1880, "end": 2240, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Ha ha.", - "start": 2560, - "end": 3120, - "words": [ + }, { "text": "Ha", "start": 2560, @@ -62,15 +55,7 @@ "start": 2840, "end": 3120, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "I jump on every planet and every star.", - "start": 4640, - "end": 7920, - "words": [ + }, { "text": "I", "start": 4640, @@ -126,6 +111,7 @@ "text": "Come on, let's go far.", "start": 8240, "end": 9920, + "confidence": 0.8421875, "words": [ { "text": "Come", @@ -161,9 +147,10 @@ }, { "speaker": "A", - "text": "Explore the whole universe.", + "text": "Explore the whole universe. Little Malabar, the partying sun. Bum bum bum bum bum bum bum bum. Hey, Lemur, can you hear that? Oh. What is that noise? We are going to find out where it's coming from. No, it's not coming from the moon.", "start": 10320, - "end": 12400, + "end": 54540, + "confidence": 0.9830892, "words": [ { "text": "Explore", @@ -188,15 +175,7 @@ "start": 11600, "end": 12400, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Little Malabar, the partying sun.", - "start": 12480, - "end": 15680, - "words": [ + }, { "text": "Little", "start": 12480, @@ -226,15 +205,7 @@ "start": 15280, "end": 15680, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Bum bum bum bum bum bum bum bum.", - "start": 16400, - "end": 21600, - "words": [ + }, { "text": "Bum", "start": 16400, @@ -282,15 +253,7 @@ "start": 21040, "end": 21600, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Hey, Lemur, can you hear that?", - "start": 21840, - "end": 24080, - "words": [ + }, { "text": "Hey,", "start": 21840, @@ -326,29 +289,13 @@ "start": 23760, "end": 24080, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Oh.", - "start": 27520, - "end": 28080, - "words": [ + }, { "text": "Oh.", "start": 27520, "end": 28080, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "What is that noise?", - "start": 31340, - "end": 32460, - "words": [ + }, { "text": "What", "start": 31340, @@ -372,15 +319,7 @@ "start": 31940, "end": 32460, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "We are going to find out where it's coming from.", - "start": 36300, - "end": 38780, - "words": [ + }, { "text": "We", "start": 36300, @@ -440,15 +379,7 @@ "start": 38460, "end": 38780, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "No, it's not coming from the moon.", - "start": 52460, - "end": 54540, - "words": [ + }, { "text": "No,", "start": 52460, @@ -498,6 +429,7 @@ "text": "Oh.", "start": 55470, "end": 55790, + "confidence": 0.7553711, "words": [ { "text": "Oh.", @@ -509,9 +441,10 @@ }, { "speaker": "A", - "text": "Over there.", + "text": "Over there. It's not coming from Mercury either. Wow. Then it's the sun that's making all that noise. And that heat. Can you hear? It sounds like it's coming from the inside of the sun. Shall we go?", "start": 56110, - "end": 56830, + "end": 96490, + "confidence": 0.95934415, "words": [ { "text": "Over", @@ -524,15 +457,7 @@ "start": 56470, "end": 56830, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "It's not coming from Mercury either.", - "start": 65950, - "end": 68350, - "words": [ + }, { "text": "It's", "start": 65950, @@ -568,29 +493,13 @@ "start": 67870, "end": 68350, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Wow.", - "start": 77550, - "end": 78110, - "words": [ + }, { "text": "Wow.", "start": 77550, "end": 78110, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Then it's the sun that's making all that noise.", - "start": 78350, - "end": 81230, - "words": [ + }, { "text": "Then", "start": 78350, @@ -644,15 +553,7 @@ "start": 80790, "end": 81230, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "And that heat.", - "start": 81470, - "end": 82670, - "words": [ + }, { "text": "And", "start": 81470, @@ -670,15 +571,7 @@ "start": 82230, "end": 82670, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Can you hear?", - "start": 88650, - "end": 89210, - "words": [ + }, { "text": "Can", "start": 88650, @@ -696,15 +589,7 @@ "start": 88930, "end": 89210, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "It sounds like it's coming from the inside of the sun.", - "start": 89370, - "end": 92010, - "words": [ + }, { "text": "It", "start": 89370, @@ -770,15 +655,7 @@ "start": 91730, "end": 92010, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Shall we go?", - "start": 95690, - "end": 96490, - "words": [ + }, { "text": "Shall", "start": 95690, @@ -801,52 +678,29 @@ }, { "speaker": "B", - "text": "Yeehaw.", + "text": "Yeehaw. Yay. Yoohoo. Yoo hoo. Yay.", "start": 97050, - "end": 97850, + "end": 105850, + "confidence": 0.8153483, "words": [ { "text": "Yeehaw.", "start": 97050, "end": 97850, "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "Yay.", - "start": 100250, - "end": 100890, - "words": [ + }, { "text": "Yay.", "start": 100250, "end": 100890, "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "Yoohoo.", - "start": 101850, - "end": 102570, - "words": [ + }, { "text": "Yoohoo.", "start": 101850, "end": 102570, "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "Yoo hoo.", - "start": 103450, - "end": 104250, - "words": [ + }, { "text": "Yoo", "start": 103450, @@ -858,15 +712,7 @@ "start": 103810, "end": 104250, "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "Yay.", - "start": 105210, - "end": 105850, - "words": [ + }, { "text": "Yay.", "start": 105210, @@ -877,9 +723,10 @@ }, { "speaker": "A", - "text": "It's so hot in here.", + "text": "It's so hot in here. You want to come with us? How about that? Do you want to come with us?", "start": 114890, - "end": 116570, + "end": 121350, + "confidence": 0.9607592, "words": [ { "text": "It's", @@ -910,15 +757,7 @@ "start": 116210, "end": 116570, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "You want to come with us?", - "start": 117290, - "end": 118560, - "words": [ + }, { "text": "You", "start": 117290, @@ -954,15 +793,7 @@ "start": 118290, "end": 118560, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "How about that?", - "start": 119110, - "end": 119830, - "words": [ + }, { "text": "How", "start": 119110, @@ -980,15 +811,7 @@ "start": 119510, "end": 119830, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Do you want to come with us?", - "start": 119830, - "end": 121350, - "words": [ + }, { "text": "Do", "start": 119830, @@ -1038,6 +861,7 @@ "text": "Come with us.", "start": 121590, "end": 122550, + "confidence": 0.9973958, "words": [ { "text": "Come", @@ -1064,6 +888,7 @@ "text": "But where?", "start": 123430, "end": 124150, + "confidence": 0.9992676, "words": [ { "text": "But", @@ -1084,6 +909,7 @@ "text": "Here.", "start": 124550, "end": 124950, + "confidence": 0.5415039, "words": [ { "text": "Here.", @@ -1095,9 +921,10 @@ }, { "speaker": "A", - "text": "To the Adam's party.", + "text": "To the Adam's party. A party inside the sun. Hey, Adams, Now I understand why it's so hot at your plate. You keep on dancing. Wow. It's piping hot. It's so hot that you can't turn into popcorn. These atoms are crazy. The more they mix, the more they produce heat. Whoa.", "start": 125350, - "end": 127750, + "end": 197070, + "confidence": 0.9543778, "words": [ { "text": "To", @@ -1122,15 +949,7 @@ "start": 127350, "end": 127750, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "A party inside the sun.", - "start": 128310, - "end": 130630, - "words": [ + }, { "text": "A", "start": 128310, @@ -1160,15 +979,7 @@ "start": 130310, "end": 130630, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Hey, Adams, Now I understand why it's so hot at your plate.", - "start": 141190, - "end": 145750, - "words": [ + }, { "text": "Hey,", "start": 141190, @@ -1240,15 +1051,7 @@ "start": 145310, "end": 145750, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "You keep on dancing.", - "start": 145750, - "end": 147110, - "words": [ + }, { "text": "You", "start": 145750, @@ -1272,29 +1075,13 @@ "start": 146550, "end": 147110, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Wow.", - "start": 149750, - "end": 150230, - "words": [ + }, { "text": "Wow.", "start": 149750, "end": 150230, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "It's piping hot.", - "start": 150530, - "end": 151730, - "words": [ + }, { "text": "It's", "start": 150530, @@ -1312,15 +1099,7 @@ "start": 151330, "end": 151730, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "It's so hot that you can't turn into popcorn.", - "start": 160530, - "end": 163730, - "words": [ + }, { "text": "It's", "start": 160530, @@ -1374,15 +1153,7 @@ "start": 162930, "end": 163730, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "These atoms are crazy.", - "start": 188350, - "end": 190270, - "words": [ + }, { "text": "These", "start": 188350, @@ -1406,15 +1177,7 @@ "start": 189430, "end": 190270, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "The more they mix, the more they produce heat.", - "start": 190670, - "end": 193470, - "words": [ + }, { "text": "The", "start": 190670, @@ -1468,15 +1231,7 @@ "start": 192990, "end": 193470, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Whoa.", - "start": 196510, - "end": 197070, - "words": [ + }, { "text": "Whoa.", "start": 196510, @@ -1487,24 +1242,17 @@ }, { "speaker": "B", - "text": "Hey.", + "text": "Hey. Hee haw hee haw. Ha ha ha.", "start": 197310, - "end": 197790, + "end": 203550, + "confidence": 0.81481934, "words": [ { "text": "Hey.", "start": 197310, "end": 197790, "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "Hee haw", - "start": 198510, - "end": 199390, - "words": [ + }, { "text": "Hee", "start": 198510, @@ -1516,15 +1264,7 @@ "start": 198950, "end": 199390, "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "hee haw.", - "start": 201310, - "end": 202110, - "words": [ + }, { "text": "hee", "start": 201310, @@ -1536,15 +1276,7 @@ "start": 201630, "end": 202110, "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "Ha ha ha.", - "start": 202670, - "end": 203550, - "words": [ + }, { "text": "Ha", "start": 202670, @@ -1567,9 +1299,10 @@ }, { "speaker": "A", - "text": "Ah, sun.", + "text": "Ah, sun. Heat is so good. I love it.", "start": 209880, - "end": 210640, + "end": 213160, + "confidence": 0.9660102, "words": [ { "text": "Ah,", @@ -1582,15 +1315,7 @@ "start": 210280, "end": 210640, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Heat is so good.", - "start": 210640, - "end": 211880, - "words": [ + }, { "text": "Heat", "start": 210640, @@ -1614,15 +1339,7 @@ "start": 211560, "end": 211880, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "I love it.", - "start": 212120, - "end": 213160, - "words": [ + }, { "text": "I", "start": 212120, @@ -1648,6 +1365,7 @@ "text": "Ha ha.", "start": 220040, "end": 220680, + "confidence": 0.8276367, "words": [ { "text": "Ha", @@ -1668,6 +1386,7 @@ "text": "The popcorn is pretty hot.", "start": 220760, "end": 222520, + "confidence": 0.90270996, "words": [ { "text": "The", @@ -1706,6 +1425,7 @@ "text": "Thank you, sun.", "start": 224280, "end": 225240, + "confidence": 0.9963379, "words": [ { "text": "Thank", @@ -1729,9 +1449,10 @@ }, { "speaker": "A", - "text": "The inside of our star.", + "text": "The inside of our star. The sun is made of atoms which bump into each other, merge, and produce heat.", "start": 227080, - "end": 228520, + "end": 235240, + "confidence": 0.9702759, "words": [ { "text": "The", @@ -1762,15 +1483,7 @@ "start": 228200, "end": 228520, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "The sun is made of atoms which bump into each other, merge, and produce heat.", - "start": 228840, - "end": 235240, - "words": [ + }, { "text": "The", "start": 228840, @@ -1868,6 +1581,7 @@ "text": "Sam.", "start": 236160, "end": 240750, + "confidence": 0.48602295, "words": [ { "text": "Sam.", diff --git a/_assembleai/S02E01_assemblyai.json b/_assembleai/S02E01_assemblyai.json deleted file mode 100644 index 66e4af2..0000000 --- a/_assembleai/S02E01_assemblyai.json +++ /dev/null @@ -1,3411 +0,0 @@ -{ - "id": "e2821834-607a-4892-b808-ae460e5aab2a", - "status": "TranscriptStatus.completed", - "audio_url": "https://cdn.assemblyai.com/upload/9a84ae3bba17604cb7f4226701aa50eb341bf52428ebe0071764e7ebf707dce6/83681495-298c-49fd-a850-7ddd4626cddd", - "text": "To the moon and back. Ha, ha. I jump on every planet and every star. Come on, let's go far. Explore the whole universe. Little Malabar drawings on the moon. A pretty line here. Okay. And now a pretty circle. Good job, Kangaroo. You drew a pretty flower. Very nice. You artists really draw well. But I think you forgot an important little detail. We did. But what? Well, you are on the beach, and the ocean rises. Oh, no, no, no. You should do your drawings on me. Up here, there is no ocean to erase them. You hear that, Kangaroo? All right, let's. There are already lots of drawings up here. But who made them? That's right. Kangaroo. Maybe those are animal tracks. But which animal? An acrobatic turtle? An armadillo colony? Or maybe an enormous whale? Boy, oh, boy. Look at all these footprints. Little Malabar. Those aren't footprints made by animals. Those are my craters. A lovely collection, don't you think? Oh, yes. But what about all these craters? Who drew them? The meteorites did this. They're giant rocks flying through space. And they began their work a long, long time ago, when I was very young. Oh, but, Moon, where have your craters gone? They haven't been created yet. Look there, Little Malabar. Here come the artist now he meteorite shower. Whoa. These meteorites are crazy. We're not crazy at all. We love creating pretty ground craters on the Moon. And now the little circle stand. Add a little circle, erase that, and let's make a huge circle. Like, put the little circle right here. And that went on for a very long time. There were always new meteorites coming to create brand new craters on top of the old craters. And then, little by little, things calmed down. Those meteorites were really good at their job. But today we're going to make drawings. Oh, a self portrait. Nice one, Little Malabar. Great job, Kangaroo. It's drawn perfectly. Wait for me. I want to participate in the fun, too. There are still meteorites to. Wow. Look. It drew a clown nose on me. And here I've come to erase everything and make a new drawing. Is everything okay, Little Malabar? Yeah, I'm right here. Good. It's too bad about your drawing. I really liked it a lot. Oh, that's really okay, Moon. We can make new drawings all the time. Watch this. And now, the final touch. And ha. And ha. And ha. You see this? Lots of pretty craters. A long time ago, lots and lots of rocks fell on the moon and they drew the craters. The most recent craters covered up the old ones.", - "confidence": 0.96060014, - "audio_duration": 236, - "language_code": "en", - "utterances": [ - { - "speaker": "A", - "text": "To the moon and back.", - "start": 800, - "end": 2240, - "words": [ - { - "text": "To", - "start": 800, - "end": 960, - "speaker": "A" - }, - { - "text": "the", - "start": 960, - "end": 1200, - "speaker": "A" - }, - { - "text": "moon", - "start": 1200, - "end": 1560, - "speaker": "A" - }, - { - "text": "and", - "start": 1560, - "end": 1880, - "speaker": "A" - }, - { - "text": "back.", - "start": 1880, - "end": 2240, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Ha, ha.", - "start": 2560, - "end": 3200, - "words": [ - { - "text": "Ha,", - "start": 2560, - "end": 2880, - "speaker": "A" - }, - { - "text": "ha.", - "start": 2880, - "end": 3200, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "I jump on every planet and every star.", - "start": 4640, - "end": 7920, - "words": [ - { - "text": "I", - "start": 4640, - "end": 5000, - "speaker": "A" - }, - { - "text": "jump", - "start": 5000, - "end": 5360, - "speaker": "A" - }, - { - "text": "on", - "start": 5360, - "end": 5680, - "speaker": "A" - }, - { - "text": "every", - "start": 5840, - "end": 6240, - "speaker": "A" - }, - { - "text": "planet", - "start": 6240, - "end": 6800, - "speaker": "A" - }, - { - "text": "and", - "start": 6800, - "end": 7080, - "speaker": "A" - }, - { - "text": "every", - "start": 7080, - "end": 7440, - "speaker": "A" - }, - { - "text": "star.", - "start": 7520, - "end": 7920, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Come on, let's go far.", - "start": 8320, - "end": 9920, - "words": [ - { - "text": "Come", - "start": 8320, - "end": 8640, - "speaker": "A" - }, - { - "text": "on,", - "start": 8640, - "end": 8880, - "speaker": "A" - }, - { - "text": "let's", - "start": 8880, - "end": 9240, - "speaker": "A" - }, - { - "text": "go", - "start": 9240, - "end": 9520, - "speaker": "A" - }, - { - "text": "far.", - "start": 9520, - "end": 9920, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Explore the whole universe.", - "start": 10320, - "end": 12400, - "words": [ - { - "text": "Explore", - "start": 10320, - "end": 10880, - "speaker": "A" - }, - { - "text": "the", - "start": 10880, - "end": 11120, - "speaker": "A" - }, - { - "text": "whole", - "start": 11120, - "end": 11520, - "speaker": "A" - }, - { - "text": "universe.", - "start": 11600, - "end": 12400, - "speaker": "A" - } - ] - }, - { - "speaker": "B", - "text": "Little Malabar drawings on the moon.", - "start": 12480, - "end": 15360, - "words": [ - { - "text": "Little", - "start": 12480, - "end": 12880, - "speaker": "B" - }, - { - "text": "Malabar", - "start": 12880, - "end": 13840, - "speaker": "B" - }, - { - "text": "drawings", - "start": 14080, - "end": 14600, - "speaker": "B" - }, - { - "text": "on", - "start": 14600, - "end": 14840, - "speaker": "B" - }, - { - "text": "the", - "start": 14840, - "end": 15000, - "speaker": "B" - }, - { - "text": "moon.", - "start": 15000, - "end": 15360, - "speaker": "B" - } - ] - }, - { - "speaker": "A", - "text": "A pretty line here.", - "start": 17520, - "end": 18960, - "words": [ - { - "text": "A", - "start": 17520, - "end": 17800, - "speaker": "A" - }, - { - "text": "pretty", - "start": 17800, - "end": 18200, - "speaker": "A" - }, - { - "text": "line", - "start": 18200, - "end": 18560, - "speaker": "A" - }, - { - "text": "here.", - "start": 18560, - "end": 18960, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Okay.", - "start": 19520, - "end": 20040, - "words": [ - { - "text": "Okay.", - "start": 19520, - "end": 20040, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "And now a pretty circle.", - "start": 20040, - "end": 22080, - "words": [ - { - "text": "And", - "start": 20040, - "end": 20240, - "speaker": "A" - }, - { - "text": "now", - "start": 20240, - "end": 20560, - "speaker": "A" - }, - { - "text": "a", - "start": 20560, - "end": 20880, - "speaker": "A" - }, - { - "text": "pretty", - "start": 20880, - "end": 21400, - "speaker": "A" - }, - { - "text": "circle.", - "start": 21400, - "end": 22080, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Good job, Kangaroo.", - "start": 27920, - "end": 29080, - "words": [ - { - "text": "Good", - "start": 27920, - "end": 28240, - "speaker": "A" - }, - { - "text": "job,", - "start": 28240, - "end": 28480, - "speaker": "A" - }, - { - "text": "Kangaroo.", - "start": 28480, - "end": 29080, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "You drew a pretty flower.", - "start": 29080, - "end": 30400, - "words": [ - { - "text": "You", - "start": 29080, - "end": 29240, - "speaker": "A" - }, - { - "text": "drew", - "start": 29240, - "end": 29480, - "speaker": "A" - }, - { - "text": "a", - "start": 29480, - "end": 29640, - "speaker": "A" - }, - { - "text": "pretty", - "start": 29640, - "end": 29920, - "speaker": "A" - }, - { - "text": "flower.", - "start": 29920, - "end": 30400, - "speaker": "A" - } - ] - }, - { - "speaker": "B", - "text": "Very nice.", - "start": 30900, - "end": 31460, - "words": [ - { - "text": "Very", - "start": 30900, - "end": 31100, - "speaker": "B" - }, - { - "text": "nice.", - "start": 31100, - "end": 31460, - "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "You artists really draw well.", - "start": 31460, - "end": 33060, - "words": [ - { - "text": "You", - "start": 31460, - "end": 31700, - "speaker": "B" - }, - { - "text": "artists", - "start": 31700, - "end": 32140, - "speaker": "B" - }, - { - "text": "really", - "start": 32140, - "end": 32420, - "speaker": "B" - }, - { - "text": "draw", - "start": 32420, - "end": 32740, - "speaker": "B" - }, - { - "text": "well.", - "start": 32740, - "end": 33060, - "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "But I think you forgot an important little detail.", - "start": 33140, - "end": 35540, - "words": [ - { - "text": "But", - "start": 33140, - "end": 33420, - "speaker": "B" - }, - { - "text": "I", - "start": 33420, - "end": 33580, - "speaker": "B" - }, - { - "text": "think", - "start": 33580, - "end": 33740, - "speaker": "B" - }, - { - "text": "you", - "start": 33740, - "end": 33940, - "speaker": "B" - }, - { - "text": "forgot", - "start": 33940, - "end": 34300, - "speaker": "B" - }, - { - "text": "an", - "start": 34300, - "end": 34460, - "speaker": "B" - }, - { - "text": "important", - "start": 34460, - "end": 34740, - "speaker": "B" - }, - { - "text": "little", - "start": 34900, - "end": 35220, - "speaker": "B" - }, - { - "text": "detail.", - "start": 35220, - "end": 35540, - "speaker": "B" - } - ] - }, - { - "speaker": "A", - "text": "We did.", - "start": 36020, - "end": 36740, - "words": [ - { - "text": "We", - "start": 36020, - "end": 36380, - "speaker": "A" - }, - { - "text": "did.", - "start": 36380, - "end": 36740, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "But what?", - "start": 37140, - "end": 38020, - "words": [ - { - "text": "But", - "start": 37140, - "end": 37540, - "speaker": "A" - }, - { - "text": "what?", - "start": 37620, - "end": 38020, - "speaker": "A" - } - ] - }, - { - "speaker": "B", - "text": "Well, you are on the beach, and the ocean rises.", - "start": 38180, - "end": 41540, - "words": [ - { - "text": "Well,", - "start": 38180, - "end": 38580, - "speaker": "B" - }, - { - "text": "you", - "start": 38660, - "end": 38940, - "speaker": "B" - }, - { - "text": "are", - "start": 38940, - "end": 39140, - "speaker": "B" - }, - { - "text": "on", - "start": 39140, - "end": 39300, - "speaker": "B" - }, - { - "text": "the", - "start": 39300, - "end": 39420, - "speaker": "B" - }, - { - "text": "beach,", - "start": 39420, - "end": 39700, - "speaker": "B" - }, - { - "text": "and", - "start": 39700, - "end": 40020, - "speaker": "B" - }, - { - "text": "the", - "start": 40260, - "end": 40580, - "speaker": "B" - }, - { - "text": "ocean", - "start": 40580, - "end": 41020, - "speaker": "B" - }, - { - "text": "rises.", - "start": 41020, - "end": 41540, - "speaker": "B" - } - ] - }, - { - "speaker": "A", - "text": "Oh, no, no, no.", - "start": 43860, - "end": 45140, - "words": [ - { - "text": "Oh,", - "start": 43860, - "end": 44260, - "speaker": "A" - }, - { - "text": "no,", - "start": 44260, - "end": 44500, - "speaker": "A" - }, - { - "text": "no,", - "start": 44500, - "end": 44780, - "speaker": "A" - }, - { - "text": "no.", - "start": 44780, - "end": 45140, - "speaker": "A" - } - ] - }, - { - "speaker": "B", - "text": "You should do your drawings on me.", - "start": 45940, - "end": 47700, - "words": [ - { - "text": "You", - "start": 45940, - "end": 46220, - "speaker": "B" - }, - { - "text": "should", - "start": 46220, - "end": 46380, - "speaker": "B" - }, - { - "text": "do", - "start": 46380, - "end": 46540, - "speaker": "B" - }, - { - "text": "your", - "start": 46540, - "end": 46740, - "speaker": "B" - }, - { - "text": "drawings", - "start": 46740, - "end": 47100, - "speaker": "B" - }, - { - "text": "on", - "start": 47100, - "end": 47380, - "speaker": "B" - }, - { - "text": "me.", - "start": 47380, - "end": 47700, - "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "Up here, there is no ocean to erase them.", - "start": 47940, - "end": 50500, - "words": [ - { - "text": "Up", - "start": 47940, - "end": 48260, - "speaker": "B" - }, - { - "text": "here,", - "start": 48260, - "end": 48540, - "speaker": "B" - }, - { - "text": "there", - "start": 48540, - "end": 48820, - "speaker": "B" - }, - { - "text": "is", - "start": 48820, - "end": 49020, - "speaker": "B" - }, - { - "text": "no", - "start": 49020, - "end": 49220, - "speaker": "B" - }, - { - "text": "ocean", - "start": 49220, - "end": 49580, - "speaker": "B" - }, - { - "text": "to", - "start": 49580, - "end": 49740, - "speaker": "B" - }, - { - "text": "erase", - "start": 49740, - "end": 50180, - "speaker": "B" - }, - { - "text": "them.", - "start": 50180, - "end": 50500, - "speaker": "B" - } - ] - }, - { - "speaker": "A", - "text": "You hear that, Kangaroo?", - "start": 50740, - "end": 52180, - "words": [ - { - "text": "You", - "start": 50740, - "end": 51060, - "speaker": "A" - }, - { - "text": "hear", - "start": 51060, - "end": 51260, - "speaker": "A" - }, - { - "text": "that,", - "start": 51260, - "end": 51500, - "speaker": "A" - }, - { - "text": "Kangaroo?", - "start": 51500, - "end": 52180, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "All right, let's.", - "start": 52260, - "end": 59590, - "words": [ - { - "text": "All", - "start": 52260, - "end": 52540, - "speaker": "A" - }, - { - "text": "right,", - "start": 52540, - "end": 52780, - "speaker": "A" - }, - { - "text": "let's.", - "start": 52780, - "end": 59590, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "There are already lots of drawings up here.", - "start": 59820, - "end": 62140, - "words": [ - { - "text": "There", - "start": 59820, - "end": 59940, - "speaker": "A" - }, - { - "text": "are", - "start": 59940, - "end": 60140, - "speaker": "A" - }, - { - "text": "already", - "start": 60140, - "end": 60460, - "speaker": "A" - }, - { - "text": "lots", - "start": 60540, - "end": 60940, - "speaker": "A" - }, - { - "text": "of", - "start": 60940, - "end": 61100, - "speaker": "A" - }, - { - "text": "drawings", - "start": 61100, - "end": 61540, - "speaker": "A" - }, - { - "text": "up", - "start": 61540, - "end": 61820, - "speaker": "A" - }, - { - "text": "here.", - "start": 61820, - "end": 62140, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "But who made them?", - "start": 62380, - "end": 64300, - "words": [ - { - "text": "But", - "start": 62380, - "end": 62780, - "speaker": "A" - }, - { - "text": "who", - "start": 63020, - "end": 63420, - "speaker": "A" - }, - { - "text": "made", - "start": 63580, - "end": 63940, - "speaker": "A" - }, - { - "text": "them?", - "start": 63940, - "end": 64300, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "That's right.", - "start": 66860, - "end": 67580, - "words": [ - { - "text": "That's", - "start": 66860, - "end": 67300, - "speaker": "A" - }, - { - "text": "right.", - "start": 67300, - "end": 67580, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Kangaroo.", - "start": 67580, - "end": 68460, - "words": [ - { - "text": "Kangaroo.", - "start": 67580, - "end": 68460, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Maybe those are animal tracks.", - "start": 68460, - "end": 70700, - "words": [ - { - "text": "Maybe", - "start": 68460, - "end": 68900, - "speaker": "A" - }, - { - "text": "those", - "start": 68900, - "end": 69100, - "speaker": "A" - }, - { - "text": "are", - "start": 69100, - "end": 69380, - "speaker": "A" - }, - { - "text": "animal", - "start": 69380, - "end": 69980, - "speaker": "A" - }, - { - "text": "tracks.", - "start": 69980, - "end": 70700, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "But which animal?", - "start": 71100, - "end": 72540, - "words": [ - { - "text": "But", - "start": 71100, - "end": 71420, - "speaker": "A" - }, - { - "text": "which", - "start": 71420, - "end": 71740, - "speaker": "A" - }, - { - "text": "animal?", - "start": 71900, - "end": 72540, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "An acrobatic turtle?", - "start": 74140, - "end": 75979, - "words": [ - { - "text": "An", - "start": 74140, - "end": 74420, - "speaker": "A" - }, - { - "text": "acrobatic", - "start": 74420, - "end": 75260, - "speaker": "A" - }, - { - "text": "turtle?", - "start": 75260, - "end": 75979, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "An armadillo colony?", - "start": 78220, - "end": 79900, - "words": [ - { - "text": "An", - "start": 78220, - "end": 78540, - "speaker": "A" - }, - { - "text": "armadillo", - "start": 78540, - "end": 79420, - "speaker": "A" - }, - { - "text": "colony?", - "start": 79420, - "end": 79900, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Or maybe an enormous whale?", - "start": 81980, - "end": 84620, - "words": [ - { - "text": "Or", - "start": 81980, - "end": 82380, - "speaker": "A" - }, - { - "text": "maybe", - "start": 82380, - "end": 82860, - "speaker": "A" - }, - { - "text": "an", - "start": 82860, - "end": 83140, - "speaker": "A" - }, - { - "text": "enormous", - "start": 83140, - "end": 84020, - "speaker": "A" - }, - { - "text": "whale?", - "start": 84020, - "end": 84620, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Boy, oh, boy.", - "start": 87580, - "end": 88700, - "words": [ - { - "text": "Boy,", - "start": 87580, - "end": 87980, - "speaker": "A" - }, - { - "text": "oh,", - "start": 87980, - "end": 88300, - "speaker": "A" - }, - { - "text": "boy.", - "start": 88300, - "end": 88700, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Look at all these footprints.", - "start": 88780, - "end": 90620, - "words": [ - { - "text": "Look", - "start": 88780, - "end": 89060, - "speaker": "A" - }, - { - "text": "at", - "start": 89060, - "end": 89260, - "speaker": "A" - }, - { - "text": "all", - "start": 89260, - "end": 89460, - "speaker": "A" - }, - { - "text": "these", - "start": 89460, - "end": 89700, - "speaker": "A" - }, - { - "text": "footprints.", - "start": 89700, - "end": 90620, - "speaker": "A" - } - ] - }, - { - "speaker": "B", - "text": "Little Malabar.", - "start": 91800, - "end": 92720, - "words": [ - { - "text": "Little", - "start": 91800, - "end": 91960, - "speaker": "B" - }, - { - "text": "Malabar.", - "start": 91960, - "end": 92720, - "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "Those aren't footprints made by animals.", - "start": 92720, - "end": 94840, - "words": [ - { - "text": "Those", - "start": 92720, - "end": 93000, - "speaker": "B" - }, - { - "text": "aren't", - "start": 93000, - "end": 93320, - "speaker": "B" - }, - { - "text": "footprints", - "start": 93320, - "end": 93920, - "speaker": "B" - }, - { - "text": "made", - "start": 93920, - "end": 94080, - "speaker": "B" - }, - { - "text": "by", - "start": 94080, - "end": 94280, - "speaker": "B" - }, - { - "text": "animals.", - "start": 94280, - "end": 94840, - "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "Those are my craters.", - "start": 95080, - "end": 96600, - "words": [ - { - "text": "Those", - "start": 95080, - "end": 95440, - "speaker": "B" - }, - { - "text": "are", - "start": 95440, - "end": 95720, - "speaker": "B" - }, - { - "text": "my", - "start": 95720, - "end": 95960, - "speaker": "B" - }, - { - "text": "craters.", - "start": 95960, - "end": 96600, - "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "A lovely collection, don't you think?", - "start": 96600, - "end": 98360, - "words": [ - { - "text": "A", - "start": 96600, - "end": 96880, - "speaker": "B" - }, - { - "text": "lovely", - "start": 96880, - "end": 97240, - "speaker": "B" - }, - { - "text": "collection,", - "start": 97240, - "end": 97680, - "speaker": "B" - }, - { - "text": "don't", - "start": 97680, - "end": 97920, - "speaker": "B" - }, - { - "text": "you", - "start": 97920, - "end": 98080, - "speaker": "B" - }, - { - "text": "think?", - "start": 98080, - "end": 98360, - "speaker": "B" - } - ] - }, - { - "speaker": "A", - "text": "Oh, yes.", - "start": 98440, - "end": 99080, - "words": [ - { - "text": "Oh,", - "start": 98440, - "end": 98800, - "speaker": "A" - }, - { - "text": "yes.", - "start": 98800, - "end": 99080, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "But what about all these craters?", - "start": 99080, - "end": 100920, - "words": [ - { - "text": "But", - "start": 99080, - "end": 99400, - "speaker": "A" - }, - { - "text": "what", - "start": 99400, - "end": 99680, - "speaker": "A" - }, - { - "text": "about", - "start": 99680, - "end": 99880, - "speaker": "A" - }, - { - "text": "all", - "start": 99880, - "end": 100080, - "speaker": "A" - }, - { - "text": "these", - "start": 100080, - "end": 100280, - "speaker": "A" - }, - { - "text": "craters?", - "start": 100280, - "end": 100920, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Who drew them?", - "start": 101080, - "end": 102200, - "words": [ - { - "text": "Who", - "start": 101080, - "end": 101440, - "speaker": "A" - }, - { - "text": "drew", - "start": 101440, - "end": 101840, - "speaker": "A" - }, - { - "text": "them?", - "start": 101840, - "end": 102200, - "speaker": "A" - } - ] - }, - { - "speaker": "B", - "text": "The meteorites did this.", - "start": 102360, - "end": 103880, - "words": [ - { - "text": "The", - "start": 102360, - "end": 102680, - "speaker": "B" - }, - { - "text": "meteorites", - "start": 102680, - "end": 103440, - "speaker": "B" - }, - { - "text": "did", - "start": 103440, - "end": 103600, - "speaker": "B" - }, - { - "text": "this.", - "start": 103600, - "end": 103880, - "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "They're giant rocks flying through space.", - "start": 103960, - "end": 106040, - "words": [ - { - "text": "They're", - "start": 103960, - "end": 104360, - "speaker": "B" - }, - { - "text": "giant", - "start": 104360, - "end": 104760, - "speaker": "B" - }, - { - "text": "rocks", - "start": 104760, - "end": 105120, - "speaker": "B" - }, - { - "text": "flying", - "start": 105120, - "end": 105480, - "speaker": "B" - }, - { - "text": "through", - "start": 105480, - "end": 105720, - "speaker": "B" - }, - { - "text": "space.", - "start": 105720, - "end": 106040, - "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "And they began their work a long, long time ago, when I was very young.", - "start": 106520, - "end": 111080, - "words": [ - { - "text": "And", - "start": 106520, - "end": 106800, - "speaker": "B" - }, - { - "text": "they", - "start": 106800, - "end": 106960, - "speaker": "B" - }, - { - "text": "began", - "start": 106960, - "end": 107240, - "speaker": "B" - }, - { - "text": "their", - "start": 107240, - "end": 107520, - "speaker": "B" - }, - { - "text": "work", - "start": 107520, - "end": 107839, - "speaker": "B" - }, - { - "text": "a", - "start": 107839, - "end": 108080, - "speaker": "B" - }, - { - "text": "long,", - "start": 108080, - "end": 108360, - "speaker": "B" - }, - { - "text": "long", - "start": 108360, - "end": 108720, - "speaker": "B" - }, - { - "text": "time", - "start": 108720, - "end": 109000, - "speaker": "B" - }, - { - "text": "ago,", - "start": 109000, - "end": 109320, - "speaker": "B" - }, - { - "text": "when", - "start": 109800, - "end": 110080, - "speaker": "B" - }, - { - "text": "I", - "start": 110080, - "end": 110200, - "speaker": "B" - }, - { - "text": "was", - "start": 110200, - "end": 110360, - "speaker": "B" - }, - { - "text": "very", - "start": 110360, - "end": 110680, - "speaker": "B" - }, - { - "text": "young.", - "start": 110680, - "end": 111080, - "speaker": "B" - } - ] - }, - { - "speaker": "A", - "text": "Oh, but, Moon, where have your craters gone?", - "start": 111960, - "end": 115040, - "words": [ - { - "text": "Oh,", - "start": 111960, - "end": 112440, - "speaker": "A" - }, - { - "text": "but,", - "start": 112600, - "end": 112960, - "speaker": "A" - }, - { - "text": "Moon,", - "start": 112960, - "end": 113480, - "speaker": "A" - }, - { - "text": "where", - "start": 113480, - "end": 113800, - "speaker": "A" - }, - { - "text": "have", - "start": 113800, - "end": 114000, - "speaker": "A" - }, - { - "text": "your", - "start": 114000, - "end": 114160, - "speaker": "A" - }, - { - "text": "craters", - "start": 114160, - "end": 114680, - "speaker": "A" - }, - { - "text": "gone?", - "start": 114680, - "end": 115040, - "speaker": "A" - } - ] - }, - { - "speaker": "B", - "text": "They haven't been created yet.", - "start": 115040, - "end": 116600, - "words": [ - { - "text": "They", - "start": 115040, - "end": 115280, - "speaker": "B" - }, - { - "text": "haven't", - "start": 115280, - "end": 115680, - "speaker": "B" - }, - { - "text": "been", - "start": 115680, - "end": 115840, - "speaker": "B" - }, - { - "text": "created", - "start": 115840, - "end": 116280, - "speaker": "B" - }, - { - "text": "yet.", - "start": 116280, - "end": 116600, - "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "Look there, Little Malabar.", - "start": 116920, - "end": 118440, - "words": [ - { - "text": "Look", - "start": 116920, - "end": 117200, - "speaker": "B" - }, - { - "text": "there,", - "start": 117200, - "end": 117440, - "speaker": "B" - }, - { - "text": "Little", - "start": 117440, - "end": 117720, - "speaker": "B" - }, - { - "text": "Malabar.", - "start": 117720, - "end": 118440, - "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "Here come the artist now he meteorite shower.", - "start": 118600, - "end": 124660, - "words": [ - { - "text": "Here", - "start": 118600, - "end": 118920, - "speaker": "B" - }, - { - "text": "come", - "start": 118920, - "end": 119160, - "speaker": "B" - }, - { - "text": "the", - "start": 119160, - "end": 119360, - "speaker": "B" - }, - { - "text": "artist", - "start": 119360, - "end": 119800, - "speaker": "B" - }, - { - "text": "now", - "start": 119880, - "end": 120280, - "speaker": "B" - }, - { - "text": "he", - "start": 121720, - "end": 122120, - "speaker": "B" - }, - { - "text": "meteorite", - "start": 123540, - "end": 124060, - "speaker": "B" - }, - { - "text": "shower.", - "start": 124060, - "end": 124660, - "speaker": "B" - } - ] - }, - { - "speaker": "A", - "text": "Whoa.", - "start": 124660, - "end": 124980, - "words": [ - { - "text": "Whoa.", - "start": 124660, - "end": 124980, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "These meteorites are crazy.", - "start": 124980, - "end": 126740, - "words": [ - { - "text": "These", - "start": 124980, - "end": 125140, - "speaker": "A" - }, - { - "text": "meteorites", - "start": 125140, - "end": 125940, - "speaker": "A" - }, - { - "text": "are", - "start": 125940, - "end": 126100, - "speaker": "A" - }, - { - "text": "crazy.", - "start": 126100, - "end": 126740, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "We're not crazy at all.", - "start": 127060, - "end": 128580, - "words": [ - { - "text": "We're", - "start": 127060, - "end": 127500, - "speaker": "A" - }, - { - "text": "not", - "start": 127500, - "end": 127660, - "speaker": "A" - }, - { - "text": "crazy", - "start": 127660, - "end": 128060, - "speaker": "A" - }, - { - "text": "at", - "start": 128060, - "end": 128260, - "speaker": "A" - }, - { - "text": "all.", - "start": 128260, - "end": 128580, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "We love creating pretty ground craters on the Moon.", - "start": 128740, - "end": 131700, - "words": [ - { - "text": "We", - "start": 128740, - "end": 129140, - "speaker": "A" - }, - { - "text": "love", - "start": 129140, - "end": 129500, - "speaker": "A" - }, - { - "text": "creating", - "start": 129500, - "end": 129980, - "speaker": "A" - }, - { - "text": "pretty", - "start": 129980, - "end": 130300, - "speaker": "A" - }, - { - "text": "ground", - "start": 130300, - "end": 130540, - "speaker": "A" - }, - { - "text": "craters", - "start": 130540, - "end": 131060, - "speaker": "A" - }, - { - "text": "on", - "start": 131060, - "end": 131140, - "speaker": "A" - }, - { - "text": "the", - "start": 131140, - "end": 131220, - "speaker": "A" - }, - { - "text": "Moon.", - "start": 131220, - "end": 131700, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "And now the little circle stand.", - "start": 132020, - "end": 134340, - "words": [ - { - "text": "And", - "start": 132020, - "end": 132380, - "speaker": "A" - }, - { - "text": "now", - "start": 132380, - "end": 132740, - "speaker": "A" - }, - { - "text": "the", - "start": 132740, - "end": 133060, - "speaker": "A" - }, - { - "text": "little", - "start": 133060, - "end": 133380, - "speaker": "A" - }, - { - "text": "circle", - "start": 133460, - "end": 134020, - "speaker": "A" - }, - { - "text": "stand.", - "start": 134020, - "end": 134340, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Add a little circle, erase that, and let's make a huge circle.", - "start": 136340, - "end": 140820, - "words": [ - { - "text": "Add", - "start": 136340, - "end": 136700, - "speaker": "A" - }, - { - "text": "a", - "start": 136700, - "end": 136940, - "speaker": "A" - }, - { - "text": "little", - "start": 136940, - "end": 137180, - "speaker": "A" - }, - { - "text": "circle,", - "start": 137180, - "end": 137820, - "speaker": "A" - }, - { - "text": "erase", - "start": 137820, - "end": 138260, - "speaker": "A" - }, - { - "text": "that,", - "start": 138260, - "end": 138540, - "speaker": "A" - }, - { - "text": "and", - "start": 138540, - "end": 138820, - "speaker": "A" - }, - { - "text": "let's", - "start": 138820, - "end": 139140, - "speaker": "A" - }, - { - "text": "make", - "start": 139140, - "end": 139459, - "speaker": "A" - }, - { - "text": "a", - "start": 139459, - "end": 139780, - "speaker": "A" - }, - { - "text": "huge", - "start": 139780, - "end": 140180, - "speaker": "A" - }, - { - "text": "circle.", - "start": 140180, - "end": 140820, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Like, put the little circle right here.", - "start": 140900, - "end": 143300, - "words": [ - { - "text": "Like,", - "start": 140900, - "end": 141300, - "speaker": "A" - }, - { - "text": "put", - "start": 141380, - "end": 141660, - "speaker": "A" - }, - { - "text": "the", - "start": 141660, - "end": 141820, - "speaker": "A" - }, - { - "text": "little", - "start": 141820, - "end": 142060, - "speaker": "A" - }, - { - "text": "circle", - "start": 142060, - "end": 142700, - "speaker": "A" - }, - { - "text": "right", - "start": 142700, - "end": 142980, - "speaker": "A" - }, - { - "text": "here.", - "start": 142980, - "end": 143300, - "speaker": "A" - } - ] - }, - { - "speaker": "B", - "text": "And that went on for a very long time.", - "start": 144420, - "end": 146620, - "words": [ - { - "text": "And", - "start": 144420, - "end": 144700, - "speaker": "B" - }, - { - "text": "that", - "start": 144700, - "end": 144900, - "speaker": "B" - }, - { - "text": "went", - "start": 144900, - "end": 145140, - "speaker": "B" - }, - { - "text": "on", - "start": 145140, - "end": 145380, - "speaker": "B" - }, - { - "text": "for", - "start": 145380, - "end": 145580, - "speaker": "B" - }, - { - "text": "a", - "start": 145580, - "end": 145740, - "speaker": "B" - }, - { - "text": "very", - "start": 145740, - "end": 145980, - "speaker": "B" - }, - { - "text": "long", - "start": 145980, - "end": 146300, - "speaker": "B" - }, - { - "text": "time.", - "start": 146300, - "end": 146620, - "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "There were always new meteorites coming to create brand new craters on top of the old craters.", - "start": 146620, - "end": 152180, - "words": [ - { - "text": "There", - "start": 146620, - "end": 146860, - "speaker": "B" - }, - { - "text": "were", - "start": 146860, - "end": 147020, - "speaker": "B" - }, - { - "text": "always", - "start": 147020, - "end": 147300, - "speaker": "B" - }, - { - "text": "new", - "start": 147380, - "end": 147700, - "speaker": "B" - }, - { - "text": "meteorites", - "start": 147700, - "end": 148460, - "speaker": "B" - }, - { - "text": "coming", - "start": 148460, - "end": 148700, - "speaker": "B" - }, - { - "text": "to", - "start": 148700, - "end": 148940, - "speaker": "B" - }, - { - "text": "create", - "start": 148940, - "end": 149220, - "speaker": "B" - }, - { - "text": "brand", - "start": 149300, - "end": 149660, - "speaker": "B" - }, - { - "text": "new", - "start": 149660, - "end": 149980, - "speaker": "B" - }, - { - "text": "craters", - "start": 149980, - "end": 150540, - "speaker": "B" - }, - { - "text": "on", - "start": 150540, - "end": 150700, - "speaker": "B" - }, - { - "text": "top", - "start": 150700, - "end": 150900, - "speaker": "B" - }, - { - "text": "of", - "start": 150900, - "end": 151060, - "speaker": "B" - }, - { - "text": "the", - "start": 151060, - "end": 151220, - "speaker": "B" - }, - { - "text": "old", - "start": 151220, - "end": 151500, - "speaker": "B" - }, - { - "text": "craters.", - "start": 151500, - "end": 152180, - "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "And then, little by little, things calmed down.", - "start": 152260, - "end": 155140, - "words": [ - { - "text": "And", - "start": 152260, - "end": 152580, - "speaker": "B" - }, - { - "text": "then,", - "start": 152580, - "end": 152900, - "speaker": "B" - }, - { - "text": "little", - "start": 153060, - "end": 153380, - "speaker": "B" - }, - { - "text": "by", - "start": 153380, - "end": 153620, - "speaker": "B" - }, - { - "text": "little,", - "start": 153620, - "end": 153940, - "speaker": "B" - }, - { - "text": "things", - "start": 154020, - "end": 154420, - "speaker": "B" - }, - { - "text": "calmed", - "start": 154420, - "end": 154820, - "speaker": "B" - }, - { - "text": "down.", - "start": 154820, - "end": 155140, - "speaker": "B" - } - ] - }, - { - "speaker": "A", - "text": "Those meteorites were really good at their job.", - "start": 155920, - "end": 158160, - "words": [ - { - "text": "Those", - "start": 155920, - "end": 156120, - "speaker": "A" - }, - { - "text": "meteorites", - "start": 156120, - "end": 156880, - "speaker": "A" - }, - { - "text": "were", - "start": 156880, - "end": 157040, - "speaker": "A" - }, - { - "text": "really", - "start": 157040, - "end": 157240, - "speaker": "A" - }, - { - "text": "good", - "start": 157240, - "end": 157400, - "speaker": "A" - }, - { - "text": "at", - "start": 157400, - "end": 157560, - "speaker": "A" - }, - { - "text": "their", - "start": 157560, - "end": 157800, - "speaker": "A" - }, - { - "text": "job.", - "start": 157800, - "end": 158160, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "But today we're going to make drawings.", - "start": 158320, - "end": 160880, - "words": [ - { - "text": "But", - "start": 158320, - "end": 158720, - "speaker": "A" - }, - { - "text": "today", - "start": 158720, - "end": 159120, - "speaker": "A" - }, - { - "text": "we're", - "start": 159280, - "end": 159720, - "speaker": "A" - }, - { - "text": "going", - "start": 159720, - "end": 159920, - "speaker": "A" - }, - { - "text": "to", - "start": 159920, - "end": 160120, - "speaker": "A" - }, - { - "text": "make", - "start": 160120, - "end": 160320, - "speaker": "A" - }, - { - "text": "drawings.", - "start": 160320, - "end": 160880, - "speaker": "A" - } - ] - }, - { - "speaker": "B", - "text": "Oh, a self portrait.", - "start": 169120, - "end": 170880, - "words": [ - { - "text": "Oh,", - "start": 169120, - "end": 169600, - "speaker": "B" - }, - { - "text": "a", - "start": 169600, - "end": 169920, - "speaker": "B" - }, - { - "text": "self", - "start": 169920, - "end": 170200, - "speaker": "B" - }, - { - "text": "portrait.", - "start": 170200, - "end": 170880, - "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "Nice one, Little Malabar.", - "start": 170880, - "end": 172400, - "words": [ - { - "text": "Nice", - "start": 170880, - "end": 171279, - "speaker": "B" - }, - { - "text": "one,", - "start": 171279, - "end": 171479, - "speaker": "B" - }, - { - "text": "Little", - "start": 171479, - "end": 171680, - "speaker": "B" - }, - { - "text": "Malabar.", - "start": 171680, - "end": 172400, - "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "Great job, Kangaroo.", - "start": 172400, - "end": 173600, - "words": [ - { - "text": "Great", - "start": 172400, - "end": 172720, - "speaker": "B" - }, - { - "text": "job,", - "start": 172720, - "end": 172960, - "speaker": "B" - }, - { - "text": "Kangaroo.", - "start": 172960, - "end": 173600, - "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "It's drawn perfectly.", - "start": 173600, - "end": 174800, - "words": [ - { - "text": "It's", - "start": 173600, - "end": 173920, - "speaker": "B" - }, - { - "text": "drawn", - "start": 173920, - "end": 174240, - "speaker": "B" - }, - { - "text": "perfectly.", - "start": 174240, - "end": 174800, - "speaker": "B" - } - ] - }, - { - "speaker": "A", - "text": "Wait for me.", - "start": 174800, - "end": 175600, - "words": [ - { - "text": "Wait", - "start": 174800, - "end": 175160, - "speaker": "A" - }, - { - "text": "for", - "start": 175160, - "end": 175320, - "speaker": "A" - }, - { - "text": "me.", - "start": 175320, - "end": 175600, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "I want to participate in the fun, too.", - "start": 175600, - "end": 177680, - "words": [ - { - "text": "I", - "start": 175600, - "end": 175920, - "speaker": "A" - }, - { - "text": "want", - "start": 175920, - "end": 176120, - "speaker": "A" - }, - { - "text": "to", - "start": 176120, - "end": 176280, - "speaker": "A" - }, - { - "text": "participate", - "start": 176280, - "end": 176760, - "speaker": "A" - }, - { - "text": "in", - "start": 176760, - "end": 176920, - "speaker": "A" - }, - { - "text": "the", - "start": 176920, - "end": 177080, - "speaker": "A" - }, - { - "text": "fun,", - "start": 177080, - "end": 177320, - "speaker": "A" - }, - { - "text": "too.", - "start": 177320, - "end": 177680, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "There are still meteorites to.", - "start": 180560, - "end": 182230, - "words": [ - { - "text": "There", - "start": 180560, - "end": 180840, - "speaker": "A" - }, - { - "text": "are", - "start": 180840, - "end": 181040, - "speaker": "A" - }, - { - "text": "still", - "start": 181040, - "end": 181360, - "speaker": "A" - }, - { - "text": "meteorites", - "start": 181360, - "end": 182155, - "speaker": "A" - }, - { - "text": "to.", - "start": 182155, - "end": 182230, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Wow.", - "start": 182940, - "end": 183180, - "words": [ - { - "text": "Wow.", - "start": 182940, - "end": 183180, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Look.", - "start": 183180, - "end": 183420, - "words": [ - { - "text": "Look.", - "start": 183180, - "end": 183420, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "It drew a clown nose on me.", - "start": 183420, - "end": 185100, - "words": [ - { - "text": "It", - "start": 183420, - "end": 183620, - "speaker": "A" - }, - { - "text": "drew", - "start": 183620, - "end": 183860, - "speaker": "A" - }, - { - "text": "a", - "start": 183860, - "end": 183980, - "speaker": "A" - }, - { - "text": "clown", - "start": 183980, - "end": 184260, - "speaker": "A" - }, - { - "text": "nose", - "start": 184260, - "end": 184580, - "speaker": "A" - }, - { - "text": "on", - "start": 184580, - "end": 184780, - "speaker": "A" - }, - { - "text": "me.", - "start": 184780, - "end": 185100, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "And here I've come to erase everything and make a new drawing.", - "start": 185420, - "end": 189660, - "words": [ - { - "text": "And", - "start": 185420, - "end": 185740, - "speaker": "A" - }, - { - "text": "here", - "start": 185740, - "end": 186020, - "speaker": "A" - }, - { - "text": "I've", - "start": 186020, - "end": 186420, - "speaker": "A" - }, - { - "text": "come", - "start": 186420, - "end": 186620, - "speaker": "A" - }, - { - "text": "to", - "start": 186620, - "end": 186860, - "speaker": "A" - }, - { - "text": "erase", - "start": 186860, - "end": 187380, - "speaker": "A" - }, - { - "text": "everything", - "start": 187380, - "end": 187740, - "speaker": "A" - }, - { - "text": "and", - "start": 187820, - "end": 188100, - "speaker": "A" - }, - { - "text": "make", - "start": 188100, - "end": 188300, - "speaker": "A" - }, - { - "text": "a", - "start": 188300, - "end": 188540, - "speaker": "A" - }, - { - "text": "new", - "start": 188540, - "end": 188860, - "speaker": "A" - }, - { - "text": "drawing.", - "start": 188860, - "end": 189660, - "speaker": "A" - } - ] - }, - { - "speaker": "B", - "text": "Is everything okay, Little Malabar?", - "start": 193180, - "end": 195100, - "words": [ - { - "text": "Is", - "start": 193180, - "end": 193500, - "speaker": "B" - }, - { - "text": "everything", - "start": 193500, - "end": 193780, - "speaker": "B" - }, - { - "text": "okay,", - "start": 193780, - "end": 194180, - "speaker": "B" - }, - { - "text": "Little", - "start": 194180, - "end": 194380, - "speaker": "B" - }, - { - "text": "Malabar?", - "start": 194380, - "end": 195100, - "speaker": "B" - } - ] - }, - { - "speaker": "A", - "text": "Yeah, I'm right here.", - "start": 195740, - "end": 197580, - "words": [ - { - "text": "Yeah,", - "start": 195740, - "end": 196220, - "speaker": "A" - }, - { - "text": "I'm", - "start": 196700, - "end": 197060, - "speaker": "A" - }, - { - "text": "right", - "start": 197060, - "end": 197260, - "speaker": "A" - }, - { - "text": "here.", - "start": 197260, - "end": 197580, - "speaker": "A" - } - ] - }, - { - "speaker": "B", - "text": "Good.", - "start": 198299, - "end": 198700, - "words": [ - { - "text": "Good.", - "start": 198299, - "end": 198700, - "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "It's too bad about your drawing.", - "start": 199420, - "end": 201100, - "words": [ - { - "text": "It's", - "start": 199420, - "end": 199780, - "speaker": "B" - }, - { - "text": "too", - "start": 199780, - "end": 199980, - "speaker": "B" - }, - { - "text": "bad", - "start": 199980, - "end": 200180, - "speaker": "B" - }, - { - "text": "about", - "start": 200180, - "end": 200380, - "speaker": "B" - }, - { - "text": "your", - "start": 200380, - "end": 200620, - "speaker": "B" - }, - { - "text": "drawing.", - "start": 200620, - "end": 201100, - "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "I really liked it a lot.", - "start": 201260, - "end": 202780, - "words": [ - { - "text": "I", - "start": 201260, - "end": 201620, - "speaker": "B" - }, - { - "text": "really", - "start": 201620, - "end": 201940, - "speaker": "B" - }, - { - "text": "liked", - "start": 201940, - "end": 202300, - "speaker": "B" - }, - { - "text": "it", - "start": 202300, - "end": 202420, - "speaker": "B" - }, - { - "text": "a", - "start": 202420, - "end": 202540, - "speaker": "B" - }, - { - "text": "lot.", - "start": 202540, - "end": 202780, - "speaker": "B" - } - ] - }, - { - "speaker": "A", - "text": "Oh, that's really okay, Moon.", - "start": 202780, - "end": 204540, - "words": [ - { - "text": "Oh,", - "start": 202780, - "end": 203140, - "speaker": "A" - }, - { - "text": "that's", - "start": 203140, - "end": 203460, - "speaker": "A" - }, - { - "text": "really", - "start": 203460, - "end": 203660, - "speaker": "A" - }, - { - "text": "okay,", - "start": 203660, - "end": 204140, - "speaker": "A" - }, - { - "text": "Moon.", - "start": 204140, - "end": 204540, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "We can make new drawings all the time.", - "start": 204540, - "end": 206300, - "words": [ - { - "text": "We", - "start": 204540, - "end": 204820, - "speaker": "A" - }, - { - "text": "can", - "start": 204820, - "end": 204980, - "speaker": "A" - }, - { - "text": "make", - "start": 204980, - "end": 205140, - "speaker": "A" - }, - { - "text": "new", - "start": 205140, - "end": 205340, - "speaker": "A" - }, - { - "text": "drawings", - "start": 205340, - "end": 205660, - "speaker": "A" - }, - { - "text": "all", - "start": 205660, - "end": 205860, - "speaker": "A" - }, - { - "text": "the", - "start": 205860, - "end": 206020, - "speaker": "A" - }, - { - "text": "time.", - "start": 206020, - "end": 206300, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Watch this.", - "start": 206300, - "end": 207020, - "words": [ - { - "text": "Watch", - "start": 206300, - "end": 206660, - "speaker": "A" - }, - { - "text": "this.", - "start": 206660, - "end": 207020, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "And now, the final touch.", - "start": 211990, - "end": 213990, - "words": [ - { - "text": "And", - "start": 211990, - "end": 212230, - "speaker": "A" - }, - { - "text": "now,", - "start": 212230, - "end": 212630, - "speaker": "A" - }, - { - "text": "the", - "start": 212630, - "end": 213030, - "speaker": "A" - }, - { - "text": "final", - "start": 213030, - "end": 213430, - "speaker": "A" - }, - { - "text": "touch.", - "start": 213430, - "end": 213990, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "And ha.", - "start": 214070, - "end": 214790, - "words": [ - { - "text": "And", - "start": 214070, - "end": 214430, - "speaker": "A" - }, - { - "text": "ha.", - "start": 214430, - "end": 214790, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "And ha.", - "start": 215990, - "end": 216710, - "words": [ - { - "text": "And", - "start": 215990, - "end": 216350, - "speaker": "A" - }, - { - "text": "ha.", - "start": 216350, - "end": 216710, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "And ha.", - "start": 217830, - "end": 218550, - "words": [ - { - "text": "And", - "start": 217830, - "end": 218190, - "speaker": "A" - }, - { - "text": "ha.", - "start": 218190, - "end": 218550, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "You see this?", - "start": 219830, - "end": 220790, - "words": [ - { - "text": "You", - "start": 219830, - "end": 220150, - "speaker": "A" - }, - { - "text": "see", - "start": 220150, - "end": 220430, - "speaker": "A" - }, - { - "text": "this?", - "start": 220430, - "end": 220790, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Lots of pretty craters.", - "start": 223030, - "end": 224630, - "words": [ - { - "text": "Lots", - "start": 223030, - "end": 223510, - "speaker": "A" - }, - { - "text": "of", - "start": 223510, - "end": 223630, - "speaker": "A" - }, - { - "text": "pretty", - "start": 223630, - "end": 223990, - "speaker": "A" - }, - { - "text": "craters.", - "start": 223990, - "end": 224630, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "A long time ago, lots and lots of rocks fell on the moon and they drew the craters.", - "start": 226550, - "end": 231910, - "words": [ - { - "text": "A", - "start": 226550, - "end": 226830, - "speaker": "A" - }, - { - "text": "long", - "start": 226830, - "end": 227110, - "speaker": "A" - }, - { - "text": "time", - "start": 227110, - "end": 227390, - "speaker": "A" - }, - { - "text": "ago,", - "start": 227390, - "end": 227670, - "speaker": "A" - }, - { - "text": "lots", - "start": 227990, - "end": 228390, - "speaker": "A" - }, - { - "text": "and", - "start": 228390, - "end": 228510, - "speaker": "A" - }, - { - "text": "lots", - "start": 228510, - "end": 228750, - "speaker": "A" - }, - { - "text": "of", - "start": 228750, - "end": 228910, - "speaker": "A" - }, - { - "text": "rocks", - "start": 228910, - "end": 229230, - "speaker": "A" - }, - { - "text": "fell", - "start": 229230, - "end": 229550, - "speaker": "A" - }, - { - "text": "on", - "start": 229550, - "end": 229670, - "speaker": "A" - }, - { - "text": "the", - "start": 229670, - "end": 229790, - "speaker": "A" - }, - { - "text": "moon", - "start": 229790, - "end": 230150, - "speaker": "A" - }, - { - "text": "and", - "start": 230150, - "end": 230470, - "speaker": "A" - }, - { - "text": "they", - "start": 230470, - "end": 230710, - "speaker": "A" - }, - { - "text": "drew", - "start": 230710, - "end": 231070, - "speaker": "A" - }, - { - "text": "the", - "start": 231070, - "end": 231310, - "speaker": "A" - }, - { - "text": "craters.", - "start": 231310, - "end": 231910, - "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "The most recent craters covered up the old ones.", - "start": 231990, - "end": 234950, - "words": [ - { - "text": "The", - "start": 231990, - "end": 232270, - "speaker": "A" - }, - { - "text": "most", - "start": 232270, - "end": 232470, - "speaker": "A" - }, - { - "text": "recent", - "start": 232470, - "end": 232790, - "speaker": "A" - }, - { - "text": "craters", - "start": 232790, - "end": 233470, - "speaker": "A" - }, - { - "text": "covered", - "start": 233470, - "end": 233870, - "speaker": "A" - }, - { - "text": "up", - "start": 233870, - "end": 234070, - "speaker": "A" - }, - { - "text": "the", - "start": 234070, - "end": 234270, - "speaker": "A" - }, - { - "text": "old", - "start": 234270, - "end": 234510, - "speaker": "A" - }, - { - "text": "ones.", - "start": 234510, - "end": 234950, - "speaker": "A" - } - ] - } - ] -} \ No newline at end of file diff --git a/_assembleai/S02E02_assemblyai.json b/_assembleai/S02E02_assemblyai.json index 54ea5b4..0e780cd 100644 --- a/_assembleai/S02E02_assemblyai.json +++ b/_assembleai/S02E02_assemblyai.json @@ -1,7 +1,7 @@ { - "id": "a75b58d3-9311-4ccc-9464-171ffc75f5c4", + "id": "66109441-dd59-4ed3-b675-05d739bc8eb5", "status": "TranscriptStatus.completed", - "audio_url": "https://cdn.assemblyai.com/upload/b832939cf68ef56b89af2dca203ffd5e936b3a02362a471f6833c81ea0ccae28/a2d1af90-a584-48ab-a4e9-7fdaeb548790", + "audio_url": "https://cdn.assemblyai.com/upload/a60b8697eca6c2750134faf8959d0caa8c85796a6e2111eec1452a0aa96d5ad0/5a150f00-53a9-4f0a-a6b7-3b8edda824fa", "text": "To the moon and back. Ha ha. I jump on every planet and every star. Come on, let's go far. Explore the whole universe. Little Malabar. The labyrinth of the night. I did it. I finished. Hello, Giraffe. See this? I just made some sticks stilts with some bamboo. And I'm going to make taller stilts to be even bigger than you. I'll never be able to play with my stil if the Earth shakes like that all the time. Tell me, why are you shaking like that? Earth, are you okay? I am just fine, Little Malabar. It's very warm on my surface and that makes me tremble. And so your eyelid shakes do. I'm sorry, but I just can't help it. No problem. But to walk on my stilts. Maybe I should go somewhere else. Why don't you go to Mars? Up on Mars, it never shakes at all. Great idea. Let's go. A canyon and sleeping volcanoes. Nothing is moving here. It's perfect. Hmm. Huh? What are those two doing over there? Bizarre. Yes. What are you two doing? Hello there, volcanoes. We came here to play on my stilts because Earth sometimes shakes too much. Did you know that a long time ago, sometimes it also shook on Mars? That's right. And it really shook a lot right here. Yes, when I was young, I shook a lot like that. Well, now it doesn't shake. But where have the volcanoes going? We're over here. But get ready. It's going to shake now. The volcanoes are growing like mushrooms here. Oh my, oh my. It's getting warmer and warmer up here. That's how a long time ago, us volcanoes on Mars, we volcanoes grew up. Hold on tight. You haven't seen anything yet. Hey, Giraffe, where are you going? Whoa. Whoo hoo. A slide. Hey, what happened? Well, it became so hot on the surface of Mars that its crust began to move and became cracked. And these enormous canyons were formed. Welcome to the labyrinth of the night. A labyrinth. Wow. Now let's all try to find Giraffe. Oh, wow. The canyons here on Mars are really, really deep. We have to find Giraffe before nighttime. And we can't see anything. Giraff. Giraffe. Ah, there you are. Together we'll find our way out. It's that way. Giraffe. Let's go. Turn right. Turn left now. Yes. It. We found it. Wow. Well done. You have found the most gigantic canyon of all canyons on Mars. You have found the vast. Mary. Thank you. Volcanoes. Want to go home now, Giraffe. Goodbye, Mars. It was really fun to play in the Labyrinth of the Night. Good night and sweet dreams, Giraffe. Long ago, the surface of Mars shook so much that immense canyons were formed. It's called the Labyrinth of the Night, and it ends in the Valles Marineris.", "confidence": 0.9642463, "audio_duration": 242, @@ -9,9 +9,10 @@ "utterances": [ { "speaker": "A", - "text": "To the moon and back.", + "text": "To the moon and back. Ha ha. I jump on every planet and every star. Come on, let's go far. Explore the whole universe. Little Malabar.", "start": 800, - "end": 2240, + "end": 13840, + "confidence": 0.95225173, "words": [ { "text": "To", @@ -42,15 +43,7 @@ "start": 1880, "end": 2240, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Ha ha.", - "start": 2480, - "end": 3120, - "words": [ + }, { "text": "Ha", "start": 2480, @@ -62,15 +55,7 @@ "start": 2800, "end": 3120, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "I jump on every planet and every star.", - "start": 4640, - "end": 7920, - "words": [ + }, { "text": "I", "start": 4640, @@ -118,15 +103,7 @@ "start": 7520, "end": 7920, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Come on, let's go far.", - "start": 8320, - "end": 9920, - "words": [ + }, { "text": "Come", "start": 8320, @@ -156,15 +133,7 @@ "start": 9520, "end": 9920, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Explore the whole universe.", - "start": 10320, - "end": 12400, - "words": [ + }, { "text": "Explore", "start": 10320, @@ -188,15 +157,7 @@ "start": 11600, "end": 12400, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Little Malabar.", - "start": 12480, - "end": 13840, - "words": [ + }, { "text": "Little", "start": 12480, @@ -216,6 +177,7 @@ "text": "The labyrinth of the night.", "start": 14000, "end": 15520, + "confidence": 0.9908789, "words": [ { "text": "The", @@ -251,9 +213,10 @@ }, { "speaker": "A", - "text": "I did it.", + "text": "I did it. I finished. Hello, Giraffe. See this? I just made some sticks stilts with some bamboo. And I'm going to make taller stilts to be even bigger than you. I'll never be able to play with my stil if the Earth shakes like that all the time. Tell me, why are you shaking like that? Earth, are you okay?", "start": 19440, - "end": 20280, + "end": 52770, + "confidence": 0.9729965, "words": [ { "text": "I", @@ -272,15 +235,7 @@ "start": 20040, "end": 20280, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "I finished.", - "start": 20280, - "end": 21280, - "words": [ + }, { "text": "I", "start": 20280, @@ -292,15 +247,7 @@ "start": 20600, "end": 21280, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Hello, Giraffe.", - "start": 22320, - "end": 23440, - "words": [ + }, { "text": "Hello,", "start": 22320, @@ -312,15 +259,7 @@ "start": 22760, "end": 23440, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "See this?", - "start": 23600, - "end": 24320, - "words": [ + }, { "text": "See", "start": 23600, @@ -332,15 +271,7 @@ "start": 23960, "end": 24320, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "I just made some sticks stilts with some bamboo.", - "start": 24400, - "end": 27050, - "words": [ + }, { "text": "I", "start": 24400, @@ -394,15 +325,7 @@ "start": 26290, "end": 27050, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "And I'm going to make taller stilts to be even bigger than you.", - "start": 28570, - "end": 32330, - "words": [ + }, { "text": "And", "start": 28570, @@ -480,15 +403,7 @@ "start": 31970, "end": 32330, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "I'll never be able to play with my stil", - "start": 38890, - "end": 41610, - "words": [ + }, { "text": "I'll", "start": 38890, @@ -542,15 +457,7 @@ "start": 41130, "end": 41610, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "if the Earth shakes like that all the time.", - "start": 43130, - "end": 45370, - "words": [ + }, { "text": "if", "start": 43130, @@ -604,15 +511,7 @@ "start": 45090, "end": 45370, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Tell me, why are you shaking like that?", - "start": 49690, - "end": 51530, - "words": [ + }, { "text": "Tell", "start": 49690, @@ -660,15 +559,7 @@ "start": 51330, "end": 51530, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Earth, are you okay?", - "start": 51530, - "end": 52770, - "words": [ + }, { "text": "Earth,", "start": 51530, @@ -697,9 +588,10 @@ }, { "speaker": "C", - "text": "I am just fine, Little Malabar.", + "text": "I am just fine, Little Malabar. It's very warm on my surface and that makes me tremble. And so your eyelid shakes do. I'm sorry, but I just can't help it.", "start": 52770, - "end": 54690, + "end": 63250, + "confidence": 0.96651596, "words": [ { "text": "I", @@ -736,15 +628,7 @@ "start": 53970, "end": 54690, "speaker": "C" - } - ] - }, - { - "speaker": "C", - "text": "It's very warm on my surface and that makes me tremble.", - "start": 54690, - "end": 57570, - "words": [ + }, { "text": "It's", "start": 54690, @@ -810,15 +694,7 @@ "start": 57210, "end": 57570, "speaker": "C" - } - ] - }, - { - "speaker": "C", - "text": "And so your eyelid shakes do.", - "start": 57570, - "end": 59090, - "words": [ + }, { "text": "And", "start": 57570, @@ -854,15 +730,7 @@ "start": 58810, "end": 59090, "speaker": "C" - } - ] - }, - { - "speaker": "C", - "text": "I'm sorry, but I just can't help it.", - "start": 61170, - "end": 63250, - "words": [ + }, { "text": "I'm", "start": 61170, @@ -915,9 +783,10 @@ }, { "speaker": "A", - "text": "No problem.", + "text": "No problem. But to walk on my stilts. Maybe I should go somewhere else.", "start": 63730, - "end": 64450, + "end": 67770, + "confidence": 0.9752081, "words": [ { "text": "No", @@ -930,15 +799,7 @@ "start": 64090, "end": 64450, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "But to walk on my stilts.", - "start": 64690, - "end": 66130, - "words": [ + }, { "text": "But", "start": 64690, @@ -974,15 +835,7 @@ "start": 65610, "end": 66130, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Maybe I should go somewhere else.", - "start": 66130, - "end": 67770, - "words": [ + }, { "text": "Maybe", "start": 66130, @@ -1023,9 +876,10 @@ }, { "speaker": "C", - "text": "Why don't you go to Mars?", + "text": "Why don't you go to Mars? Up on Mars, it never shakes at all.", "start": 67770, - "end": 69170, + "end": 71010, + "confidence": 0.97806805, "words": [ { "text": "Why", @@ -1062,15 +916,7 @@ "start": 68730, "end": 69170, "speaker": "C" - } - ] - }, - { - "speaker": "C", - "text": "Up on Mars, it never shakes at all.", - "start": 69250, - "end": 71010, - "words": [ + }, { "text": "Up", "start": 69250, @@ -1123,9 +969,10 @@ }, { "speaker": "A", - "text": "Great idea.", + "text": "Great idea. Let's go. A canyon and sleeping volcanoes. Nothing is moving here. It's perfect. Hmm.", "start": 71010, - "end": 71770, + "end": 83170, + "confidence": 0.9352564, "words": [ { "text": "Great", @@ -1138,15 +985,7 @@ "start": 71330, "end": 71770, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Let's go.", - "start": 71770, - "end": 72530, - "words": [ + }, { "text": "Let's", "start": 71770, @@ -1158,15 +997,7 @@ "start": 72210, "end": 72530, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "A canyon and sleeping volcanoes.", - "start": 75730, - "end": 78530, - "words": [ + }, { "text": "A", "start": 75730, @@ -1196,15 +1027,7 @@ "start": 77610, "end": 78530, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Nothing is moving here.", - "start": 79730, - "end": 81090, - "words": [ + }, { "text": "Nothing", "start": 79730, @@ -1228,15 +1051,7 @@ "start": 80730, "end": 81090, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "It's perfect.", - "start": 81090, - "end": 82050, - "words": [ + }, { "text": "It's", "start": 81090, @@ -1248,15 +1063,7 @@ "start": 81570, "end": 82050, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Hmm.", - "start": 82610, - "end": 83170, - "words": [ + }, { "text": "Hmm.", "start": 82610, @@ -1267,24 +1074,17 @@ }, { "speaker": "B", - "text": "Huh?", + "text": "Huh? What are those two doing over there?", "start": 88770, - "end": 89170, + "end": 91010, + "confidence": 0.9942627, "words": [ { "text": "Huh?", "start": 88770, "end": 89170, "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "What are those two doing over there?", - "start": 89330, - "end": 91010, - "words": [ + }, { "text": "What", "start": 89330, @@ -1331,38 +1131,23 @@ }, { "speaker": "C", - "text": "Bizarre.", + "text": "Bizarre. Yes. What are you two doing?", "start": 91090, - "end": 91810, + "end": 93290, + "confidence": 0.9793701, "words": [ { "text": "Bizarre.", "start": 91090, "end": 91810, "speaker": "C" - } - ] - }, - { - "speaker": "C", - "text": "Yes.", - "start": 91890, - "end": 92250, - "words": [ + }, { "text": "Yes.", "start": 91890, "end": 92250, "speaker": "C" - } - ] - }, - { - "speaker": "C", - "text": "What are you two doing?", - "start": 92250, - "end": 93290, - "words": [ + }, { "text": "What", "start": 92250, @@ -1397,9 +1182,10 @@ }, { "speaker": "A", - "text": "Hello there, volcanoes.", + "text": "Hello there, volcanoes. We came here to play on my stilts because Earth sometimes shakes too much.", "start": 93290, - "end": 94610, + "end": 98450, + "confidence": 0.9746381, "words": [ { "text": "Hello", @@ -1418,15 +1204,7 @@ "start": 93850, "end": 94610, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "We came here to play on my stilts because Earth sometimes shakes too much.", - "start": 94610, - "end": 98450, - "words": [ + }, { "text": "We", "start": 94610, @@ -1515,9 +1293,10 @@ }, { "speaker": "B", - "text": "Did you know that a long time ago, sometimes it also shook on Mars?", + "text": "Did you know that a long time", "start": 98530, - "end": 102130, + "end": 100010, + "confidence": 0.99853516, "words": [ { "text": "Did", @@ -1560,7 +1339,16 @@ "start": 99809, "end": 100010, "speaker": "B" - }, + } + ] + }, + { + "speaker": "C", + "text": "ago, sometimes it also shook on Mars?", + "start": 100010, + "end": 102130, + "confidence": 0.9949544, + "words": [ { "text": "ago,", "start": 100010, @@ -1607,9 +1395,10 @@ }, { "speaker": "B", - "text": "That's right.", + "text": "That's right. And it really shook a lot right here. Yes, when I was young, I shook", "start": 102610, - "end": 103330, + "end": 108210, + "confidence": 0.9902966, "words": [ { "text": "That's", @@ -1622,15 +1411,7 @@ "start": 103050, "end": 103330, "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "And it really shook a lot right here.", - "start": 103410, - "end": 105410, - "words": [ + }, { "text": "And", "start": 103410, @@ -1678,15 +1459,7 @@ "start": 105090, "end": 105410, "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "Yes, when I was young, I shook a lot like that.", - "start": 105810, - "end": 110130, - "words": [ + }, { "text": "Yes,", "start": 105810, @@ -1728,7 +1501,16 @@ "start": 107930, "end": 108210, "speaker": "B" - }, + } + ] + }, + { + "speaker": "A", + "text": "a lot like that. Well, now it doesn't shake. But where have the volcanoes going? We're over here.", + "start": 108210, + "end": 114690, + "confidence": 0.97113353, + "words": [ { "text": "a", "start": 108210, @@ -1752,15 +1534,7 @@ "start": 109810, "end": 110130, "speaker": "A" - } - ] - }, - { - "speaker": "B", - "text": "Well, now it doesn't shake.", - "start": 110290, - "end": 111970, - "words": [ + }, { "text": "Well,", "start": 110290, @@ -1790,15 +1564,7 @@ "start": 111570, "end": 111970, "speaker": "A" - } - ] - }, - { - "speaker": "B", - "text": "But where have the volcanoes going?", - "start": 111970, - "end": 113650, - "words": [ + }, { "text": "But", "start": 111970, @@ -1834,15 +1600,7 @@ "start": 113330, "end": 113650, "speaker": "A" - } - ] - }, - { - "speaker": "B", - "text": "We're over here.", - "start": 113730, - "end": 114690, - "words": [ + }, { "text": "We're", "start": 113730, @@ -1865,9 +1623,10 @@ }, { "speaker": "B", - "text": "But get ready.", + "text": "But get ready. It's going to shake now.", "start": 116430, - "end": 117030, + "end": 118190, + "confidence": 0.9888916, "words": [ { "text": "But", @@ -1886,15 +1645,7 @@ "start": 116710, "end": 117030, "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "It's going to shake now.", - "start": 117030, - "end": 118190, - "words": [ + }, { "text": "It's", "start": 117030, @@ -1932,6 +1683,7 @@ "text": "The volcanoes are growing like mushrooms here.", "start": 124430, "end": 127070, + "confidence": 0.9808385, "words": [ { "text": "The", @@ -1979,9 +1731,10 @@ }, { "speaker": "B", - "text": "Oh my, oh my.", + "text": "Oh my, oh my. It's getting warmer and warmer up here. That's how a long time ago, us volcanoes on Mars, we volcanoes grew up.", "start": 127550, - "end": 128910, + "end": 137950, + "confidence": 0.96473956, "words": [ { "text": "Oh", @@ -2006,15 +1759,7 @@ "start": 128630, "end": 128910, "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "It's getting warmer and warmer up here.", - "start": 128910, - "end": 130990, - "words": [ + }, { "text": "It's", "start": 128910, @@ -2056,15 +1801,7 @@ "start": 130710, "end": 130990, "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "That's how a long time ago, us volcanoes on Mars, we volcanoes grew up.", - "start": 132830, - "end": 137950, - "words": [ + }, { "text": "That's", "start": 132830, @@ -2153,9 +1890,10 @@ }, { "speaker": "C", - "text": "Hold on tight.", + "text": "Hold on tight. You haven't seen anything yet.", "start": 140270, - "end": 141390, + "end": 142990, + "confidence": 0.9922943, "words": [ { "text": "Hold", @@ -2174,15 +1912,7 @@ "start": 140950, "end": 141390, "speaker": "C" - } - ] - }, - { - "speaker": "C", - "text": "You haven't seen anything yet.", - "start": 141390, - "end": 142990, - "words": [ + }, { "text": "You", "start": 141390, @@ -2217,9 +1947,10 @@ }, { "speaker": "A", - "text": "Hey, Giraffe, where are you going?", + "text": "Hey, Giraffe, where are you going? Whoa. Whoo hoo. A slide. Hey, what happened?", "start": 144030, - "end": 146270, + "end": 151850, + "confidence": 0.90545654, "words": [ { "text": "Hey,", @@ -2256,29 +1987,13 @@ "start": 145910, "end": 146270, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Whoa.", - "start": 147450, - "end": 147730, - "words": [ + }, { "text": "Whoa.", "start": 147450, "end": 147730, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Whoo hoo.", - "start": 147730, - "end": 148490, - "words": [ + }, { "text": "Whoo", "start": 147730, @@ -2290,15 +2005,7 @@ "start": 148050, "end": 148490, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "A slide.", - "start": 148890, - "end": 149850, - "words": [ + }, { "text": "A", "start": 148890, @@ -2310,15 +2017,7 @@ "start": 149210, "end": 149850, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Hey, what happened?", - "start": 150250, - "end": 151850, - "words": [ + }, { "text": "Hey,", "start": 150250, @@ -2344,6 +2043,7 @@ "text": "Well, it became so hot on the surface of Mars that its crust began to move and became cracked.", "start": 152490, "end": 157930, + "confidence": 0.9732002, "words": [ { "text": "Well,", @@ -2466,6 +2166,7 @@ "text": "And these enormous canyons were formed.", "start": 157930, "end": 160890, + "confidence": 0.95096165, "words": [ { "text": "And", @@ -2510,6 +2211,7 @@ "text": "Welcome to the labyrinth of the night.", "start": 160970, "end": 163290, + "confidence": 0.93836963, "words": [ { "text": "Welcome", @@ -2557,9 +2259,10 @@ }, { "speaker": "A", - "text": "A labyrinth.", + "text": "A labyrinth. Wow. Now let's all try to find Giraffe. Oh, wow. The canyons here on Mars are really, really deep. We have to find Giraffe before nighttime. And we can't see anything. Giraff. Giraffe. Ah, there you are. Together we'll find our way out. It's that way. Giraffe. Let's go. Turn right. Turn left now. Yes. It. We found it. Wow.", "start": 163850, - "end": 164970, + "end": 201510, + "confidence": 0.95261806, "words": [ { "text": "A", @@ -2572,29 +2275,13 @@ "start": 164170, "end": 164970, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Wow.", - "start": 165290, - "end": 165770, - "words": [ + }, { "text": "Wow.", "start": 165290, "end": 165770, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Now let's all try to find Giraffe.", - "start": 165930, - "end": 168170, - "words": [ + }, { "text": "Now", "start": 165930, @@ -2636,15 +2323,7 @@ "start": 167370, "end": 168170, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Oh, wow.", - "start": 169370, - "end": 170090, - "words": [ + }, { "text": "Oh,", "start": 169370, @@ -2656,15 +2335,7 @@ "start": 169770, "end": 170090, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "The canyons here on Mars are really, really deep.", - "start": 170090, - "end": 173290, - "words": [ + }, { "text": "The", "start": 170090, @@ -2718,15 +2389,7 @@ "start": 172810, "end": 173290, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "We have to find Giraffe before nighttime.", - "start": 173850, - "end": 176170, - "words": [ + }, { "text": "We", "start": 173850, @@ -2768,15 +2431,7 @@ "start": 175450, "end": 176170, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "And we can't see anything.", - "start": 176170, - "end": 177770, - "words": [ + }, { "text": "And", "start": 176170, @@ -2806,43 +2461,19 @@ "start": 177170, "end": 177770, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Giraff.", - "start": 178090, - "end": 178810, - "words": [ + }, { "text": "Giraff.", "start": 178090, "end": 178810, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Giraffe.", - "start": 180310, - "end": 181110, - "words": [ + }, { "text": "Giraffe.", "start": 180310, "end": 181110, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Ah, there you are.", - "start": 181830, - "end": 183510, - "words": [ + }, { "text": "Ah,", "start": 181830, @@ -2866,15 +2497,7 @@ "start": 183230, "end": 183510, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Together we'll find our way out.", - "start": 184070, - "end": 186070, - "words": [ + }, { "text": "Together", "start": 184070, @@ -2910,15 +2533,7 @@ "start": 185750, "end": 186070, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "It's that way.", - "start": 187910, - "end": 188790, - "words": [ + }, { "text": "It's", "start": 187910, @@ -2936,29 +2551,13 @@ "start": 188550, "end": 188790, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Giraffe.", - "start": 188790, - "end": 189510, - "words": [ + }, { "text": "Giraffe.", "start": 188790, "end": 189510, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Let's go.", - "start": 189510, - "end": 190310, - "words": [ + }, { "text": "Let's", "start": 189510, @@ -2970,15 +2569,7 @@ "start": 189990, "end": 190310, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Turn right.", - "start": 193350, - "end": 194150, - "words": [ + }, { "text": "Turn", "start": 193350, @@ -2990,15 +2581,7 @@ "start": 193750, "end": 194150, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Turn left now.", - "start": 194710, - "end": 195910, - "words": [ + }, { "text": "Turn", "start": 194710, @@ -3016,43 +2599,19 @@ "start": 195510, "end": 195910, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Yes.", - "start": 198710, - "end": 199230, - "words": [ + }, { "text": "Yes.", "start": 198710, "end": 199230, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "It.", - "start": 199230, - "end": 199470, - "words": [ + }, { "text": "It.", "start": 199230, "end": 199470, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "We found it.", - "start": 199470, - "end": 200390, - "words": [ + }, { "text": "We", "start": 199470, @@ -3070,15 +2629,7 @@ "start": 200070, "end": 200390, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Wow.", - "start": 200950, - "end": 201510, - "words": [ + }, { "text": "Wow.", "start": 200950, @@ -3089,9 +2640,10 @@ }, { "speaker": "B", - "text": "Well done.", + "text": "Well done. You have found the most gigantic canyon of all canyons on Mars.", "start": 203190, - "end": 203830, + "end": 208230, + "confidence": 0.9811169, "words": [ { "text": "Well", @@ -3104,15 +2656,7 @@ "start": 203510, "end": 203830, "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "You have found the most gigantic canyon of all canyons on Mars.", - "start": 203990, - "end": 208230, - "words": [ + }, { "text": "You", "start": 203990, @@ -3192,6 +2736,7 @@ "text": "You have found the vast.", "start": 208550, "end": 210550, + "confidence": 0.927832, "words": [ { "text": "You", @@ -3230,6 +2775,7 @@ "text": "Mary.", "start": 210630, "end": 211100, + "confidence": 0.40307617, "words": [ { "text": "Mary.", @@ -3241,9 +2787,10 @@ }, { "speaker": "A", - "text": "Thank you.", + "text": "Thank you. Volcanoes. Want to go home now, Giraffe. Goodbye, Mars. It was really fun to play in the Labyrinth of the Night. Good night and sweet dreams, Giraffe.", "start": 212290, - "end": 212650, + "end": 225730, + "confidence": 0.9400242, "words": [ { "text": "Thank", @@ -3256,29 +2803,13 @@ "start": 212450, "end": 212650, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Volcanoes.", - "start": 212650, - "end": 213570, - "words": [ + }, { "text": "Volcanoes.", "start": 212650, "end": 213570, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Want to go home now, Giraffe.", - "start": 213570, - "end": 215330, - "words": [ + }, { "text": "Want", "start": 213570, @@ -3314,15 +2845,7 @@ "start": 214690, "end": 215330, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Goodbye, Mars.", - "start": 216770, - "end": 218210, - "words": [ + }, { "text": "Goodbye,", "start": 216770, @@ -3334,15 +2857,7 @@ "start": 217450, "end": 218210, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "It was really fun to play in the Labyrinth of the Night.", - "start": 220050, - "end": 222930, - "words": [ + }, { "text": "It", "start": 220050, @@ -3414,15 +2929,7 @@ "start": 222650, "end": 222930, "speaker": "A" - } - ] - }, - { - "speaker": "A", - "text": "Good night and sweet dreams, Giraffe.", - "start": 223170, - "end": 225730, - "words": [ + }, { "text": "Good", "start": 223170, @@ -3463,9 +2970,10 @@ }, { "speaker": "B", - "text": "Long ago, the surface of Mars shook so much that immense canyons were formed.", + "text": "Long ago, the surface of Mars shook so much that immense canyons were formed. It's called the Labyrinth of the Night, and it ends in the Valles Marineris.", "start": 226370, - "end": 231250, + "end": 235970, + "confidence": 0.9800026, "words": [ { "text": "Long", @@ -3550,15 +3058,7 @@ "start": 230690, "end": 231250, "speaker": "B" - } - ] - }, - { - "speaker": "B", - "text": "It's called the Labyrinth of the Night, and it ends in the Valles Marineris.", - "start": 231410, - "end": 235970, - "words": [ + }, { "text": "It's", "start": 231410, diff --git a/_lines/S01E01_lines.txt b/_lines/S01E01_lines.txt deleted file mode 100644 index 711e613..0000000 --- a/_lines/S01E01_lines.txt +++ /dev/null @@ -1,67 +0,0 @@ -[00:00](Speaker A) To the moon and back. -[00:02](Speaker A) Ha, ha. -[00:04](Speaker A) I jump on every planet and every star. -[00:08](Speaker A) Come on, let's go far. -[00:10](Speaker A) Explore the whole universe. -[00:12](Speaker A) Let's go, Malabar. -[00:14](Speaker A) The Eye of Jupiter. -[00:18](Speaker A) Whoa. -[00:19](Speaker A) The wind is blowing. -[00:27](Speaker A) Oh, what a nice hat, -[00:34](Speaker A) Octopus. -[00:34](Speaker A) I can't see anything. -[00:38](Speaker A) Well, that's better now. -[00:41](Speaker A) Hey, don't go away. -[00:43](Speaker A) Oh, the wind is taking us away. -[00:47](Speaker A) We're flying. -[00:54](Speaker A) I've got an idea Here. -[00:57](Speaker A) The wind is blowing even harder. -[01:00](Speaker A) Come on, Octopus. -[01:11](Speaker A) Hello, Mars. -[01:14](Speaker A) Further to the asteroids. -[01:21](Speaker A) Watch out. -[01:22](Speaker A) To the right. -[01:23](Speaker A) No, to the right. -[01:24](Speaker A) To the left. -[01:24](Speaker A) To the left. -[01:26](Speaker A) What a funny journey. -[01:28](Speaker A) Watch out. -[01:29](Speaker A) Up, up. -[01:32](Speaker A) Hey, Octopus. -[01:33](Speaker A) Come back, -[01:42](Speaker A) Octopus. -[01:43](Speaker A) Oh, he crashed on the ground of that huge planet. -[01:47](Speaker B) Don't worry, he didn't crash. -[01:49](Speaker B) There isn't even a ground on there. -[01:52](Speaker B) There are only winds and gas clouds and storms. -[01:56](Speaker A) This planet is called Jupiter. -[02:00](Speaker B) I have a speck of dust in the eye. -[02:04](Speaker B) It's irritating, but it's not a speck. -[02:08](Speaker A) It's my Octopus. -[02:10](Speaker A) Hold on tight, Octopus. -[02:11](Speaker A) I'm going to help you out. -[02:17](Speaker A) I got you. -[02:21](Speaker A) It's such a huge storm. -[02:30](Speaker A) It's spinning so fast. -[02:33](Speaker A) Octopus. -[02:34](Speaker A) Don't worry, Octopus. -[02:36](Speaker A) I'll catch you on the other side. -[02:41](Speaker A) Octopus. -[02:49](Speaker A) Here we go. -[02:51](Speaker A) Almost there. -[02:53](Speaker A) Hold on tight. -[02:55](Speaker A) Yes, I got you. -[02:57](Speaker A) Go ahead, Optimus. -[02:58](Speaker A) Octopus, blow yourself up. -[03:04](Speaker A) Keep on blowing. -[03:05](Speaker A) Come on, keep on blowing. -[03:08](Speaker A) Here we go. -[03:10](Speaker B) I'm feeling better. -[03:12](Speaker B) Thank you for helping little Malabar. -[03:15](Speaker A) You're welcome. -[03:16](Speaker A) Bye bye, Jupiter. -[03:34](Speaker A) That whirlwind was awesome. -[03:37](Speaker A) Do you want to do it again? -[03:39](Speaker A) We have to wait for the wind to come back. -[03:46](Speaker B) Jupiter is a giant planet made of gas. -[03:49](Speaker B) There are huge storms on the surface, and the biggest is the eye of Jupiter. \ No newline at end of file diff --git a/_lines/S01E02_lines.txt b/_lines/S01E02_lines.txt deleted file mode 100644 index 73c056e..0000000 --- a/_lines/S01E02_lines.txt +++ /dev/null @@ -1,56 +0,0 @@ -[00:00](Speaker A) To the moon and back. -[00:02](Speaker A) Ha ha. -[00:04](Speaker A) I jump on every planet and every star. -[00:08](Speaker B) Come on, let's go far. -[00:10](Speaker A) Explore the whole universe. -[00:12](Speaker A) Little Malabar, the partying sun. -[00:16](Speaker A) Bum bum bum bum bum bum bum bum. -[00:21](Speaker A) Hey, Lemur, can you hear that? -[00:27](Speaker A) Oh. -[00:31](Speaker A) What is that noise? -[00:36](Speaker A) We are going to find out where it's coming from. -[00:52](Speaker A) No, it's not coming from the moon. -[00:55](Speaker B) Oh. -[00:56](Speaker A) Over there. -[01:05](Speaker A) It's not coming from Mercury either. -[01:17](Speaker A) Wow. -[01:18](Speaker A) Then it's the sun that's making all that noise. -[01:21](Speaker A) And that heat. -[01:28](Speaker A) Can you hear? -[01:29](Speaker A) It sounds like it's coming from the inside of the sun. -[01:35](Speaker A) Shall we go? -[01:37](Speaker B) Yeehaw. -[01:40](Speaker B) Yay. -[01:41](Speaker B) Yoohoo. -[01:43](Speaker B) Yoo hoo. -[01:45](Speaker B) Yay. -[01:54](Speaker A) It's so hot in here. -[01:57](Speaker A) You want to come with us? -[01:59](Speaker A) How about that? -[01:59](Speaker A) Do you want to come with us? -[02:01](Speaker B) Come with us. -[02:03](Speaker A) But where? -[02:04](Speaker B) Here. -[02:05](Speaker A) To the Adam's party. -[02:08](Speaker A) A party inside the sun. -[02:21](Speaker A) Hey, Adams, Now I understand why it's so hot at your plate. -[02:25](Speaker A) You keep on dancing. -[02:29](Speaker A) Wow. -[02:30](Speaker A) It's piping hot. -[02:40](Speaker A) It's so hot that you can't turn into popcorn. -[03:08](Speaker A) These atoms are crazy. -[03:10](Speaker A) The more they mix, the more they produce heat. -[03:16](Speaker A) Whoa. -[03:17](Speaker B) Hey. -[03:18](Speaker B) Hee haw -[03:21](Speaker B) hee haw. -[03:22](Speaker B) Ha ha ha. -[03:29](Speaker A) Ah, sun. -[03:30](Speaker A) Heat is so good. -[03:32](Speaker A) I love it. -[03:40](Speaker B) Ha ha. -[03:40](Speaker A) The popcorn is pretty hot. -[03:44](Speaker B) Thank you, sun. -[03:47](Speaker A) The inside of our star. -[03:48](Speaker A) The sun is made of atoms which bump into each other, merge, and produce heat. -[03:56](Speaker B) Sam. \ No newline at end of file diff --git a/_lines/S02E01_lines.txt b/_lines/S02E01_lines.txt deleted file mode 100644 index d8a8a01..0000000 --- a/_lines/S02E01_lines.txt +++ /dev/null @@ -1,86 +0,0 @@ -[00:00](Speaker A) To the moon and back. -[00:02](Speaker A) Ha, ha. -[00:04](Speaker A) I jump on every planet and every star. -[00:08](Speaker A) Come on, let's go far. -[00:10](Speaker A) Explore the whole universe. -[00:12](Speaker B) Little Malabar drawings on the moon. -[00:17](Speaker A) A pretty line here. -[00:19](Speaker A) Okay. -[00:20](Speaker A) And now a pretty circle. -[00:27](Speaker A) Good job, Kangaroo. -[00:29](Speaker A) You drew a pretty flower. -[00:30](Speaker B) Very nice. -[00:31](Speaker B) You artists really draw well. -[00:33](Speaker B) But I think you forgot an important little detail. -[00:36](Speaker A) We did. -[00:37](Speaker A) But what? -[00:38](Speaker B) Well, you are on the beach, and the ocean rises. -[00:43](Speaker A) Oh, no, no, no. -[00:45](Speaker B) You should do your drawings on me. -[00:47](Speaker B) Up here, there is no ocean to erase them. -[00:50](Speaker A) You hear that, Kangaroo? -[00:52](Speaker A) All right, let's. -[00:59](Speaker A) There are already lots of drawings up here. -[01:02](Speaker A) But who made them? -[01:06](Speaker A) That's right. -[01:07](Speaker A) Kangaroo. -[01:08](Speaker A) Maybe those are animal tracks. -[01:11](Speaker A) But which animal? -[01:14](Speaker A) An acrobatic turtle? -[01:18](Speaker A) An armadillo colony? -[01:21](Speaker A) Or maybe an enormous whale? -[01:27](Speaker A) Boy, oh, boy. -[01:28](Speaker A) Look at all these footprints. -[01:31](Speaker B) Little Malabar. -[01:32](Speaker B) Those aren't footprints made by animals. -[01:35](Speaker B) Those are my craters. -[01:36](Speaker B) A lovely collection, don't you think? -[01:38](Speaker A) Oh, yes. -[01:39](Speaker A) But what about all these craters? -[01:41](Speaker A) Who drew them? -[01:42](Speaker B) The meteorites did this. -[01:43](Speaker B) They're giant rocks flying through space. -[01:46](Speaker B) And they began their work a long, long time ago, when I was very young. -[01:51](Speaker A) Oh, but, Moon, where have your craters gone? -[01:55](Speaker B) They haven't been created yet. -[01:56](Speaker B) Look there, Little Malabar. -[01:58](Speaker B) Here come the artist now he meteorite shower. -[02:04](Speaker A) Whoa. -[02:04](Speaker A) These meteorites are crazy. -[02:07](Speaker A) We're not crazy at all. -[02:08](Speaker A) We love creating pretty ground craters on the Moon. -[02:12](Speaker A) And now the little circle stand. -[02:16](Speaker A) Add a little circle, erase that, and let's make a huge circle. -[02:20](Speaker A) Like, put the little circle right here. -[02:24](Speaker B) And that went on for a very long time. -[02:26](Speaker B) There were always new meteorites coming to create brand new craters on top of the old craters. -[02:32](Speaker B) And then, little by little, things calmed down. -[02:35](Speaker A) Those meteorites were really good at their job. -[02:38](Speaker A) But today we're going to make drawings. -[02:49](Speaker B) Oh, a self portrait. -[02:50](Speaker B) Nice one, Little Malabar. -[02:52](Speaker B) Great job, Kangaroo. -[02:53](Speaker B) It's drawn perfectly. -[02:54](Speaker A) Wait for me. -[02:55](Speaker A) I want to participate in the fun, too. -[03:00](Speaker A) There are still meteorites to. -[03:02](Speaker A) Wow. -[03:03](Speaker A) Look. -[03:03](Speaker A) It drew a clown nose on me. -[03:05](Speaker A) And here I've come to erase everything and make a new drawing. -[03:13](Speaker B) Is everything okay, Little Malabar? -[03:15](Speaker A) Yeah, I'm right here. -[03:18](Speaker B) Good. -[03:19](Speaker B) It's too bad about your drawing. -[03:21](Speaker B) I really liked it a lot. -[03:22](Speaker A) Oh, that's really okay, Moon. -[03:24](Speaker A) We can make new drawings all the time. -[03:26](Speaker A) Watch this. -[03:31](Speaker A) And now, the final touch. -[03:34](Speaker A) And ha. -[03:35](Speaker A) And ha. -[03:37](Speaker A) And ha. -[03:39](Speaker A) You see this? -[03:43](Speaker A) Lots of pretty craters. -[03:46](Speaker A) A long time ago, lots and lots of rocks fell on the moon and they drew the craters. -[03:51](Speaker A) The most recent craters covered up the old ones. \ No newline at end of file diff --git a/_lines/S02E02_lines.txt b/_lines/S02E02_lines.txt deleted file mode 100644 index 80b6303..0000000 --- a/_lines/S02E02_lines.txt +++ /dev/null @@ -1,94 +0,0 @@ -[00:00](Speaker A) To the moon and back. -[00:02](Speaker A) Ha ha. -[00:04](Speaker A) I jump on every planet and every star. -[00:08](Speaker A) Come on, let's go far. -[00:10](Speaker A) Explore the whole universe. -[00:12](Speaker A) Little Malabar. -[00:14](Speaker B) The labyrinth of the night. -[00:19](Speaker A) I did it. -[00:20](Speaker A) I finished. -[00:22](Speaker A) Hello, Giraffe. -[00:23](Speaker A) See this? -[00:24](Speaker A) I just made some sticks stilts with some bamboo. -[00:28](Speaker A) And I'm going to make taller stilts to be even bigger than you. -[00:38](Speaker A) I'll never be able to play with my stil -[00:43](Speaker A) if the Earth shakes like that all the time. -[00:49](Speaker A) Tell me, why are you shaking like that? -[00:51](Speaker A) Earth, are you okay? -[00:52](Speaker C) I am just fine, Little Malabar. -[00:54](Speaker C) It's very warm on my surface and that makes me tremble. -[00:57](Speaker C) And so your eyelid shakes do. -[01:01](Speaker C) I'm sorry, but I just can't help it. -[01:03](Speaker A) No problem. -[01:04](Speaker A) But to walk on my stilts. -[01:06](Speaker A) Maybe I should go somewhere else. -[01:07](Speaker C) Why don't you go to Mars? -[01:09](Speaker C) Up on Mars, it never shakes at all. -[01:11](Speaker A) Great idea. -[01:11](Speaker A) Let's go. -[01:15](Speaker A) A canyon and sleeping volcanoes. -[01:19](Speaker A) Nothing is moving here. -[01:21](Speaker A) It's perfect. -[01:22](Speaker A) Hmm. -[01:28](Speaker B) Huh? -[01:29](Speaker B) What are those two doing over there? -[01:31](Speaker C) Bizarre. -[01:31](Speaker C) Yes. -[01:32](Speaker C) What are you two doing? -[01:33](Speaker A) Hello there, volcanoes. -[01:34](Speaker A) We came here to play on my stilts because Earth sometimes shakes too much. -[01:38](Speaker B) Did you know that a long time ago, sometimes it also shook on Mars? -[01:42](Speaker B) That's right. -[01:43](Speaker B) And it really shook a lot right here. -[01:45](Speaker B) Yes, when I was young, I shook a lot like that. -[01:50](Speaker B) Well, now it doesn't shake. -[01:51](Speaker B) But where have the volcanoes going? -[01:53](Speaker B) We're over here. -[01:56](Speaker B) But get ready. -[01:57](Speaker B) It's going to shake now. -[02:04](Speaker A) The volcanoes are growing like mushrooms here. -[02:07](Speaker B) Oh my, oh my. -[02:08](Speaker B) It's getting warmer and warmer up here. -[02:12](Speaker B) That's how a long time ago, us volcanoes on Mars, we volcanoes grew up. -[02:20](Speaker C) Hold on tight. -[02:21](Speaker C) You haven't seen anything yet. -[02:24](Speaker A) Hey, Giraffe, where are you going? -[02:27](Speaker A) Whoa. -[02:27](Speaker A) Whoo hoo. -[02:28](Speaker A) A slide. -[02:30](Speaker A) Hey, what happened? -[02:32](Speaker B) Well, it became so hot on the surface of Mars that its crust began to move and became cracked. -[02:37](Speaker C) And these enormous canyons were formed. -[02:40](Speaker B) Welcome to the labyrinth of the night. -[02:43](Speaker A) A labyrinth. -[02:45](Speaker A) Wow. -[02:45](Speaker A) Now let's all try to find Giraffe. -[02:49](Speaker A) Oh, wow. -[02:50](Speaker A) The canyons here on Mars are really, really deep. -[02:53](Speaker A) We have to find Giraffe before nighttime. -[02:56](Speaker A) And we can't see anything. -[02:58](Speaker A) Giraff. -[03:00](Speaker A) Giraffe. -[03:01](Speaker A) Ah, there you are. -[03:04](Speaker A) Together we'll find our way out. -[03:07](Speaker A) It's that way. -[03:08](Speaker A) Giraffe. -[03:09](Speaker A) Let's go. -[03:13](Speaker A) Turn right. -[03:14](Speaker A) Turn left now. -[03:18](Speaker A) Yes. -[03:19](Speaker A) It. -[03:19](Speaker A) We found it. -[03:20](Speaker A) Wow. -[03:23](Speaker B) Well done. -[03:23](Speaker B) You have found the most gigantic canyon of all canyons on Mars. -[03:28](Speaker C) You have found the vast. -[03:30](Speaker B) Mary. -[03:32](Speaker A) Thank you. -[03:32](Speaker A) Volcanoes. -[03:33](Speaker A) Want to go home now, Giraffe. -[03:36](Speaker A) Goodbye, Mars. -[03:40](Speaker A) It was really fun to play in the Labyrinth of the Night. -[03:43](Speaker A) Good night and sweet dreams, Giraffe. -[03:46](Speaker B) Long ago, the surface of Mars shook so much that immense canyons were formed. -[03:51](Speaker B) It's called the Labyrinth of the Night, and it ends in the Valles Marineris. \ No newline at end of file diff --git a/_speakers/S01E01_speakers.txt b/_speakers/S01E01_speakers.txt deleted file mode 100644 index 9068ef0..0000000 --- a/_speakers/S01E01_speakers.txt +++ /dev/null @@ -1,67 +0,0 @@ -[00:00](Song) To the moon and back. -[00:02](Song) Ha, ha. -[00:04](Song) I jump on every planet and every star. -[00:08](Song) Come on, let's go far. -[00:10](Song) Explore the whole universe. -[00:12](Song) Let's go, Malabar. -[00:14](Song) The Eye of Jupiter. -[00:18](Malabar) Whoa. -[00:19](Malabar) The wind is blowing. -[00:27](Malabar) Oh, what a nice hat, -[00:34](Malabar) Octopus. -[00:34](Malabar) I can't see anything. -[00:38](Malabar) Well, that's better now. -[00:41](Malabar) Hey, don't go away. -[00:43](Malabar) Oh, the wind is taking us away. -[00:47](Malabar) We're flying. -[00:54](Malabar) I've got an idea Here. -[00:57](Malabar) The wind is blowing even harder. -[01:00](Malabar) Come on, Octopus. -[01:11](Malabar) Hello, Mars. -[01:14](Malabar) Further to the asteroids. -[01:21](Malabar) Watch out. -[01:22](Malabar) To the right. -[01:23](Malabar) No, to the right. -[01:24](Malabar) To the left. -[01:24](Malabar) To the left. -[01:26](Malabar) What a funny journey. -[01:28](Malabar) Watch out. -[01:29](Malabar) Up, up. -[01:32](Malabar) Hey, Octopus. -[01:33](Malabar) Come back, -[01:42](Malabar) Octopus. -[01:43](Malabar) Oh, he crashed on the ground of that huge planet. -[01:47](Jupiter) Don't worry, he didn't crash. -[01:49](Jupiter) There isn't even a ground on there. -[01:52](Jupiter) There are only winds and gas clouds and storms. -[01:56](Malabar) This planet is called Jupiter. -[02:00](Jupiter) I have a speck of dust in the eye. -[02:04](Jupiter) It's irritating, but it's not a speck. -[02:08](Malabar) It's my Octopus. -[02:10](Malabar) Hold on tight, Octopus. -[02:11](Malabar) I'm going to help you out. -[02:17](Malabar) I got you. -[02:21](Malabar) It's such a huge storm. -[02:30](Malabar) It's spinning so fast. -[02:33](Malabar) Octopus. -[02:34](Malabar) Don't worry, Octopus. -[02:36](Malabar) I'll catch you on the other side. -[02:41](Malabar) Octopus. -[02:49](Malabar) Here we go. -[02:51](Malabar) Almost there. -[02:53](Malabar) Hold on tight. -[02:55](Malabar) Yes, I got you. -[02:57](Malabar) Go ahead, Optimus. -[02:58](Malabar) Octopus, blow yourself up. -[03:04](Malabar) Keep on blowing. -[03:05](Malabar) Come on, keep on blowing. -[03:08](Malabar) Here we go. -[03:10](Jupiter) I'm feeling better. -[03:12](Jupiter) Thank you for helping little Malabar. -[03:15](Malabar) You're welcome. -[03:16](Malabar) Bye bye, Jupiter. -[03:34](Malabar) That whirlwind was awesome. -[03:37](Malabar) Do you want to do it again? -[03:39](Malabar) We have to wait for the wind to come back. -[03:46](Jupiter) Jupiter is a giant planet made of gas. -[03:49](Jupiter) There are huge storms on the surface, and the biggest is the eye of Jupiter. \ No newline at end of file diff --git a/_speakers/S01E02_speakers.txt b/_speakers/S01E02_speakers.txt deleted file mode 100644 index 950e622..0000000 --- a/_speakers/S01E02_speakers.txt +++ /dev/null @@ -1,56 +0,0 @@ -[00:00](Song) To the moon and back. -[00:02](Song) Ha ha. -[00:04](Song) I jump on every planet and every star. -[00:08](Song) Come on, let's go far. -[00:10](Song) Explore the whole universe. -[00:12](Song) Little Malabar, the partying sun. -[00:16](Malabar) Bum bum bum bum bum bum bum bum. -[00:21](Malabar) Hey, Lemur, can you hear that? -[00:27](Malabar) Oh. -[00:31](Malabar) What is that noise? -[00:36](Malabar) We are going to find out where it's coming from. -[00:52](Malabar) No, it's not coming from the moon. -[00:55](Star) Oh. -[00:56](Malabar) Over there. -[01:05](Malabar) It's not coming from Mercury either. -[01:17](Malabar) Wow. -[01:18](Malabar) Then it's the sun that's making all that noise. -[01:21](Malabar) And that heat. -[01:28](Malabar) Can you hear? -[01:29](Malabar) It sounds like it's coming from the inside of the sun. -[01:35](Malabar) Shall we go? -[01:37](Star) Yeehaw. -[01:40](Star) Yay. -[01:41](Star) Yoohoo. -[01:43](Star) Yoo hoo. -[01:45](Star) Yay. -[01:54](Malabar) It's so hot in here. -[01:57](Malabar) You want to come with us? -[01:59](Malabar) How about that? -[01:59](Malabar) Do you want to come with us? -[02:01](Star) Come with us. -[02:03](Malabar) But where? -[02:04](Star) Here. -[02:05](Malabar) To the Adam's party. -[02:08](Malabar) A party inside the sun. -[02:21](Malabar) Hey, Adams, Now I understand why it's so hot at your plate. -[02:25](Malabar) You keep on dancing. -[02:29](Malabar) Wow. -[02:30](Malabar) It's piping hot. -[02:40](Malabar) It's so hot that you can't turn into popcorn. -[03:08](Malabar) These atoms are crazy. -[03:10](Malabar) The more they mix, the more they produce heat. -[03:16](Malabar) Whoa. -[03:17](Star) Hey. -[03:18](Star) Hee haw -[03:21](Star) hee haw. -[03:22](Star) Ha ha ha. -[03:29](Malabar) Ah, sun. -[03:30](Malabar) Heat is so good. -[03:32](Malabar) I love it. -[03:40](Star) Ha ha. -[03:40](Malabar) The popcorn is pretty hot. -[03:44](Star) Thank you, sun. -[03:47](Malabar) The inside of our star. -[03:48](Malabar) The sun is made of atoms which bump into each other, merge, and produce heat. -[03:56](Star) Sam. \ No newline at end of file diff --git a/_speakers/S02E01_speakers.txt b/_speakers/S02E01_speakers.txt deleted file mode 100644 index 85bca01..0000000 --- a/_speakers/S02E01_speakers.txt +++ /dev/null @@ -1,86 +0,0 @@ -[00:00](Song) To the moon and back. -[00:02](Song) Ha, ha. -[00:04](Song) I jump on every planet and every star. -[00:08](Song) Come on, let's go far. -[00:10](Song) Explore the whole universe. -[00:12](Song) Little Malabar drawings on the moon. -[00:17](Malabar) A pretty line here. -[00:19](Malabar) Okay. -[00:20](Malabar) And now a pretty circle. -[00:27](Malabar) Good job, Kangaroo. -[00:29](Malabar) You drew a pretty flower. -[00:30](Moon) Very nice. -[00:31](Moon) You artists really draw well. -[00:33](Moon) But I think you forgot an important little detail. -[00:36](Malabar) We did. -[00:37](Malabar) But what? -[00:38](Moon) Well, you are on the beach, and the ocean rises. -[00:43](Malabar) Oh, no, no, no. -[00:45](Moon) You should do your drawings on me. -[00:47](Moon) Up here, there is no ocean to erase them. -[00:50](Malabar) You hear that, Kangaroo? -[00:52](Malabar) All right, let's. -[00:59](Malabar) There are already lots of drawings up here. -[01:02](Malabar) But who made them? -[01:06](Malabar) That's right. -[01:07](Malabar) Kangaroo. -[01:08](Malabar) Maybe those are animal tracks. -[01:11](Malabar) But which animal? -[01:14](Malabar) An acrobatic turtle? -[01:18](Malabar) An armadillo colony? -[01:21](Malabar) Or maybe an enormous whale? -[01:27](Malabar) Boy, oh, boy. -[01:28](Malabar) Look at all these footprints. -[01:31](Moon) Little Malabar. -[01:32](Moon) Those aren't footprints made by animals. -[01:35](Moon) Those are my craters. -[01:36](Moon) A lovely collection, don't you think? -[01:38](Malabar) Oh, yes. -[01:39](Malabar) But what about all these craters? -[01:41](Malabar) Who drew them? -[01:42](Moon) The meteorites did this. -[01:43](Moon) They're giant rocks flying through space. -[01:46](Moon) And they began their work a long, long time ago, when I was very young. -[01:51](Malabar) Oh, but, Moon, where have your craters gone? -[01:55](Moon) They haven't been created yet. -[01:56](Moon) Look there, Little Malabar. -[01:58](Moon) Here come the artist now he meteorite shower. -[02:04](Malabar) Whoa. -[02:04](Malabar) These meteorites are crazy. -[02:07](Malabar) We're not crazy at all. -[02:08](Malabar) We love creating pretty ground craters on the Moon. -[02:12](Malabar) And now the little circle stand. -[02:16](Malabar) Add a little circle, erase that, and let's make a huge circle. -[02:20](Malabar) Like, put the little circle right here. -[02:24](Moon) And that went on for a very long time. -[02:26](Moon) There were always new meteorites coming to create brand new craters on top of the old craters. -[02:32](Moon) And then, little by little, things calmed down. -[02:35](Malabar) Those meteorites were really good at their job. -[02:38](Malabar) But today we're going to make drawings. -[02:49](Moon) Oh, a self portrait. -[02:50](Moon) Nice one, Little Malabar. -[02:52](Moon) Great job, Kangaroo. -[02:53](Moon) It's drawn perfectly. -[02:54](Malabar) Wait for me. -[02:55](Malabar) I want to participate in the fun, too. -[03:00](Malabar) There are still meteorites to. -[03:02](Malabar) Wow. -[03:03](Malabar) Look. -[03:03](Malabar) It drew a clown nose on me. -[03:05](Malabar) And here I've come to erase everything and make a new drawing. -[03:13](Moon) Is everything okay, Little Malabar? -[03:15](Malabar) Yeah, I'm right here. -[03:18](Moon) Good. -[03:19](Moon) It's too bad about your drawing. -[03:21](Moon) I really liked it a lot. -[03:22](Malabar) Oh, that's really okay, Moon. -[03:24](Malabar) We can make new drawings all the time. -[03:26](Malabar) Watch this. -[03:31](Malabar) And now, the final touch. -[03:34](Malabar) And ha. -[03:35](Malabar) And ha. -[03:37](Malabar) And ha. -[03:39](Malabar) You see this? -[03:43](Malabar) Lots of pretty craters. -[03:46](Malabar) A long time ago, lots and lots of rocks fell on the moon and they drew the craters. -[03:51](Malabar) The most recent craters covered up the old ones. \ No newline at end of file diff --git a/_speakers/S02E02_speakers.txt b/_speakers/S02E02_speakers.txt deleted file mode 100644 index 35cf352..0000000 --- a/_speakers/S02E02_speakers.txt +++ /dev/null @@ -1,94 +0,0 @@ -[00:00](Song) To the moon and back. -[00:02](Song) Ha ha. -[00:04](Song) I jump on every planet and every star. -[00:08](Song) Come on, let's go far. -[00:10](Song) Explore the whole universe. -[00:12](Song) Little Malabar. -[00:14](Song) The labyrinth of the night. -[00:19](Malabar) I did it. -[00:20](Malabar) I finished. -[00:22](Malabar) Hello, Giraffe. -[00:23](Malabar) See this? -[00:24](Malabar) I just made some sticks stilts with some bamboo. -[00:28](Malabar) And I'm going to make taller stilts to be even bigger than you. -[00:38](Malabar) I'll never be able to play with my stil -[00:43](Malabar) if the Earth shakes like that all the time. -[00:49](Malabar) Tell me, why are you shaking like that? -[00:51](Malabar) Earth, are you okay? -[00:52](Earth) I am just fine, Little Malabar. -[00:54](Earth) It's very warm on my surface and that makes me tremble. -[00:57](Earth) And so your eyelid shakes do. -[01:01](Earth) I'm sorry, but I just can't help it. -[01:03](Malabar) No problem. -[01:04](Malabar) But to walk on my stilts. -[01:06](Malabar) Maybe I should go somewhere else. -[01:07](Earth) Why don't you go to Mars? -[01:09](Earth) Up on Mars, it never shakes at all. -[01:11](Malabar) Great idea. -[01:11](Malabar) Let's go. -[01:15](Malabar) A canyon and sleeping volcanoes. -[01:19](Malabar) Nothing is moving here. -[01:21](Malabar) It's perfect. -[01:22](Malabar) Hmm. -[01:28](Volcanoes) Huh? -[01:29](Volcanoes) What are those two doing over there? -[01:31](Earth) Bizarre. -[01:31](Earth) Yes. -[01:32](Earth) What are you two doing? -[01:33](Malabar) Hello there, volcanoes. -[01:34](Malabar) We came here to play on my stilts because Earth sometimes shakes too much. -[01:38](Volcanoes) Did you know that a long time ago, sometimes it also shook on Mars? -[01:42](Volcanoes) That's right. -[01:43](Volcanoes) And it really shook a lot right here. -[01:45](Volcanoes) Yes, when I was young, I shook a lot like that. -[01:50](Volcanoes) Well, now it doesn't shake. -[01:51](Volcanoes) But where have the volcanoes going? -[01:53](Volcanoes) We're over here. -[01:56](Volcanoes) But get ready. -[01:57](Volcanoes) It's going to shake now. -[02:04](Malabar) The volcanoes are growing like mushrooms here. -[02:07](Volcanoes) Oh my, oh my. -[02:08](Volcanoes) It's getting warmer and warmer up here. -[02:12](Volcanoes) That's how a long time ago, us volcanoes on Mars, we volcanoes grew up. -[02:20](Earth) Hold on tight. -[02:21](Earth) You haven't seen anything yet. -[02:24](Malabar) Hey, Giraffe, where are you going? -[02:27](Malabar) Whoa. -[02:27](Malabar) Whoo hoo. -[02:28](Malabar) A slide. -[02:30](Malabar) Hey, what happened? -[02:32](Volcanoes) Well, it became so hot on the surface of Mars that its crust began to move and became cracked. -[02:37](Earth) And these enormous canyons were formed. -[02:40](Volcanoes) Welcome to the labyrinth of the night. -[02:43](Malabar) A labyrinth. -[02:45](Malabar) Wow. -[02:45](Malabar) Now let's all try to find Giraffe. -[02:49](Malabar) Oh, wow. -[02:50](Malabar) The canyons here on Mars are really, really deep. -[02:53](Malabar) We have to find Giraffe before nighttime. -[02:56](Malabar) And we can't see anything. -[02:58](Malabar) Giraff. -[03:00](Malabar) Giraffe. -[03:01](Malabar) Ah, there you are. -[03:04](Malabar) Together we'll find our way out. -[03:07](Malabar) It's that way. -[03:08](Malabar) Giraffe. -[03:09](Malabar) Let's go. -[03:13](Malabar) Turn right. -[03:14](Malabar) Turn left now. -[03:18](Malabar) Yes. -[03:19](Malabar) It. -[03:19](Malabar) We found it. -[03:20](Malabar) Wow. -[03:23](Volcanoes) Well done. -[03:23](Volcanoes) You have found the most gigantic canyon of all canyons on Mars. -[03:28](Earth) You have found the vast. -[03:30](Volcanoes) Mary. -[03:32](Malabar) Thank you. -[03:32](Malabar) Volcanoes. -[03:33](Malabar) Want to go home now, Giraffe. -[03:36](Malabar) Goodbye, Mars. -[03:40](Malabar) It was really fun to play in the Labyrinth of the Night. -[03:43](Malabar) Good night and sweet dreams, Giraffe. -[03:46](Volcanoes) Long ago, the surface of Mars shook so much that immense canyons were formed. -[03:51](Volcanoes) It's called the Labyrinth of the Night, and it ends in the Valles Marineris. \ No newline at end of file diff --git a/_translated/S01E01_translated.json b/_translated/S01E01_translated.json index 4aa583b..f9f11c8 100644 --- a/_translated/S01E01_translated.json +++ b/_translated/S01E01_translated.json @@ -2,44 +2,14 @@ { "timestamp": "[00:00]", "speaker": "Song", - "english": "To the moon and back.", - "chinese": "到月球再回来" + "english": "The Eye of Jupiter", + "chinese": "The Eye of Jupiter" }, { - "timestamp": "[00:02]", + "timestamp": "[00:01]", "speaker": "Song", - "english": "Ha, ha.", - "chinese": "哈哈" - }, - { - "timestamp": "[00:04]", - "speaker": "Song", - "english": "I jump on every planet and every star.", - "chinese": "我跳过每一颗行星和每一颗星星" - }, - { - "timestamp": "[00:08]", - "speaker": "Song", - "english": "Come on, let's go far.", - "chinese": "来吧,我们去远方" - }, - { - "timestamp": "[00:10]", - "speaker": "Song", - "english": "Explore the whole universe.", - "chinese": "探索整个宇宙" - }, - { - "timestamp": "[00:12]", - "speaker": "Song", - "english": "Let's go, Malabar.", - "chinese": "走吧,马拉巴尔。" - }, - { - "timestamp": "[00:14]", - "speaker": "Song", - "english": "The Eye of Jupiter.", - "chinese": "木星之眼。" + "english": "To the moon and back. Ha, ha. I jump on every planet and every star. Come on, let's go far. Explore the whole universe. Let's go, Malabar", + "chinese": "To the moon and back. Ha, ha. I jump on every planet and every star. Come on, let's go far. Explore the whole universe. Let's go, Malabar" }, { "timestamp": "[00:18]", @@ -129,7 +99,7 @@ "timestamp": "[01:21]", "speaker": "Malabar", "english": "Watch out.", - "chinese": "小心" + "chinese": "小心。" }, { "timestamp": "[01:22]", @@ -199,19 +169,19 @@ }, { "timestamp": "[01:47]", - "speaker": "Jupiter", + "speaker": "Speaker_B", "english": "Don't worry, he didn't crash.", "chinese": "别担心,他没有撞上。" }, { "timestamp": "[01:49]", - "speaker": "Jupiter", + "speaker": "Speaker_B", "english": "There isn't even a ground on there.", "chinese": "那里甚至没有地面。" }, { "timestamp": "[01:52]", - "speaker": "Jupiter", + "speaker": "Speaker_B", "english": "There are only winds and gas clouds and storms.", "chinese": "那里只有风、气体云和风暴。" }, @@ -223,13 +193,13 @@ }, { "timestamp": "[02:00]", - "speaker": "Jupiter", + "speaker": "Speaker_B", "english": "I have a speck of dust in the eye.", "chinese": "我眼睛里进了一粒灰尘。" }, { "timestamp": "[02:04]", - "speaker": "Jupiter", + "speaker": "Speaker_B", "english": "It's irritating, but it's not a speck.", "chinese": "它很烦人,但不是灰尘。" }, @@ -349,13 +319,13 @@ }, { "timestamp": "[03:10]", - "speaker": "Jupiter", + "speaker": "Speaker_B", "english": "I'm feeling better.", "chinese": "我感觉好多了。" }, { "timestamp": "[03:12]", - "speaker": "Jupiter", + "speaker": "Speaker_B", "english": "Thank you for helping little Malabar.", "chinese": "谢谢你帮助小马拉巴尔。" }, @@ -391,13 +361,13 @@ }, { "timestamp": "[03:46]", - "speaker": "Jupiter", + "speaker": "Speaker_B", "english": "Jupiter is a giant planet made of gas.", "chinese": "木星是一个由气体组成的巨大行星。" }, { "timestamp": "[03:49]", - "speaker": "Jupiter", + "speaker": "Speaker_B", "english": "There are huge storms on the surface, and the biggest is the eye of Jupiter.", "chinese": "表面上有巨大的风暴,最大的是木星之眼。" } diff --git a/_translated/S01E02_translated.json b/_translated/S01E02_translated.json index df38696..27b28d7 100644 --- a/_translated/S01E02_translated.json +++ b/_translated/S01E02_translated.json @@ -2,38 +2,14 @@ { "timestamp": "[00:00]", "speaker": "Song", - "english": "To the moon and back.", - "chinese": "到月球再回来" + "english": "the partying sun", + "chinese": "the partying sun" }, { - "timestamp": "[00:02]", + "timestamp": "[00:01]", "speaker": "Song", - "english": "Ha ha.", - "chinese": "哈哈。" - }, - { - "timestamp": "[00:04]", - "speaker": "Song", - "english": "I jump on every planet and every star.", - "chinese": "我跳过每一颗行星和每一颗星星" - }, - { - "timestamp": "[00:08]", - "speaker": "Song", - "english": "Come on, let's go far.", - "chinese": "来吧,我们去远方" - }, - { - "timestamp": "[00:10]", - "speaker": "Song", - "english": "Explore the whole universe.", - "chinese": "探索整个宇宙" - }, - { - "timestamp": "[00:12]", - "speaker": "Song", - "english": "Little Malabar, the partying sun.", - "chinese": "小马拉巴尔,爱派对的太阳。" + "english": "To the moon and back. Ha ha. I jump on every planet and every star. Come on, let's go far. Explore the whole universe.", + "chinese": "To the moon and back. Ha ha. I jump on every planet and every star. Come on, let's go far. Explore the whole universe." }, { "timestamp": "[00:16]", @@ -73,7 +49,7 @@ }, { "timestamp": "[00:55]", - "speaker": "Star", + "speaker": "Speaker_B", "english": "Oh.", "chinese": "哦。" }, @@ -127,31 +103,31 @@ }, { "timestamp": "[01:37]", - "speaker": "Star", + "speaker": "Speaker_B", "english": "Yeehaw.", "chinese": "哇哦" }, { "timestamp": "[01:40]", - "speaker": "Star", + "speaker": "Speaker_B", "english": "Yay.", "chinese": "耶" }, { "timestamp": "[01:41]", - "speaker": "Star", + "speaker": "Speaker_B", "english": "Yoohoo.", "chinese": "嘿" }, { "timestamp": "[01:43]", - "speaker": "Star", + "speaker": "Speaker_B", "english": "Yoo hoo.", "chinese": "喂喂" }, { "timestamp": "[01:45]", - "speaker": "Star", + "speaker": "Speaker_B", "english": "Yay.", "chinese": "耶" }, @@ -181,7 +157,7 @@ }, { "timestamp": "[02:01]", - "speaker": "Star", + "speaker": "Speaker_B", "english": "Come with us.", "chinese": "和我们一起去吧。" }, @@ -193,7 +169,7 @@ }, { "timestamp": "[02:04]", - "speaker": "Star", + "speaker": "Speaker_B", "english": "Here.", "chinese": "这里。" }, @@ -259,25 +235,25 @@ }, { "timestamp": "[03:17]", - "speaker": "Star", + "speaker": "Speaker_B", "english": "Hey.", "chinese": "嘿" }, { "timestamp": "[03:18]", - "speaker": "Star", + "speaker": "Speaker_B", "english": "Hee haw", "chinese": "咿呀" }, { "timestamp": "[03:21]", - "speaker": "Star", + "speaker": "Speaker_B", "english": "hee haw.", "chinese": "咿呀。" }, { "timestamp": "[03:22]", - "speaker": "Star", + "speaker": "Speaker_B", "english": "Ha ha ha.", "chinese": "哈哈哈" }, @@ -301,7 +277,7 @@ }, { "timestamp": "[03:40]", - "speaker": "Star", + "speaker": "Speaker_B", "english": "Ha ha.", "chinese": "哈哈。" }, @@ -313,7 +289,7 @@ }, { "timestamp": "[03:44]", - "speaker": "Star", + "speaker": "Speaker_B", "english": "Thank you, sun.", "chinese": "谢谢你,太阳" }, @@ -331,7 +307,7 @@ }, { "timestamp": "[03:56]", - "speaker": "Star", + "speaker": "Speaker_B", "english": "Sam.", "chinese": "萨姆。" } diff --git a/_translated/S02E01_translated.json b/_translated/S02E01_translated.json deleted file mode 100644 index c5510e0..0000000 --- a/_translated/S02E01_translated.json +++ /dev/null @@ -1,518 +0,0 @@ -[ - { - "timestamp": "[00:00]", - "speaker": "Song", - "english": "To the moon and back.", - "chinese": "到月球再回来" - }, - { - "timestamp": "[00:02]", - "speaker": "Song", - "english": "Ha, ha.", - "chinese": "哈哈" - }, - { - "timestamp": "[00:04]", - "speaker": "Song", - "english": "I jump on every planet and every star.", - "chinese": "我跳过每一颗行星和每一颗星星" - }, - { - "timestamp": "[00:08]", - "speaker": "Song", - "english": "Come on, let's go far.", - "chinese": "来吧,我们去远方" - }, - { - "timestamp": "[00:10]", - "speaker": "Song", - "english": "Explore the whole universe.", - "chinese": "探索整个宇宙" - }, - { - "timestamp": "[00:12]", - "speaker": "Song", - "english": "Little Malabar drawings on the moon.", - "chinese": "小马拉巴在月亮上画画。" - }, - { - "timestamp": "[00:17]", - "speaker": "Malabar", - "english": "A pretty line here.", - "chinese": "这里画一条漂亮的线。" - }, - { - "timestamp": "[00:19]", - "speaker": "Malabar", - "english": "Okay.", - "chinese": "好的。" - }, - { - "timestamp": "[00:20]", - "speaker": "Malabar", - "english": "And now a pretty circle.", - "chinese": "现在画一个漂亮的圆圈。" - }, - { - "timestamp": "[00:27]", - "speaker": "Malabar", - "english": "Good job, Kangaroo.", - "chinese": "干得好,袋鼠。" - }, - { - "timestamp": "[00:29]", - "speaker": "Malabar", - "english": "You drew a pretty flower.", - "chinese": "你画了一朵漂亮的花。" - }, - { - "timestamp": "[00:30]", - "speaker": "Moon", - "english": "Very nice.", - "chinese": "非常漂亮。" - }, - { - "timestamp": "[00:31]", - "speaker": "Moon", - "english": "You artists really draw well.", - "chinese": "你们这些小画家画得真好。" - }, - { - "timestamp": "[00:33]", - "speaker": "Moon", - "english": "But I think you forgot an important little detail.", - "chinese": "但是我想你们漏掉了一个重要的小细节。" - }, - { - "timestamp": "[00:36]", - "speaker": "Malabar", - "english": "We did.", - "chinese": "我们确实漏掉了。" - }, - { - "timestamp": "[00:37]", - "speaker": "Malabar", - "english": "But what?", - "chinese": "但是什么呢?" - }, - { - "timestamp": "[00:38]", - "speaker": "Moon", - "english": "Well, you are on the beach, and the ocean rises.", - "chinese": "嗯,你在沙滩上,海水涨起来了。" - }, - { - "timestamp": "[00:43]", - "speaker": "Malabar", - "english": "Oh, no, no, no.", - "chinese": "哦,不,不,不。" - }, - { - "timestamp": "[00:45]", - "speaker": "Moon", - "english": "You should do your drawings on me.", - "chinese": "你应该在我身上画画。" - }, - { - "timestamp": "[00:47]", - "speaker": "Moon", - "english": "Up here, there is no ocean to erase them.", - "chinese": "在这里上面,没有海水可以擦掉它们。" - }, - { - "timestamp": "[00:50]", - "speaker": "Malabar", - "english": "You hear that, Kangaroo?", - "chinese": "你听到了吗,袋鼠?" - }, - { - "timestamp": "[00:52]", - "speaker": "Malabar", - "english": "All right, let's.", - "chinese": "好的,我们走吧。" - }, - { - "timestamp": "[00:59]", - "speaker": "Malabar", - "english": "There are already lots of drawings up here.", - "chinese": "这里已经有很多画了。" - }, - { - "timestamp": "[01:02]", - "speaker": "Malabar", - "english": "But who made them?", - "chinese": "但是是谁画的呢?" - }, - { - "timestamp": "[01:06]", - "speaker": "Malabar", - "english": "That's right.", - "chinese": "没错。" - }, - { - "timestamp": "[01:07]", - "speaker": "Malabar", - "english": "Kangaroo.", - "chinese": "袋鼠。" - }, - { - "timestamp": "[01:08]", - "speaker": "Malabar", - "english": "Maybe those are animal tracks.", - "chinese": "也许那些是动物的足迹。" - }, - { - "timestamp": "[01:11]", - "speaker": "Malabar", - "english": "But which animal?", - "chinese": "但是是哪种动物呢?" - }, - { - "timestamp": "[01:14]", - "speaker": "Malabar", - "english": "An acrobatic turtle?", - "chinese": "一只会杂技的乌龟?" - }, - { - "timestamp": "[01:18]", - "speaker": "Malabar", - "english": "An armadillo colony?", - "chinese": "一群犰狳?" - }, - { - "timestamp": "[01:21]", - "speaker": "Malabar", - "english": "Or maybe an enormous whale?", - "chinese": "或者是一头巨大的鲸鱼吗?" - }, - { - "timestamp": "[01:27]", - "speaker": "Malabar", - "english": "Boy, oh, boy.", - "chinese": "哎呀呀!" - }, - { - "timestamp": "[01:28]", - "speaker": "Malabar", - "english": "Look at all these footprints.", - "chinese": "看看这么多脚印!" - }, - { - "timestamp": "[01:31]", - "speaker": "Moon", - "english": "Little Malabar.", - "chinese": "小马拉巴尔。" - }, - { - "timestamp": "[01:32]", - "speaker": "Moon", - "english": "Those aren't footprints made by animals.", - "chinese": "那些不是动物留下的脚印。" - }, - { - "timestamp": "[01:35]", - "speaker": "Moon", - "english": "Those are my craters.", - "chinese": "那些是我的陨石坑。" - }, - { - "timestamp": "[01:36]", - "speaker": "Moon", - "english": "A lovely collection, don't you think?", - "chinese": "多美的收藏啊,你说是不是?" - }, - { - "timestamp": "[01:38]", - "speaker": "Malabar", - "english": "Oh, yes.", - "chinese": "哦,是的。" - }, - { - "timestamp": "[01:39]", - "speaker": "Malabar", - "english": "But what about all these craters?", - "chinese": "但是这些陨石坑是怎么回事呢?" - }, - { - "timestamp": "[01:41]", - "speaker": "Malabar", - "english": "Who drew them?", - "chinese": "是谁画的呢?" - }, - { - "timestamp": "[01:42]", - "speaker": "Moon", - "english": "The meteorites did this.", - "chinese": "是陨石造成的。" - }, - { - "timestamp": "[01:43]", - "speaker": "Moon", - "english": "They're giant rocks flying through space.", - "chinese": "它们是太空中飞行的大石头。" - }, - { - "timestamp": "[01:46]", - "speaker": "Moon", - "english": "And they began their work a long, long time ago, when I was very young.", - "chinese": "而且它们很久很久以前就开始工作了,那时候我还很小。" - }, - { - "timestamp": "[01:51]", - "speaker": "Malabar", - "english": "Oh, but, Moon, where have your craters gone?", - "chinese": "哦,但是,月亮,你的陨石坑去哪儿了?" - }, - { - "timestamp": "[01:55]", - "speaker": "Moon", - "english": "They haven't been created yet.", - "chinese": "它们还没有被创造出来呢。" - }, - { - "timestamp": "[01:56]", - "speaker": "Moon", - "english": "Look there, Little Malabar.", - "chinese": "看那边,小马拉巴尔。" - }, - { - "timestamp": "[01:58]", - "speaker": "Moon", - "english": "Here come the artist now he meteorite shower.", - "chinese": "看啊,流星雨来了,艺术家也来了。" - }, - { - "timestamp": "[02:04]", - "speaker": "Malabar", - "english": "Whoa.", - "chinese": "哇。" - }, - { - "timestamp": "[02:04]", - "speaker": "Malabar", - "english": "These meteorites are crazy.", - "chinese": "这些流星好疯狂啊。" - }, - { - "timestamp": "[02:07]", - "speaker": "Malabar", - "english": "We're not crazy at all.", - "chinese": "我们才不疯狂呢。" - }, - { - "timestamp": "[02:08]", - "speaker": "Malabar", - "english": "We love creating pretty ground craters on the Moon.", - "chinese": "我们喜欢在月球上制造漂亮的地面陨石坑。" - }, - { - "timestamp": "[02:12]", - "speaker": "Malabar", - "english": "And now the little circle stand.", - "chinese": "现在小圆圈站起来了。" - }, - { - "timestamp": "[02:16]", - "speaker": "Malabar", - "english": "Add a little circle, erase that, and let's make a huge circle.", - "chinese": "加一个小圆圈,擦掉那个,我们来画一个大圆圈。" - }, - { - "timestamp": "[02:20]", - "speaker": "Malabar", - "english": "Like, put the little circle right here.", - "chinese": "比如,把小圆圈放在这里。" - }, - { - "timestamp": "[02:24]", - "speaker": "Moon", - "english": "And that went on for a very long time.", - "chinese": "这样持续了很长时间。" - }, - { - "timestamp": "[02:26]", - "speaker": "Moon", - "english": "There were always new meteorites coming to create brand new craters on top of the old craters.", - "chinese": "总是有新的陨石到来,在旧的陨石坑上创造全新的陨石坑。" - }, - { - "timestamp": "[02:32]", - "speaker": "Moon", - "english": "And then, little by little, things calmed down.", - "chinese": "然后,事情慢慢地平静了下来。" - }, - { - "timestamp": "[02:35]", - "speaker": "Malabar", - "english": "Those meteorites were really good at their job.", - "chinese": "那些陨石真的很擅长它们的工作。" - }, - { - "timestamp": "[02:38]", - "speaker": "Malabar", - "english": "But today we're going to make drawings.", - "chinese": "但是今天我们要画画。" - }, - { - "timestamp": "[02:49]", - "speaker": "Moon", - "english": "Oh, a self portrait.", - "chinese": "哦,一幅自画像。" - }, - { - "timestamp": "[02:50]", - "speaker": "Moon", - "english": "Nice one, Little Malabar.", - "chinese": "真棒,小马拉巴尔。" - }, - { - "timestamp": "[02:52]", - "speaker": "Moon", - "english": "Great job, Kangaroo.", - "chinese": "干得好,袋鼠。" - }, - { - "timestamp": "[02:53]", - "speaker": "Moon", - "english": "It's drawn perfectly.", - "chinese": "画得真完美。" - }, - { - "timestamp": "[02:54]", - "speaker": "Malabar", - "english": "Wait for me.", - "chinese": "等等我。" - }, - { - "timestamp": "[02:55]", - "speaker": "Malabar", - "english": "I want to participate in the fun, too.", - "chinese": "我也想一起玩。" - }, - { - "timestamp": "[03:00]", - "speaker": "Malabar", - "english": "There are still meteorites to.", - "chinese": "还有流星呢。" - }, - { - "timestamp": "[03:02]", - "speaker": "Malabar", - "english": "Wow.", - "chinese": "哇。" - }, - { - "timestamp": "[03:03]", - "speaker": "Malabar", - "english": "Look.", - "chinese": "看。" - }, - { - "timestamp": "[03:03]", - "speaker": "Malabar", - "english": "It drew a clown nose on me.", - "chinese": "它在我脸上画了个小丑鼻子。" - }, - { - "timestamp": "[03:05]", - "speaker": "Malabar", - "english": "And here I've come to erase everything and make a new drawing.", - "chinese": "而我来是为了擦掉一切,重新画一幅画。" - }, - { - "timestamp": "[03:13]", - "speaker": "Moon", - "english": "Is everything okay, Little Malabar?", - "chinese": "小马拉巴尔,你还好吗?" - }, - { - "timestamp": "[03:15]", - "speaker": "Malabar", - "english": "Yeah, I'm right here.", - "chinese": "嗯,我在这里呢。" - }, - { - "timestamp": "[03:18]", - "speaker": "Moon", - "english": "Good.", - "chinese": "好的。" - }, - { - "timestamp": "[03:19]", - "speaker": "Moon", - "english": "It's too bad about your drawing.", - "chinese": "你的画真可惜。" - }, - { - "timestamp": "[03:21]", - "speaker": "Moon", - "english": "I really liked it a lot.", - "chinese": "我真的很喜欢。" - }, - { - "timestamp": "[03:22]", - "speaker": "Malabar", - "english": "Oh, that's really okay, Moon.", - "chinese": "哦,真的没关系,月亮。" - }, - { - "timestamp": "[03:24]", - "speaker": "Malabar", - "english": "We can make new drawings all the time.", - "chinese": "我们可以一直画新的画。" - }, - { - "timestamp": "[03:26]", - "speaker": "Malabar", - "english": "Watch this.", - "chinese": "看这个。" - }, - { - "timestamp": "[03:31]", - "speaker": "Malabar", - "english": "And now, the final touch.", - "chinese": "现在,最后的一笔。" - }, - { - "timestamp": "[03:34]", - "speaker": "Malabar", - "english": "And ha.", - "chinese": "哈!" - }, - { - "timestamp": "[03:35]", - "speaker": "Malabar", - "english": "And ha.", - "chinese": "哈!" - }, - { - "timestamp": "[03:37]", - "speaker": "Malabar", - "english": "And ha.", - "chinese": "哈!" - }, - { - "timestamp": "[03:39]", - "speaker": "Malabar", - "english": "You see this?", - "chinese": "你看这个!" - }, - { - "timestamp": "[03:43]", - "speaker": "Malabar", - "english": "Lots of pretty craters.", - "chinese": "好多漂亮的陨石坑。" - }, - { - "timestamp": "[03:46]", - "speaker": "Malabar", - "english": "A long time ago, lots and lots of rocks fell on the moon and they drew the craters.", - "chinese": "很久很久以前,好多好多的石头掉到了月球上,它们就形成了这些陨石坑。" - }, - { - "timestamp": "[03:51]", - "speaker": "Malabar", - "english": "The most recent craters covered up the old ones.", - "chinese": "最新的陨石坑覆盖了旧的陨石坑。" - } -] \ No newline at end of file diff --git a/_translated/S02E02_translated.json b/_translated/S02E02_translated.json index c0ea6c2..43403c9 100644 --- a/_translated/S02E02_translated.json +++ b/_translated/S02E02_translated.json @@ -2,44 +2,14 @@ { "timestamp": "[00:00]", "speaker": "Song", - "english": "To the moon and back.", - "chinese": "到月球再回来" + "english": "The labyrinth of the night", + "chinese": "The labyrinth of the night" }, { - "timestamp": "[00:02]", + "timestamp": "[00:01]", "speaker": "Song", - "english": "Ha ha.", - "chinese": "哈哈。" - }, - { - "timestamp": "[00:04]", - "speaker": "Song", - "english": "I jump on every planet and every star.", - "chinese": "我跳过每一颗行星和每一颗星星" - }, - { - "timestamp": "[00:08]", - "speaker": "Song", - "english": "Come on, let's go far.", - "chinese": "来吧,我们去远方" - }, - { - "timestamp": "[00:10]", - "speaker": "Song", - "english": "Explore the whole universe.", - "chinese": "探索整个宇宙" - }, - { - "timestamp": "[00:12]", - "speaker": "Song", - "english": "Little Malabar.", - "chinese": "小马拉巴尔。" - }, - { - "timestamp": "[00:14]", - "speaker": "Song", - "english": "The labyrinth of the night.", - "chinese": "夜晚的迷宫。" + "english": "To the moon and back. Ha ha. I jump on every planet and every star. Come on, let's go far. Explore the whole universe. Little Malabar", + "chinese": "To the moon and back. Ha ha. I jump on every planet and every star. Come on, let's go far. Explore the whole universe. Little Malabar" }, { "timestamp": "[00:19]", @@ -236,8 +206,14 @@ { "timestamp": "[01:38]", "speaker": "Volcanoes", - "english": "Did you know that a long time ago, sometimes it also shook on Mars?", - "chinese": "你知道吗,很久以前,火星上有时候也会震动吗?" + "english": "Did you know that a long time", + "chinese": "\"Did you know that a long time ago, sometimes it also shook on Mars?\"" + }, + { + "timestamp": "[01:40]", + "speaker": "Earth", + "english": "ago, sometimes it also shook on Mars?", + "chinese": "\"Yes, when I was young, I shook a lot like that.\"" }, { "timestamp": "[01:42]", @@ -254,24 +230,30 @@ { "timestamp": "[01:45]", "speaker": "Volcanoes", - "english": "Yes, when I was young, I shook a lot like that.", - "chinese": "是的,我年轻的时候,也那样晃得很厉害。" + "english": "Yes, when I was young, I shook", + "chinese": "\"Yes, when I was young, I shook a lot like that.\"" + }, + { + "timestamp": "[01:48]", + "speaker": "Malabar", + "english": "a lot like that.", + "chinese": "a lot like that." }, { "timestamp": "[01:50]", - "speaker": "Volcanoes", + "speaker": "Malabar", "english": "Well, now it doesn't shake.", "chinese": "嗯,现在它不晃了。" }, { "timestamp": "[01:51]", - "speaker": "Volcanoes", + "speaker": "Malabar", "english": "But where have the volcanoes going?", "chinese": "但是火山去哪里了?" }, { "timestamp": "[01:53]", - "speaker": "Volcanoes", + "speaker": "Malabar", "english": "We're over here.", "chinese": "我们在这里。" }, diff --git a/debug_llm.py b/debug_llm.py new file mode 100644 index 0000000..acf7730 --- /dev/null +++ b/debug_llm.py @@ -0,0 +1,235 @@ +#!/usr/bin/env python3 +""" +Debug tool: Replay a request from a debug file. + +Usage: + uv run debug_llm.py _speakers_debug/S01E01_lines_step1.txt + +This will: +1. Read the request from the debug file +2. Use the same model/endpoint as Step 3 +3. Send the request +4. Print the raw response to stdout +""" + +import os +import re +import sys +import json +from pathlib import Path +from openai import OpenAI + + +def get_llm_config(): + """Get LLM configuration from environment (same as Step 3).""" + api_key = os.getenv("OPENAI_API_KEY") + if not api_key: + raise ValueError("OPENAI_API_KEY environment variable is required") + + base_url = os.getenv("OPENAI_BASE_URL") + model = os.getenv("LLM_MODEL", "glm-4.5-air") + + return base_url, model, api_key + + +def extract_request_from_debug(debug_path: Path) -> str: + """Extract the request section from a debug file.""" + with open(debug_path, 'r', encoding='utf-8') as f: + content = f.read() + + # Find the request section + # Pattern: ========\nREQUEST:\n========\n\n\n\n========\nRESPONSE: + match = re.search( + r'={10,}\s*\nREQUEST:\s*\n={10,}\s*\n\n(.*?)\n\n={10,}\s*\nRESPONSE:', + content, + re.DOTALL + ) + + if match: + return match.group(1).strip() + + # Fallback: try simpler pattern + lines = content.split('\n') + in_request = False + request_lines = [] + + for line in lines: + if 'REQUEST:' in line and '=' in lines[lines.index(line) - 1] if lines.index(line) > 0 else False: + in_request = True + continue + if in_request: + if line.startswith('=' * 10) and 'RESPONSE:' in lines[lines.index(line) + 1] if lines.index(line) + 1 < len(lines) else False: + break + request_lines.append(line) + + return '\n'.join(request_lines).strip() + + +def send_request(prompt: str, model: str, base_url: str, api_key: str, disable_thinking: bool = False): + """Send request to LLM and return raw response.""" + client = OpenAI(api_key=api_key, base_url=base_url) + + # Add explicit instruction (same as Step 3) + full_prompt = prompt + "\n\nIMPORTANT: Reply with ONLY the answer. Do NOT write any explanation, thinking, or analysis. Just output the answer." + + # Build the request payload (for display) + request_payload = { + "model": model, + "messages": [ + {"role": "user", "content": full_prompt} + ], + "temperature": 0.0, + "max_tokens": 300 # Allow full response + } + + # Add thinking parameter if disabling + if disable_thinking: + request_payload["thinking"] = {"type": "disabled"} + + print("=" * 60) + print("REQUEST TO SERVER:") + print("=" * 60) + print(f"URL: {base_url}/chat/completions") + print(f"Headers: {{") + print(f" 'Authorization': 'Bearer ***{api_key[-8:]}',") + print(f" 'Content-Type': 'application/json'") + print(f"}}") + print(f"\nBody:") + print(json.dumps(request_payload, ensure_ascii=False, indent=2)) + print("=" * 60) + + # Build API call parameters + api_params = { + "model": model, + "messages": [ + {"role": "user", "content": full_prompt} + ], + "temperature": 0.0, + "max_tokens": 300 # Allow full response + } + + # For GLM API, use extra_body for non-standard parameters + if disable_thinking: + api_params["extra_body"] = {"thinking": {"type": "disabled"}} + + response = client.chat.completions.create(**api_params) + + message = response.choices[0].message + + # Check both content and reasoning_content + result = {} + result['content'] = message.content or "" + + if hasattr(message, 'reasoning_content') and message.reasoning_content: + result['reasoning_content'] = message.reasoning_content + else: + result['reasoning_content'] = "" + + return result, response + + +def main(): + # Parse arguments + args = sys.argv[1:] + disable_thinking = "-nt" in args or "--no-thinking" in args + + # Remove flags from args to find the file path + file_args = [a for a in args if not a.startswith("-")] + + if len(file_args) < 1: + print("Usage: uv run debug_llm.py [-nt] ") + print(" -nt, --no-thinking Disable model thinking") + print("Example: uv run debug_llm.py _speakers_debug/S01E01_lines_step1.txt") + print(" uv run debug_llm.py -nt _speakers_debug/S01E01_lines_step1.txt") + sys.exit(1) + + debug_path = Path(file_args[0]) + + if not debug_path.exists(): + print(f"Error: File not found: {debug_path}") + sys.exit(1) + + # Get config + base_url, model, api_key = get_llm_config() + + print(f"Configuration:") + print(f" Model: {model}") + print(f" Endpoint: {base_url or 'OpenAI default'}") + print(f" Debug file: {debug_path}") + print(f" Disable thinking: {disable_thinking}") + + # Extract request + request = extract_request_from_debug(debug_path) + + if not request: + print("Error: Could not extract request from debug file") + sys.exit(1) + + print("\n" + "=" * 60) + print("EXTRACTED PROMPT (from debug file):") + print("=" * 60) + print(request) + print("=" * 60) + + # Send request + print("\nSending request to server...") + + result, raw_response = send_request(request, model, base_url, api_key, disable_thinking=disable_thinking) + + print("\n" + "=" * 60) + print("RAW RESPONSE OBJECT:") + print("=" * 60) + print(f"\nType: {type(raw_response)}") + print(f"\nDir: {[x for x in dir(raw_response) if not x.startswith('_')]}") + print(f"\nChoices: {len(raw_response.choices)}") + + if raw_response.choices: + choice = raw_response.choices[0] + print(f"\nChoice 0:") + print(f" finish_reason: {choice.finish_reason}") + print(f" index: {choice.index}") + + message = choice.message + print(f"\n message:") + print(f" type: {type(message)}") + print(f" dir: {[x for x in dir(message) if not x.startswith('_')]}") + print(f" content: {repr(message.content)}") + + if hasattr(message, 'reasoning_content'): + print(f" reasoning_content: {repr(getattr(message, 'reasoning_content', None))}") + else: + print(f" reasoning_content: (attribute not present)") + + if hasattr(message, 'role'): + print(f" role: {message.role}") + + print(f"\nUsage:") + if hasattr(raw_response, 'usage') and raw_response.usage: + usage = raw_response.usage + print(f" completion_tokens: {getattr(usage, 'completion_tokens', 'N/A')}") + print(f" prompt_tokens: {getattr(usage, 'prompt_tokens', 'N/A')}") + print(f" total_tokens: {getattr(usage, 'total_tokens', 'N/A')}") + else: + print(" (not available)") + + print(f"\nModel: {getattr(raw_response, 'model', 'N/A')}") + print(f"Object: {getattr(raw_response, 'object', 'N/A')}") + print(f"Created: {getattr(raw_response, 'created', 'N/A')}") + print(f"ID: {getattr(raw_response, 'id', 'N/A')}") + + print("\n" + "=" * 60) + print("PARSED RESULT:") + print("=" * 60) + + if result['reasoning_content']: + print("\n[reasoning_content]:") + print(result['reasoning_content']) + + print("\n[content]:") + print(result['content'] if result['content'] else "(empty)") + + print("\n" + "=" * 60) + + +if __name__ == "__main__": + main() diff --git a/step3_infer_speakers.py b/step3_infer_speakers.py index 64f31ab..9dad36f 100644 --- a/step3_infer_speakers.py +++ b/step3_infer_speakers.py @@ -124,10 +124,18 @@ def parse_lines(lines_text: str) -> List[Tuple[str, str, str]]: return result -def save_debug(filename: str, request: str, response: str, step: int): +def save_debug(filename: str, request: str, response: str, step: int, model: str = "", endpoint: str = ""): """Save debug info to _speakers_debug folder.""" debug_file = DEBUG_DIR / f"{filename}_step{step}.txt" with open(debug_file, 'w', encoding='utf-8') as f: + f.write("=" * 60 + "\n") + f.write("DEBUG INFO:\n") + f.write("=" * 60 + "\n") + if model: + f.write(f"Model: {model}\n") + if endpoint: + f.write(f"Endpoint: {endpoint}\n") + f.write("\n") f.write("=" * 60 + "\n") f.write("REQUEST:\n") f.write("=" * 60 + "\n\n") @@ -139,86 +147,53 @@ def save_debug(filename: str, request: str, response: str, step: int): f.write(response) -def extract_name_from_response(text: str) -> str: - """Extract a single name from LLM response text.""" - text = text.strip() - - # Expanded list of valid names - includes celestial bodies and other entities +def ask_llm_for_name(prompt: str, client: OpenAI, model: str, debug_filename: str, step: int, exclude_names: list = None, base_url: str = "") -> str: + """Ask LLM for a single name. Returns the name or raises exception if invalid.""" + # Valid speaker names valid_names = ['Malabar', 'Moon', 'Earth', 'Mars', 'Sun', 'Jupiter', 'Saturn', 'Venus', 'Mercury', 'Neptune', 'Uranus', 'Pluto', 'Galaxy', 'Star', 'Kangaroo', 'Giraffe', 'Volcano', 'Volcanoes', 'Sea', 'Ocean', 'Wave', 'Comet', 'Asteroid', 'Meteor', 'Nebula', 'Black Hole', 'Alien', 'Robot', 'Scientist'] - # Check if the response is just a single word (the name) - if ' ' not in text and len(text) > 1: - return text.strip('"\'') + # Filter out excluded names + if exclude_names: + valid_names = [n for n in valid_names if n not in exclude_names] - # Look for explicit "Answer: X" or "Name: X" patterns - answer_match = re.search(r'(?:answer|name|is)[:\s]+["\']?([A-Z][a-z]+)', text, re.IGNORECASE) - if answer_match: - return answer_match.group(1) - - # Check last few lines for a valid name - lines = text.split('\n') - for line in reversed(lines[-5:]): # Check last 5 lines - line = line.strip().strip('"\'') - for name in valid_names: - if line.lower() == name.lower(): - return name - if re.search(rf'\b{name}\b', line, re.IGNORECASE): - return name - - # Default: return first valid name found - for name in valid_names: - if re.search(rf'\b{name}\b', text, re.IGNORECASE): - return name - - # If no known name found, extract any capitalized word as potential name - for line in text.split('\n'): - line = line.strip() - match = re.search(r'\b([A-Z][a-z]{2,})\b', line) - if match: - word = match.group(1) - if word.lower() not in ['the', 'and', 'but', 'for', 'are', 'was', 'were', 'been', 'this', 'that']: - return word - - return "" - - -def ask_llm_for_name(prompt: str, client: OpenAI, model: str, debug_filename: str, step: int) -> str: - """Ask LLM for a single name. Returns the name or empty string if failed.""" try: response = client.chat.completions.create( model=model, messages=[ - {"role": "system", "content": "Reply with ONLY a single word - the name. No explanation."}, {"role": "user", "content": prompt} ], temperature=0.0, - max_tokens=1000 + max_tokens=20, # Short response expected + extra_body={"thinking": {"type": "disabled"}} # Disable thinking ) message = response.choices[0].message - raw_result = message.content or "" - - # If content is empty but reasoning_content exists, use that - if not raw_result and hasattr(message, 'reasoning_content') and message.reasoning_content: - raw_result = message.reasoning_content - - # Extract name from the response - result = extract_name_from_response(raw_result) + raw_result = message.content.strip() if message.content else "" # Save debug info - save_debug(debug_filename, prompt, f"RAW: {raw_result[:800]}\n\nEXTRACTED: {result}", step) + save_debug(debug_filename, prompt, f"RAW: {raw_result}", step, model=model, endpoint=base_url or "OpenAI default") + + # Simple validation: result should be one of the valid names + if raw_result in valid_names: + return raw_result + + # Check case-insensitive match + for name in valid_names: + if raw_result.lower() == name.lower(): + return name + + raise ValueError(f"Invalid response from LLM: expected one of {valid_names}, got '{raw_result}'") - return result except Exception as e: - save_debug(debug_filename, prompt, f"ERROR: {e}", step) - return "" + save_debug(debug_filename, prompt, f"ERROR: {e}", step, model=model, endpoint=base_url or "OpenAI default") + raise # Re-raise the exception def identify_malabar(dialogue_lines: List[Tuple[str, str, str]], - client: OpenAI, model: str, debug_filename: str) -> Optional[str]: + client: OpenAI, model: str, debug_filename: str, base_url: str = "") -> Optional[str]: """Identify which speaker is Malabar.""" # Only consider single-letter speakers (exclude "?", "Song", and other special markers) speakers = sorted(set(speaker for _, speaker, _ in dialogue_lines @@ -227,30 +202,54 @@ def identify_malabar(dialogue_lines: List[Tuple[str, str, str]], if not speakers: return None - # Get sample lines from each speaker + # Output ALL lines in chronological order (preserving original order) samples = [] - for speaker in speakers: - lines = [(ts, text) for ts, spk, text in dialogue_lines - if spk == speaker][:3] - for ts, text in lines: - samples.append(f'{speaker}: "{text}"') + for ts, spk, text in dialogue_lines: + # Skip Song speaker for Malabar identification + if spk == "Song": + continue + # Only include speakers we're trying to identify + if spk in speakers: + samples.append(f'{spk}: "{text}"') sample_text = '\n'.join(samples) - prompt = f"""Little Malabar dialogue. Malabar is the boy who addresses Kangaroo/Giraffe. + prompt = f"""Little Malabar dialogue. Malabar is a boy who talks to stars, planets and animals. {sample_text} -Which speaker letter is Malabar? Reply with ONLY A, B, or C:""" +Which speaker letter is Malabar? Reply with ONLY the letter A, B, or C.""" - result = ask_llm_for_name(prompt, client, model, debug_filename, 1) - - # Extract the letter - match = re.search(r'\b([A-Z])\b', result.upper()) - if match and match.group(1) in speakers: - return match.group(1) - - return None + try: + response = client.chat.completions.create( + model=model, + messages=[ + {"role": "user", "content": prompt} + ], + temperature=0.0, + max_tokens=10, # Short response expected + extra_body={"thinking": {"type": "disabled"}} # Disable thinking + ) + + message = response.choices[0].message + raw_result = message.content.strip() if message.content else "" + + # Get endpoint for debug info + endpoint = base_url or (str(client.base_url) if hasattr(client, 'base_url') else "OpenAI default") + + # Save debug info + save_debug(debug_filename, prompt, f"RAW: {raw_result}", 1, model=model, endpoint=endpoint) + + # Simple validation: result should be a single letter in speakers list + if raw_result and len(raw_result) == 1 and raw_result.upper() in speakers: + return raw_result.upper() + + raise ValueError(f"Invalid response from LLM: expected single letter A/B/C, got '{raw_result}'") + + except Exception as e: + endpoint = base_url or (str(client.base_url) if hasattr(client, 'base_url') else "OpenAI default") + save_debug(debug_filename, prompt, f"ERROR: {e}", 1, model=model, endpoint=endpoint) + raise # Re-raise the exception def identify_speaker(speaker: str, @@ -258,19 +257,25 @@ def identify_speaker(speaker: str, known_names: Dict[str, str], client: OpenAI, model: str, debug_filename: str, step: int) -> str: """Identify a single speaker's name.""" - # Get this speaker's lines - speaker_lines = [(ts, text) for ts, spk, text in dialogue_lines - if spk == speaker] + # Build the full dialogue with proper speaker names + # For known speakers, use their real name + # For the target speaker, keep as "Speaker X" + # For unknown speakers, keep as "Speaker X" + full_dialogue_lines = [] + for ts, spk, text in dialogue_lines: + if spk == speaker: + # Target speaker - keep as Speaker X (we're trying to identify them) + full_dialogue_lines.append(f'Speaker {spk}: "{text}"') + elif spk in known_names: + # Known speaker - use real name + full_dialogue_lines.append(f'{known_names[spk]}: "{text}"') + elif spk == "Song": + full_dialogue_lines.append(f'Song: "{text}"') + else: + # Unknown speaker - keep as Speaker X + full_dialogue_lines.append(f'Speaker {spk}: "{text}"') - # Prioritize lines with identifying keywords - Mars mentions first - mars_lines = [l for l in speaker_lines if 'mars' in l[1].lower()] - other_priority = [l for l in speaker_lines if 'mars' not in l[1].lower() and - any(k in l[1].lower() for k in ['surface', 'volcanoes', 'craters', 'my surface', 'up here', 'labyrinth'])] - other_lines = [l for l in speaker_lines if l not in mars_lines and l not in other_priority] - - # Combine: Mars lines first, then other priority, then others, max 8 lines - selected_lines = (mars_lines + other_priority + other_lines)[:8] - speaker_sample = '\n'.join([f'{ts} "{text}"' for ts, text in selected_lines]) + full_dialogue = '\n'.join(full_dialogue_lines) # Build list of who we already know known_info = "Known: " + ", ".join([f"Speaker {s} = {n}" for s, n in known_names.items()]) if known_names else "" @@ -278,28 +283,33 @@ def identify_speaker(speaker: str, prompt = f"""Little Malabar dialogue. {known_info} CONTEXT: -- Malabar is the main character (a boy) who explores space +- Malabar is a boy who talks to stars, planets and animals - Other speakers are usually celestial bodies (Moon, Earth, Mars, Sun, etc.) - BUT speakers can also be other entities: volcanoes, the sea, a comet, a star, etc. -- Look at what the speaker talks about to identify them +- Look at what the speaker talks about AND what others say to them to identify them IDENTIFICATION GUIDELINES: - Speaker mentions "my surface" + warm/shaking → likely Earth - Speaker mentions being "up here" with no ocean → likely Moon -- Speaker mentions "us volcanoes on Mars" → could be Mars OR Volcanoes +- Speaker says "us volcanoes on Mars" → this is Volcanoes (not Mars!) +- Speaker is spoken TO about Mars/volcanoes → could be Mars - Speaker mentions the sea/ocean/waves → could be Sea/Ocean - Speaker suggests going TO a place → likely describing that place from outside - Use your judgment based on context and content -Speaker {speaker}'s lines: -{speaker_sample} +FULL DIALOGUE: +{full_dialogue} -Who is Speaker {speaker}? Reply with a single descriptive name (e.g., "Moon", "Earth", "Mars", "Volcanoes", "Sea", "Sun", "Comet", "Star"):""" +Who is Speaker {speaker}? Reply with ONLY the name, nothing else. Examples: Moon, Earth, Mars, Volcanoes, Sea, Sun, Jupiter:""" - return ask_llm_for_name(prompt, client, model, debug_filename, step) + # Get list of already known names to exclude from extraction + known_names_list = list(known_names.values()) if known_names else [] + # Get base_url from client for debug info + base_url = client.base_url if hasattr(client, 'base_url') else "" + return ask_llm_for_name(prompt, client, model, debug_filename, step, exclude_names=known_names_list, base_url=base_url) -def process_lines_file(input_path: Path, client: OpenAI, model: str, force: bool = False) -> Path: +def process_lines_file(input_path: Path, client: OpenAI, model: str, force: bool = False, base_url: str = "") -> Path: """Process a single lines file using multi-step approach.""" progress = load_progress() filename = input_path.name @@ -347,16 +357,17 @@ def process_lines_file(input_path: Path, client: OpenAI, model: str, force: bool # Step 1: Identify Malabar (from regular speakers only) print(f" Step 1: Identifying Malabar...") - malabar_speaker = identify_malabar(lines, client, model, debug_filename) - - if malabar_speaker: + try: + malabar_speaker = identify_malabar(lines, client, model, debug_filename, base_url) final_mapping[malabar_speaker] = "Malabar" print(f" Identified Speaker {malabar_speaker} = Malabar") - elif regular_speakers: - # Fallback: assume first regular speaker alphabetically is Malabar - malabar_speaker = sorted(regular_speakers)[0] - final_mapping[malabar_speaker] = "Malabar" - print(f" Fallback: Speaker {malabar_speaker} = Malabar") + except Exception as e: + print(f" Error: {e}") + if regular_speakers: + # Fallback: assume first regular speaker alphabetically is Malabar + malabar_speaker = sorted(regular_speakers)[0] + final_mapping[malabar_speaker] = "Malabar" + print(f" Fallback: Speaker {malabar_speaker} = Malabar") # Step 2+: Identify remaining regular speakers one by one remaining = [s for s in regular_speakers if s not in final_mapping] @@ -364,26 +375,25 @@ def process_lines_file(input_path: Path, client: OpenAI, model: str, force: bool for speaker in remaining: print(f" Step {step}: Identifying Speaker {speaker}...") - name = identify_speaker(speaker, lines, final_mapping, client, model, debug_filename, step) - - if name and len(name) > 1: + try: + name = identify_speaker(speaker, lines, final_mapping, client, model, debug_filename, step) final_mapping[speaker] = name print(f" Identified Speaker {speaker} = {name}") - else: + except Exception as e: + print(f" Error: {e}") final_mapping[speaker] = f"Speaker_{speaker}" print(f" Fallback: Speaker {speaker} = Speaker_{speaker}") - step += 1 # Handle unknown speakers (like "?") for speaker in unknown_speakers: print(f" Step {step}: Identifying unknown Speaker {speaker}...") - # Try to identify based on content - name = identify_speaker(speaker, lines, final_mapping, client, model, debug_filename, step) - if name and len(name) > 1 and name.lower() not in ['unknown', 'speaker', 'name']: + try: + name = identify_speaker(speaker, lines, final_mapping, client, model, debug_filename, step) final_mapping[speaker] = name print(f" Identified Speaker {speaker} = {name}") - else: + except Exception as e: + print(f" Error: {e}") final_mapping[speaker] = "Unknown" print(f" Marked Speaker {speaker} = Unknown") step += 1 @@ -449,6 +459,9 @@ def main(): base_url, model = get_llm_config() client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"), base_url=base_url) + print(f"Using model: {model}") + print(f"Endpoint: {base_url or 'OpenAI default'}") + # Discover input files lines_files = get_input_files() @@ -468,7 +481,7 @@ def main(): for input_path in lines_files: try: - output_path = process_lines_file(input_path, client, model, force=force) + output_path = process_lines_file(input_path, client, model, force=force, base_url=base_url or "") if output_path: success_count += 1 except Exception as e: