Transcribing 2.5M Hours Of TV News: What Does A GCP USM Chirp JSON Transcript Look Like?

Yesterday we announced the complete machine transcription of the Internet Archive TV News Archive's complete 2.5 million hours of uncaptioned global television news through GCP's Universal Speech Model Chirp ASR model. Chirp is a so-called Large Speech Model (LSM) speech transcription model that offers vastly greater accuracy, language support and noise tolerance than traditional ASR models and even natively supports true multilingual speech with code switching. But, what does the output of a state-of-the-art LSM look like on a real broadcast?

Let's take a look at two broadcasts from today, one in Russian and one in Farsi. You can see the broadcasts along with the Google Translate translations of their transcripts:

And here are the raw JSON transcripts that Chirp produced for both broadcasts. This is the raw JSON output by the Speech to Text V2 API as-is without any modification, to give you a sense of what real-life production-grade LSM output from Chirp looks like:

Unlike some classical ASR and non-production research LSM systems, production-grade LSMs like Chirp tend to output their ASR results in chunks of text, followed by the individual word offsets. For example, here is the first 30 seconds of the Russia 1 broadcast, with the "transcript" field containing the complete transcript of those 30 seconds, followed by the individual component words and their precise start and stop time offsets. If you download the full JSON file above, you can see that this particular broadcast is roughly split into 30 second chunks, with the subsequent chunks appearing as JSON objects one after another in the "results" array.

{
    "results": [
        {
            "alternatives": [
                {
                    "transcript": " предлагает показать расписку Путину и уйти от возмездия, но и Путин, естественно, всё поймёт и простит. Но ещё небольшая сенсация, немецкий Бельм сообщает, у Путина вы не поверите, есть секс в видео про немецких политиков, видите заголовок, вопрос вызывает у немцев даже больше страха.",
                    "words": [
                        {
                            "startOffset": "5.960s",
                            "endOffset": "0.640s",
                            "word": "предлагает"
                        },
                        {
                            "startOffset": "0.640s",
                            "endOffset": "4.520s",
                            "word": "показать"
                        },
                        {
                            "startOffset": "4.520s",
                            "endOffset": "5.360s",
                            "word": "расписку"
                        },
                        {
                            "startOffset": "5.360s",
                            "endOffset": "5.880s",
                            "word": "Путину"
                        },
                        {
                            "startOffset": "6s",
                            "endOffset": "6.640s",
                            "word": "уйти"
                        },
                        {
                            "startOffset": "6.640s",
                            "endOffset": "6.800s",
                            "word": "от"
                        },
                        {
                            "startOffset": "6.800s",
                            "endOffset": "7.840s",
                            "word": "возмездия,"
                        },
                        {
                            "startOffset": "7.840s",
                            "endOffset": "8.120s",
                            "word": "но"
                        },
                        {
                            "startOffset": "8.120s",
                            "endOffset": "8.200s",
                            "word": "и"
                        },
                        {
                            "startOffset": "8.200s",
                            "endOffset": "8.880s",
                            "word": "Путин,"
                        },
                        {
                            "startOffset": "8.880s",
                            "endOffset": "9.800s",
                            "word": "естественно,"
                        },
                        {
                            "startOffset": "9.800s",
                            "endOffset": "10.240s",
                            "word": "всё"
                        },
                        {
                            "startOffset": "10.240s",
                            "endOffset": "11.240s",
                            "word": "поймёт"
                        },
                        {
                            "startOffset": "11.240s",
                            "endOffset": "12s",
                            "word": "и"
                        },
                        {
                            "startOffset": "12s",
                            "endOffset": "13.600s",
                            "word": "простит."
                        },
                        {
                            "startOffset": "13.600s",
                            "endOffset": "13.800s",
                            "word": "Но"
                        },
                        {
                            "startOffset": "13.800s",
                            "endOffset": "14.120s",
                            "word": "ещё"
                        },
                        {
                            "startOffset": "14.120s",
                            "endOffset": "14.680s",
                            "word": "небольшая"
                        },
                        {
                            "startOffset": "14.680s",
                            "endOffset": "15.640s",
                            "word": "сенсация,"
                        },
                        {
                            "startOffset": "15.640s",
                            "endOffset": "16.240s",
                            "word": "немецкий"
                        },
                        {
                            "startOffset": "16.240s",
                            "endOffset": "16.920s",
                            "word": "Бельм"
                        },
                        {
                            "startOffset": "16.920s",
                            "endOffset": "17.800s",
                            "word": "сообщает,"
                        },
                        {
                            "startOffset": "17.800s",
                            "endOffset": "18s",
                            "word": "у"
                        },
                        {
                            "startOffset": "18s",
                            "endOffset": "19s",
                            "word": "Путина"
                        },
                        {
                            "startOffset": "19s",
                            "endOffset": "19.400s",
                            "word": "вы"
                        },
                        {
                            "startOffset": "19.400s",
                            "endOffset": "19.600s",
                            "word": "не"
                        },
                        {
                            "startOffset": "19.600s",
                            "endOffset": "20.760s",
                            "word": "поверите,"
                        },
                        {
                            "startOffset": "20.760s",
                            "endOffset": "21.480s",
                            "word": "есть"
                        },
                        {
                            "startOffset": "21.480s",
                            "endOffset": "22.240s",
                            "word": "секс"
                        },
                        {
                            "startOffset": "22.240s",
                            "endOffset": "22.240s",
                            "word": "в"
                        },
                        {
                            "startOffset": "22.240s",
                            "endOffset": "23.400s",
                            "word": "видео"
                        },
                        {
                            "startOffset": "23.400s",
                            "endOffset": "23.600s",
                            "word": "про"
                        },
                        {
                            "startOffset": "23.600s",
                            "endOffset": "24.320s",
                            "word": "немецких"
                        },
                        {
                            "startOffset": "24.320s",
                            "endOffset": "25.360s",
                            "word": "политиков,"
                        },
                        {
                            "startOffset": "25.360s",
                            "endOffset": "25.760s",
                            "word": "видите"
                        },
                        {
                            "startOffset": "25.760s",
                            "endOffset": "27.760s",
                            "word": "заголовок,"
                        },
                        {
                            "startOffset": "27.760s",
                            "endOffset": "28.120s",
                            "word": "вопрос"
                        },
                        {
                            "startOffset": "28.120s",
                            "endOffset": "28.640s",
                            "word": "вызывает"
                        },
                        {
                            "startOffset": "28.640s",
                            "endOffset": "28.720s",
                            "word": "у"
                        },
                        {
                            "startOffset": "28.720s",
                            "endOffset": "29.080s",
                            "word": "немцев"
                        },
                        {
                            "startOffset": "29.080s",
                            "endOffset": "29.280s",
                            "word": "даже"
                        },
                        {
                            "startOffset": "29.280s",
                            "endOffset": "29.560s",
                            "word": "больше"
                        },
                        {
                            "startOffset": "29.560s",
                            "endOffset": "29.920s",
                            "word": "страха."
                        }
                    ]
                }
            ],
            "resultEndOffset": "29.920s",
            "languageCode": "ru-RU"
        }
    ]
}

