TOKYO SECRETS 0/7
PRODUCT

Curse Voice

リアルタイムのボイスチェンジャー

Curse Voice は、マイクの声にピッチ/フォルマント変換やLFOのピッチ変調をリアルタイムでかけて、任意のオーディオ出力へ送るボイスチェンジャーです。ブラウザでも、Windows のアプリ版でも使えます。

概要

−3〜+3オクターブの大きなシフトと、±12半音の微調整、LFOによるピッチ変調(Sine・Triangle・Square)で、呪霊のような声をつくれます。Simple Voice モードでは、ピッチとフォルマントを独立して変えられ、Natural・Soft・Feminine・Bright・Deep のプリセットがあります。

RNNoise によるAIノイズキャンセル、声向けのEQ、VRChat や Discord 向けの音質補正、処理後の声を自分のヘッドホンで聞ける Self Loopback、処理後の音声のWAV録音に対応します。処理は端末の中で完結し、音声をサーバーへ送信しません。

Web 版は、アプリを入れずにブラウザ(Chrome・Edge)で試せます。DiscordやVRChat にマイクとして渡す仮想オーディオドライバは、ブラウザからはつくれないため、その導入には Windows のアプリ版(インストーラーに VB-CABLE を同梱。BOOTH で配布)が向いています。macOS のアプリ版は準備中です。

アーキテクチャ

構成
React・TypeScript・Vite で作った画面を、ブラウザ(Web 版)と Electron(アプリ版)の両方で使います。Electron は、画面と OS の処理を分離する安全な設定で動かします。
音声処理
マイク入力を、ゲイン・ローカット・EQ・(任意の)RNNoise に通し、Signalsmith Stretch(WASM・AudioWorklet)でピッチとフォルマントを変換します。LFO のピッチ変調は、Tone.js の Worker で定期的に更新します。処理後の音を Dry/Wet で混ぜ、追加の遅延と任意の音質補正を通して、選んだ出力デバイスへ直接送ります。
遅延
画面に出す推定レイテンシーは、Web Audio が公開する遅延、ピッチ処理の窓、追加バッファの合計です。マイクのドライバや仮想ケーブル、受け側のアプリのバッファは含みません。
プライバシー
処理は端末の中で完結し、音声をサーバーへ送信しません。
配布
Web 版は静的な成果物として HTTPS で配信します。Windows 版は BOOTH で配布しています。
検証
Vitest の単体テストに加えて、ヘッドレスの Chromium に疑似マイクを入力する E2E 検査(エンジンの開始・停止、メーター、プリセット、+1オクターブ、WAV 録音など)を実行します。物理マイクや仮想ドライバの実機確認は、この検査では置き換えません。
種別
リアルタイムのボイスチェンジャー
区分
プロダクト(SaaS・Webサービス)
状態
公開中
担当
企画・設計・開発
技術
  • React
  • TypeScript
  • Vite
  • Electron
  • Web Audio API
  • Tone.js
  • Signalsmith Stretch
  • RNNoise
  • Vitest