
Пример Whisper на JavaScript: речь в текст с Node.js
Eric King
Author
Пример Whisper на JavaScript: речь в текст с Node.js
Whisper — мощная модель преобразования речи в текст, широко используемая для голоса в текст, транскрипции аудио и распознавания длинной речи.
В этой статье вы узнаете, как использовать Whisper с JavaScript (Node.js), чтобы превращать аудиофайлы в текст.
В этой статье вы узнаете, как использовать Whisper с JavaScript (Node.js), чтобы превращать аудиофайлы в текст.
Это руководство подойдёт:
- Разработчикам, которые создают функции речи в текст
- SaaS-продуктам с транскрипцией аудио
- Всем, кто ищет пример Whisper на JavaScript
Что такое Whisper?
Whisper — модель автоматического распознавания речи (ASR), которая может:
- Транскрибировать речь в текст
- Автоматически определять язык речи
- Обрабатывать длинные аудиофайлы
- Хорошо работать с зашумлёнными записями
Его обычно используют для:
- Подкастов
- Встреч
- Интервью
- Субтитров к видео
Что понадобится
Перед началом убедитесь, что у вас есть:
- Node.js 18+
- Аудиофайл (
mp3,wav,m4aи т. д.) - API-ключ для речи в текст (совместимый с Whisper)
Установите зависимости:
npm install openai
Базовый пример Whisper на JavaScript
Ниже — минимальный пример на Node.js, который отправляет аудиофайл в Whisper и возвращает транскрипцию.
Структура проекта
project/
├─ audio/
│ └─ sample.mp3
├─ transcribe.js
└─ package.json
Код JavaScript: аудио в текст
import fs from "fs";
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: process.env.OPENAI_API_KEY
});
async function transcribeAudio() {
const response = await openai.audio.transcriptions.create({
file: fs.createReadStream("./audio/sample.mp3"),
model: "whisper-1"
});
console.log("Transcription result:");
console.log(response.text);
}
transcribeAudio();
Запуск скрипта
node transcribe.js
Пример вывода:
Hello everyone, welcome to today’s meeting. We will discuss the project timeline.
Транскрипция длинных аудиофайлов
Whisper хорошо справляется с длинными записями, например:
- Подкасты
- Лекции
- Интервью
Для очень больших файлов обычно рекомендуют:
- Разбивать аудио на фрагменты
- Транскрибировать асинхронно
- Затем объединять результаты
Временные метки (по желанию)
Некоторые системы на базе Whisper поддерживают временные метки на уровне предложения или слова.
Это полезно для:
Это полезно для:
- Субтитров (SRT / VTT)
- Монтажа видео
- Поиска по транскриптам
Пример формата вывода:
[00:00:01] Hello everyone
[00:00:05] Welcome to today’s meeting
Поддерживаемые аудиоформаты
Whisper поддерживает большинство распространённых форматов:
- MP3
- WAV
- M4A
- MP4
- WEBM
Для лучшей точности:
- Используйте чистое аудио
- Избегайте сильного фонового шума
- Предпочитайте WAV или MP3 с высоким битрейтом
Типичные сценарии использования
- Речь в текст для встреч
- Транскрипция подкастов
- Субтитры для видео на YouTube
- Транскрипция интервью
- Транскрипция для исследований и учёбы
Whisper и другие инструменты речи в текст
| Возможность | Whisper |
|---|---|
| Длинное аудио | ✅ |
| Многоязычность | ✅ |
| Открытая модель | ✅ |
| Поддержка JavaScript | ✅ |
| Временные метки | ✅ |
Whisper особенно силён в длинной речи в текст по сравнению со многими решениями только в реальном времени.
Заключение
Этот пример Whisper на JavaScript показывает, как просто добавить речь в текст с помощью Node.js.
Всего несколько строк кода — и вы можете точно транскрибировать аудиофайлы и масштабировать это для реальных задач.
Всего несколько строк кода — и вы можете точно транскрибировать аудиофайлы и масштабировать это для реальных задач.
Если вы создаёте SaaS для речи в текст, Whisper — надёжная основа для:
- Транскрипции длинного аудио
- Многоязычной речи в текст
- Транскриптов с временными метками
