🌙 Luna 1.0 (PLAYEPERORIU/Luna-1.0)

Luna 1.0 — готовая компактная двуязычная (русский + английский) мультимодальная сборка формата Hugging Face, объединяющая диалоговую языковую модель и готовые нейросетевые структуры синтеза речи и аудио в одном самодостаточном пакете (~932 МБ в .zip).

Модель ведёт осмысленный диалог на русском и английском языках, автоматически определяет язык собеседника, корректно произносит числа и смешанный RU/EN текст (code-switching), поддерживает 6 голосовых и атмосферных пресетов и сохраняет готовые ответы в 16-bit PCM WAV без внешних системных зависимостей (ffmpeg и espeak-ng не требуются).


✨ Архитектура и состав сборки

Компонент Базовая структура Параметры Формат весов Назначение
Ядро диалога (Root LLM) Qwen/Qwen2.5-0.5B-Instruct 494.0M bfloat16 (model.safetensors) Двуязычный чат (RU / EN), инструкции, рассуждения
Русский синтез речи (audio_ru/) facebook/mms-tts-rus (VitsModel) 36.3M float16 → fp32 runtime Нейросетевой синтез русской речи (16 кГц)
Английский синтез речи (audio_en/) facebook/mms-tts-eng (VitsModel) 36.3M float16 → fp32 runtime Нейросетевой синтез английской речи (16 кГц)
Аудио-движок и DSP (luna_audio_fx.py) Процедурный синтез + мастеринг — float32 (numpy) 6 пресетов тембра, аккорды Luna, космический эмбиент, SFX
Итого в пакете Luna 1.0 Unified HF Bundle 566.6M Safetensors + WAV Распакованный: ~1151 МБ / ZIP: ~932 МБ

Дата сборки: 2026-10-22.


📂 Что внутри архива luna-1.0-huggingface.zip

luna-1.0/
├── config.json                  # Конфиг Qwen2 + auto_map для единого класса LunaModel
├── model.safetensors            # Веса диалогового ядра (RU/EN)
├── generation_config.json       # Настройки генерации текста
├── preprocessor_config.json     # Конфигурация аудиосигнала (16 kHz PCM16)
├── tokenizer.json               # Быстрый токенизатор Hugging Face
├── tokenizer_config.json        # ChatML-шаблон диалога
├── vocab.json / merges.txt      # Словарь BPE
├── configuration_luna.py        # HF-конфигурация LunaConfig
├── modeling_luna.py             # Единая модель LunaModel (chat + speak + chat_and_speak + SFX)
├── luna_text_norm.py            # Нормализация чисел, Markdown и RU↔EN code-switching
├── luna_audio_fx.py             # Голосовые профили, эмбиент-пэды, аккорды и запись WAV
├── audio_ru/                    # Готовый чекпойнт VitsModel для русского языка
├── audio_en/                    # Готовый чекпойнт VitsModel для английского языка
├── voices/presets.json          # 6 пресетов голоса и атмосферы
├── examples/                    # Готовые демо-аудиофайлы (.wav) + примеры промптов
├── luna_cli.py                  # Консольный голосовой ассистент и TTS-утилита
├── app.py                       # Веб-студия на Gradio (готова для Hugging Face Spaces)
├── upload_to_hf.py              # Загрузка модели в свой аккаунт Hugging Face одной командой
├── requirements.txt             # Зависимости Python
├── LICENSE                      # Условия лицензирования и атрибуция весов
├── luna_manifest.json           # Метаданные сборки и контрольная сводка
└── SHA256SUMS                   # SHA-256 хеши всех файлов пакета

🚀 Быстрый старт (Python / Hugging Face transformers)

1. Полный режим «Чат + Озвучка ответа» (LunaModel)

from transformers import AutoModel

luna = AutoModel.from_pretrained("./luna-1.0", trust_remote_code=True)

