/ Модель

Характеристики

Параметры
905 млн
Лицензия
MIT
Архитектура
whisper · dense
Базовая модель
kotoba-whisper-v2.0
Библиотека
transformers
Опубликована
10 ноя 2024

anime-whisper

Распознавание речиАудио → текст3 профессии

Японская модель распознавания речи Whisper, дообученная для эмоциональных реплик в стиле аниме и визуальных новелл.

43 870скачиваний за 30 дней165лайковвеса обновлены24 ноя 2024

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Распознавание речи» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Anime Whisper — авторская японская модель распознавания речи на базе kotoba-tech/kotoba-whisper-v2.0, дообученная Litagin на аудио и сценариях в стиле аниме и визуальных новелл. В метаданных указаны архитектура Whisper, около 905,2 млн параметров и библиотека Transformers. Модель принимает аудио и выдаёт японскую расшифровку; особенно хорошо подходит для эмоциональной актёрской речи, где сохраняет запинки, смех, крики, вздохи и другие невербальные звуки. По описанию автора, она также может распознавать речь в аудио для взрослых.

Автор сообщает, что при сравнении на пяти визуальных новеллах модель показала качество примерно на уровне whisper-large-v3; опубликованная оценка ограничена этим набором. Расшифровка может зависеть от слов и имён из обучающих данных, а нормализация влияет на повторы гласных, знаки препинания и запись некоторых выражений. Не задавайте initial prompt: он может вызывать галлюцинации и резко ухудшать результат. Модель распространяется по лицензии MIT.

Сценарии применения

  • Расшифровка реплик персонажей в визуальных новеллах
  • Транскрибация японской актёрской речи в стиле аниме
  • Сохранение в расшифровке запинок, смеха, криков и вздохов
  • Подготовка субтитров для японских игровых диалогов

Ограничения

Initial prompt может провоцировать галлюцинации и заметно ухудшать качество, поэтому автор рекомендует его не задавать. Выбор написания имён и отдельных слов зависит от обучающих данных, а нормализация ограничивает передачу повторов и некоторых знаков препинания.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Anime Whisper 🤗🎤📝

Anime Whisper は、特に日本語のアニメ調演技セリフのドメインに特化した日本語音声認識モデルです。 このモデルは kotoba-whisper-v2.0 をベースモデルとして、約5,300時間373万ファイルのアニメ調の音声・台本データセット Galgame_Speech_ASR_16kHz でファインチューニングしたものです。 特にアニメ演技音声ドメインに特化していますが、それ以外の音声でも、他のモデルにはない特徴や高い性能を持っています。

気軽にお試しできるデモはこちらから: https://huggingface.co/spaces/litagin/anime-whisper-demo

注意❗

このモデルは初期プロンプト(initial prompt) との相性が悪いようで、設定をするとハルシネーションが起きて質が極めて劣化します。初期プロンプトを設定せずにご使用ください。

Using an initial prompt causes a decline in quality, with the model exhibiting hallucinations and significantly degraded performance. Please avoid using an initial prompt.

特徴 🌟

Anime Whisperは、他モデルに比べて一般的に次のような傾向があります。

  • ハルシネーションが少ない
  • 他のモデルでスキップされがちな言い淀みや、笑い声や叫びや吐息などの非言語発話も忠実に書き起こす
  • 「。、!?…」の句読点が音声のリズムや感情に合わせて適切に付き、セリフ台本として違和感がない自然な文体で書き起こされる
  • アニメ調な演技セリフに対しては特に精度が高い
  • kotoba-whisper (whisper-large-v3の蒸留モデル) ベースなので軽量で高速
  • 他モデルでは書き起こしがほぼ不可能なNSFW音声もきちんとした文体で文字起こし可能

使い方例 🚀

import torch
from transformers import pipeline

generate_kwargs = {
    "language": "Japanese",
    "no_repeat_ngram_size": 0,
    "repetition_penalty": 1.0,
}
pipe = pipeline(
    "automatic-speech-recognition",
    model="litagin/anime-whisper",
    device="cuda",
    torch_dtype=torch.float16,
    chunk_length_s=30.0,
    batch_size=64,
)

