Microsoft/VibeVoice

Microsoft/VibeVoice


Microsoft/VibeVoice. VibeVoice — это аудиомодель Microsoft в стиле Whisper для преобразования речи в текст, лицензированная MIT и со встроенной в модель диаризацией говорящего.

Microsoft выпустила его 21 января 2026 года, но я не пробовал его до сегодняшнего дня. Вот однострочник для запуска его на Mac с помощью uvmlx-audio (от Prince Canuma) и преобразование MLX mlx-community/VibeVoice-ASR-4bit объемом 5,71 ГБ модели VibeVoice-ASR объемом 17,3 ГБ, в данном случае против загруженной копии моего недавнего выступления в подкасте с Ленни Рачицким:

uv run --with mlx-audio mlx_audio.stt.generate \
  --model mlx-community/VibeVoice-ASR-4bit \
  --audio lenny.mp3 --output-path lenny \
  --format json --verbose --max-tokens 32768

Microsoft/VibeVoice

Инструмент сообщил:

Processing time: 524.79 seconds
Prompt: 26615 tokens, 50.718 tokens-per-sec
Generation: 20248 tokens, 38.585 tokens-per-sec
Peak memory: 30.44 GB

Итак, это 8 минут 45 секунд на час аудио (при работе на MacBook Pro M5 Max емкостью 128 ГБ).

Я проверил это на .wav и .mp3 файлы, и они оба работали нормально.

Если вы опустите --max-tokens по умолчанию установлено значение 8192, чего достаточно примерно для 25 минут звука. Я обнаружил это методом проб и ошибок и увеличил его в четыре раза, чтобы гарантировать, что получу полный час.

Эта команда сообщила об использовании 30,44 ГБ ОЗУ на пике, но в Activity Monitor я заметил использование 61,5 ГБ на этапе предварительного заполнения и около 18 ГБ на этапе генерации.

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

{
  "text": "And an open question for me is how many other knowledge work fields are actually prone to these agent loops?",
  "start": 13.85,
  "end": 19.5,
  "duration": 5.65,
  "speaker_id": 0
},
{
  "text": "Now that we have this power, people almost underestimate what they can do with it.",
  "start": 19.5,
  "end": 22.78,
  "duration": 3.280000000000001,
  "speaker_id": 1
},
{
  "text": "Today, probably 95% of the code that I produce, I didn't type it myself. I write so much of my code on my phone. It's wild.",
  "start": 22.78,
  "end": 30.0,
  "duration": 7.219999999999999,
  "speaker_id": 0
}

Поскольку это массив объектов, мы можем открыть его в Datasette Lite, что упрощает просмотр.

Забавно, что в представлении Datasette Lite показаны три динамика: он идентифицировал Ленни и меня для разговора, а затем отдельный Ленни для голоса, который он использовал для дополнительного вступления и спонсора!

VibeVoice может обрабатывать аудио продолжительностью не более часа, поэтому при выполнении приведенной выше команды расшифровывается только первый час подкаста. Чтобы расшифровать больше, вам нужно будет разделить аудио, в идеале с перекрытием в минуту или около того, чтобы избежать ошибок из-за частично транскрибированных слов в точке разделения. Затем вам также потребуется выровнять идентифицированные идентификаторы говорящих по нескольким сегментам.



Source link

Postagens Similares

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *