YujiYamaguchi/dialect-to-standard-ja-speech
Viewer • Updated • 2.6k • 32
How to use YujiYamaguchi/lfm25-audio-jp-dialect-audio2audio-lora with PEFT:
Task type is invalid.
Hack the Liquid WAY 2026 — Track 2 / チーム山口
LFM2.5-Audio-1.5B-JP を LoRA fine-tune した、 方言音声(関西弁・熊本弁)→ 標準語「テキスト+音声」を同時に直接生成するアダプタです。
lfm25-audio-jp-dialect-lora
(方言音声→標準語テキストのみ)の発展版で、こちらは ASR + LLM + TTS の3段構成を介さず、
1モデル・1推論で方言音声から標準語の音声をそのまま生成します(外部TTSエンジン不使用、
モデル自身の声で出力)。
学習objectiveが異なる(テキストのみ vs テキスト+8系統のMimiオーディオコードブック)ため val_lossの絶対値は直接比較できないが、参考として:
| モデル | 出力形式 | val_loss | テキスト成分CER |
|---|---|---|---|
| lora_convert_v4 (既存・採用) | テキストのみ | 0.934(収束) | 0.40 |
| lora_audio2audio_full_v1 (このアダプタ) | テキスト+音声を同時生成 | 1.6966 → 1.3572(単調減少、改善継続中) | 0.362 |
→ 音声出力を同時に行っても、より複雑な複合タスクで安定して収束し、テキスト精度も劣化しない。
生成音声の品質を独立ASRで定量検証(自前のモデルで判定すると測定方法自体に偏りが出るため、
学習に一切使用していない第三者ASR kotoba-whisper-v2.1 で検証):
import torch
import json
from pathlib import Path
from peft import LoraConfig, get_peft_model
import safetensors.torch as st
from liquid_audio import LFM2AudioModel, LFM2AudioProcessor, ChatState
from huggingface_hub import snapshot_download
# アダプタのダウンロード
adapter_dir = snapshot_download("YujiYamaguchi/lfm25-audio-jp-dialect-audio2audio-lora")
# モデルロード
MODEL_ID = "LiquidAI/LFM2.5-Audio-1.5B-JP"
processor = LFM2AudioProcessor.from_pretrained(MODEL_ID)
model = LFM2AudioModel.from_pretrained(MODEL_ID, device="cuda", dtype=torch.bfloat16)
# LoRA 適用
cfg = json.loads(Path(adapter_dir, "adapter_config.json").read_text())
lora_cfg = LoraConfig(
r=cfg["r"], lora_alpha=cfg["lora_alpha"],
target_modules=cfg["target_modules"],
lora_dropout=cfg.get("lora_dropout", 0.05),
)
model = get_peft_model(model, lora_cfg)
weights = st.load_file(str(Path(adapter_dir, "adapter_model.safetensors")))
model.load_state_dict(weights, strict=False)
model.eval()
# 推論: generate_interleaved でテキストと音声を交互に同時生成
# (詳細は eval_audio2audio_full.py の predict() を参照)
詳細は GitHubリポジトリ を参照。
federerjiang/dialect.osaka +
federerjiang/dialect.kumamotoInterleavedSegment(テキストと音声フレームを交互配置する専用データ型)として
generate_interleaved の出力パターンと一致する形式で学習データに格納(鍵となる工夫)YujiYamaguchi/dialect-to-standard-ja-speechBase model
LiquidAI/LFM2-1.2B