audio_path = "test.wav"
result = pipe(audio_path, generate_kwargs=generate_kwargs)
print(result["text"])
  • 複数ファイルを一気に推論する場合は pipe に単にファイルパスのリストを渡せばよいです。
  • 繰り返しハルシネーションが目立つ場合は、上記の no_repeat_ngram_size: int を 5 - 10 程度に設定したり、repetition_penalty を1より上に設定することで抑制できます。

評価 📊

詳しい評価・観察レポートや評価コードはGitHubリポジトリで公開予定です。

CER (Character Error Rate, 文字誤り率)

  • 「学習データと同じアニメ調セリフのドメインではあるが、学習データには含まれていない個人的に所持している5本ノベルゲーム(合計約75kファイル)」で評価
  • OpenAIのWhisper系の繰り返しハルシネーション抑止のためno_repeat_ngram_size=5のパラメータで生成
  • CERは適切な正規化を行った結果に対するCER

figs/cer_ngram5.png

モデル名game1game2game3game4game5avg
openai/whisper-large15.1120.2414.8917.9519.3717.5
openai/whisper-large-v215.1120.1214.8317.6518.5917.3
openai/whisper-large-v314.6018.6614.4317.2917.7416.5
openai/whisper-large-v3-turbo15.1819.2414.4317.3818.1516.9
reazon-research/reazonspeech-nemo-v223.9225.0820.2925.9122.7123.6
nvidia/parakeet-tdt_ctc-0.6b-ja17.6720.4415.3319.6019.8618.6
kotoba-tech/kotoba-whisper-v1.016.6221.5416.4219.8320.0118.9
kotoba-tech/kotoba-whisper-v2.016.3821.5116.5119.6920.0418.8
Anime Whisper11.3216.5211.1612.7813.2313.0

バイアス等 🚨

  • 人名等の固有名詞が学習データのビジュアルノベルに存在する場合、そのゲーム内の漢字で書き起こされることが多い
  • 他にもデータセットに存在する一部特定の単語が通常とは異なる書き起こしになることがある(例: からだ → 身体 等や、その他固有名詞等)
  • データセットの正規化 により、以下のものは出力結果にほぼ現れない:
    • 母音や長音符の連続: ああああーーーー
    • 同じ感嘆符の連続: こらーっ!!!! なにそれ!?!?!?!?
    • 三点リーダーの連続: …… (日本語表記としては2個用いる …… が正しいが、ほぼ常に1個のみ … で出力される)
  • 数字とアルファベットと感嘆符は半角で書き起こされる
  • 文末の「。」はほぼ常に省略される
  • 一部卑語の書き起こしに伏せ字「○」が含まれることがある

例 👀

上記評価と同じ、学習元には入っていないノベルゲームのセリフの書き起こし比較です(同様にno_repeat_ngram_size=5での生成)。

結果を見ると、だいたいwhisper-large-v3程度の良い性能が出ており、以下では他モデルとの差が顕著な例(特に非言語発話や感情的な音声等)のみいくつか抜粋しています。