The resulting UTF8 JSON is trivially parseable using any standard JSON library or on the command line using "jq". For example, to just extract the chunked transcript lines in a row you can use:

cat RUSSIA1_20240307_120000_Zhenshchini.sttv2.chirp.json | jq -r .results[].alternatives[0].transcript

For example, limiting to just the first 10 lines yields:

>cat RUSSIA1_20240307_120000_Zhenshchini.sttv2.chirp.json | jq -r .results[].alternatives[0].transcript | head -10
предлагает показать расписку Путину и уйти от возмездия, но и Путин, естественно, всё поймёт и простит. Но ещё небольшая сенсация, немецкий Бельм сообщает, у Путина вы не поверите, есть секс в видео про немецких политиков, видите заголовок, вопрос вызывает у немцев даже больше страха.
 чем скандал с известной прослушкой, речь в статье, в том числе про военных и даже про Шольца, Бельб сообщает, что российская разведка могла собрать компромат не только с помощью прослушки, но и с помощью шантажа, ну и теперь все секс-тайны у Путина на ладони, журналист Бельда Ронс Хаймер пишет, в том числе про возможные гомосексуальные связи в правительстве.
 Ну и только что медермания изменил свои предписание для граждан по поездкам в Москву, официальный Берлин, формулировка с сайта внешней политического ведомства настоятельно не рекомендуют немцам ездить в Россию, предостерегаем от посещения Белгорода, Курска, Брянска, Воронежа, Ростова и Краснодара, в России пишут они, граждане Германии могут подвергнуться риску ареста. Соседний Испания солдаты вооружён.
null
null
 Эсто человека, которого вы видите на своих экранах, зовут Франциско Хавьер, и он женщина из кармоны. Напомним, что он не перенёс никаких хирургических операций и даже не планирует их делать. Также Франциско заявил, что не собирается менять своё имя и всё.
 меня всё устраивает, я собой вполне доволен, меня привлекают женщины, я также осознал кое-что, например, мне приятно общаться как с женщинами, так и с мужчинами, я не транссексуал и не собираюсь делать операцию по смене пола, меня всё устраивает, история солдата Франциска Ховьера несомненно является одной из актуальных тем, его внешность далека от женственной, рост почти 2 м,
 использовать соответствующую одежду, которая, как я понимаю, должна быть женственной, потому что я женщина. Испанские солдаты и полицейские меняют свой пол, чтобы получить доступ к льготам, предназначенным для женщин, говорится в расследовании, левое правительство Испании в 2022 году ввело за...
 о самоидентификации, который упростил формальный переход и одновременно увеличил льготы для женщин в армии и силовых структурах. С момента введения изменений 41 мужчина сменил пол на женский в испанской территории Сеута в Северной Африке, и только четверо из этого числа сменили имена. Согласно отчёту, подавляющее большинство из тридцати се вновь зарегистрированных женщин работают в армии или полиции.
 Я понимаю, что мой внешний вид может шокировать, но я никого не оскорбляю. Слава богу, есть закон, который позволяет мне быть женщиной и пользоваться своими правами, как таковыми, в чём проблема? Хотя Франциско Хавьер шаг за шагом выполнил все необходимые процедуры, сторонники трансзакона всё равно его не поддерживают. К слову, одним из критиков данного закона является Иоланда Диаз Элизабет Дубаль. Вот что она думает по этому поводу. Этот случай является скорее мошенничеством.

We hope this gives you a sense of how easy it is to work with Chirp!