Voice stuff
Kanalga Telegram’da o‘tish
Канал про голосовые технологии. Чат группы @voice_stuff_chat Здесь говорят про свежие подходы и решения в областях распознавания и синтеза речи, голосовой биометрии и про машинное обучение в целом. Контакт: @frappuccino_o
Ko'proq ko'rsatish1 704
Obunachilar
-124 soatlar
+57 kunlar
+4130 kunlar
Postlar arxiv
1 703
+1
Боты атакуют репозитории так быстро что даже можно не разрабатывать ничего самостоятельно, а просто issues писать.
Вот такой агентушка залетел на мою.
1 703
Yodas великолепен
вот это вот аудиозапись, а вот аннотация к нему:
{"id": "33481", "video_id": "yfB-zh3UodU", "duration": 1099.0999755859375, "utterances": {"utt_id": ["yfB-zh3UodU-00000-00001122-00001322"], "text": ["http://land.sm-tinibayevy.com/strojnost_web/?utm_source=youtube&utm_medium=video&utm_campaign=seriya_web_wes Интенсив \"Исцеляющие Сознание\" - это авторская инновационная методика психологической коррекции тела и сознания на дальних границах ума, на тонких планах, в процессе которой происходит изменение организма на клеточном уровне! Это то, что мне нужно! Больше, чем просто метод. Легенда! Призван вдохновить людей и вывести их за пределы ограниченной жизни. Испытан на практике. За 3 года уже более 4000 человек получили свои результаты. Это мощный инструмент по избавлению от каждодневных проблем (болезни, безденежье, карьерного роста, одиночество, отношение, похудение) Это ваш личный компас и помощник на каждый день!"], "start": [11.220000267028809], "end": [13.220000267028809]}}
как мы видим, они не совпадают друг с другом.
Даже более того, там аудиозапись 13 минут, и из них 90% тишины.
Я не то чтобы жалуюсь - я в курсе что там аннотации весьма условные и что обрабатывать непереобрабатывать там.. Просто ржу с контента.1 703
Repost from Разработки Теры
Всем привет ребятки, выложил тут датасет с ютуба, сделан через пайплайн FireRed Vad -> двойной гигаам с мерджингом (пунктуация из е2е и текст из обычной) -> алайн через квен алайн -> отчистка через clearer voice
Данные в формате опус, 48khz, mono, один спикер, у каждого опус файла есть txt файл с текстом аудио, в метадате данные в формате путь||текст(с ударениями)||время аудио в секундах
https://huggingface.co/datasets/TeraTTS/betterset
1 703
Как обучить Аудио LLM по цене Macbookа
Наконец-то опубликовали записи с DataFest с первого из двух выходных (я был в первом).
Пока что предлагаю посмотреть доклад Саши Николича (он же Alex Wortega), автор канала @lovedeathtransformers
https://www.youtube.com/watch?v=LMoEKaGyeXM&list=PLJOzdkh8T5kqjX7UpdyqHFzWobpX9SPEk&index=1&t=17s
1 703
Новая версия русской нормализации
Я заметил что моя трёхлетняя репа с нормализацией для русского TTS набрала аж 29 лайков. Я решил натравить на неё claude autoresearch чтобы она справилась с известным сетом нормализации
https://www.kaggle.com/competitions/text-normalization-challenge-russian-language
И за несколько часов она мне выдала уже гораздо более полный сет для нормализации.
Конечно же, это всё ещё rule-based, всё на regex поэтому там никаких склонений, спряжений и других словообразований.
Но зато, там теперь есть даты, там есть время, есть аббревиатуры, акронимы, единицы измерения и чуть более полная поддержка числительных, а также словари.
Конечно же это не прод, но зато тут только один импорт, три файла, два из которых - словари и непобедимая скорость.
На картинке точность версии 1.0 против новой.
Классы LETTERS, TELEPHONE и ELECTRIC можете сами посмотреть - уверен, вам такая нормализация, как в трейн сете том, не нужна.
Claude Fable (царство ей небесное) справилась даже с тем чтобы вы могли сделать вот так:
pip install rutextnorm
а потом вот так:
from rutextnorm import normalize_russian
text = """У меня есть $1234 и 5678 рублей. Кроме того, я должен 90.50€ и взял в долг 4321 GBP.
В моем кошельке было 876 UAH и 543.21 RUB, а также я нашел 20 центов."""
normalized_text = normalize_russian(text)
print(normalized_text)
он напишет вот это:
У меня есть тысяча двести тридцать четыре доллара и пять тысяч шестьсот семьдесят восемь рублей. Кроме того, я должен девяносто евро пятьдесят евроцентов и взял в долг четыре тысячи триста двадцать один фунт. В моем кошельке было восемьсот семьдесят шесть гривен и пятьсот сорок три рубля двадцать одна копейка, а также я нашёл двадцать центов.Пользуйтесь и ставьте лайки! https://github.com/shigabeev/russian_tts_normalization
1 703
Repost from Aparin
+4
Whisper Hallucination Detection and Mitigation via Hidden Representation Steering and Sparse AutoEncoders
Модель распознавания речи Whisper страдает от "галлюцинаций" на неречевых аудио. Галлюцинации в данном контексте понимаются как связанный текст, распознанный на аудио без речи. То есть этот текст грамматически верен, но не имеет с аудио ничего общего. Это следствия методики обучения этой модели: использовалось большое количество слабо размеченных аудио. Например для аудиодорожек с ютуба текстовым таргетом были их субтитры. Так, например, на шумных фрагментха при зафиксированном русском языке эта модель распознаёт "Субтитры сделал DimaTorzok", что является авторской маркой, вставляемой в конце фильма в субтитры, когда на аудио дорожке уже нет речи. До недавнего времени распознавание голосовых сообщений в телеграме также было подвержено проблеме таких галлюцинаций, вероятно использовалась именно эта модель
Статья является продолжением исследования AudioSAE, я использовал те же предобученные SAE, веса которые не так давно были выложены
У Whisper уже есть встроенный механизм фильтрации галлюцинаций. Считаются две скалярные величины: no_speech_prob (вероятность специального токена <|nospeech|>) и avg_logprob (средний logprob сгенерированных токенов). Таким образом текст на аудио считается пустым, если no_speech_prob > 0.6 или avg_logprob < -1.0. На практике этот эвристический фильтр работает плохо (см. рис. 1). Мы также используем эти два параметра для определения галлюцинаций среди неречевых аудио. Для речевых аудио мы инвертируем логическое условие, ведь на них модель как раз таки должна быть и уверена (низкий логпроб), и предсказывать низкую вероятность токена <|nospeech|>. То есть ставится задача понизить средний логпроб на токенах генерации и повысить no_speech_prob для неречевых аудио, при это сохранив метрики распознавания речи на аудио с речью
Стиринг производился на активациях резидуал стрима между трансформер блоками аудио энкодера. В качестве бейзлайна был взят CAA метод стиринга, который на инференсе прибавляет к активациям стиринг-вектор, посчитанный как разность между центроидами кластеров активаций двух классов (негаллюцинации минус галлюцинации) с некоторым коэффициентом. Для стиринга SAE сначала выбираются репрезентативные фичи, которые с точки зрения классификации имеют максимальную по модулю важность, а на инференсе к этим фичам прибавляется их средняя активация на тренировочном неречевом датасете, умноженная также на некоторый коэффициент. Стоит отметить что фичи SAE, которые имеют отрицательную важность (при увеличении двигают классификатор к классу галлюцинаций), при стиринге уменьшались
На практике получилось что лучшее качество достигается именно с помощью стиринга небольшого количества (10-25) SAE фичей, при чём с большим отрывом от CAA
Итого на тестовом наборе датасетов удалось достичь следующего снижения галлюцинаций:
- small 72.63% → 14.11%
- large-v3 86.88% → 27.33%
Ухудшение метрик на речевых датасетах, а так же на каждом неречевом датасете по отдельности, можете посмотреть в прикреплённой таблице
Сравнивались мы со статьёй Calm-Whisper, которые зануляли атеншн хеды в декодере. Они применяли метод только для large-v3 версии на датасете UrbanSound8K, и достигли 95.98% → 24.10% галлюцинаций в постановке без дообучения с снижением WER 2.11 → 3.57 на LibriSpeech test-clean. Наш метод же снизил процент галлюцинаций до 19.88% на этом датасете при повышении WER до 3.70
Поддержать работу вы можете поставив класс на huggingface)
[arxiv]
[huggingface]
[sae_weights]
1 703
Мой open source Cream Typer голосовая диктовка для macOS, которая работает полностью офлайн на виспере.
Caps Lock → говоришь → текст вставляется куда надо. whisper.cpp на Metal GPU, ~0,4 сек на 10 секунд речи.
18 языков. Автоперевод в английский одной строкой конфига — без отдельного пайплайна.
– Всего ~ 300 строк Python.
– Никакой телеметрии.
– Можно стать ещё быстрее и продуктивнее полностью бесплатно
– Меня вдохновила - дебильная диктовка на маке ))
1 703
Langswap становится Open Source!
Как я уже много раз говорил, мы публикуем исходный код нашего перевода видео, который используется на сайте langswap.app. В коде в какой-то момент было много know-hows, но последняя итерация была больше на упрощение и на ускорение пайплайна.
Сейчас под капотом там следующее:
Сначала мы разделяем аудио на речь и фоновые звуки здесь
https://github.com/langswap-app/langswap/blob/main/langswap/ml/speech_to_text_service/speech_to_text_manager.py
Фоновые звуки (музыку, шум) нам нужно оставить как есть.
Затем с помощью whisper распознаём всё что там есть.
https://github.com/langswap-app/langswap/blob/main/langswap/ml/speech_to_text_service/asr_vad_client.py
и уточняем границы распознанного с помощью VAD. Присваиваем сегментам спикера.
Потом просим Gemma-4-E2B перевести нам всё и считаем гласные. Если сильно уехали по длине, просим гемму переделать 1-2 раза.
https://github.com/langswap-app/langswap/blob/main/langswap/ml/translation_service/translator_llamacpp_client.py
Потом, с новыми текстами, синтезируем речь через OmniVoice, используя исходный аудио сегмент как референс.
https://github.com/langswap-app/langswap/blob/main/langswap/ml/text_to_speech_service/tts_omnivoice_client.py
В конце, заменяем аудиодорожку на видео и добавляем watermark что переведено с помощью langswap и какой-то матери
https://github.com/langswap-app/langswap/blob/main/langswap/ml/ffmpeg/__init__.py
В целом, это довольно простой, казалось бы, пайплайн, но как же долго и много это раз переизобреталось, вносились новые ТТС системы, изобретались способы контроля длины речи. В последней итерации, я удалил большую часть кода, чтобы вам было проще ориентироваться и контрибьютить.
https://github.com/langswap-app/langswap
Почитать про этот перевод на forbes:
https://www.forbes.ru/tekhnologii/554358-masinal-naa-ozvucka-v-cem-zaklucautsa-problemy-ii-dublaza
Посмотреть запись выступления на DataFest можно здесь:
Спасибо что были подписаны всё это время!
1 703
Claude Fable 5
https://www.anthropic.com/news/claude-fable-5-mythos-5
Without safeguards, Fable 5’s capabilities in areas like cybersecurity could be misused to cause serious damageКак обычно. Мы делаем нашу модель безопасной, чтобы только мы могли использовать её в корыстных целях 😆
1 703
Repost from AI Product | Igor Akimov
Какой ИИ лучше всех переводит живую речь?
Как раз делал подобные сравнения сам. Sony вместе с Университетом Карнеги-Меллона прогнали кучу ИИ-шек для перевода речи (как одиночных моделей, так и воркфлоу) через единый тест и, главное, дали живым людям послушать и выбрать, где звучит лучше.
Сразу спойлер: одного победителя на все случаи нет. Но по задачам всё довольно понятно.
Если упростить, есть два подхода:
– «Всё в одном» – одна модель делает весь перевод целиком
– «Конвейер» – несколько отдельных инструментов по цепочке: сначала распознать речь, потом перевести текст, потом озвучить
Кто в чём хорош
– Когда важна точность (медицина, серьёзные разговоры) – выигрывает «конвейер». В медицинских диалогах люди выбирали его в 70% случаев: отдельный переводчик текста оказался надёжнее, чем «всё в одном». Это Whisper+Gemma3+CosyVoice
– Длинная речь и подкасты – один из «конвейеров» при переводе на английский однажды сравнялся с живым переводчиком. Это вообще единственный момент за весь тест, когда машина догнала человека. Это Voxtral+Chatterbox
– Натуральность голоса (чтобы не звучало как робот) – тут лучше модели «всё в одном» и лидер - Qwen3-Omni
– Универсальность – самый ровный результат на разных языках показала Qwen3-Omni от Alibaba. Она же единственная из «всё в одном», кто хоть где-то обошёл «конвейер».
Кто разочаровал
Seamless от Meta. И по цифрам, и по мнению людей он оказался последним – ни разу не занял первое место ни в одной задаче.
Короче, пока реального человека end-2-end переводчики не заменяют. А «конвейеры» спотыкаются на редких языках вроде корейского или хинди – там слабый «озвучиватель» тянет вниз весь результат.
🔗 arxiv.org/abs/2606.03241
1 703
Захожу я такой на свой langswap.app и вижу что бекэнд не отвечает - сайт крутится, но в лк зайти нельзя.
Начинаю копаться в чём дело - пару месяцев назад всё работало ведь.
Завожу клода, рассказываю чё да как. Он начинает копаться и находит что дело вовсе не в том что я DNS обновил недавно.
Оказывается. В сайте был телеграм бот. И так как Тг теперь недоступен в РФ, всё полетело к чёртвой бабушке!
Штош, теперь у langswap нет телеграм бота 😁
1 703
ASR benchmark
У меня раньше не было привычки сверять качество моделей со статейным, но я закупил claude max и теперь надо тратить токены.
Я потратил месяцы на то чтобы довести qwen до production в langswap, но только сейчас догадался забенчмаркать его.
Какой же слабый qwen! Я задумался может быть Gemma новая норм. Но новая гемма тоже слабовата.
Каким-то образом, whisper из 2022 всё ещё остаётся одной из точнейших open-source моделей.
1 703
Лицензии датасетов
Кто-то разбирается в лицензировании датасетов? Вот предположим, кто-то выложил данных на huggingface и написал что мол скачивать можно, а коммерчески использовать нельзя.
Сколько компаний реально напишут авторам и предложат заплатить деньги? У меня подозрение что 0, но есть и другие мнения.
Есть какие-то аргументы? Прецеденты? Кто публиковал что-то, сколько вам реально отчисляли за это?
Мне кажется что публикация работ - это работа на репутацию, которая уже может монетизироваться во время найма, поднятия инвестиций, поиска команды. Но сами по себе публичные достижения не приносят деньги, т.к. они уже публичное достояние.
Change my mind
1 703
Жду вас на DataFest в Белграде
В это воскресенье я выступаю на DataFest в Белграде. Буду рассказывать про то с какими проблемами видеодубляжа мы боролись в langswap.app и как решили их.
Полезно будет слушать тем, кто делает speech-to-speech системы, так как там в целом все похоже.
Так же аннонсирую что у langswap теперь открытый исходный код.
Расскажу про то как решали проблему несовпадающих длин речи на разных языках, как решали dependency hell, почему не используем всё новое и модное и почему опенсорсим.
Спикер Илья Шигабеев, время 17:30
https://ods.ai/events/fest2026-fon-belgrade/schedule
Доклад будет на Английском. Приходите слушать! Буду очень рад всем вам как офлайн, так и онлайн.
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
