Claude Code 始めました
自力じゃ無理なロジック、Claudeと論文から組み立てた話

はじめに

AIコーディングでアプリを作っていると、「何を作るか」は自分で決められます。設計も方針も自分で出せます。でも、たまに壁にぶつかります。

やりたいことはあるのに、それを実現するロジックの引き出しが自分にない。

プログラマーでもないですし、信号処理の専門家でもないです。そういう時にClaudeが頼りになった話です。


問題:音声の男女判定がうまくいかない

LiveTR(リアルタイム音声翻訳アプリ)に、話者の性別に応じて読み上げの声を切り替える機能を入れたかったんです。男性の声なら男性っぽく、女性の声なら女性っぽく。

最初に思いつくのは基本周波数(ピッチ)で判定する方法です。男性は低い、女性は高い。シンプル。

やってみました。普通の会話なら、まあまあ動きます。

ところがF1の中継を流してみると、解説者が興奮するたびに女性判定になります。レースが白熱するとピッチが上がるので、男性の声なのに「女性」と判定される。これが頻繁に起きます。

ピッチだけじゃダメです。でも、じゃあ他に何を見ればいいのか。自分にはわかりませんでした。


Claudeに聞いてみました

「音声の性別判定で、ピッチだけだと興奮時に誤判定する。学術的にはどういう手法がある?」

Claudeに調べてもらいました。Researchモード(Claudeが自律的にWebを検索して調査してくれる機能)で学術論文や特許を探させると、自分では辿り着けなかった手法がいくつか出てきました。

ピッチだけじゃなくて、フォルマント(声道の共鳴周波数)やMFCC(メル周波数ケプストラム係数)など、複数の指標を組み合わせることで、興奮状態でも安定した判定ができるそうです。

論文の内容を全部理解したかと言われると、正直怪しいです。でもClaudeが「この手法はこういう原理で、こういう特徴がある」と説明してくれるので、方針は立てられました。そこから自分で「この組み合わせでいこう」と決めて、構成を詰めていきました。


そのまま実装へ

方針が決まったら、あとはClaudeと一緒に組み立てていきました。

「この論文の手法をベースに、こういう構成で実装してほしい」と伝えると、Claudeがコードを書いてくれます。動かして、結果を確認して、おかしければ調整する。いつものサイクルです。

F1の中継でテストしてみたら、解説者が興奮しても男性のまま判定されるようになりました。ピッチだけの時とは安定感が全然違います。


これがAIコーディングの強みだと思います

コードを書いてくれること自体はもう当たり前になってきました。でも、自分の知らない分野の知識を引っ張ってきて、それを実装に落とし込めるのは、また別の価値だと思います。

信号処理の論文なんて自分で探して読む力はないです。でもClaudeに「こういう問題がある」と伝えれば、関連する研究を調べてきて、それを動くコードにしてくれます。

もちろん、出てきたものをそのまま信用するわけじゃないです。動かして、テストして、おかしければ方針から見直す。そこは変わりません。でも、知識のスタート地点がゼロじゃなくなるのが大きいです。

一つ注意。いくら良い成果が得られたとしても、特許を参照して作ったロジックで商売したら、特許権侵害になる可能性があります。論文ベースでも、その手法に関連する特許が存在することはあります。商用利用する場合は、権利関係の確認が必要です。これもClaudeに「この手法に関連する特許はある?」と聞けば調べてくれます。ただ、Claudeの調査が完璧とは限らないので、最終的な判断は自分で行う必要があります。

自分はコードを書く側の人間じゃない。設計して、方針を決めて、判断するのが自分の仕事。Claudeは知識を引っ張ってきて、それを動くコードにしてくれる。今回はこの役割分担がきれいにハマった例だと思う。


このブログ「Claude Code 始めました」は、Claude MAX ユーザーが実際の開発で使いながら学んだことを記録していくサイトです。