# Диалог на русском + мгновенный синтез ответа в WAV
ru = luna.chat_and_speak(
    "Привет, Луна! Расскажи коротко, что ты умеешь.",
    voice="luna_warm",
    wav_path="answer_ru.wav",
)
print("RU:", ru.text)
print(f"Saved {ru.wav_path} ({ru.duration_sec}s)")

# Диалог на английском с космическим эмбиент-фоном
en = luna.chat_and_speak(
    "Hello Luna! Share one cool fact about the Moon.",
    voice="luna_ambient",
    wav_path="answer_en.wav",
)
print("EN:", en.text)

# Прямая двуязычная озвучка (RU + EN в одной фразе!)
bi = luna.speak(
    "Привет! Я модель Luna 1.0. And I switch between Russian and English smoothly!",
    voice="luna_energetic",
    wav_path="bilingual.wav",
)

2. Стандартная загрузка без trust_remote_code (чистый текстовый режим)

Так как корневой чекпойнт полностью совместим с Qwen2ForCausalLM, модель открывается в любых стандартных инструментах (transformers, vLLM, llama.cpp, LM Studio):

from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("./luna-1.0")
model = AutoModelForCausalLM.from_pretrained("./luna-1.0", dtype="auto")

3. Прямая загрузка аудиомодулей VitsModel

from transformers import AutoTokenizer, VitsModel

tts_ru = VitsModel.from_pretrained("./luna-1.0", subfolder="audio_ru")
tok_ru = AutoTokenizer.from_pretrained("./luna-1.0", subfolder="audio_ru")

🎙️ Доступные голосовые пресеты (voices/presets.json)

Пресет Темп Характер звучания
luna_warm (по умолчанию) 0.98x Мягкий тёплый голос для диалогов на русском и английском
luna_default 1.00x Сбалансированная нейтральная подача
luna_clear 0.96x Чёткая дикторская артикуляция для чтения заметок и инструкций
luna_energetic 1.10x Быстрый живой темп + фирменный приветственный аккорд Luna
luna_storyteller 0.91x Выразительный рассказчик с паузами и мягкой акустикой комнаты
luna_ambient 0.95x Голос поверх тёплого космического эмбиент-пэда + аккорд

🖥️ Запуск из командной строки и в браузере

pip install -r luna-1.0/requirements.txt

# Ответить на вопрос и сохранить озвучку в WAV:
python luna-1.0/luna_cli.py "Привет! Почему небо голубое?" --out sky_ru.wav

# Интерактивный голосовой чат в терминале:
python luna-1.0/luna_cli.py --interactive

# Веб-студия Gradio (Чат + TTS + Звуковые эффекты):
pip install gradio
python luna-1.0/app.py

☁️ Загрузка на ваш Hugging Face

HF_TOKEN=hf_ваш_токен python luna-1.0/upload_to_hf.py --repo-id ваш-логин/Luna-1.0

🎧 Встроенные демо-записи (examples/)

Файл Режим Язык Голос Длительность
examples/demo_ru_chat.wav chat_and_speak ru luna_warm 10.288s
examples/demo_en_chat.wav chat_and_speak en luna_warm 8.437s
examples/demo_bilingual_tts.wav bilingual_tts ru+en luna_energetic 12.168s
examples/demo_lunar_ambient.wav ambient_tts ru luna_ambient 11.932s
examples/luna_chime.wav audio_fx sfx chime 1.22s

⚠️ Ограничения и лицензия

  • Диалоговое ядро основано на компактной модели 0.5B параметров (Qwen/Qwen2.5-0.5B-Instruct, лицензия Apache-2.0): оно быстро работает даже на обычном CPU, но может ошибаться в сложных фактах и математике.
  • Модули синтеза речи основаны на facebook/mms-tts-rus и facebook/mms-tts-eng (лицензия CC-BY-NC-4.0 — некоммерческое использование с указанием авторства). Интеграционный код Luna 1.0 распространяется под лицензией Apache-2.0.
Downloads last month
13
Safetensors
Model size
36.3M params
Tensor type
F16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for openmodelai/Luna-1.0-Audio

Finetuned
(1102)
this model