File size: 9,361 Bytes
e127cbb
 
6941e04
 
e127cbb
 
6941e04
 
e127cbb
6941e04
 
 
 
e127cbb
6941e04
 
 
 
 
 
 
e127cbb
 
d5f4ecc
e127cbb
745ba00
ff07066
e133dd2
e127cbb
745ba00
e127cbb
 
 
 
 
 
 
 
 
808c123
e127cbb
2834795
 
5884ecd
2834795
e127cbb
 
808c123
 
e127cbb
 
 
384a9ae
e127cbb
 
 
 
 
 
 
 
 
 
d5f4ecc
e127cbb
 
 
 
 
 
808c123
 
e127cbb
808c123
e127cbb
 
808c123
e127cbb
 
 
 
 
 
 
808c123
 
 
 
e127cbb
 
 
 
ff07066
 
 
 
 
808c123
ff07066
2834795
 
6941e04
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
---
language:
- ja
- en
license: other
license_name: audio-jev-mixed-terms
license_link: >-
  https://huggingface.co/mocomoco-inc/AudioJev-AudioDecisionModel/blob/main/LICENSE.md
base_model:
- Qwen/Qwen3-ASR-0.6B
- laion/clap-htsat-unfused
- sbintuitions/modernbert-ja-30m
- sbintuitions/modernbert-ja-130m
tags:
- audio-jev
- audio-classification
- automatic-speech-recognition
- japanese
- on-device
- onnx
- decision-model
---

# AudioJev-AudioDecisionModel

**—— English below ——**

AudioJev-AudioDecisionModelは、音声に質問を投げると、答えを`Noul`(Yes/No)・`Choice`(選択)・`Score`(数値)の形で返すモデルです。「予約を取り消したい?」「犬の鳴き声がする?」といった質問を、同じ音声にまとめて指定できます。

