Перейти к содержанию

Форматы результата

Результат распознавания сохраняется в семи форматах. Все файлы - в UTF-8 с переводами строк \n. Говорящий - «Канал N» для каналов стереозаписи; если каналы сведены в один (--mono, монозапись или одинаковые каналы), говорящего нет.

Формат Для чего
txt Чтение текста: фрагмент на строку
json Программы: сведения о записи и фрагменты
jsonl Программы и потоки: фрагмент на строку, файлы можно дописывать один к другому
srt Субтитры для видеоплееров и редакторов
vtt Субтитры WebVTT для браузеров
ass Субтитры Aegisub с говорящим в поле Name
csv Таблицы и аналитика: Excel, pandas

Примеры ниже - результат stt-ru transcribe call.wav для стереозаписи разговора.

TXT

Канал 1: Наталья, благодарю вас за ожидание. По данному вопросу я сейчас ваш звонок переведу на специалиста профильного подразделения. Оставайтесь, пожалуйста, на линии.
Канал 0: Угу
Канал 0: Угу
Канал 1: Я в свою очередь с вами прощаюсь. Всего доброго, до свидания.
Канал 0: До свидания.

JSON

Объект с полями source (имя файла), model, duration (длительность записи, с), channels (число распознанных каналов) и segments. У фрагмента - start и end в секундах, channel, speaker и text; у сведенных каналов channel и speaker равны null.

{
  "source": "call.wav",
  "model": "gigaam-v3-e2e-rnnt",
  "duration": 15.751,
  "channels": 2,
  "segments": [
    {
      "start": 0.994,
      "end": 9.054,
      "channel": 1,
      "speaker": "Канал 1",
      "text": "Наталья, благодарю вас за ожидание. По данному вопросу я сейчас ваш звонок переведу на специалиста профильного подразделения. Оставайтесь, пожалуйста, на линии."
    },
    {
      "start": 3.49,
      "end": 3.934,
      "channel": 0,
      "speaker": "Канал 0",
      "text": "Угу"
    }
  ]
}

JSON Lines

Фрагмент на строку с именем файла в source: результаты нескольких файлов можно собирать в один файл (так работает --summary out/all.jsonl).

{"source": "call.wav", "start": 0.994, "end": 9.054, "channel": 1, "speaker": "Канал 1", "text": "Наталья, благодарю вас за ожидание. По данному вопросу я сейчас ваш звонок переведу на специалиста профильного подразделения. Оставайтесь, пожалуйста, на линии."}
{"source": "call.wav", "start": 3.49, "end": 3.934, "channel": 0, "speaker": "Канал 0", "text": "Угу"}

SRT

Говорящий - в начале текста субтитра.

1
00:00:00,994 --> 00:00:09,054
Канал 1: Наталья, благодарю вас за ожидание. По данному вопросу я сейчас ваш звонок переведу на специалиста профильного подразделения. Оставайтесь, пожалуйста, на линии.

2
00:00:03,490 --> 00:00:03,934
Канал 0: Угу

WebVTT

Говорящий - в теге голоса <v> и в начале текста: плееры, которые не показывают голоса, все равно покажут, кто говорит.

WEBVTT

00:00:00.994 --> 00:00:09.054
<v Канал 1>Канал 1: Наталья, благодарю вас за ожидание. По данному вопросу я сейчас ваш звонок переведу на специалиста профильного подразделения. Оставайтесь, пожалуйста, на линии.

00:00:03.490 --> 00:00:03.934
<v Канал 0>Канал 0: Угу

ASS

Субтитры в формате, который сохраняет Aegisub: говорящий - в поле Name, файл записи - в Audio File, время - с точностью до сотых секунды. Формат совпадает с файлами ASS версии 0.2.

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.99,0:00:09.05,Default,Канал 1,0,0,0,,Наталья, благодарю вас за ожидание. По данному вопросу я сейчас ваш звонок переведу на специалиста профильного подразделения. Оставайтесь, пожалуйста, на линии.
Dialogue: 0,0:00:03.49,0:00:03.93,Default,Канал 0,0,0,0,,Угу

CSV

Колонки Audio File, Start, End, Name, Text, время - в миллисекундах, разделитель - запятая. Файл начинается с BOM, поэтому Excel открывает кириллицу без настройки; в консоль CSV печатается без BOM, для Excel сохраняйте его через --output-dir или --summary. Колонки совпадают с CSV версии 0.2, таблицы и отчеты на нем продолжают работать.

Audio File,Start,End,Name,Text
call.wav,994,9054,Канал 1,"Наталья, благодарю вас за ожидание. По данному вопросу я сейчас ваш звонок переведу на специалиста профильного подразделения. Оставайтесь, пожалуйста, на линии."
call.wav,3490,3934,Канал 0,Угу