<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>LiveTR on Claude Code 始めました</title><link>https://kitepon-rgb.github.io/WebAICoding/tags/livetr/</link><description>Recent content in LiveTR on Claude Code 始めました</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Mon, 30 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://kitepon-rgb.github.io/WebAICoding/tags/livetr/index.xml" rel="self" type="application/rss+xml"/><item><title>自力じゃ無理なロジック、Claudeと論文から組み立てた話</title><link>https://kitepon-rgb.github.io/WebAICoding/post/claude-research-implementation/</link><pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate><guid>https://kitepon-rgb.github.io/WebAICoding/post/claude-research-implementation/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;/h2&gt;
&lt;p&gt;AIコーディングでアプリを作っていると、「何を作るか」は自分で決められます。設計も方針も自分で出せます。でも、たまに壁にぶつかります。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;やりたいことはあるのに、それを実現するロジックの引き出しが自分にない。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;プログラマーでもないですし、信号処理の専門家でもないです。そういう時にClaudeが頼りになった話です。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="問題音声の男女判定がうまくいかない"&gt;問題：音声の男女判定がうまくいかない&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://kitepon-rgb.github.io/WebAICoding/post/livetr-app/"&gt;LiveTR&lt;/a&gt;（リアルタイム音声翻訳アプリ）に、話者の性別に応じて読み上げの声を切り替える機能を入れたかったんです。男性の声なら男性っぽく、女性の声なら女性っぽく。&lt;/p&gt;
&lt;p&gt;最初に思いつくのは基本周波数（ピッチ）で判定する方法です。男性は低い、女性は高い。シンプル。&lt;/p&gt;
&lt;p&gt;やってみました。普通の会話なら、まあまあ動きます。&lt;/p&gt;
&lt;p&gt;ところがF1の中継を流してみると、&lt;strong&gt;解説者が興奮するたびに女性判定になります&lt;/strong&gt;。レースが白熱するとピッチが上がるので、男性の声なのに「女性」と判定される。これが頻繁に起きます。&lt;/p&gt;
&lt;p&gt;ピッチだけじゃダメです。でも、じゃあ他に何を見ればいいのか。自分にはわかりませんでした。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="claudeに聞いてみました"&gt;Claudeに聞いてみました&lt;/h2&gt;
&lt;p&gt;「音声の性別判定で、ピッチだけだと興奮時に誤判定する。学術的にはどういう手法がある？」&lt;/p&gt;
&lt;p&gt;Claudeに調べてもらいました。Researchモード（Claudeが自律的にWebを検索して調査してくれる機能）で学術論文や特許を探させると、自分では辿り着けなかった手法がいくつか出てきました。&lt;/p&gt;
&lt;p&gt;ピッチだけじゃなくて、フォルマント（声道の共鳴周波数）やMFCC（メル周波数ケプストラム係数）など、複数の指標を組み合わせることで、興奮状態でも安定した判定ができるそうです。&lt;/p&gt;
&lt;p&gt;論文の内容を全部理解したかと言われると、正直怪しいです。でもClaudeが「この手法はこういう原理で、こういう特徴がある」と説明してくれるので、方針は立てられました。そこから自分で「この組み合わせでいこう」と決めて、構成を詰めていきました。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="そのまま実装へ"&gt;そのまま実装へ&lt;/h2&gt;
&lt;p&gt;方針が決まったら、あとはClaudeと一緒に組み立てていきました。&lt;/p&gt;
&lt;p&gt;「この論文の手法をベースに、こういう構成で実装してほしい」と伝えると、Claudeがコードを書いてくれます。動かして、結果を確認して、おかしければ調整する。いつものサイクルです。&lt;/p&gt;
&lt;p&gt;F1の中継でテストしてみたら、解説者が興奮しても男性のまま判定されるようになりました。ピッチだけの時とは安定感が全然違います。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="これがaiコーディングの強みだと思います"&gt;これがAIコーディングの強みだと思います&lt;/h2&gt;
&lt;p&gt;コードを書いてくれること自体はもう当たり前になってきました。でも、自分の知らない分野の知識を引っ張ってきて、それを実装に落とし込めるのは、また別の価値だと思います。&lt;/p&gt;
&lt;p&gt;信号処理の論文なんて自分で探して読む力はないです。でもClaudeに「こういう問題がある」と伝えれば、関連する研究を調べてきて、それを動くコードにしてくれます。&lt;/p&gt;
&lt;p&gt;もちろん、出てきたものをそのまま信用するわけじゃないです。動かして、テストして、おかしければ方針から見直す。そこは変わりません。でも、&lt;strong&gt;知識のスタート地点がゼロじゃなくなる&lt;/strong&gt;のが大きいです。&lt;/p&gt;
&lt;p&gt;一つ注意。いくら良い成果が得られたとしても、特許を参照して作ったロジックで商売したら、特許権侵害になる可能性があります。論文ベースでも、その手法に関連する特許が存在することはあります。商用利用する場合は、権利関係の確認が必要です。これもClaudeに「この手法に関連する特許はある？」と聞けば調べてくれます。ただ、Claudeの調査が完璧とは限らないので、最終的な判断は自分で行う必要があります。&lt;/p&gt;
&lt;p&gt;自分はコードを書く側の人間じゃない。設計して、方針を決めて、判断するのが自分の仕事。Claudeは知識を引っ張ってきて、それを動くコードにしてくれる。今回はこの役割分担がきれいにハマった例だと思う。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;このブログ「Claude Code 始めました」は、Claude MAX ユーザーが実際の開発で使いながら学んだことを記録していくサイトです。&lt;/em&gt;&lt;/p&gt;</description></item><item><title>LiveTR — 動画の英語音声をリアルタイムで日本語にするアプリ</title><link>https://kitepon-rgb.github.io/WebAICoding/post/livetr-app/</link><pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate><guid>https://kitepon-rgb.github.io/WebAICoding/post/livetr-app/</guid><description>&lt;h2 id="livetrとは"&gt;LiveTRとは&lt;/h2&gt;
&lt;p&gt;PCで再生中の動画の英語音声をリアルタイムに認識して、日本語に翻訳するWindows用アプリです。翻訳結果は字幕として画面にオーバーレイ表示され、日本語で読み上げもしてくれます。&lt;/p&gt;
&lt;p&gt;YouTube、Twitch、ローカル動画ファイル。英語の音声が流れていれば、ソースは問いません。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="主な機能"&gt;主な機能&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;リアルタイム音声認識&lt;/strong&gt; — faster-whisperで英語音声をその場で文字起こしします&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;日本語翻訳&lt;/strong&gt; — オンライン翻訳サービス（Google Cloud、DeepL、Azure、Amazon）に対応しています&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;字幕オーバーレイ&lt;/strong&gt; — 翻訳結果を透過ウィンドウで表示します。位置やサイズは調整可能で、クリックは透過します&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;日本語読み上げ&lt;/strong&gt; — AivisSpeechで翻訳結果を読み上げます。話者の声質を自動で反映します&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自動ダッキング&lt;/strong&gt; — 読み上げ中は動画の音量を自動で下げて、聞き取りやすくします&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;プロセス単位の音声キャプチャ&lt;/strong&gt; — 指定したアプリの音声だけを拾います。読み上げ音声を再キャプチャするループも防止しています&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="使い方"&gt;使い方&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;アプリを起動します&lt;/li&gt;
&lt;li&gt;音声をキャプチャしたいプロセスを選択します&lt;/li&gt;
&lt;li&gt;「開始」を押すと、音声認識・翻訳・字幕表示・読み上げが始まります&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="動作環境"&gt;動作環境&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Windows 10 / 11（64bit）&lt;/li&gt;
&lt;li&gt;NVIDIA GPU（CUDA 12.x対応）&lt;/li&gt;
&lt;li&gt;メモリ 16GB以上推奨&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;GPU必須です。音声認識モデルをリアルタイムで回すので、それなりのスペックが要ります。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="開発の話"&gt;開発の話&lt;/h2&gt;
&lt;p&gt;Claude Codeだけで作りました。期間は約4日。&lt;/p&gt;
&lt;p&gt;OLTranslatorが画面のテキストを翻訳するアプリだったので、「じゃあ音声も同じことできないか」と思って作り始めました。OLTranslatorはCopilotで2週間かかったので、それと比べるとかなり速い。もちろん自分がAIコーディングに慣れてきた部分もあるが、CLAUDE.mdでプロジェクトの方針を引き継げることと、設計→指示→レビューのサイクルがClaude Codeだと自然に回るのが大きかった。&lt;/p&gt;
&lt;h2 id="こだわったところ"&gt;こだわったところ&lt;/h2&gt;
&lt;p&gt;音声認識で拾った文を、どこで切って翻訳に回すか。一文をどこで区切るか、途中で切られてしまったらどう繋げるか。これは翻訳精度に直結するので、かなり気を使いました。&lt;/p&gt;
&lt;p&gt;話者の性別判定にもこだわりました。読み上げの声を話者に合わせたかったので、論文や特許を参考にしながらClaude Codeと一緒にロジックを組みました。AivisSpeechには複数の話者モデルがあるので、男性の声なら男性っぽく、女性の声なら女性っぽく読み上げます。&lt;/p&gt;
&lt;p&gt;ただ、この性別判定がかなり厄介だった。ピッチだけで判定すると、F1実況みたいに興奮してピッチが上がる場面で男性が女性判定になる。この問題をどう解決したかは「&lt;a href="https://kitepon-rgb.github.io/WebAICoding/post/claude-research-implementation/"&gt;自力じゃ無理なロジック、Claudeと論文から組み立てた話&lt;/a&gt;」で詳しく書いた。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="ダウンロード"&gt;ダウンロード&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://qo-shop.booth.pm/items/8134987"&gt;LiveTR — リアルタイム音声翻訳アプリ（BOOTH）&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="関連記事"&gt;関連記事&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://kitepon-rgb.github.io/WebAICoding/post/oltranslator-app/"&gt;OLTranslator&lt;/a&gt; — 画面テキスト版の翻訳アプリ。OLTranslatorが「文字」、LiveTRが「音声」。同じ翻訳でもアプローチが全然違う&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kitepon-rgb.github.io/WebAICoding/post/claude-research-implementation/"&gt;自力じゃ無理なロジック、Claudeと論文から組み立てた話&lt;/a&gt; — 性別判定ロジックの技術的な深掘り&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;このブログ「Claude Code 始めました」は、Claude MAX ユーザーが実際の開発で使いながら学んだことを記録していくサイトです。&lt;/em&gt;&lt;/p&gt;</description></item></channel></rss>