[デモを試す](https://huggingface.co/spaces/mocomoco-inc/AudioDecisionModel) · [ライセンス](LICENSE.md)

## できること

予約の変更や取り消し、特定の言葉が含まれるかといった発話内容への質問に加え、音楽、動物の鳴き声、環境音についても質問できます。発話と背景音の両方が必要な場合は、それぞれのモデルの判断を組み合わせます。Cloudとブラウザ上で動くEdge AIを用意しています。

入力は0.25〜30秒の音声と、任意の文脈・質問・選択肢です。出力には質問ごとの回答、選択肢スコア、使用したexpert、ルーティング重みが含まれます。

## モデルのしくみ

質問文・文脈・選択肢を[sbintuitions/modernbert-ja-30m](https://huggingface.co/sbintuitions/modernbert-ja-30m)で読み、学習済みrouterが音声言語と非言語音の使い方を決めます。言語側は[Qwen/Qwen3-ASR-0.6B](https://huggingface.co/Qwen/Qwen3-ASR-0.6B)、非言語側は[laion/clap-htsat-unfused](https://huggingface.co/laion/clap-htsat-unfused)を基盤にし、両方が必要な質問では選択肢単位で結果を融合します。Cloudには日本語ASR適応重み、意味分類器、汎用typed head、[laion/clap-htsat-unfused](https://huggingface.co/laion/clap-htsat-unfused)の分類headを収録しています。Edge AIには量子化した音声塔・質問encoder・headと、FP32のrouterをONNX形式で収録しています。

[![CloudとEdge AIの推論経路。CloudはCPU上で必要に応じてASRを使用し、Edge AIはブラウザ内で文字起こしを使わず音声特徴から直接判断します。](assets/cloud-edge-architecture.png)](assets/cloud-edge-architecture.png)

CloudとEdge AIは同じ質問形式・結果JSONを使う別の実装です。現行の公開CloudデモはCPU上で動き、必要な言語タスクではASRと文字起こしを使用します。Edge AIはQwen3-ASRの**音声encoder**を使いますが、ASR decoderは使いません。文字起こしを経由せず、音声特徴と質問・選択肢の特徴から直接判断します。Edge AIはCloud全体を量子化したものではありません。[図のMermaidソース](assets/cloud-edge-architecture.mmd)も参照できます。

| 実行方式 | モデル | 取得量の目安 |
|---|---|---:|
| Cloud | [Qwen/Qwen3-ASR-0.6B](https://huggingface.co/Qwen/Qwen3-ASR-0.6B) + [sbintuitions/modernbert-ja-130m](https://huggingface.co/sbintuitions/modernbert-ja-130m) + [laion/clap-htsat-unfused](https://huggingface.co/laion/clap-htsat-unfused) | 基盤モデルは各配布元から取得 |
| Edge AI | [Qwen/Qwen3-ASR-0.6B](https://huggingface.co/Qwen/Qwen3-ASR-0.6B)音声塔 + [sbintuitions/modernbert-ja-30m](https://huggingface.co/sbintuitions/modernbert-ja-30m) + [laion/clap-htsat-unfused](https://huggingface.co/laion/clap-htsat-unfused)(ONNX) | 「モデルを読み込む」で全体約289 MBを取得 |

## 評価

予約・注文などの用件と、依頼・確認など発話の役割を音声から同時に答える評価では、事前に固定した240件のうち88.75%で両方正解しました。

発話と周囲の音を組み合わせる質問や、自由に作成した質問全体の正答率は引き続き評価中です。選択肢スコアは確率校正前の値です。VAD・話者分離・ストリーミングは現行モデルの構造化出力にまだ含まれません。

## 使い方と収録内容

デモでは音声を録音またはアップロードし、質問・選択肢を編集してCloudとEdge AIの回答を試せます。モデルを取得する場合は以下を使用してください。

```python
from huggingface_hub import snapshot_download

model_dir = snapshot_download("mocomoco-inc/AudioJev-AudioDecisionModel", token=True)
print(model_dir)
```

| ディレクトリ | 内容 |
|---|---|
| `edge/models/` | ブラウザ実行用ONNX、tokenizer、前処理設定、実行manifest |
| `cloud/qwen_asr_adaptation/` | [Qwen/Qwen3-ASR-0.6B](https://huggingface.co/Qwen/Qwen3-ASR-0.6B)の日本語適応重み |
| `cloud/semantic_v8/` | [sbintuitions/modernbert-ja-130m](https://huggingface.co/sbintuitions/modernbert-ja-130m)の意味分類器 |
| `cloud/typed_head/` | `Noul`・`Choice`・`Score`用の汎用head |
| `cloud/clap_heads/` | 広域音・動物8種の[laion/clap-htsat-unfused](https://huggingface.co/laion/clap-htsat-unfused) head |
| `MANIFEST.json` | 全ファイルのSHA-256と基盤モデルrevision |

Cloud実行には、ここに収録した適応重み・headに加え、[Qwen/Qwen3-ASR-0.6B](https://huggingface.co/Qwen/Qwen3-ASR-0.6B)と[laion/clap-htsat-unfused](https://huggingface.co/laion/clap-htsat-unfused)の基盤モデルを使用します。入出力の実装例は[デモのソース](https://huggingface.co/spaces/mocomoco-inc/AudioDecisionModel/tree/main)にあります。

## ライセンスとクレジット

このモデルは、以下の事前学習済みモデルを基盤にしています。

| 基盤モデル | ライセンス | 本リポジトリに含まれるもの |
|---|---|---|
| [Qwen/Qwen3-ASR-0.6B](https://huggingface.co/Qwen/Qwen3-ASR-0.6B) | Apache-2.0 | Edge用の量子化音声塔、Cloud用の日本語ASR適応重み |
| [laion/clap-htsat-unfused](https://huggingface.co/laion/clap-htsat-unfused) | Apache-2.0 | Edge用の量子化音声塔、音カテゴリ・動物分類head |
| [sbintuitions/modernbert-ja-30m](https://huggingface.co/sbintuitions/modernbert-ja-30m) | MIT | Edge用の量子化質問encoderとtokenizer |
| [sbintuitions/modernbert-ja-130m](https://huggingface.co/sbintuitions/modernbert-ja-130m) | MIT | Cloud用の意味分類器 |

router、typed head、分類headなどmocomoco inc.が作成した部分も含まれます。基盤モデルのライセンス文とnoticeは`licenses/`に収録し、ファイルごとの条件と基盤モデルrevisionは[LICENSE.md](LICENSE.md)と[MANIFEST.json](MANIFEST.json)に記載しています。

[Jev / TypeSafe AI](https://typesafe.ai/blog/introducing-system-one-models-and-jev)と[OpenJev / SemIf](https://github.com/TheoLeeCJ/SemIf)のアイデアを参考にしています。

## English

AudioJev-AudioDecisionModel answers questions about audio in structured JSON: `Noul` (Yes/No), `Choice` (selection), or `Score` (ordinal value). You can provide a 0.25–30 second clip, context, natural-language questions, and answer options. It covers speech-related tasks as well as music, animal calls, and environmental sounds. Questions that need both speech and background audio use both model paths.

The Cloud configuration combines [Qwen/Qwen3-ASR-0.6B](https://huggingface.co/Qwen/Qwen3-ASR-0.6B), [sbintuitions/modernbert-ja-130m](https://huggingface.co/sbintuitions/modernbert-ja-130m), and [laion/clap-htsat-unfused](https://huggingface.co/laion/clap-htsat-unfused). The Edge AI configuration includes quantized ONNX audio and text models for browser inference; loading all Edge components downloads about 289 MB. In a fixed 240-item evaluation of reservation/order intent and speech act together, both answers were correct for 88.75% of items. Accuracy across arbitrary new questions and speech-plus-background-audio questions remains under evaluation; option scores are not calibrated probabilities.

The public Cloud demo runs on CPU and uses ASR for language tasks that need a transcript. Edge AI uses the Qwen3-ASR **audio encoder without its ASR decoder**: it scores audio features against the question and answer options directly, without transcribing the clip. The two modes share an input/output contract and routing design, but Edge AI is not a quantized copy of the entire Cloud pipeline.

The repository also contains model components trained by mocomoco inc. [Qwen/Qwen3-ASR-0.6B](https://huggingface.co/Qwen/Qwen3-ASR-0.6B) and [laion/clap-htsat-unfused](https://huggingface.co/laion/clap-htsat-unfused) declare Apache-2.0, while [sbintuitions/modernbert-ja-30m](https://huggingface.co/sbintuitions/modernbert-ja-30m) and [sbintuitions/modernbert-ja-130m](https://huggingface.co/sbintuitions/modernbert-ja-130m) declare MIT. See [LICENSE.md](LICENSE.md), [`licenses/`](licenses/), and [MANIFEST.json](MANIFEST.json) for component provenance and notices. The design draws inspiration from [Jev / TypeSafe AI](https://typesafe.ai/blog/introducing-system-one-models-and-jev) and [OpenJev / SemIf](https://github.com/TheoLeeCJ/SemIf).