← PATTI SCRIBE ダウンロードページへ戻る

PATTI SCRIBE 開発・公開の全手順

〜エンジニア経験ゼロの元テレビディレクターが、AIと組んで自作アプリを世界に無料公開するまで〜


この記録について

この文書は、映像ディレクターの池本翔(合同会社スタジオパッチ代表)が、AI(Claude)と協働して「無料の動画文字起こしツール PATTI SCRIBE」を開発し、GitHub で世界に公開するまでの全工程を、クリック単位で記録した手順書である。

プログラミングの専門知識は不要だった。使ったのは「日本語で要望を伝える力」と「実際に触って不具合を報告する力」だけ。物語の骨子として、あるいは同じことに挑戦したい人の実践マニュアルとして使えるよう、事細かに残す。

登場する「役割分担」を先に整理しておく。

登場人物 役割 たとえるなら
本人(池本) 要望を出す・実機で試す・不具合を報告する・最終判断する 施主(依頼主)
Claude(チャット) 設計する・コードを書く・戦略を立てる 設計士
Claude Code 本人のPC内で実際にファイルを組み立てる 現場の大工
GitHub 完成品を世界に公開する場所 公共の掲示板/土地

第1章:AIでアプリを開発する手順

1-1. すべての出発点は「自分が困っていたこと」

最初の動機は明快だった。テレビ番組・YouTube編集の現場で、インタビューや対談を毎回「文字起こし」する作業に膨大な時間を奪われていた。 クラウドの文字起こしサービスは便利だが、月額料金がかかり、何より「放送前の素材を他社のサーバーに送る」ことへの不安が拭えなかった。

教訓:作るべきものは「自分が心底ほしいもの」から生まれる。 市場調査より前に、自分の痛みがあった。

1-2. AIへの最初の頼み方

専門用語は一切使わなかった。伝えたのはこれだけ:

「動画データや音声データから声を抽出してテキストにしたい。YouTubeのURLからも文字起こししたい。この2つを叶えるアプリを作ってほしい」

ポイントは「何を実現したいか」だけを日本語で伝えたこと。「Pythonで」とか「Whisperを使って」といった指定は一切していない。手段はAIが選ぶ。人間は目的を語るだけでいい。

1-3. AIが選んだ技術(結果として)

AIが裏側で選定した構成(本人は仕組みを理解する必要はなかったが、記録として):

これらはすべて無料・オープンソース。だから完成品も無料で配れた。

1-4. 開発の進め方(このプロジェクトの心臓部)

開発は「本人が実機で試す → 不具合を具体的に報告する → AIが直す」のループでひたすら進んだ。これが最も重要な工程なので、実際に起きたやり取りを時系列で残す。

バージョンの進化史(実際の記録)

Ver 何を直したか きっかけとなった本人の報告
v1.0 初版完成
(bat文字化け) 起動ファイルの文字コード修正 「ターミナルに『繝ゥ繧、繝悶Λ』みたいな文字化けが出る」
v1.2 冒頭の声が消える問題/速度改善 「00:02-00:30の音声が一切テキスト化されてない」
v1.3 結果が入れ替わらないバグ修正/16ch対応 「2つ目のデータを入れたのに1つ目の結果が表示されたまま」
v1.5 L/Rペア収録の話者を1人と正しく認識 「1&2chがAさん、3&4chがBさんで編集してる」
v1.6 マルチストリーム動画の音声を全部読む 「やっぱり冒頭がおかしい」
v1.8 冒頭の声の欠落を根絶(無音クッション) 「同じ音源で、まだ00:00-00:03が拾えてない」
v1.9 EDIUSテロップ自動生成を追加 「EDIUSに文字起こしを貼ってテロップ自動生成できる?」
v1.10 1行の最大文字数で自動改行 「1行〇文字以上になったら改行したい」
v1.11 テロップのフォント化け&クラッシュ修正 「クイックタイトラーが固まって落ちた」
v1.12 テロップのセンター配置+座標固定 「テロップをセンターに来るようにしたい」
v1.13 ロゴを実アートワークに差し替え 「マイクマークを添付のロゴに変えて」

