Акустика речи и исследование аудио¶
В Speech Expert можно изучать интонацию и паузы на графиках, сравнивать дубли и задавать вопросы о том, как звучит запись. Это руководство поможет выбрать раздел и провести разбор: от загрузки аудио до сохранения результатов.
Акустика речи помогает измерить сигнал: увидеть основной тон, изменение уровня, активные участки, паузы и доступные оценки темпа. Исследование аудио помогает содержательно разобрать звучание: получить описание, наблюдения, гипотезы и идеи для демонстрации на конкретном фрагменте.
Оба раздела работают с сохранёнными записями. Расшифровка нужна для части задач, но не является обязательным условием анализа самого звука.
Содержание¶
- Как выбрать раздел
- Акустика речи
- Исследование аудио
- Совместная работа двух разделов
- Типичные вопросы
- Техническое приложение
Как выбрать раздел¶
| Задача | Подходящий раздел |
|---|---|
| Посмотреть, как повышается или понижается основной тон | Акустика речи |
| Сопоставить интонационные контуры двух дублей | Акустика речи |
| Получить числовые показатели темпа и пауз с указанием источника данных | Акустика речи |
| Скачать временные ряды для собственной обработки | Акустика речи |
| Описать, что слышно: речь, фон, подача, реакции аудитории | Исследование аудио |
| Разобрать возможный пропуск распознавателя или VAD | Исследование аудио с сохранёнными результатами соответствующих анализаторов |
| Найти спорное произношение или изменение смысла из-за интонации | Исследование аудио |
| Получить идеи Shorts с демонстрацией на исходной записи | Исследование аудио |
| Свойство | Акустика речи | Исследование аудио |
|---|---|---|
| Основной метод | Измерения средствами Praat | Анализ аудиофрагмента мультимодальной моделью Google |
| Длительность одного фрагмента | 1–120 секунд | 20–120 секунд |
| Расшифровка | Нужна для темпа по словам | Не обязательна; может дополнять звук |
| Где выполняется обработка | На сервере приложения, без внешней LLM | Подготовка на сервере приложения, анализ у Google |
| Кредиты | Не списываются за акустический расчёт | Стоимость показывается перед запуском |
| Основной результат | Графики, таблица показателей, интервалы | Описание, наблюдения, гипотезы, идеи Shorts, ограничения |
| Экспорт | JSON и CSV | JSON результата, промпт TXT, контекст JSON |
| Новые ASR и классификаторы | Не запускаются | Не запускаются автоматически |
Creator Pack · материалы — соседний режим для создания текстового контента по готовой расшифровке. У него другая задача: тезисы, главы, статьи, публикации и другие материалы. Он не заменяет анализ звучания.
Акустика речи¶
Для чего нужен раздел¶
Раздел позволяет исследовать интонацию и временную организацию речи на уровне измеримого сигнала. Он полезен при сравнении озвучек, разборе дикторской подачи, проверке пауз, анализе дублей и подготовке наглядных примеров.
Например, можно сопоставить две записи одной фразы: в первой основной тон постепенно снижается, во второй несколько раз поднимается на выделенных словах. График покажет различие контуров, а прослушивание поможет соотнести его с конкретными словами.
Измерения описывают звук. Значение F0 или число пауз сами по себе не устанавливают эмоцию, стресс, намерение или качество исполнения.
Как открыть¶
Есть несколько входов:
- В Моих записях выберите файл и откройте вкладку Акустика речи.
- В готовом результате распознавания нажмите Акустика речи, если запись уже сохранена.
- Для локального результата используйте Сохранить и открыть акустику. Сначала сохранятся аудио и текст, затем откроется вкладка измерений. Этот переход доступен вне приватного режима для файла до 500 МБ по ограничению интерфейса.
- В завершённом элементе пакетного распознавания воспользуйтесь таким же переходом к акустике.
Для нового расчёта нужно доступное сохранённое аудио. Если в архиве остался только текст, ранее рассчитанные измерения можно просматривать, но новый расчёт выполнить нельзя.
Аудио без расшифровки тоже подходит. Например, источник можно предварительно добавить через Исследование аудио, затем открыть его карточку в архиве и перейти к акустике.
Порядок работы¶
- Укажите Начало, с и Конец, с.
- Выберите непрерывный фрагмент длиной от 1 до 120 секунд. Он должен полностью находиться внутри записи.
- При необходимости раскройте Диапазон поиска основного тона и измените границы F0.
- Нажмите Рассчитать акустику.
- Просмотрите графики, таблицу и блок Условия и ограничения измерений.
- Сохраните JSON или CSV, если нужны данные вне приложения.
По умолчанию выбирается начало записи: от 0 до 120 секунд либо до её конца, если файл короче. В полях времени доступен шаг 0,1 секунды.
Во время расчёта интерфейс блокирует конфликтующие изменения. При ошибке нового расчёта уже сохранённые результаты остаются доступны.
Графики¶
Осциллограмма¶
Показывает изменение амплитуды сигнала во времени. Для компактного отображения сохраняются минимумы и максимумы в небольших временных интервалах, до 1200 точек представления.
Амплитуда не нормализуется к собственному пику записи. При сравнении обе осциллограммы выводятся в общей амплитудной шкале. Однако разные усиление микрофона, обработка и условия записи всё равно влияют на форму и величину сигнала.
Осциллограмма удобна для поиска резких атак, крупных перепадов уровня, тихих участков и границ звуковых событий. По одной форме волны нельзя уверенно определить слова или говорящего.
Интонация · основной тон F0¶
Контур показывает оценку основного тона в герцах. Он помогает увидеть подъёмы, спады и относительную устойчивость высоты в тех участках, где тон удалось определить.
Разрыв линии означает отсутствие надёжного F0. Причиной могут быть глухой согласный, шёпот, шум, музыка, перекрытие голосов, тишина или неподходящие параметры поиска. Разрыв F0 не равен паузе в речи. Пропущенные значения не соединяются искусственной непрерывной линией.
В раскрываемых настройках доступны:
| Параметр | Допустимые значения | По умолчанию |
|---|---|---|
| Нижняя граница F0 | 50–300 Гц | 60 Гц |
| Верхняя граница F0 | 200–1000 Гц | 500 Гц |
Верхняя граница должна быть как минимум в 1,5 раза выше нижней. Диапазон 60–500 Гц подходит для первого прохода. Если контур неожиданно перескакивает примерно вдвое вверх или вниз либо исчезает, полезно уточнить границы и пересчитать тот же участок.
Относительная интенсивность¶
Показывает уровень относительно максимума каждого выбранного фрагмента: его собственный пик принимается за 0 дБ.
В интерфейсе отображается диапазон от −60 до 0 дБ. Более тихие значения на графике скрываются, но исходные рассчитанные значения остаются в экспорте.
Этот график помогает изучать внутреннюю динамику фрагмента. Он не показывает абсолютный уровень звукового давления. При сравнении двух записей их пики оба равны 0 дБ, поэтому одинаковая высота кривых не означает одинаковую физическую громкость.
Полоса активности и пауз¶
Раздел показывает активные и неактивные интервалы с явным указанием источника:
- Речь по сохранённому VAD — использована ранее сохранённая полная разметка детектора речевой активности.
- Звуковая активность по энергии — выполнена приблизительная оценка по энергии сигнала, поскольку подходящего полного VAD нет.
Во втором случае активностью могут оказаться музыка и шум. Тихий участок также не доказывает, что в нём нет речи: например, шёпот может быть очень слабым. Ошибки сохранённого VAD сохраняются и в вычисленных по нему показателях.
Паузы или тихие интервалы определяются как дополнение к активности в пределах всего выбранного фрагмента, включая его начало и конец.
Таблица показателей¶
| Показатель | Что означает | На что обратить внимание |
|---|---|---|
| Медиана F0 | Центральное значение определённого основного тона | Учитываются кадры, где F0 найден |
| Диапазон F0 · P10–P90 | От 10-го до 90-го процентиля значений F0 | Описывает центральные 80% определённых значений, без крайних 10% с каждой стороны |
| Размах интонации · P10–P90 | Тот же диапазон в полутонах | Удобен для сопоставления относительного изменения высоты |
| Доля кадров с F0 | Процент кадров с определённым основным тоном | Не является долей речи во фрагменте |
| Размах уровня всего фрагмента | Разница между максимальным и минимальным уровнем интенсивности | Включает тихие интервалы, чувствителен к цифровой тишине |
| Темп с паузами | Количество слов за минуту учтённого временного окна | Рядом указаны число слов, длительность и охват окна |
| Темп без пауз | Количество слов за минуту речевой активности | Требует подходящей расшифровки, полного VAD и охвата всей исходной записи |
| Паузы / тихие интервалы | Количество и суммарная длительность интервалов | Смысл зависит от источника: VAD или энергия |
| Доля пауз / тихих интервалов | Часть выбранного времени вне активности | Это не самостоятельная оценка качества речи |
| Самая длинная пауза / тихий интервал | Длительность максимального неактивного участка | Может включать тишину в начале или конце фрагмента |
Если подходящих данных нет, интерфейс сообщает об их отсутствии. Неизвестный темп не заменяется нулём.
Как рассчитывается темп¶
Темп по словам зависит от сохранённой расшифровки, а не от одного аудиосигнала. Новый распознаватель при нажатии Рассчитать акустику не запускается.
Для фрагмента используются пригодные слова или реплики с временными границами, полностью попавшие внутрь выбранного участка. Реплика, пересекающая границу, не делится пропорционально на «часть слов до границы» и «часть после».
Поэтому оценка иногда относится только к части фрагмента: знаменателем становится временной охват учтённых реплик. Интерфейс показывает этот охват и пометку оценки. Если выбрана вся исходная запись, может использоваться весь сохранённый ASR-текст, но без локальных границ слов такой расчёт тоже остаётся оценочным.
Темп без пауз рассчитывается только при охвате всей исходной записи и наличии полного сохранённого VAD. Энергетическая оценка для этого не используется.
Условный пример для целой 60-секундной записи: в расшифровке 120 слов, полный VAD выделил 40 секунд речи. Темп с паузами составит 120 слов/мин, без пауз — 180 слов/мин. Эти числа описывают разные знаменатели и не противоречат друг другу.
Есть дополнительные ограничения:
- Исходный текст задания TTS не считается распознанной речью; по нему темп для TTS-записи не вычисляется.
- Оценочные таймкоды нельзя использовать для точного подсчёта слов внутри произвольного частичного фрагмента.
- Для некоторых письменностей без пробелов необходимы отдельная сегментация слов или подходящая ASR-разметка
words. - Ошибки текста и таймингов ASR влияют на оценку темпа.
Многоканальные записи¶
Для акустического расчёта выбирается канал с наибольшим RMS — среднеквадратичной амплитудой сигнала. Каналы не усредняются: это помогает избежать взаимного подавления противофазных сигналов.
Номер выбранного канала и число исходных каналов сохраняются в сведениях о происхождении результата (provenance). При этом ранее сохранённые ASR и VAD многоканальной записи исключаются из расчёта: они не считаются надёжно привязанными к выбранному каналу. В текущей версии для такого результата темп недоступен, а активность оценивается по энергии.
Сравнение двух записей¶
В блоке Сравнить с другой записью выберите второй источник, задайте его интервал и нажмите Рассчитать сравнение. Для нового сравнения применяются текущие границы поиска F0 основной записи.
После расчёта отображаются две серии на общих шкалах и таблица показателей в двух колонках. У каждой записи остаётся собственная полоса активности.
Отсчёт времени начинается с начала каждого выбранного фрагмента. Если одна фраза начинается позже или произносится медленнее, слова сами не совместятся. Автоматического выравнивания по словам или фонемам нет. Для осмысленного сравнения стоит вручную выбрать сопоставимые участки.
У ранее сохранённого расчёта сравнения могут быть другие параметры F0. Проверяйте их перед выводами о различиях между версиями.
Список сравнения формируется из записей, загруженных в текущий экран архива, включая удержанные выбранные записи. Отдельного поиска по всему архиву в этом выпадающем списке сейчас нет.
Прослушивание, история и экспорт¶
Время на графиках отсчитывается от начала фрагмента. Нажатие на график основной записи перематывает исходное аудио в соответствующую позицию. Для основной полосы активности можно перейти к началу интервала. Если аудио удалено, измерения остаются, но прослушивание недоступно.
Каждый успешный расчёт сохраняется отдельной неизменяемой версией. Через Сохранённый расчёт можно переключать доступные версии; история возвращает последние 50 расчётов записи. Это предел выдачи истории, а не правило автоматического удаления более старых результатов.
Доступны:
- JSON — полный результат основной записи; при сравнении — обе записи в одном файле.
- CSV · основная — временные ряды основной записи.
- CSV · сравнение — отдельные временные ряды второй записи.
CSV содержит столбцы time_s, recording_time_s, f0_hz, relative_intensity_db. Первый таймкод относится к фрагменту, второй — к исходному файлу. Осциллограмма, интервалы активности, сводные показатели и параметры входят в JSON; CSV не является его полной копией.
В блоке Параметры расчёта доступны сведения о движке, частоте дискретизации, настройках и происхождении данных. Неопределённые числовые значения экспортируются как null в JSON и пустые ячейки в CSV.
Границы возможностей¶
Раздел использует часть измерительных возможностей Praat. Сейчас он не строит фонемную или послоговую разметку, не рассчитывает форманты, jitter и shimmer и не выдаёт оценку правильности произношения.
По F0, интенсивности и паузам нельзя автоматически установить физиологический стресс, внутренние переживания или диагноз. Шёпот, шум, музыка и перекрывающиеся голоса могут затруднять измерение основного тона. Для интерпретации нужно учитывать исходное аудио и условия записи.
Исследование аудио¶
Для чего нужен раздел¶
Раздел предназначен для содержательного разбора звучания. Он получает аудиофрагмент и исследовательскую задачу, при необходимости — сохранённые данные анализаторов. Результат помогает понять, что слышно, где есть неоднозначность и какие проверки или демонстрации стоит подготовить.
Подходящие источники: интервью, подкасты, выступления, актёрские сцены, тихая речь, озвучки и другие записи с нужным звуковым материалом. Для нового источника предварительное распознавание не требуется.
Раздел открывается через боковое меню Исследование аудио, одноимённую вкладку в строке сервисов или действие с выбранной записью в архиве.
Шаг 1. Добавьте аудио¶
Внутри раздела есть три варианта источника:
| Вариант | Действие |
|---|---|
| Новый файл | Выберите аудио или видео с устройства и нажмите Добавить аудио |
| Ссылка | Вставьте ссылку на отдельное публичное видео и нажмите Добавить по ссылке |
| Мои записи | Выберите подходящий сохранённый источник |
Добавление сохраняет аудио в общем архиве. Оно не запускает распознавание, исследование или списание кредитов за анализ. После успешного добавления новый источник выбирается автоматически.
Исходник должен содержать не менее 20 секунд аудио. Сам файл может быть длиннее двух минут: ограничение 20–120 секунд относится к выбранному фрагменту исследования.
По умолчанию серверный предел локальной загрузки составляет 500 МиБ. Для загрузки по ссылке по умолчанию действуют предел 200 МиБ и максимальная длительность 4 часа; применяются также общий предел загрузки и квота архива. Эти ограничения настраиваются администратором.
Поддерживается загрузка отдельных публичных записей с поддерживаемых видеохостингов, включая YouTube. Плейлисты, прямые эфиры, локальные адреса и произвольные страницы не считаются подходящим источником. Из видео используется аудиодорожка; изображение модель не получает.
В Моих записях поиск работает по уже загруженному списку. Если старой записи не видно, используйте Загрузить ещё. Слишком короткие источники и записи с недоступным аудио отмечаются причиной недоступности для исследования.
При переходе к новому файлу или ссылке анализ старой выбранной записи блокируется до добавления нового источника. Это позволяет не перепутать прежний отчёт с новым файлом.
Шаг 2. Выберите фрагмент и задачу¶
- Укажите начало и конец в секундах.
- Выберите непрерывный участок от 20 до 120 секунд.
- При необходимости нажмите Прослушать фрагмент.
- Выберите Исследовательский пресет.
- В блоке Уточнить исследование выберите дополнительные данные и введите вопрос, если он нужен.
- Проверьте цену на кнопке и нажмите Запустить исследование.
По умолчанию используются первые 75 секунд либо вся запись, если она короче. Дополнительный вопрос может содержать до 4000 символов.
Для задачи лучше выбирать законченный эпизод с достаточным контекстом: спорное слово вместе с фразой, реакцию аудитории вместе с предшествующей репликой, изменение подачи вместе с участком для сопоставления. Если существенное событие осталось за границами, модель его не услышит.
Отдельного пользовательского этапа подготовки промпта нет. Проверка источника и сбор запроса выполняются после нажатия кнопки запуска.
Исследовательские пресеты¶
| Пресет | Что исследует | Пример задачи и необходимые данные |
|---|---|---|
| Общее описание аудио | Речевую сцену, подачу, фон, качество и существенные неоднозначности | «Что происходит во фрагменте и какие особенности стоит проверить?» Достаточно аудио |
| Шёпот и пропуски VAD | Тихую речь, шёпот, дыхание и возможное расхождение с границами VAD | «Есть ли слышимая речь в интервалах, отмеченных как неречевые?» Для вывода о пропуске VAD нужна его сохранённая разметка |
| Что пропустил распознаватель | Смысловые пропуски, подмены, имена и числа в ASR | «Какое слово слышно вместо варианта распознавателя?» Для подтверждения ошибки нужна соответствующая расшифровка |
| Голосовые роли и диаризация | Изменения голосовой подачи и спорные смены дорожек | «Актёр меняет голос: совпадают ли изменения с метками говорящих?» Для проверки диаризации нужны её метки |
| Реакции зала | Смех, аплодисменты, возгласы и заметные отклики | «После какой реплики слышен самый заметный отклик в этом фрагменте?» Аудитория должна быть слышна |
| Интонация меняет смысл | Смысловое ударение, вопросительность и альтернативные прочтения | «Какие слова выделены голосом и как это влияет на прочтение?» Основа — звук |
| Напряжённость и манера речи | Слышимые изменения подачи, ритма и голосового напряжения | «Какие признаки отличают спокойную и напряжённую подачу?» Результат не является шкалой физиологического стресса |
| Качество и разборчивость | Шум, перекрытия, компрессию и причины затруднённого восприятия | «Что мешает разобрать слова и что проверить перед новым дублем?» |
| Проверка озвучивания | Повторы, обрывы, стыки, спорное произношение и возможные расхождения со сценарием | Для проверки пропусков явно добавьте эталонный текст соответствующего участка в вопрос |
| Произношение и ударение | Спорные ударения, омографы и различия произношения | «Какой вариант слова слышен и какие есть альтернативы?» ASR-текст сам по себе не доказывает произнесённый вариант |
| Смешение языков и диалектов | Переключения языка, короткие вставки и возможную нормализацию ASR | «Распознаватель сохранил исходную вставку или заменил её литературным вариантом?» Для сопоставления нужен транскрипт |
| Сигналы синтетической речи | Слышимые особенности и их соответствие доступным оценкам детектора синтеза | «Что слышно в отмеченной детектором фразе и какие есть альтернативные объяснения?» Без детектора слуховое впечатление не подтверждает происхождение записи |
Пресет задаёт направление анализа. Он не запускает соответствующий отдельный классификатор. Например, выбор пресета синтетической речи не означает автоматический запуск детектора дипфейков.
Какие данные можно добавить к аудио¶
В раскрываемом блоке Уточнить исследование доступны два режима:
- Только аудио — без сохранённых наблюдений анализаторов. Пресет и пользовательский вопрос по-прежнему входят в запрос.
- Аудио и сохранённые результаты анализаторов — звук с доступным контекстом для выбранного интервала. Этот режим выбран по умолчанию.
| Источник контекста | Что может быть добавлено | Существенное ограничение |
|---|---|---|
| ASR | Сохранённые слова и реплики с таймкодами | Используются единицы, целиком попавшие внутрь фрагмента |
| Альтернативные гипотезы восстановления аудио | Доступные сохранённые варианты распознавания | Нетаймированные альтернативы передаются только при выборе всей записи |
| Диаризация | Метки говорящих у выбранных реплик | Метки дорожек не устанавливают личности и число реальных людей |
| VAD | Интервалы речевой активности с обрезкой по границам | Итоговые доли рассчитываются только при полном покрытии |
| Эмоции | Доступные сохранённые оценки для подходящих целых окон | Оценки эмоций не являются измерением стресса |
| Детектор синтеза | Успешные оценки по целым фразам внутри интервала | Они не превращаются в вероятность подделки всего файла |
| Акустика | Ограниченная числовая сводка сохранённых измерений | Нужны та же запись и точное совпадение начала и конца фрагмента |
Система не запускает заново ASR, VAD, диаризацию, эмоции, детектор синтеза или акустику ради заполнения запроса. Если нужных данных нет, их отсутствие сохраняется как ограничение.
Расшифровка без временных границ передаётся только при выборе всей исходной записи. Поэтому для короткого участка длинного файла нельзя обещать передачу всего текста или всех гипотез разных распознавателей. Объём контекста ограничен; большие наборы сокращаются с соответствующей пометкой.
Как сформулировать вопрос¶
Лучше обозначить конкретное событие, сравнение и критерий проверки. Например:
В районе 10–20 секунд фрагмента проверь имя собственное. Сопоставь слышимый вариант с сохранённым ASR и укажи альтернативы, если звук неоднозначен.
Выдели реплику перед самым заметным смехом. Раздели наблюдение о звуке и гипотезу о том, почему аудитория отреагировала.
Сравни начало и конец фрагмента: где меняются смысловое ударение, длительность пауз и высотная подача?
Для проверки озвучивания можно явно передать эталонный текст нужного участка. Исходный сценарий TTS автоматически не принимается за ASR или доказательство того, что эти слова действительно прозвучали.
Что входит в результат¶
Сохранённое исследование показывается перед свёрнутой формой нового запуска. В нём доступны:
- Описание — связный разбор слышимой сцены и её особенностей.
- Наблюдения — отдельные находки, использованные источники, обоснованность и, когда возможно, таймкоды.
- Гипотезы для проверки — предположение, его основания и способ независимой проверки.
- Идеи для Shorts — название, зрительский вопрос, способ продемонстрировать материал и существенная оговорка.
- Что осталось неясным — ограничения звука, контекста и самого вывода.
- Параметры исследования — запрос и сведения о том, на каких данных выполнен запуск.
У наблюдения может быть одна из трёх пометок: Хорошо обосновано, Есть неоднозначность, Слабое подтверждение. Это качественная оценка обоснования, а не калиброванная вероятность правильности.
Таймкоды наблюдений относятся к началу выбранного фрагмента. Если фрагмент начинается на 60-й секунде исходника, отметка 12–15 секунд означает 72–75 секунд исходной записи. При переходе по таймкоду интерфейс учитывает это смещение. При ненадёжной локализации таймкод может отсутствовать.
Не каждый запуск обязан содержать все виды находок. Если в аудио нет реакции аудитории или достаточных оснований для гипотезы, соответствующий список может быть пустым. Идеи Shorts — материал для сценария и проверки; готовый видеомонтаж MP4 этот раздел не создаёт.
Стоимость и повторный запуск¶
Добавление источника не списывает кредиты за исследование. Платная операция начинается по кнопке Запустить исследование; цена выбранного фрагмента видна до нажатия.
Базовый тариф в текущей конфигурации по умолчанию — 75 кредитов за минуту. Тариф настраивается, поэтому ориентироваться следует на актуальную цену в интерфейсе.
Длительность округляется вверх до целой секунды, стоимость — вверх до 0,0001 кредита:
оплачиваемые секунды = ceil(длительность_мс / 1000)
кредиты = округление_вверх_до_0,0001(тариф_за_минуту × оплачиваемые_секунды / 60)
При тарифе 75 кредитов за минуту:
| Выбранный фрагмент | Оплачиваемая длительность | Стоимость |
|---|---|---|
| 20 секунд | 20 секунд | 25 кредитов |
| 30 секунд | 30 секунд | 37,5 кредита |
| 45 секунд | 45 секунд | 56,25 кредита |
| 45,12 секунды | 46 секунд | 57,5 кредита |
| 75 секунд | 75 секунд | 93,75 кредита |
| 120 секунд | 120 секунд | 150 кредитов |
Это фиксированный тариф сервиса за длительность аудио, а не цена токенов или фактический счёт провайдера. Если администратор отключил биллинг, интерфейс показывает запуск без списания.
До обращения к модели проверяется источник и резервируются средства. При нехватке баланса модель не вызывается. Клиент передаёт верхнюю границу цены: если тариф изменился и запуск стал дороже, сервер отклоняет запрос вместо превышения показанного лимита.
Обычная ошибка до успешного сохранения освобождает резерв. Сохранение готового ответа и окончательное списание выполняются одной транзакцией. Закрытие страницы не гарантирует отмену уже сохраняемого результата; перед повтором стоит проверить историю. После аварийного завершения процесса восстановление оставшегося резерва может происходить позже, через механизм сверки.
Каждое новое исследование — отдельный запуск и отдельная версия, которая может снова списать кредиты. Просмотр истории и скачивание уже сохранённого результата модель повторно не вызывают.
История, контекст и экспорт¶
В блоке Исследования записи можно выбрать Сохранённый запуск по дате, пресету и интервалу. Доступны последние 50 запусков записи; это ограничение выдачи истории, а не срок хранения результатов.
Сохраняются сам ответ, пресет, интервал, режим дополнительных данных, пользовательское уточнение, сформированный промпт, использованный контекст, хеши аудио и промпта, сведения об исполнении и квитанция оплаты.
Экспорт включает:
- Скачать JSON — сохранённый результат с сопутствующими данными.
- Копировать промпт — текст запроса в буфер обмена.
- Скачать промпт — отдельный TXT-файл.
- Скачать контекст JSON — запрос, сведения о переданных данных и биллинге.
Выбранный источник сохраняется в URL. Пресет, вопрос и настройки черновика сохраняются в пределах сессии этой вкладки браузера отдельно для аккаунта. Это помогает восстановить работу после обновления, но не является синхронизацией незапущенного черновика между устройствами.
При смене источника пресет и вопрос сохраняются, а временные границы подстраиваются под новый файл. Проверьте, что прежний вопрос по смыслу подходит к новому материалу. Кнопки браузера Назад и Вперёд восстанавливают выбранный источник.
Какие данные передаются модели¶
Google получает выбранный аудиофрагмент, подготовленный в WAV PCM16, моно, 16 кГц, а также сформированный запрос, пользовательский вопрос и разрешённый сохранённый контекст.
Весь длинный ролик и его видеоряд для такого запуска не анализируются. Преобразование в моно и 16 кГц также ограничивает доступную информацию: исходная стереопанорама и частоты выше 8 кГц в переданной версии отсутствуют.
Временный подготовленный WAV удаляется после обработки. Исходное импортированное медиа остаётся в архиве вашего аккаунта с политикой хранения «сохранять», пока не будет изменено или удалено пользователем. Условия обработки и сроки хранения у Google определяются условиями провайдера.
Границы интерпретации¶
Исследование помогает сформулировать проверяемые наблюдения и версии, но вывод модели может быть ошибочным. Особенно осторожно следует читать результаты по тихой речи, именам, коротким языковым вставкам, перекрытым голосам и сильно обработанной записи.
Пресет напряжённости описывает слышимую манеру подачи. Он не измеряет физиологический стресс, не диагностирует состояние человека и не устанавливает его внутренние чувства. Сохранённые эмоциональные классы также не превращаются в шкалу стресса.
Смена тембра не доказывает появление другого человека. Отклик аудитории не измеряет удержание зрителей или популярность реплики. Флаг детектора синтеза и слуховое впечатление не устанавливают подлинность всего файла или факт обмана.
Разбор произношения является слуховой интерпретацией. Временную разметку фонем, форманты и автоматическое выравнивание текста по фонемам этот режим не строит.
Совместная работа двух разделов¶
Сценарий: измерить интонацию и получить её описание¶
- Сохраните источник в архиве.
- Выберите участок, например 60–105 секунд — 45 секунд содержательной речи.
- В Акустике речи рассчитайте этот интервал и просмотрите F0, уровень, активность и ограничения.
- Если нужно сопоставление с распознавателем, отдельно получите и сохраните подходящую расшифровку и результаты анализаторов.
- Откройте Исследование аудио для той же записи.
- Укажите точно 60–105 секунд и оставьте режим Аудио и сохранённые результаты анализаторов.
- Выберите пресет, например Интонация меняет смысл, и задайте конкретный вопрос.
- Запустите исследование, проверьте находки по аудио и скачайте результат вместе с контекстом.
Для добавления акустики должны совпасть не только длительность, но и обе границы. Измерения 60–105 секунд не подходят к исследованию 61–106 секунд. Используется последняя готовая подходящая версия и ограниченная числовая сводка, а не все точки графика.
Сценарий: проверить озвучивание¶
Выберите цельный эпизод 20–120 секунд, добавьте в вопрос эталонный текст этого эпизода и используйте Проверку озвучивания. Наблюдения о пропуске или повторе перепроверьте прослушиванием. Для сопоставления интонационных контуров оригинала и дубля отдельно рассчитайте акустику обеих записей на сопоставимых интервалах.
Сценарий: разобрать пропущенный шёпот¶
Сначала сохраните результаты того ASR или VAD, с которым требуется сравнение. В исследовании выберите участок с тихой речью и небольшим контекстом вокруг неё, затем пресет Шёпот и пропуски VAD или Что пропустил распознаватель. Если соответствующих сохранённых данных нет, результат может описать слышимое, но не подтвердить ошибку отсутствующего анализатора.
Типичные вопросы¶
Можно ли анализировать файл без распознавания?¶
Да. В исследовании можно непосредственно добавить файл или ссылку. Для акустики без ASR доступны измерения сигнала и оценка активности; темп по словам требует подходящей расшифровки.
Почему нет темпа, хотя в записи слышна речь?¶
Причиной может быть отсутствие подходящего ASR, непригодные таймкоды, неполное попадание реплик в выбранный участок, исходный сценарий TTS вместо распознанного текста или ограничение многоканального источника. Слышимость речи сама по себе не даёт системе количества слов.
Почему в шёпоте не строится линия F0?¶
Для такого сигнала основной тон может не определяться. Это не доказывает отсутствие речи. Проверяйте звук, осциллограмму и источник разметки активности.
Можно ли узнать число людей по голосовым ролям?¶
Раздел может описать различия голосов и сопоставить их с метками дорожек. Он не устанавливает число реальных людей или их личности: актёрская подача, монтаж и условия записи могут давать похожие изменения.
Что произойдёт после удаления аудио?¶
Сохранённые измерения и исследования останутся доступны в карточке, но переслушивание и новые расчёты потребуют исходного аудио. Удаление всей записи удаляет и связанные с ней результаты; оно отличается от удаления только медиа.
Почему нельзя нажать кнопку запуска?¶
Проверьте, выбран и добавлен ли источник, доступно ли аудио, корректны ли границы и длительность, завершилась ли текущая операция и доступен ли соответствующий сервис. В исследовании новый файл или ссылка сначала должны быть добавлены. Для акустики нужен фрагмент 1–120 секунд, для исследования — 20–120 секунд.
Техническое приложение¶
Акустический движок¶
Используется praat-parselmouth==0.4.7 со встроенным Praat 6.1.38. Фактические версии движка записываются в результат. F0 рассчитывается методом raw autocorrelation с временным шагом 20 мс. Размах в полутонах вычисляется как 12 × log2(P90 / P10).
Аудиопоток декодируется в PCM16 с сохранением исходной частоты дискретизации; поддерживаемый диапазон для расчёта — 8–192 кГц, до 8 каналов. После выбора канала измерения выполняются без ресемплинга и нормализации амплитуды по пику. Происхождение результата включает сведения о канале, параметрах и хеше выбранного декодированного сигнала.
«Локально» здесь означает вычисление на сервере Speech Expert. Это не обещание обработки только внутри браузера или на компьютере пользователя.
Маршруты API¶
Маршруты /api/speech-acoustics/... требуют сессию личного кабинета.
Исследование аудио /api/creator-research/... принимает как сессию кабинета,
так и API-ключ в заголовке Authorization: Api-Key <ключ> или
Authorization: Bearer <ключ>. Это относится к добавлению источника, каталогу
пресетов, предварительной проверке, запуску анализа и истории результатов.
Все маршруты проверяют принадлежность записи владельцу сессии или ключа;
анонимный режим API не открывает доступ к исследованиям. В запросе нельзя
подменить владельца записи. Ключ нужно передавать только в заголовке, без URL
и тела запроса. Предварительная проверка не вызывает LLM; запуск исследования
передаёт выбранный аудиофрагмент внешнему провайдеру и оплачивается по тарифу
из каталога и предварительного расчёта.
| Метод | Маршрут | Назначение |
|---|---|---|
| GET | /api/speech-acoustics/options |
Доступность движка и пределы параметров |
| POST | /api/speech-acoustics/analyze |
Расчёт акустики и сохранение версии |
| GET | /api/speech-acoustics/recordings/{id}/results |
История акустических расчётов |
| GET | /api/creator-research/presets |
Пресеты, доступность, ограничения и тариф исследования |
| POST | /api/creator-research/sources |
Добавление файла или ссылки без STT и LLM |
| POST | /api/creator-research/preview |
Программная проверка источника и запроса без вызова LLM |
| POST | /api/creator-research/analyze |
Платное исследование и сохранение результата |
| GET | /api/creator-research/recordings/{id}/results |
История исследований выбранной записи |
Пример тела запроса акустики; UUID нужно заменить идентификатором своей сохранённой записи:
{
"recordingId": "00000000-0000-4000-8000-000000000001",
"startMs": 60000,
"endMs": 105000,
"pitchFloorHz": 60,
"pitchCeilingHz": 500
}
endMs для акустики можно не передавать: тогда берётся до 120 секунд от startMs, с ограничением по реальной длительности файла.
Импорт /sources использует multipart: ровно одно из полей audio или videoUrl, обязательный UUID requestId, необязательный name. Повтор текущего импорта с тем же requestId возвращает сохранённую запись без дублирования. Эта защита относится к импорту; повтор /analyze может создать новый платный запуск.
Пример: загрузка и исследование с API-ключом¶
Пример для Bash использует curl, python3 и jq. Заранее задайте переменную
окружения API_KEY своим ключом. Cookie личного кабинета не требуется.
Замените sample.wav своим файлом длительностью не менее 20 секунд.
Для каждого нового импорта создавайте новый REQUEST_ID; при повторе той же
загрузки после сетевого обрыва используйте уже созданный UUID.
set -euo pipefail
export REQUEST_ID="$(python3 -c 'import uuid; print(uuid.uuid4())')"
curl --fail-with-body -sS "https://speech-expert.ru/api/creator-research/sources" \
-H "Authorization: Api-Key $API_KEY" \
-F "audio=@sample.wav" \
--form-string "requestId=$REQUEST_ID" \
--form-string "presetId=prosody_meaning" \
-o source.json
jq '{recordingId: .id, presetId: "prosody_meaning", startMs: 0,
endMs: ([.duration_ms, 120000] | min), evidenceMode: "none",
instructions: "Укажи смысловые акценты и альтернативные прочтения."}' \
source.json > request.json
curl --fail-with-body -sS "https://speech-expert.ru/api/creator-research/preview" \
-H "Authorization: Api-Key $API_KEY" \
-H "Content-Type: application/json" \
--data-binary @request.json -o preview.json
jq '.billing' preview.json
Загрузка возвращает id сохранённого источника и duration_ms. Пример выбирает
первые 120 секунд или всю запись, если она короче. Все границы API — целые
миллисекунды. Предварительная проверка не вызывает модель анализа; источник
к этому моменту уже находится в архиве.
Проверьте стоимость billing.credits. Если она подходит, добавьте именно её
в maxCredits и выполните платный анализ. Если тариф между проверкой и
запуском повысится выше этого лимита, сервер отклонит запуск.
jq --slurpfile preview preview.json \
'. + {maxCredits: $preview[0].billing.credits}' request.json > analyze.json
curl --fail-with-body -sS "https://speech-expert.ru/api/creator-research/analyze" \
-H "Authorization: Api-Key $API_KEY" \
-H "Content-Type: application/json" \
--data-binary @analyze.json -o result.json
/analyze отвечает после завершения обработки и может занимать несколько минут.
При обрыве соединения сначала проверьте историю
GET /api/creator-research/recordings/{id}/results с тем же API-ключом;
не повторяйте платный POST автоматически.
Пример тела A/B-сравнения¶
Загрузите A и B двумя запросами /sources, каждый со своим REQUEST_ID
и presetId=tts_ab_quality. Оба файла используются целиком: длительность
каждого должна быть больше нуля и не превышать 120 000 мс.
Ниже — структура request.json для двух условных источников. Замените
UUID их реальными id, а endMs и comparisonEndMs — точными целыми
duration_ms из соответствующих ответов /sources.
{
"recordingId": "00000000-0000-4000-8000-000000000001",
"comparisonRecordingId": "00000000-0000-4000-8000-000000000002",
"presetId": "tts_ab_quality",
"startMs": 0,
"endMs": 12000,
"comparisonEndMs": 13500,
"pairId": "demo-pair-1",
"targetText": "Точный исходный текст, который должны произнести оба варианта.",
"speechContext": "Русская речь, нейтральная информационная подача.",
"evidenceMode": "none"
}
Передайте это тело в /preview. После проверки стоимости добавьте
maxCredits из этого ответа preview.billing.credits тем же вызовом jq,
что выше, и отправьте полученный analyze.json в /analyze. Цена учитывает
оба клипа; оценка модели субъективная и не является измеренным MOS.
Готовые формы с проверкой лимита и скачиванием отчётов доступны в шаблонах n8n для исследования и сравнения TTS.
Структура результатов и ограничение контекста¶
Акустика сохраняется как версия speech_acoustics, исследование — как отдельный производный результат со своими версиями. В API доступны идентификаторы записи и версии, параметры, время создания, полезная нагрузка и сведения о происхождении данных.
Основные поля ответа модели исследования: description, findings, hypotheses, shorts_angles, limitations. У наблюдений могут быть start_s, end_s, sources, certainty; эти таймкоды выражены в секундах от начала фрагмента.
Пресет tts_ab_quality («Качество синтезированной речи · A/B») использует отдельную схему subjective_model_audio_review: два элемента clips с оценками 1–5 или null, услышанным текстом, ошибками, ограничениями и итоговым предпочтением. Он подходит для любого языка. Диалект оценивается только при явно указанном варианте речи и слышимых диагностических признаках. Пояснения возвращаются на русском, транскрипты — на языке аудио. Это субъективная оценка модели, не измеренный MOS.
В этом пресете загрузите A и B отдельно, каждый целиком продолжительностью больше нуля и до 120 секунд; для /sources укажите presetId=tts_ab_quality. Запрос /analyze дополнительно принимает comparisonRecordingId, comparisonEndMs, pairId, targetText и необязательное speechContext; recordingId/endMs относятся к A, обе начальные границы равны нулю. Оба источника проверяются до списания, анализаторы не передаются, стоимость считается по суммарной длительности. История привязана к A. Таймкоды ошибок приблизительны и относительны каждому варианту, а не общей шкале.
Общий сериализованный контекст сохранённых наблюдений ограничен 48 000 символов JSON; первичная выборка ограничена 240 элементами. При превышении объёма списки сокращаются, а часть данных исключается с пометкой. Акустическая сводка отдельно ограничена 6000 символами. Поэтому расширенный режим означает релевантный ограниченный контекст, а не передачу всего архива анализаторов.
Параллельность, ожидание и восстановление¶
Один аккаунт не должен запускать несколько одновременных исследований в одном процессе API. Второй конфликтующий запрос получает 409. Подготовка аудио ограничена двумя параллельными операциями на процесс; если слот не освободился за время ожидания, возвращается 429.
Тайм-аут обращения к Google по умолчанию составляет 240 секунд. Скачивание исходника и предварительная подготовка аудио в этот срок не входят. Автоматической смены провайдера или повторной генерации ответа при ошибке нет.
При аварийном завершении процесса освобождение оставшихся резервов выполняет механизм сверки: по умолчанию TTL резерва — 4 часа, периодическая проверка — каждые 5 минут, также сверка выполняется при старте API. Этот случай отличается от обычной обработанной ошибки с освобождением резерва.