/ Модель

Характеристики

Контекст
32 768 токенов
Параметры
1,9 млрд
Размер весов
7,4 ГБ
Архитектура
qwen3 · dense
Базовая модель
Qwen3-1.7B-Base
Библиотека
transformers
Опубликована
29 сен 2025

Qwen3-1.7B-Multilingual-TTS

Генерация текстаТекст → текст3 профессии

Дообученная модель Qwen3 для многоязычного синтеза речи и преобразования голоса с декодированием аудиотокенов через NeuCodec.

520скачиваний за 30 дней11лайковвеса обновлены4 мар 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Qwen3-1.7B-Multilingual-TTS — дообученная командой Malaysia AI языковая модель на базе Qwen/Qwen3-1.7B-Base, предназначенная для синтеза речи и преобразования голоса на нескольких языках. Модель генерирует аудиотокены, которые декодируются с помощью NeuCodec в речь с частотой дискретизации 24 кГц; заявленная скорость декодирования кодека — 50 токенов в секунду. В репозитории указано обучение на наборах для многоязычного TTS и преобразования голоса с несколькими дикторами.

Модель построена на архитектуре Qwen3ForCausalLM и содержит 1,9 млрд параметров. В карточке описаны TTS и voice conversion, однако метаданные классифицируют её как text-generation; для использования приведён пример загрузки через Transformers вместе с NeuCodec. Указан контекст 32 768 токенов в метаданных, а в README — обучение с контекстом 10 000 токенов и multipacking.

Автор оценивает качество TTS как приемлемое для версии после 0,35 эпохи, а преобразование голоса — как пока недостаточно хорошее: модель может генерировать длинные участки тишины, которые рекомендуется обрезать перед преобразованием. В README сообщается о более новой версии Scicom-intl/Multilingual-TTS-1.7B-Base. Лицензия в предоставленных данных не указана.

Сценарии применения

  • синтез речи на нескольких языках по тексту
  • генерация речи голосом выбранного диктора
  • преобразование голоса между дикторами
  • эксперименты с многоязычным TTS на базе Transformers

Ограничения

Автор отмечает, что преобразование голоса пока работает недостаточно хорошо и может создавать длинные участки тишины; перед преобразованием рекомендуется обрезать тишину во входном аудио. В README также названа более новая версия модели.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Qwen3-1.7B-Multilingual-TTS

Continue pretraining Qwen/Qwen3-1.7B-Base on Multilingual Voice Conversion and TTS.

  1. Use neucodec as speech detokenizer, 50 TPS, output in 24k sample rate.
  2. Multi-speaker multilingual Voice Conversion up to 25.5B tokens.
  3. Multi-speaker multilingual TTS up to 5B tokens.
  4. Flash Attention 3 10k context length multipacking.
  5. Liger Kernel for swiglu, rms_norm and fused_linear_cross_entropy.

WanDB at https://wandb.ai/huseinzol05/Qwen-Qwen3-1.7B-Base-multilingual-tts-neucodec

We released better version at Scicom-intl/Multilingual-TTS-1.7B-Base.

How to

import soundfile as sf
import torch
import torchaudio
from transformers import AutoTokenizer, AutoModelForCausalLM
from neucodec import NeuCodec
import re

model_name = "malaysia-ai/Qwen3-1.7B-Multilingual-TTS"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto").to('cuda')
codec = NeuCodec.from_pretrained("neuphonic/neucodec")
_ = codec.eval().to('cuda')

TTS

text = "Hello! how come I help you? 你好!有什么可以帮你的吗?வணக்கம்! நான் உங்களுக்கு எப்படி உதவுவது? Bonjour! Comment puis-je vous aider ? Xin chào! Tôi có thể giúp gì cho bạn? こんにちは!どうしてお手伝いしましょうか?안녕하세요! 어떻게 도와드릴까요?"
prompt = f"<|im_start|>jenny_tts_dataset_audio_jenny: {text}<|speech_start|>"

inputs = tokenizer(prompt,return_tensors="pt", add_special_tokens=True).to('cuda')

with torch.no_grad():
    outputs = model.generate(
        **inputs,
        max_new_tokens=2048,
        do_sample=True,
        temperature=0.6,
        repetition_penalty=1.15,
    )

generated_text = tokenizer.decode(outputs[0], skip_special_tokens=False)
audio_tokens = re.findall(r'<\|s_(\d+)\|>', generated_text.split('<|speech_start|>')[1])
audio_tokens = [int(token) for token in audio_tokens]
audio_codes = torch.tensor(audio_tokens)[None, None]

with torch.no_grad():
    audio_waveform = codec.decode_code(audio_codes.cuda())

sf.write('7-languages.mp3', audio_waveform[0, 0].cpu(), 24000)

You can check the audio 7-languages.mp3.

Voice Conversion

import librosa

y, sr = librosa.load('jenny.wav', sr = 16000)
with torch.no_grad():
    codes = codec.encode_code(torch.tensor(y)[None, None])
tokens = ''.join([f'<|s_{i}|>' for i in codes[0, 0]])
prompt = f"<|im_start|>I wonder if I shall ever be happy enough to have real lace on my clothes and bows on my caps.<|speech_start|>{tokens}<|im_end|><|im_start|>Hello, how come I help you, 你好, 有什么可以帮你的吗, வணக்கம், நான் உங்களுக்கு எப்படி உதவுவது, bonjour, comment puis-je vous aider.<|speech_start|>"

inputs = tokenizer(prompt,return_tensors="pt", add_special_tokens=True).to('cuda')

with torch.no_grad():
    outputs = model.generate(
        **inputs,
        max_new_tokens=2048,
        do_sample=True,
        temperature=0.6,
        repetition_penalty=1.15,
    )

generated_text = tokenizer.decode(outputs[0], skip_special_tokens=False)
audio_tokens = re.findall(r'<\|s_(\d+)\|>', generated_text.split('<|speech_start|>')[-1])
audio_tokens = [int(token) for token in audio_tokens]
audio_codes = torch.tensor(audio_tokens)[None, None]

with torch.no_grad():
    audio_waveform = codec.decode_code(audio_codes.cuda())

sf.write('jenny-4-languages.mp3', audio_waveform[0, 0].cpu(), 24000)

You can check the audio jenny-4-languages.mp3.

  • Not too great, we need to trim the silents first before convert to audio tokens, the model tends to generate long silents.

Source code

Source code at https://github.com/malaysia-ai/cooking/tree/main/qwen-tts

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
Qwen3ForCausalLM
Ревизия весов
d94fb47

0 моделей