教訓:本人の仕事は「コードを書くこと」ではなく「現場のプロとして正確に不具合を報告すること」だった。 「00:02-00:30が消えた」という具体的な報告が、AIに原因(音声チャンネルの問題)を特定させた。曖昧な「なんか変」ではなく、時間・症状・再現条件を添えた報告が開発を加速させた。

1-5. AIに実際のファイルを渡す威力

途中で本人が「みやもさん音.wav」という実際のインタビュー素材を渡した。これが決定的だった。AIはそのファイルを解剖し、「4チャンネル収録で、冒頭28秒は特定チャンネルにしか声が入っていない」ことを数値で突き止めた。

教訓:推測で直すより、現物を渡す方が100倍速い。 困った素材があれば、それ自体をAIに渡す。


第2章:自分用から「公開用」にするための手順

2-1. なぜ2つに分けたか

自分用には「YouTube文字起こし機能」があった。だが公開版ではこれを外す判断をした。理由:

教訓:「自分が使う」と「他人に配る」は、法的にもリスク的にも別物。 公開版では機能を引き算する勇気が要る。

2-2. 3つのフォルダに整理

混乱を避けるため、最終的に用途別の3フォルダに再編成した:

フォルダ 役割 置き場所
① 自分用 毎日使う(YouTube機能付き) apps\patti-scribe
② 公開版マスター 公開版の原本+運営書類(金庫) apps\patti-scribe-master
③ GitHub用 公開作業の当日セット デスクトップ(作業後は消す)

教訓:「日常」「保管」「作業」で物理的にフォルダを分けると、頭が混乱しない。

2-3. 「ダウンロード後すぐ起動」を実現する(ポータブル版)

当初の公開版は「Pythonというソフトを別途インストールしてから」動く仕様で、一般ユーザーにはハードルが高かった。そこでPython本体ごとアプリに同梱した「ポータブル版」を作った。

これは Claude Code(現場の大工)の仕事だった。本人が出した指示は実質1行:

「CLAUDE_CODE_BUILD.md を読んで、その通りにポータブル版をビルドして」

結果、「解凍して PattiScribe.bat をダブルクリックするだけ」で起動する232MBのzipが完成した。

教訓:難しい製造作業は Claude Code に丸投げできる。人間は「指示書のありか」を伝えるだけ。


第3章:GitHubアカウント作成から公開までの手順

ここが最も「クリック単位」で知りたい部分。実際の画面遷移をそのまま残す。

3-1. GitHubアカウントの作成

※本人は既にアカウント(ユーザー名 ikemotodir)を持っていたため、この工程は省略できた。これから作る人向けに手順を残す。

  1. ブラウザで https://github.com を開く
  2. 右上の「Sign up」をクリック
  3. 画面の指示に従い、1問ずつ入力:
  4. メールアドレス → 「Continue」
  5. パスワード(英字+数字、7文字以上)→ 「Continue」
  6. ユーザー名 → 「Continue」(★後からURLに一生使われるので慎重に。会社の顔になる名前を)
  7. アンケート(適当でOK・後で変更可)
  8. 本人確認パズル(画像の向きを合わせる等)
  9. Create account」をクリック
  10. 登録メールに届いた認証コードを入力
  11. プラン選択で「Free(無料)」を選ぶ

ポイント:ユーザー名は変更可能だが、変えると配布URLが全部変わってしまう。最初に決め切る。SNSと統一されているならそのまま活かすのが賢い。

3-2. リポジトリ(置き場)を作る

  1. 右上の「」→「New repository」をクリック
  2. Repository namepatti-scribe と入力
  3. Public(公開)を選択 ← 無料公開の必須条件
  4. 下の「Add README」「Add .gitignore」「Add license」はすべて触らずデフォルトのまま(初回は全部スルーが正解)
  5. 緑の「Create repository」をクリック

3-3. 配布ページの材料をアップロード

  1. 作成直後のリポジトリ画面で、青枠内の「uploading an existing file」をクリック (※下に並ぶ git init などのコマンドは全部無視でOK)
  2. パソコンで「GitHub用フォルダ」の中の3ファイルを選択:
  3. config.json(広告・更新通知のリモコン設定)
  4. index.html(配布ページ本体)
  5. patti_logo.png(ロゴ画像)
  6. 3ファイルだけをドロップエリアにドラッグ(★フォルダごとではなく中身3つ)
  7. 下の緑の「Commit changes」をクリック