正解テキストAnime Whisperwhisper-large-v3kotoba-whisper-v2.0reazonspeech-nemo
あわわわっ!わわわわっ!はわわっ、わわわわっ…!ああああああああああうわうわうわ!
そっ、そっか……。………。……そうなんだ。そっ…そっか…そうなんだ…そっか…そうなんだ…そっか…そうなんだそっそっかあっそうなんだ。
たぶん、ぼくが勝つ、はずたぶん、ボクが勝つ、はず多分、僕が勝つはず。多分僕が勝つはず僕が勝つはず。
げ、げほっ……なんだこいつ!げほっ、げほっ…なんだ、こいつ…なんだ、こいつ…なんだこいつフッ何だこいつ。
はっ、はい。そうです。……その、えっと。へっ、変だったでしょうか?は、はい、そうです…その、えと…へ、変だったでしょうか…?あ、はい、そうです。そ、えっと、へ、変だったでしょうか。はいそうですそういと変だったでしょうかあっはいそうですうすえっとへ変だったでしょうか?
ぶぶぶぶ豚クソがァァァ!待てコルァァァ!ぶぶぶぶぶ、ぶたくそがー!待てごらぁぁ!待てこらー待てこそか待てこら!
地面が揺れるとかありえ……ぎゃっ!地面が揺れるとかありえ…ひゃっ!?地面が揺れるとかありえ?地面が揺れるとかありえやっ!
きゃっほう!い、いたっ、いただきまーす!きゃっほう!い、いた、いただきまーす!キャッホー!い、いただきます!キャホー!いただきます!いいたいただきます!
……っ、はぁ……わ、わたし、今日は……んっ、はぁ…わ、私、今日は…私、今日は…私今日はえっと私今日。
……ぷふっ、ンッ。かっ、かっ、かっ……ぷふっ。かっ。んふふっ。かっ、価値観うふふっ…か、かはっ…ぷっ…はぁっ…か、価値観っ…価値観!価値観ハッかちかん!
か、痒くもねぇ……こんなんんん……!か、痒くもねえ…こんな、んんっ…!か、回復もねぇ、こんな、うぬぅかかゆくもねえこんなかゆくもねえこんなうう。
ひゃっ!や、やだ、くすぐった……や、やっ、あは、あははっひゃうっ!やっ、やだっ…くすぐったっ…やっ、やっ、はんっ、あははっ!やだ!すぐだ!やだやっほ!
ふえぇ、急に止まらないでよう……ふえぇ、急に止まらないでよぉおへぇ、急に止まらないでよおへえ急に止まらないでよ急に止まらないでよ。
ごごご50キロもないです私ー!ごごご50キロもないです私ー!50キロもないです私!550キロもないです私50キロもないですわたし!
いいい、すびばぜん、すびばぜーんっいいずびばぜんずびばぜーん!いいいい! ズビバル10! ズビブル10!いいズビバーテン!すみませんすみません。
間抜けか貴様ァァァ!間抜けか貴様ぁぁっ!マヌケカキ様!まぬけかきさま抜けか貴様!
ぷ、くく……ひっ、ひいっ……くっ…くくくっ…ぷっ…くくっ…ご視聴ありがとうございましたフッフフフフ。フフフフフ。
キミは……。あっ、はっ……。最初から……あんっ、あっ、容赦がないな君はぁ…はぁっ、はぁっ…最初から…あんっ、あっ、容赦がないなぁ…君は……最初から容赦がないな君は最初からあんあ容赦がないな君は最初からうっうん容赦がないなあ。
望んでるわけ……。のっ、のっ、のっ……望んでるんです。世界が終わればいいって……強く、強くっ。はぁっ、はぁっ望んでるわけ…の、の、の…望んでるんです…世界が終わればいいって、強く、強く…はぁっ望んでるわけ…望んでるんです…世界が終わればいいって…強く…強く…望んでるわけ…ののぞんでるんです世界が終わればいいって強く強くん?望んでるんです。世界が終わればいいって強く強く。

NSFW例 🫣

成人向けの表現が含まれるため、閲覧にはご注意ください。

