Views
No views yet
1import {
2 MoonshineForConditionalGeneration,
3 AutoProcessor,
4 AutoTokenizer,
5} from '@huggingface/transformers';
6
7const MODEL_ID = 'wmoto-ai/moonshine-tiny-ja-ONNX';
8
9const [model, processor, tokenizer] = await Promise.all([
10 MoonshineForConditionalGeneration.from_pretrained(MODEL_ID, { dtype: 'fp32' }),
11 AutoProcessor.from_pretrained(MODEL_ID),
12 AutoTokenizer.from_pretrained(MODEL_ID),
13]);
14
15// audioData: Float32Array (16kHz, mono)
16const inputs = await processor(audioData);
17const outputs = await model.generate({ ...inputs, max_new_tokens: 64 });
18const text = tokenizer.decode(outputs[0], { skip_special_tokens: true });attention_mask 入力を削除(Transformers.js互換のため内部生成に変更)1@misc{king2025flavorsmoonshinetinyspecialized,
2 title={Flavors of Moonshine: Tiny Specialized ASR Models for Edge Devices},
3 author={Evan King and Adam Sabra and Manjunath Kudlur and James Wang and Pete Warden},
4 year={2025},
5 eprint={2509.02523},
6 archivePrefix={arXiv},
7 primaryClass={cs.CL},
8 url={https://arxiv.org/abs/2509.02523}
9}