3-4. 配布ページを世界に公開(GitHub Pages)

  1. 上部メニューの「Settings」をクリック
  2. 左サイドバーの「Pages」をクリック
  3. 「Branch」の欄を「main」に設定 →「Save
  4. 画面上部に「GitHub Pages source saved.」と青い帯が出れば設定完了
  5. 1〜3分待って F5(再読み込み)すると、「Your site is live at https://ikemotodir.github.io/patti-scribe/」と表示される
  6. これが配布ページのURL(永久無料・誰でも閲覧可・24時間表示)

ポイント:ドメイン料もサーバー代も一切かからない。GitHubの「間借り住所」を無料で使える。BASEやCanvaでサイトが作れるのと同じ仕組み。

3-5. アプリ本体(zip)をアップロード(Releases)

  1. リポジトリのトップに戻り、右側サイドバーの「Releases」をクリック (または URL欄に直接 github.com/ikemotodir/patti-scribe/releases/new を打つ)
  2. Create a new release」をクリック
  3. Choose a tag」→ v1.0 と入力 →「Create new tag: v1.0」を選択
  4. Release titlePATTI SCRIBE v1.0 と入力
  5. 説明欄に、あらかじめ用意した紹介文(日本語)を貼り付け
  6. Attach binaries by dropping them here...」エリアに PATTI_SCRIBE_portable.zip(232MB)をドラッグ
  7. アップロードのバーが100%になり、ファイル名が表示されるまで待つ(数分。途中でページを閉じない)
  8. 緑の「Publish release」をクリック

→ これで世界中の誰でもダウンロードできる状態になった。

3-6. ダウンロードボタンを繋ぐ(最後の配線)

配布ページのダウンロードボタンを、上げたzipに繋ぐ。

① zipのURLを取得 1. Releaseページで PATTI_SCRIBE_portable.zip のリンクを右クリック 2. 「リンクのアドレスをコピー」を選択 → https://github.com/ikemotodir/patti-scribe/releases/download/v1.0/PATTI_SCRIBE_portable.zip

