Articles
記事一覧
Latest
「ナレーターっぽい声」を24候補から機械に選ばせる — 耳で選ぶのをやめた日
役割に合う声を乱数種のガチャで引き当てるとき、全候補を聴いて選ぶのは続かない。話速・抑揚・安定性を自動計測して役割ごとに重み付けし、上位だけ聴く仕組みを作った話と、指標の限界で男性候補が全滅した話。
- 声をガチャで引く — キャプション1行と乱数種だけで、同じ声が何度でも出てくるキャプションと乱数種で声が決まるTTSは、その組み合わせを記録しておけばモデルを失っても声を再現できる。実際に生成スクリプトを失った後、記録から同一の声を焼き直した話と、設計値台帳の作り方。
- 音質で選んだTTSが、会話には遅すぎた — RTF実測2.5倍差で「設計用」と「本番用」を分けるまでキャプションから声を作れる拡散TTSを会話用に導入しようとしたが、同一GPUで実測すると学習済みモデルの2.5倍遅かった。ステップ数を削っても届かず、結局「声の設計は拡散、喋らせるのは学習済み」という二段構えに落ち着いた話。
- Twitchは無効なキーでも「OK」と言って、黙って捨てる — 連携の全落とし穴と41秒復帰無人AIアバター配信をTwitchで動かす過程で踏んだ落とし穴を、OAuth認証・RTMP送出・耐障害設計の3層に整理した統合記事。認可コードの数分失効やrefresh tokenの入れ替わり、無効キーの黙殺、無音のまま生き続ける障害と実測復帰時間までを扱う。
- AIが作り、AIが配信し、AIが落ちる — 誰も見ていないシステムの品質保証無人AIアバター配信システムを題材に、出力ではなくシステムの振る舞いを保証対象に組み替えたQA設計と、長時間でしか出ないバグ(累積・増加・周回・再起動)を捕まえるソークテストの実務を、実測値と失敗談を交えて1本にまとめた記事。
- GPU 1枚でAIアバターは何体配信できる? 実測4体・1体あたり月7,600円無人AIアバター配信システムを作る過程で得たGPU運用の3つの実測知見を統合。1枚のGPUに何体乗るか、不良ホストの自動引き直し、起動時間の短縮を、原因から解決まで一続きの物語として再構成した。
- GPUを積んだのに、Chromiumは黙ってCPUで描いていた — 4fps→58fpsにした3点セットGPU付きヘッドレスChromiumで3Dアバター(VRM)を実際にGPU描画させ、ライブ配信するまでの実践レシピ。SwiftShaderへの無言フォールバックの回避、フルビルド・ICD・起動フラグの3点セット、ANGLEバックエンド選択、canvas.captureStreamからCDP screencastへの移行を、実測値と失敗談を交えてまとめた。
- H100を借りたのに、絵が1フレームも描けなかった — 計算GPUと描画GPUは別物無人AIアバター配信システムを作る過程で直面した「計算用GPUと描画用GPUは別物」という壁を、CPU描画とMIGの2つの失敗から実測データ・コスト計算・選定チェックリストまで一本にまとめた実務記事。
- 90秒録画したはずが、6秒しかない — AIアバターの音ズレと録画が「静かに」壊れる罠無人AIアバター配信を作る過程で踏んだA/V同期と録画の3つの罠(機械的オフセットと見た目の口ズレの切り分け、setIntervalのフレーム累積ドリフトの壁時計補正、音声トラック枯渇でMediaRecorderが映像ごと止まる問題)を、原因究明の物語として1本にまとめた実務記事。
- 配信ボタンを押す人間は、もういらない — YouTube/Twitch無人配信の作り方AIアバターの無人ライブ配信を作る過程を通して、YouTube/Twitchへ自動で配信する仕組みを解説する。制作・送出・配信の3区間の役割分担、ffmpeg teeによる同時配信、YouTube Data APIの自動化、autoStartが発火しない罠と対処、終了処理と視聴遅延までを実務的にまとめた。
- 「前も来てくれてましたね」と言うAI配信者を作る — 記憶とマルチ配信の状態設計無人のAIアバター配信を作る過程で得た、視聴者の記憶をどのスコープで持つか、会話状態をどこに置くかという設計の記録。記憶のスコープ設計と一意制約の罠、状態をクライアントから追い出してRedisスナップショットに集約した経緯を、実測値と失敗談つきでまとめた。
- コメントが来ない配信を、AIに自分から喋らせて埋める — 無音75秒ルールと応答速度無人のAIアバター配信を退屈させないために取り組んだ2つの課題——コメントが来ないときの沈黙を番組テーマからの自発発話で埋める設計と、25〜45秒の応答遅延を内訳計測のうえ「速くする」ではなく相槌で無反応時間を縮める設計——を、同じ視聴遅延という制約の上でひとつの記事にまとめた。
- 24時間、誰も操作しないのに配信し続けるAIアバターを作った — 人間に残ったのは「本人確認」と「目と耳」だけ3DのAIアバターが無人で24時間ライブ配信し続けるシステムの全体アーキテクチャ(配信の寿命管理・イベント収集の正規化・直列発話・Redis状態・レンダラー分離)と、AIエージェント開発を通じて人間にだけ残った3つの役割(本人確認・知覚による品質判断・公開の意思決定)を1本にまとめた実務記事。
- Claude Code を4セッション並列で運用したら「チーム開発」になった — 衝突事故を防ぐ7つのレシピgit worktree で並列化したコーディングエージェント同士が、同じマイクロサービス群を同時に触り始めたら何が起きるか。デプロイ巻き戻り事故を寸前で止めた実話とともに、セッション間の縄張り・連絡・タグ予約・権限境界など、多セッション運用の実践レシピをまとめる。
- GPUクラウドコスト削減とコンテナ型データセンターの最新動向GPUクラウドの需要増加に伴い、コンテナ型データセンターの導入が進んでいます。本記事では、コスト削減や消費電力削減に向けた最新の取り組みと国内の動向を紹介します。
- クレカ不要の無料LLM APIを実運用する — レート制限の読み方とフォールバック設計クレジットカード登録なしで使えるLLM APIの無料枠を、レート制限の構造から整理し、複数プロバイダを束ねて月0円で落ちにくい構成を組む実践的な手順を解説します。
- faster-whisper の認識精度を上げる実践テクニック集 — initial_prompt には辞書ではなく「直近の会話」を渡すリアルタイム音声対話での faster-whisper 運用で実測ベースに効いたテクニックを整理。initial_prompt の正しい使い方(辞書がダメな理由)、入力音声品質、confidence 閾値の危険性、非音声入力の病理、LLM 後段補正まで。
- ブラウザ音声対話AIのハマりどころ図鑑 2026 — AEC・getUserMedia・ヘッドレスの罠16連発WebRTC/Web Audio で音声対話 AI を作るときに実際に踏んだ罠を「症状 → 原因 → 対処」の逆引き形式で 16 個収録。エコーキャンセルが効かない、序盤だけ聞こえない、ヘッドレスで無音になる、リモート音声が WebAudio に流れない — 全部ここにあります。
- AIアバターが自分の声に返事し続ける — 対症療法1,657行を書いて、全部捨てるまで音声対話AIの自己エコー問題を対症療法で抑え続けて限界を迎え、VAD/STT/ターン制御をサーバ側パイプラインに移してブラウザAECを味方につけたら、1,657行の対症療法が全部消えた話。移行で踏んだ罠を全部書きます。
- AIエージェントの暴走を止めるガード実装パターン集 — 実機ログから抽出した7つの型同一ページを3秒に5回開く、流れてきた歌詞に反応して勝手にファイルを作る — tool-calling エージェントの実際の暴走ログから、再発を止めたガード実装を7パターンに整理。同一呼び出し上限・明示依頼ゲート・判例プロンプト・課金安全網など、コピペで持ち帰れる形でまとめる。
- Next.js APIプロキシが長時間ML推論で502になる — undiciのタイムアウト沼数分〜数十分かかるML推論を Next.js の API ルート経由でプロキシすると undici の既定タイムアウトで502。undici を直接いじれない制約下で、Node標準の http/https に書き直して応答待ちを無制限化した話。
- 話速変更でロボット声になる問題 — フェーズボコーダからWSOLAへ音高を保ったまま話速だけ変えたいのに、librosa のフェーズボコーダだと金属的な反響が乗る。原因は位相のにじみで、WSOLA を numpy で自前実装して解消した記録です。
- アンカー分布を可視化して「声の地図」を作る声質変換のアンカー群を、意味軸ごとのカバレッジと話者埋め込みのPCA散布図で可視化する話。声のライブラリの偏りと空白を図で語り、次に足すべき声を決める。
- 22.05kHz vs 44.1kHz — 『本物の広帯域』とアップサンプリングは何が違うのか22.05kHz音声を44.1kHzにアップサンプルしても高域は生まれません。F0条件付き44kモデルへ切り替えると、実測で>11kHz帯にエネルギーが約7.4%乗る——単なるリサンプルとの決定的な違いを解説します。
- Web Audioだけで仕様準拠WAV(16bit/モノラル/非圧縮)を録音するMediaRecorderのwebm/opusでは声質が劣化する——Web Audioで生PCMを収録し、16bit・モノラル・非圧縮のWAVを自前でエンコードしてダウンロードする実装を解説します。
- 声質だけで話者を推定する — 出所不明の音源にラベルを付けるメタデータのない音声アンカーを、話者埋め込みの類似度で既知話者と突合してラベリングする話。声質だけを頼りに出所を推定し、野良素材を資産に変えるまで。
- Seed-VCアーキテクチャ徹底解説 — 声を「誰が・何を・どう」に分解する4段構成Seed-VC の声質変換は whisper(意味) + campplus(話者性) + CFM/DiT(拡散mel生成) + BigVGAN(ボコーダ) の4段構成。話者性・発話内容・韻律を別モジュールで分けて扱う設計思想を、実コードを追いながら解説します。
- 応急処置を禁じて根本解決に徹する開発 — バグ調査の実例集try-catchで握りつぶす、ハードコードで逃げる、ヒューリスティックで誤魔化す——症状を隠す修正を封じ、真因にたどり着くための調査の型を、実際に遭遇した3つのバグで具体的に示します。
- 知覚できるビブラート/ピッチ揺らぎをどう作るかディレイ変調で自然な微小ピッチ揺らぎ(ビブラート)を作る方法と、『パラメータはあるのに聞き分けられない』問題を、変調深さの設計で解いた記録です。
- AIエージェントを複数体走らせて、自作UIのデザイン踏襲をレビューさせる実装したUIが与えたmockupに忠実か——レイアウト構造・配置・コンポーネントの一致を、独立した複数のレビュー用エージェントで多角的に検証するワークフローを紹介します。
- macOSでバックグラウンド常駐推論を安定運用する小ワザ集setsid も timeout も無い macOS で、ML推論サービスをバックグラウンド常駐させて安定運用するための小ワザ集。nohup+disown での常駐、バイナリログで tr が死ぬ問題、health エンドポイントでの起動待ち、pkill での停止まで。
- HuggingFaceの巨大ファイルDLが途中で止まる — curl再開で確実に取るhf_hub のダウンロードが数百MB超のファイルで停滞する環境で、curl の停滞検知+自動再開で確実に取得し、HFキャッシュ互換の構造を自作して HF_HUB_OFFLINE=1 でも参照できるようにした話。
- Claude Code + Chrome拡張で『見た目のズレ』を直す実践ブラウザ自動化拡張で実際にレンダリングされた画面をAIに『見せて』、mockup画像と突き合わせ、レイアウトのズレを特定して直す——コードだけでは埋まらない見た目の乖離をなくす実践ワークフローです。
- レーダーチャートの頂点ドラッグ編集をスライダーと双方向同期するSVGレーダーチャートの頂点をドラッグして値を編集し、8本のスライダーと双方向でリアルタイム同期する実装パターンを、座標変換とポインタ処理を中心に解説します。
- 拡散モデルの生成を決定論化する — 同じ入力から必ず同じ声を拡散モデルは乱数ノイズから出発するため、同じ入力でも実行のたびに結果が微妙に変わります。torch.manual_seed でシードを固定して生成を決定論化し、A/B比較・パラメータ効果検証・再現性を担保する実務的意義を解説します。
- 8つの知覚軸で声をデザインする — 意味軸→話者埋め込みブレンド「もう少し若く、少しハスキーに」——そんな直感的な操作で目標の声を作る仕組みを、8つの知覚軸から複数アンカーの話者埋め込みを加重合成する手法として解説します。
- 重いMLアセット(data/features)を別サーバへ配る運用 — tar + scp + MD5検証git に入れたくない重いMLアセット(data/ features/ など)を tar でまとめて scp で配布し、MD5で完全性を検証する運用。重いバイナリを除外しつつ必要な公開アセットだけ !除外解除する .gitignore 設計もあわせて紹介します。
- 【失敗から学ぶ】"息遣い"はなぜ独立パラメータにできなかったのか声に息遣いを足すスライダーを実装しようとして、加算・クロス合成・WORLD非周期性・モデル側生成まで一通り試し、最後に諦めてUIから消した記録。息漏れ=気息ノイズは物理的にノイズと不可分でした。
- 「単一話者で自然で高音質」なアンカーを機械的に選ぶ声質変換のアンカー(話者素材)を耳ではなく指標で選ぶ話。話者混在の検出、韻律ベースの自然さ、SQUIM PESQ による品質ゲートの3段フィルタで、最低PESQを 1.24→2.31 に引き上げるまで。
- 音声変換が『ゆっくり喋る』バグの犯人は、Whisperの30秒制限だった声質変換した音声だけがなぜか間延びして再生される——原因はモデルではなく、意味抽出に使うWhisperの30秒制限でした。症状から真因にたどり着くまでの調査と、チャンク化による解決を紹介します。
- LiteLLMでマルチプロバイダーを活用するフォールバック設定のベストプラクティス複数のLLMプロバイダーを統一的に扱うLiteLLMで、フォールバック機能を最大限に活用するための設定方法と運用ノウハウを解説します。
- クレジットカード不要で使える無料LLM APIプロバイダまとめ(2026年版)クレジットカード登録なしで利用できる無料枠付きLLM APIプロバイダをまとめました。マルチプロバイダ構成によるフォールバック戦略や実運用時の注意点についても解説します。
- git worktree でコーディングエージェントを並列実行する開発環境の作り方複数のコーディングエージェントを git worktree で並列に走らせ、比較・レビューからデプロイ承認までをつなぐ開発ワークフローを紹介します。
- GitHub Proのプライベートリポジトリで「デプロイ承認ゲート」をどう作るか環境の必須承認レビュアーは Free/Pro/Team では public 限定。private で人間の承認ゲートを作るには workflow_dispatch が確実、という実践知。