正解テキストAnime Whisperwhisper-large-v3kotoba-whisper-v2.0reazonspeech-nemo
ひっ、あっ!あぅっ、ああぁぁあぁぁぁぁぁっ!はっ、はっ、はっ、はっ、ひぁっ!んぁっ、あっ、あっ、ああぁぁっ!あっ、はぁっ、はぁっ…んっ、ふぁああっ!ご視聴ありがとうございましたアハハハうわ!
ち、ちがっ……んっ、あぁぁ……気持ちいい、わけが……あぁっ、やぁっ、待てと……んんっ、はぁ……あふぅっ……ち、ちがっ…はぁっ、はぁっ、気持ちいい、わけがっ…あっ、やぁっ、待てとっ…んくっ、はぁ、はぁっ…ち、ちが…気持ちいいわけが…待てと…ちちが気持ちいいわけが待てとち違うはあ気持ちいいわけが待てとあっ。
あんっ!あっ、あっ……そっ、それ……あっ、はぁはぁはぁ。ンンンンッ!ぴっ、ぴりぴり、ってして……。あんっ!はぁはぁはぁ、きっ、きもち……いいです!ふぁんっ!あっ、あぁっ!そっ、それっ…あっ、はぁっ、はぁっ…んんっ!ぴ、ぴりぴりって、して…ひぁっ!はっ、はぁ、はぁっ…!き、気持ち、いいですっ…!それ…フィリフィリでした…気持ちいいです…それフィリフィリフリでしたけきもしいいです!
その調子って……んんっ、こんなの、あぁっ、んっあぁん……んんっ、しょっ……あぁっ……だめ……んっ、あぁっ……その調子って…んんっ、こんなの…はぁっ、んんっ…んっ、しょっ…はぁっ…ダメ…んっ、あっ…その調子って…こんなの…ダメ…その調子ってこんなのその調子ってううんこんなのダメうん
はぁっ、あっ……んっ……くぅ、あぁっ……やぁ……それは、ん、はぁ……だめ、だ……あっ、んんっ、ふ……ひぃうっ!やめっ……ま、待ってくれ……あぁん……!はぁっ、あっ、くぅぅっ…あっ、やっ、それはっ…はぁっ、ダメだっ…んんっ…ひぅぅんっ!やめっ…ま、待ってくれっ…あぁぁっ!それは、ダメだ、やめ、待ってくれそれはそれはダメだやめやめまってくれやめま待ってくれうう。
あは、はっ……んっ、くうっ……なん、だろこれ……気持ちいい、かも……んっ、あ、ああっ、はあっ、ふあぁ……やっ、くぅんはぁっ、はぁっ、んっ…くぅっ…なん、だろこれ…気持ちいい、かも…んんっ、あっ、ああっ…ふぁぁっ、はやっ…んんっ…あ、あ、あ、んっ、う、なんだろこれ、気持ちいいかも、あ、あ,あ、あ、う、うんっなんだろうこれ気持ちいいくもうっなんだろうこれ。はあ気持ちいいかも。うわ!ううん。
だめ、センパイ……そんなにおち○ちん挿れたら、だめだぁっ……あっ、あぁぁぁっ……!だめ、先輩…んっ、そんなに、おち○ちん挿れたら、だめ…はぁ、あぁぁ…っダメ、先輩…そんなに陥れたらダメ…ダメ先輩そんなに落ち入れたらダメなダメ先輩そんなに気入れたらダメだ。
やぁぁっ、こ、こらっ、おち○ちん、そんなに、びくびくさせないのっ……あぁっ、ひぃあぁぁっ……はぁっ、あぁっ、あぁぁぁんっ!!ひゃんっ!こ、こらっ、おち○ちん、そんなにビクビクさせないのっ!ひぁっ、あっ、はぁっ、はぁっ!いや、こ、こら、おじっちそんなにビクビクさせないの?いや、なにやろここらじっちそんなにビクビクさせないのもう全然そんなにビクビクさせないのうん!
やっ……あっ。……お兄ちゃんの舌が、あっ、中で、やあっ。……そんなりぐりぐりしちゃ、あっ、ふあっ。うくぅぅっ、ああっ、やあっ。やっ、あっ、お兄ちゃんの舌が、中で…やぁっ、そんなにぐりぐりしちゃ…あっ、あっ、んっ、ふあぁっ、やぁぁっ…!にゃー!お兄ちゃんの舌がお腹で…にゃー!そんなにグリグリした…にゃー!!お兄ちゃんの下がお腹でニャーそんなにグリグリしたお兄ちゃんの舌がおなかでよそんなにグイグイさあぐっにゃん!
はっ、激しく……して。ンッ。あっ!はあっ、はあっ……わっ、私を……一気に……ンッ。イッ、イかせちゃってくださいッ!は、激しく、して…んっ、あぅっ…私を、一気に…い、イかせちゃってください…!あ、ゲンシ君、ステッ、アッ、アッ…私を一気に、行かせてあげください!あげんしくして私は一気に行かせてください激しく私も一輝行かせちゃってください!
正解テキストAnime Whisperwhisper-large-v3kotoba-whisper-v2.0reazonspeech-nemo
れろっ、んっ……れろ、ちゅ、んちゅれろっ、れろっ、ちゅううっうううううわいしゅうシュッ!
はっ、はい!んっ、れろっ、れろっ……あっ、れろっは、はい…っ、れろぉ…っ、れりゅっ、れりょっ…わ、はぁい、わ、う、う、わ、へ、へ、へわあはいはい。
れろっ、れろ……むふふ、ここの線なぞると反応いいね、んちゅ、ちゅうっ……ここいい?どう?れろれろれろっ…んっ、ふふっ、ここの線なぞると反応いいね…ちゅっ、ちゅっ…ここいい?どう?ここの線なぞると反応いいねここいい?どう?ここの線なぞると反応いいねうんふうにへへへここの線なぞると反応いいねここいい?どう?
あぁむ……ちゅ……れぇろれろ……ん……ん……ちゅ……れぇろ……んん……ちゅぅ……ちゅぱっ……れぇろれろ……あむちゅっ…れろれろっ…んちゅっ、れろっ…ちゅぱちゅぷっ…れろぉっ…アムー…あんおへん。
んちゅっ……れろれろ……れぇろ、ちゅっ、んれぇろれろ……ちゅっ、ちゅぱっ……んちゅっ、れろれろっ、ちゅぱちゅぅっ…れろれろ、ちゅっ…ちゅぷっ…お疲れ様でしたおくぬかんぱいう。
ん……イク……ちゅるぅ……イッちゃう……ん……あぁっ、ちゅるるっ、イク……もう……らめぇ……んあぁむ……イク……イクぅぅ……もう、イクっ…イッちゃう…んっ、んっ、じゅるるっ、イクっ、らめっ…んぁっ、イクッ、イクッ!おーまいごーおまいごーまいごやめまいごよこーお前ママペイ君!
れぇろ…………んちゅ……れろれろ……ん……ちゅ……れろれろ……んれぇろれろ……ちゅ……れろぉ…んちゅ、れろれろ…ちゅぱ…れろ、れろれちゅ…エル…ラ…ル…ア…エル…ル…ツ…ン…エ…エル…ツ…ル…ア...エル…ル...プ…えぇぇ
はぷっ、ちゅぷ、んん……はやく、おっきくして……ちんぽ……れろっ、ちゅ、ぴちゅ、ちゅぱっ……はやく勃起ちんぽちょうだい、勃起ちんぽ私にちょうだいじゅぷっ、じゅぼっ!早くおっきくしてっ、ちんぽっ!んじゅるるるるるっ!はやくっ、はやく勃起ちんぽちょうらいっ、勃起ち○ぽあたしにちょうだいっ!早く起きこして!チンポン!早く、早くポッキチンポンちょうだい! ポッキチンパン私にちょうだい!!早く大きくしてチンポン早くポッキ全部全部私にちょうだい早くおっきい子して。チープ!ん?早く早くボケ全部ちょうだい。ボケ全部私にちょうだい!
そっ、それじゃ……。あっ、はっ……がっ、がんばるぞ。ンッ!ああああっ!あっ、わっ、ボクも……んちっ、んむっ、んむっ、んんっ、むむっ。そ、それじゃあ…はぁ、はぁ、が、頑張るぞ…んっ、あっ、あっ、も、ボクも…れろ、ちゅ、ちゅぱ、ちゅるるっそれじゃあ、頑張るぞ!それじゃあ頑張るぞそそれじゃあううがんばるぞ。
はむ、ちゅ、んんっ、れる……。んむっ、ふーっ、ふーっ。ここなんへ、ろうかひら?ちゅっ……じゅっ。……じゅるる。んっ、。はむ…ちゅ、んんっ…ん、はむ…ここなんへ、どうかしら…ちゅっ、ちゅるるっ…ここな…廊下平…ここな廊下平ん。ん?ここな?どうかしら。んっ。

学習手順 📚

詳しい学習手順やハイパーパラメータや学習コードはそのうちGitHubで公開予定です。

  • 全データのうち1番最後のtarファイルをtestデータとして残し、それ以外の3,735,363ファイルで学習
  • まずはベースモデルからEncoderを凍結してDecoderのみで数エポックを学習
  • その後Encoderの凍結を解除し、全体で数エポックを学習
  • 学習打ち切り後に、「ある時点から別の時点までのモデルの平均(マージ)」を取る操作で性能向上を試み、Optunaを使ってベンチマークデータに対するCERで最適化し、その結果を最終モデルとした

環境 🖥

  • 自腹でvast.aiで H100 NVL (VRAM 96GB) を借りて合計3週間弱、試行錯誤しながら学習をした(当初はベースモデルをwhisper-large-v3-turboにしていたので、その分も含まれる)
  • 実際にこのモデルに使われた学習時間は、H100 NVL * 11.2日 程度(ただし後半の方はおそらく過学習によりテストデータに対する性能が悪かったため、最終マージには用いなかった)

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
WhisperForConditionalGeneration
Ревизия весов
22e2008

0 моделей