② config.json に貼る 1. リポジトリトップ →「config.json」をクリック → 右上の鉛筆マーク(✏️) 2. "download_url": "..."... 部分をコピーしたURLに書き換え(★ダブルクォート " の中身だけ) 3. 「Commit changes」

③ index.html に貼る 1. リポジトリトップ →「index.html」をクリック → 鉛筆マーク 2. Ctrl+F#DOWNLOAD_URL_HERE を探し、同じURLに書き換え 3. 「Commit changes」

→ これで配布ページの緑のダウンロードボタンが機能する。公開完了。


第4章:各ポイントでバグがあった時の手順

このプロジェクトの本質は「一度で完璧を目指さず、出してから直す」だった。実際に起きたバグと、その対処フローを残す。

4-1. バグ報告の黄金パターン

本人が実践した、AIに最速で直させる報告の型:

  1. どの画面で起きたか(例:「クイックタイトラーを起動したら」)
  2. 何が起きたか(例:「フォントがAGA Arabesqueに化けて、固まって落ちた」)
  3. 可能ならスクリーンショット(エラー文が写っていれば原因特定が一気に進む)
  4. 再現条件(例:「2つ目のファイルに入れ替えたら」)

→ この4点セットがあれば、AIは推測ではなく原因を論理的に特定できた。

4-2. 代表的なバグと対処の実例

例1:文字化け(起動ファイルが動かない)

例2:冒頭の声が消える

例3:テロップソフトがクラッシュ

例4:公開後の実機テストで発覚した5連バグ

公開直後、本人が「自分が最初のユーザー」として通しで使い、5つの不具合を発見: 1. ダウンロード後に何をすればいいか分からない → READMEへの案内を追加 2. READMEが開けない → メモ帳で開ける.txt形式に変更 3. ショートカット作成が文字化けエラー → 正しい文字コードで作り直し 4. 文字起こしでcublasエラー → GPU「点火テスト」でCPUへ確実に切替 5. 黒い画面が怖い&残る → 起動時に自動最小化

教訓:これは「ドッグフーディング」(自社製品を自分で使う品質検査)という正式な手法。公開当日にやったから、実ユーザーが被害に遭う前に直せた。

4-3. バグ修正版の配り直し手順

修正版zipを作った後、GitHub上で差し替える手順(URLを変えずに中身だけ更新):

① Releaseのzip差し替え 1. Releaseページ(v1.0)→ 右上の鉛筆マーク(Edit) 2. Assets欄の古いzipの右のゴミ箱アイコンをクリック(「will be deleted」と赤字が出る=削除予約) 3. 新しいzip(同じファイル名)をドラッグ → アップロード100%待ち 4. 緑の「Update release」をクリック → 同名だからダウンロードURLが変わらない=config.jsonの再編集が不要

② index.htmlの差し替え 1. リポジトリトップ →「Add file」→「Upload files」 2. 新しい index.html をドラッグ(同名なので自動上書き) 3. 「Commit changes」 4. 1〜3分待って Ctrl+F5 でページ更新を確認

ポイント:ファイル名を同じにしておくと、差し替えても配線を直す必要がない。この設計が後の運営を劇的に楽にした。


第5章:Claude Code との連携手順

5-1. Claude とは何が違うのか

Claude(チャット) Claude Code
役割 設計・戦略・コード執筆 本人のPC内で実際にファイルを組み立てる
たとえ 設計士 現場の大工
得意なこと 考える・書く・判断する Python同梱・ffmpeg同梱など「重い製造」

5-2. 連携の基本フロー

  1. Claude(チャット)が指示書(〇〇.md)を作成する
  2. 本人がその指示書を、自分のPCの apps フォルダ内に配置する
  3. 本人が Claude Code を起動し、指示書のありかを1行で伝えるだけ
  4. Claude Code が指示書を読み、自走してファイルを組み立てる
  5. 完了報告(MORNING.md やログ)を、本人が Claude(チャット)に貼って検品してもらう

5-3. 実際に使った指示文の例

ポータブル版のビルド時:

C:\Users\studi\Desktop\Claude\apps\patti-scribe-master\CLAUDE_CODE_BUILD.md
を読んで、その通りにポータブル版(Python同梱・ダブルクリック起動)を
ビルドして。完成したら結果をMORNING.mdに書いて。

バグ修正(hotfix)時:

patti-scribe-master\hotfix\CLAUDE_CODE_HOTFIX.md を読んで、
その通りに実行して。files内の3ファイルは編集禁止・バイナリコピーのみ。
完了したらMORNING.mdに結果を書いて。

5-4. Claude Code に頼む時の注意点(実体験から)

5-5. Claude Code が見せた賢さ(記録として)

ビルド中、Windowsの「パスが長すぎる」制限にぶつかった際、Claude Code は自力で「短いパスのフォルダで作業し直す」という回避策を実行した。また、セキュリティソフト(Avast)が通信を妨害した際は、既にPCにあったキャッシュを使ってテストを完遂した。

教訓:現場で予期せぬ問題が起きても、Claude Code はある程度自力で解決する。ただし最終判断と検品は人間(と設計士Claude)が担う。


総括:この物語が示したこと

エンジニア経験ゼロの映像ディレクターが、以下をやり遂げた:

  1. 自分の困りごとを起点に、AIと日本語の対話だけでアプリを開発した
  2. 実機で試して具体的に報告する、という「プロの目」で品質を上げた
  3. 自分用と公開用を戦略的に分け、機能を引き算する判断をした
  4. GitHubで世界に無料公開した(ドメイン料ゼロ)
  5. 公開後も、config.json 1個の編集で運営できる仕組みを持った

プログラミングは書いていない。書いたのは「要望」と「不具合報告」と「判断」だけ。

これは特別な才能の話ではなく、「作りたいものが明確にあり」「実際に手を動かして試し」「AIに正確に伝える」 ことができれば、誰にでも再現できる時代の証明である。


付録:使ったツールと料金

ツール 役割 料金
Claude(チャット) 設計・コード執筆 有料プラン
Claude Code PC内での製造 有料プラン
GitHub 公開・配布 無料
GitHub Pages 配布ページのホスティング 無料
Whisper / ffmpeg / Streamlit 等 アプリの部品 無料(オープンソース)
配布したツール(PATTI SCRIBE) ユーザーの利用 無料

🎙️ PATTI SCRIBE © 2026 STUDIO PATTI LLC|合同会社スタジオパッチ 配布ページ:https://ikemotodir.github.io/patti-scribe/