Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

SAENSキン ジェネレーター

音声ファイルから自動でひらがな(50音)を検出し、SAENSキンを作るための素材を生成するブラウザ完結型ツール。

SAENSキンとは

SAENSキン(さえんすきん)は、ヒカキンマニア・Seikin_Mania 発祥の音声ネタです。

YouTuber SEIKIN 氏が歌った烈車戦隊トッキュウジャーの主題歌の音声を切り貼りし、無理やり下ネタを言わせた動画がニコニコ動画に投稿されたことがブームのきっかけ。リズムの良い歌詞だったため「リズミカルに言わせられる」点が受け、以後さまざまな楽曲で無理矢理言わすミームとして広まりました(増量版やGTOHKキン、(省略)キンなど多数の亜種が存在します)。

正式名称は非常に長いため、頭文字を取って「SAENSキン(サエンスキン)」と呼ばれています。

このツールの役割

SAENSキンは「音の切り貼り」で作るため、もとの音声から50音を1つずつ綺麗に切り出す作業が必須です。これを手作業でやると非常に時間がかかります。

SAENSキン ジェネレーターは:

  1. 音声ファイル(WAV/MP3/M4A)をアップロード
  2. AI(Whisper)がセリフを認識し、単語ごとのタイムスタンプを取得
  3. 波形解析でモーラ(あ・い・う・え・お…)単位の境界を補正
  4. 50音ごとのWAV + UTAU用 oto.ini をZIPでダウンロード

という流れで、切り貼り素材と人力ボカロ音源を自動生成します。すべてブラウザ内で完結し、音声データはサーバーに送信されません。

機能

  • 音声ファイル(WAV/MP3/M4A)からAIでひらがなを自動検出
  • 波形解析によるタイムスタンプ補正(アタック検出・ゼロ交差補正)
  • UTAU用 oto.ini と切り出しWAVファイルをZIPでダウンロード
  • 台本モード: セリフのテキストを貼り付けると、認識の読み間違いに左右されず正確なモーラ境界を検出(下記参照)
  • すべての処理がブラウザ内で完結(サーバー送信なし)

台本モード

  • セリフの台本テキストを貼り付けると「台本モード」で動作
  • 台本を単語分割し(Sudachi / sudachi-ts + SudachiDict 2026版 full辞書)、Whisperの単語タイムスタンプに割り当ててモーラ(50音)単位で正確に切り出す
  • 音声認識の読み間違いに左右されず、拗音・促音・長音も1モーラとして処理
  • モーラ境界はRMSエネルギーの均等按分 + 谷スナップで補正(kana_support 方式)
  • 空欄の場合は従来どおり全音ハントモード(全ひらがな71文字+拗音を音声全体から収集)

辞書は SudachiDict full(system_full.dic 360MB)を使用。GitHubの100MB/ファイル制限のため gzip(127MB)を2分割して同梱し、ブラウザ側で連結→DecompressionStream展開します。full読み込みに失敗した場合は small 辞書(41MB gz)へ自動フォールバックします。

技術スタック

  • Next.js 16 (App Router)
  • TypeScript
  • Transformers.js (Whisper)
  • Sudachi / sudachi-ts + SudachiDict(漢字→読み変換・台本分割)
  • Web Worker / Web GPU
  • Web Audio API
  • JSZip

開発

bun install
bun run dev

デプロイ

Vercelに直接デプロイ可能。

bun run build

使い方

  1. 音声ファイルをドラッグ&ドロップ
  2. (任意)台本テキストを貼り付けると精度UP
  3. 「解析開始」をクリック
  4. 結果を確認し「ZIPでダウンロード」

※ このネタは下ネタが多数含まれるため、本家の動画(トッキュウジャー公式・SEIKIN氏の動画等)へのコメントでネタを振るのはお控えください。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages