Ralomi

日本語の音声をひらがなに変換する、約205万パラメータの軽量な音声認識モデルです。

マイコン・組み込み機器(ESP32-S3等)での音声認識を目指して開発しています。

A lightweight Japanese speech recognition model targeting microcontrollers, embedded systems, and edge devices.

無料デモで試す →

モデルの仕様

項目 内容
バージョン 1.0.0(正式版)
入力 16kHzモノラル音声、0.1〜15秒
出力 正規化したひらがな。漢字変換・句読点・話者識別は非対応
形式 FP32 ONNX(約8.3MB)。ESP32-S3用は16bit量子化した.espdl(約4.3MB)
学習 ReazonSpeech約10,000時間でスクラッチ学習した990k step版

ONNXはlog-Mel特徴量を入力します。下記のPythonコードが音声の変換・特徴抽出・認識をまとめて処理します。

Pythonで使う

python -m pip install huggingface_hub
hf download ayousanz/ralomi --local-dir ralomi-model
python -m pip install -r ralomi-model/requirements.txt
python ralomi-model/inference.py --model-directory ralomi-model sample.wav

Python版は8〜192kHzのモノラル/ステレオ音声を16kHzへ変換します。長い音声は15秒以内の発話単位に分割してください。

ESP32-S3(M5Stack CoreS3)で使う

M5Stack CoreS3に1ファイルを書き込むと、画面をタッチして4秒話すだけで、ひらがなが画面に表示されます。PCやネットワークは不要です。

python -m pip install esptool huggingface_hub
hf download ayousanz/ralomi esp32s3/ralomi_cores3_w16a16_stream100.bin --local-dir .
esptool --chip esp32s3 --port COM3 --baud 921600 write-flash 0x0 esp32s3/ralomi_cores3_w16a16_stream100.bin

COM3は接続したポートに置き換えてください。書き込むとボードのflash全体が上書きされます。ESP-PPQで16bit量子化(W16A16)したモデルは、Common Voice 8.0・ReazonSpeech各300件でFP32との差が0.5ポイント以内でした。音声を1秒ずつ区切って録音しながら認識するため、話し終えてから約0.5秒で結果が出ます。8bit量子化(W8A8・W8A16)は精度が大きく下がるため採用していません。

モデル(.espdl)、firmwareのソースとビルド方法、同梱ソフトウェアのライセンスはesp32s3/にあります。

評価と制限

評価集合 Kana CER(低いほど良い)
Validation(1,319件) 21.03%
Clean開発診断(316件) 25.28%

正規化ひらがなの文字誤り率です。Cleanは開発用の評価で、独立した最終testではありません。

ライセンス・出典

モデルの重みと推論コードはApache-2.0です。NOTICEも参照してください。

学習データ:ReazonSpeech v2/OpenSLR SLR28(ノイズ)。

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train ayousanz/ralomi

Space using ayousanz/ralomi 1