ГлавнаяБлог → Как расшифровать аудио прямо из терминала

Как расшифровать аудио прямо из терминала

Опубликовано 2026-08-20 · 4 мин чтения

Иногда писать программу незачем: нужно разобрать десяток записей и забыть. Терминал справляется с этим лучше любого приложения — один вызов curl превращает файл в текст, а короткий скрипт обрабатывает всю папку.

Один файл

curl https://voicesscribe.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $VS_KEY" \
  -F file=@call.ogg \
  -F model=whisper-1

Ответ приходит в JSON. Чтобы получить только текст, пропустите его через jq:

curl -s https://voicesscribe.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $VS_KEY" \
  -F file=@call.ogg -F model=whisper-1 | jq -r .text

Ключ держите в переменной окружения: команды с ключом в тексте оседают в истории оболочки и попадают в логи.

Другие форматы ответа

Поле response_format задаёт вид результата прямо в запросе:

# готовые субтитры сразу в файл
curl -s https://voicesscribe.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $VS_KEY" \
  -F file=@lecture.ogg -F model=whisper-1 \
  -F response_format=srt -o lecture.srt

# чистый текст без обёртки JSON
curl -s https://voicesscribe.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $VS_KEY" \
  -F file=@note.ogg -F model=whisper-1 \
  -F response_format=text

Вся папка одним скриптом

#!/bin/bash
set -euo pipefail

for f in recordings/*.ogg; do
  out="${f%.ogg}.txt"
  [ -f "$out" ] && continue
  echo "обрабатываю $f"
  curl -s --fail-with-body https://voicesscribe.com/v1/audio/transcriptions \
    -H "Authorization: Bearer $VS_KEY" \
    -F file=@"$f" -F model=whisper-1 \
    | jq -r .text > "$out"
done

Проверка на существующий файл делает скрипт повторяемым: прерванный запуск продолжится с того места, где остановился, и уже обработанные записи не будут оплачены дважды.

Диагностика

Флаг --fail-with-body заставляет curl вернуть ненулевой код и показать тело ошибки — без него скрипт молча запишет в файл текст ошибки вместо расшифровки. Полезные приёмы:

Попробуйте на своих записях. Регистрация занимает минуту, бесплатных минут хватает, чтобы оценить качество.

Получить ключ бесплатно

Частые вопросы

Нужен ли jq?

Не обязательно: без него в файл попадёт JSON целиком. Либо запросите response_format=text и получите чистый текст сразу.

Как не потерять ключ в истории команд?

Держите его в переменной окружения или в файле с ограниченными правами, который подгружается в оболочку.

Скрипт останавливается на первой ошибке — как продолжить?

Уберите set -e или оберните вызов в проверку кода ответа, записывая проблемные файлы в отдельный список для повторного прогона.

Работает ли это в Windows?

Да, в PowerShell есть curl.exe, а синтаксис флагов тот же. Для скриптов удобнее WSL или Git Bash.

Читайте также