YouTube の解説動画に、作り手本人の絵と声が入った ― ハコブくんの声と絵の回から
この記事の素材(コード・ログ・データ 5ファイル・まとめてダウンロードあり)arrow_downwardAIで読む ChatGPT・Claude などで、この記事に質問できます expand_more
Pixels to Motors の YouTube 解説動画は、謎解きの回だけで使っていた作り手エイイチのドット絵と AI 音声を、ふつうの解説回にも入れる形に変えた。最初の1本は、シリーズ「ひとりとAIのチーム」4回目「ハコブくんの声と絵は、どう作っているのか ― キャラクターの声と絵を、AIで作って分かったこと」(11分10秒)で、88文のうち84文を案内役のロボット「ハコブくん」が、4文(30.4秒)を作り手本人が話している。
この形で良くなること・できるようになったことは、次の3つです。
- 本人の考えを、本人の口から聞ける。 これまでの解説回では、作り手に聞いた実感をハコブくんが「エイイチいわく、……」と言い換えていました。いまは本人のドット絵が右下に出て、別の AI 音声で本人が話します。見ている人には、どこからが作り手の考えなのかが、声と絵で分かります
- 声を作る手間が、作り手の手から離れた。 これまでは、ハコブくんの声(ElevenLabs)を作るコマンドを、作り手が自分の Mac で打っていました。今回は、Claude が Mac の中で声を作れるようにした仕組みを使い、85文を4回に分けて作りました(最初の15文は28秒)。前の手間は測っていないので、どれだけ浮いたかは数字で言えません。作り手がしたのは、試しの声を聞いて選ぶことだけでした
- 前の声と、いまの声を聞き比べられた。 サイトのトップで前に流していた、ハコブくんの古い動画が残っていたので、その声を動画の中で7.4秒流しました。「声は何度か試して、今の形に落ち着いた」という本人の言葉のすぐあとに、実物の前の声が鳴ります
この形になったのは、確認用の動画を見た作り手の一言からでした。
あとおれの登場とセリフ(音声)がないけど?どうした?修正
謎解きの回(LOG395)で作った、ドット絵と口の動き・別の AI 音声の仕組みを、そのまま解説回に持ってきました。ほかにも、読みの直しで「表」が全文で抑揚がそろわず「リスト」に言い換えたこと、動画の冒頭で「腕が3本」の生成 AI のコマを見せたこと、台本を codex にかけなかったこと(自分のネタだから)を、この回で決めています。
| やったこと | なぜ | 結果 |
|---|---|---|
題材をシリーズ「ひとりとAIのチーム」4回目(ハコブくんの声と絵)に決め、筋を「絵 → 声 → 読み」にした | 作り手が、配膳ロボットのシリーズではなく、別のシリーズの続きを選んだ | 今日の失敗は「腕が3本」。台本は87文(1版) |
台本を、書いたのとは別のエージェントに記録と1文ずつ照合させた | 数・日付・言い過ぎを、記録で確かめるため | 直す9・整える7。結論を「最後に選んで通すのは人」に直した |
| codex にはかけなかった | 作り手の判断「自分のネタだから」 | 照合だけで声に進んだ |
候補の声の代わりに、サイトのトップの前の動画の声を流した | 候補の声の ID が残っていなかった | 前の声 7.4秒を、映像と一緒に流す場面を作った |
ハコブくんの声を、Claude が Mac の中で作った | 鍵が KIOXIA にあり、Mac の shell から動かせる | 85文を4回に分けて作った |
| 確認用1回目の指摘を直した | 冒頭のコマの位置・読み(何話・槙原・表)・作り手が出ていない | 本人のドット絵と声の4文を足し、「表」は「リスト」に言い換えた |
| 確認用2回目の指摘を直した | 文を足して番号がずれ、前の声が解説に重なっていた | 前の声を正しい間に移した |
下の図で、11分10秒のどこで、だれが話しているかを切り替えて見られます。左のボタンは3回目までの形(本人の言葉もハコブくんが言い換える)、右のボタンは新しい形です。


作業ログ ― 題材を決めてから、YouTube にアップロードするまで
この記事のコード・ログ・データは、1ファイルずつ下に置いています。全文はリンク先にあります。
ファイルの一覧(5本)
01_sec01.txt ― 台本:別のエージェントの照合で、結論を「最後に選んで通すのは人」に直した / 照合の結果(別のエージェントの報告の全文)・3,933字
02_narration.py.txt ― narration.py(台本の1文ずつ(場面・表情・字幕・後ろの間)と、読みの直し・本人が話す文)・10,575字
03_scenes.py.txt ― scenes.py(場面の絵・動き・本人のドット絵の小窓)・17,215字
04_ei_talk.py.txt ― ei_talk.py(本人のドット絵の口と目を声で動かす(KDDIの300億円の回から写した。変えていない))・5,522字
05_make_docs.py.txt ― make_docs.py(読み物の台本と codex の依頼文を作る(この回は codex にかけていない))・4,227字
ここから下は作業の記録です。効果の数字は、測れたものだけを「変わったこと」に書き、ほかは見込みです。視聴の数字は、公開後に YouTube アナリティクスで確かめます。
題材:配膳ロボットのシリーズではなく、「ひとりとAIのチーム」の4回目
「動画作成の続き」と頼まれ、進み具合のページ(動画ごとの作業の段階を一覧にしたページ)と作業フォルダを見て、候補を出しました。止まっていたのは、マンガのショート30本(4コマの絵の確認待ち)だけでした。次に、店の比較動画(配膳ロボットのシミュレーションを左右に並べた動画)の続きと、新しい解説回を出したところ、作り手の答えは「YouTube の動画作成に絞って。シリーズもの」でした。
配膳ロボットのシリーズの第3回(3Dの店で止まる所を見る回)を筋の案まで出しましたが、作り手は「他のシリーズ」を選び、その中から「ひとりとAIのチーム 4回目」に決まりました。シリーズの設計では、4回目は重い回の間に置く軽い回で、ハコブくん自身の話です。
材料:声の候補・読みの直し・マンガの決まりの表を、記録から数えた
台本に入れる数は、台本を書く日に記録から数え直しています(シリーズの決まり)。11月1日に数えたのは次の値です。
| 数えたもの | 値 | 数えた場所 |
|---|---|---|
| ハコブくんの声の説明文 | 6通り。1つの説明文から声が3つ出る。決めたのは6つ目の2つ目 | _制作ベース/ハコブくんの声_候補.md |
読みの直し(ElevenLabs に渡す前に、台本の言葉を読み方に置き換える組) | 37本の台本で207組(重複なし) | 動画フォルダの */narration.py の ELEVEN_READ |
| マンガの過去の間違いの表 | 10月30日と31日の2日間で22行。うち4行は別の AI が見つけた | ハコブくん/4コママンガ作成データ/指示/チェック項目と過去の間違い.md |
| マンガの日本語版の話数 | 99話(10月半ばまで。番号は第122話まで飛んでいる) | site_archive/index/02_マンガ一覧.md |
| ハコブくんの表情・口 | 表情8つ・口は声の大きさで4段階 | video_rules.md 4-7 |
ElevenLabs で持てる声の数 | いまのプランで10個まで(声を貸し借りしている) | video_rules.md 9-0b |
ElevenLabs(イレブンラボ)は、文章を AI の声で読み上げるサービスです。その中の「ボイスデザイン(Voice Design)」は、どんな声かを文章で書くと、新しい声を作ってくれる機能です(https://elevenlabs.io/ )。ハコブくんの声も、この番組でたまに出てくる作り手の声も、ここで作っています。
| 言葉 | この記事での意味 |
|---|---|
| ボイスデザイン | 説明の文章から、新しい声の候補を作る機能 |
| 声の ID | 作った声につく番号。台本を読ませるときに指定する |
| 試し読み(—try) | 台本とは別の文を、いくつかの書き方で読ませて聞き比べること |
| 全文 | 台本の全部の文を、1文ずつ声にすること |
マンガの絵を描いているのは、Google の画像生成 AI「Gemini」です(https://ai.google.dev/ )。Claude が1コマずつ絵の指示の文を書き、Gemini が1コマずつ描きます。
台本の筋を決めたときの選択
| 聞いたこと | 作り手の答え |
|---|---|
筋(右の下書き:声 → 読み → 絵) | 絵を前に、声を後に |
声の候補(候補1・2・6の試し読み)を流すか | 流す(音声を探す) |
| 今日の失敗 | 絵:腕が3本 |
作り手に聞いた3つの答え
台本に作り手の実感を入れるときは、Claude が作らず、本人に聞いた答えをもとにします(ユーモアや実体験を Claude が作ると嘘っぽくなるため)。聞いたのは3つです。
1.怖いと思うことはないな。声と絵は何度か試した(サイトでも作ったことがあった)結果今の声に落ち着いた。当初はもう少し高いキャラ付けされた声だったよ。 2.これはどうなんだろう?AIにこれはできないだろう?と思っていた仕事があっという間に代替されるようになっているので無くなってしまう可能性もあるとは思ってます。 3.まだ声のイントネーションや、イラストの描写ルールの間違いなどが多くて気がつくとデザインが変わっていたりするので気が抜けない。
台本:別のエージェントの照合で、結論を「最後に選んで通すのは人」に直した
1版の結論は「AI は候補を出す。選ぶのと、間違いを見つけるのは人の目と耳」でした。台本を書いたのとは別のエージェントに、記録と1文ずつ突き合わせてもらうと、いちばん大きな指摘はこの結論でした。マンガの過去の間違いの表の22行のうち4行は、見つけたのが別の AI だったからです。
- ねらい:記録から言える範囲で、結論を言い切る
- 変わったこと:結論を「AI は候補を出し、AI も確かめる。それでも、最後に選んで通すのは、いまは人の目と耳」に直した。見立ての最後の文も「腕が3本なのに気づいたのも、声の抑揚のおかしさに気づいたのも、人でした」と、例に絞った
- 見込める効果:「AI は間違いを見つけられない」と受け取られずに、人の役目(選んで通す)が伝わる
ほかに直したのは、表の行数(20→22)、マンガの話数(「130話を超えた」→「日本語版で99話」)、ハコブくんの体(動画の1コマから切り抜いた体はもう使っていない。いまは画像を作る AI で作り直した絵)、「球」を「きゅま」と読んだのは別の回(ハロの回)だったこと、モデルを比べた14文は1本目の動画の冒頭だったこと、です。
作り手の判断で、codex(OpenAI の AI。台本を論破するつもりで事実を確かめてもらう係)にはかけませんでした。
codexはいらない(自分のネタだから)
照合の結果(別のエージェントの報告の全文)
台本の87文を出典と突き合わせました。直したほうがよい所が9か所、確かめるか言い方を整えたほうがよい所が7か所ありました。いちばん大きいのは、「間違いを見つけるのは人」という結論が、過去の間違いの表と合わない点です(S013・S082・S079)。
## 直したほうがよい所
**S035「2日間で、20行になりました」**
- 問題:数が違います。表は22行ありました(10月31日が18行、10月30日が4行)。
- 出典:チェック項目と過去の間違い.md の「過去の間違い」の表。narration.py の頭のメモにある「20行」も古い数です。
- 直し方の案:「22行」にする。今後も行は増えるので、「11月1日に数えると」と、数えた日を添える。前の声:候補の声は残っていなかったので、サイトのトップの古い動画の声を流した
台本では、声の候補(落ち着いた30代の案内役・親しみのあるロボット・いまの声)を3つ続けて流す予定でした。作り手に候補の声の ID を聞くと、「声の候補はわすれました」。かわりに出てきたのが、この一言です。
サイトのトップにあるハコブくんの声は前は違う声でした。データ残ってないのかな?
探すと、ハコブくん/ハコブくん関連データ/ハコブくん_動画.mp4(2026年8月8日・10.04秒・音声つき)が残っていて、旧サイトのトップの動画(site_archive/content/static/top/images/ の 848×1056 の動画)と同じ長さでした。声が入っているのは0.5〜7.6秒で、そこを7.4秒切り出して送ると、作り手が「ハコブくんの前の声はそれです!」と確かめました。
台本は、候補を3つ流す4文をやめて、「サイトのトップで流していた、ハコブくんの動画では、前は、こんな声でした。」のあとの8.6秒の間に、前の声を鳴らす形にしました。
- ねらい:「声は何度か試した」を、言葉だけでなく実物の声で伝える
- 変わったこと:前の声 7.4秒を
sound.pyの効果音の行で、次の文の頭の8.2秒前に入れた。縦長の古い動画は、ぼかした同じ動画を背景に敷いた横長の映像にし、頭に5.04秒の止め絵を足して、声と口の動きがそろうようにした - 見込める効果:作り手が「もう少し高い、キャラクターっぽい声」と言う声を、見ている人が自分の耳で比べられる

声:Claude が Mac の中で ElevenLabs の声を作った
これまでの解説動画では、声を作るコマンド(tts_eleven.py)を作り手が自分の Mac で打っていました。鍵(ElevenLabs の API キー)を Claude に渡さないためです。10月30日に、作り手が鍵を外付けのドライブ(KIOXIA)に置き、スクリプトがそこから読む形にしてあったので、今回は Claude が Mac の shell(作り手の Mac の中で命令を動かす道具)から声を作りました。Claude は鍵の中身を読んでいません。
1回目は、85文を裏で一度に作ろうとして(nohup … &)、12文で止まりました。Mac の shell は、命令が返ったあとに裏の処理を続けないためです。そこで、1回に170秒までの区切りで、文の番号を分けて作り直しました。
| 回 | 作った文(0から数える) | かかった時間 | 使った文字数 |
|---|---|---|---|
| 1 | 0〜10(裏で動かしたもの) | 止まった | — |
| 2 | 11〜25 | 28秒 | 約545字 |
| 3 | 26〜55 | 170秒以内 | 約1,451字 |
| 4 | 56〜84 | 170秒以内 | 約1,255字 |
できた声は、声592秒+間85秒=11分17秒でした(確認用1回目は10分59秒)。
2回目の作成の出力(11〜25)
025 顔は、コードでえがいています。目と、口と、まばたき。表情は8
できあがり: voice_eleven/ハコブ 使った文字数 約545字
28s
26
3回目・4回目の作成の出力と、長さの合計
できあがり: voice_eleven/ハコブ 使った文字数 約1451字
56
できあがり: voice_eleven/ハコブ 使った文字数 約1255字
85
声 592秒 + 間 85秒 = 11分17秒
「大城さん」の読みだけは、全文を作る前に、漢字のままと「おおしろ」の2通りを試し読みにして、作り手が漢字のままを選びました。
試し_01 大城さんの腕が、3本になっていました。
試し_02 おおしろさんの腕が、3本になっていました。
試し_03 ジェミニというAIが、その指示で絵をえがく。
試し_04 マンガのまきはらくんの声を借りています。
できあがり: voice_eleven/ハコブ 使った文字数 約82字
- ねらい:声を作るたびに、作り手が Mac でコマンドを打つ手間をなくす
- 変わったこと:作り手がしたのは、試しの声を聞いて選ぶことだけになった。85文の全文と、確認のあとの作り直し(17文)と、作り手の声の4文を、Claude が作った
- 見込める効果:声の作り直しを、確認用の指摘を受けたその場で回せる。前の手間(作り手が Mac でコマンドを打っていた時間)は測っていないので、浮いた時間は次の回で比べる
画面:大文字型+動き。背景は記録のファイルを流した映像
画面の形は作り手に選んでもらい、シリーズの1〜3回目と同じ「大文字型(画面に出す文字を少なく大きくする型)+動きあり」にしました。強い動きの場面は11か所(腕が3本のコマ・問い・体の絵・直す前と直した後・22行の数え上げ・前の声・10個・207組の数え上げ・答え・選ぶ仕事・まとめ)、中くらいの場面は3か所です。背景には、マンガの過去の間違いの表・チェック項目・声の頼み方・読みの直しの表を、エディタで開いた見た目に描いて下へ送った映像を敷きました(make_bg.py)。

冒頭のコマは、第121話の3コマ目を描き直す前の絵(第121話_P3_20261030_114254.jpg)で、声の「1、2、3」に合わせて、3本の腕の横に数字が1つずつ出ます。


確認用1回目:冒頭の位置・読み3つ・作り手が出ていない
確認用1回目(10分59秒)への作り手の指摘は5つでした。
4秒の1コマのセンター合わせて 3分22秒 何話を「なんはなし」と呼んでいたので「なんわ」に修正 7分7秒 槙原くんのイントネーションがおかしい修正 表のイントネーションが全体で揃っていなので全部確認して あとおれの登場とセリフ(音声)がないけど?どうした?修正
| 指摘 | 原因 | 直し |
|---|---|---|
| 冒頭のコマが真ん中にない | 数字を左に置くため、コマを右に寄せていた | コマを真ん中に置き、数字も一緒にずらした |
| 何話を「なんはなし」 | 読みの直しがなかった | ('何話', 'なんわ') を足し、その文を作り直した |
| 槙原くんの抑揚 | 読みの直しで「まきはら」とひらがなにしていた | 試し読みで漢字・ひらがな・カタカナを比べ、作り手が漢字を選んだ。読みの直しから外した |
| 「表」の抑揚がそろわない | 文ごとに「ひょう」の上がり下がりが変わる | 試し読みで漢字・ひらがな・カタカナ・「リスト」を比べ、作り手が「リスト」を選んだ。台本の12か所すべてと、字幕・画面を「リスト」にした(「表情」はそのまま) |
| 作り手が出ていない | 解説回の型では、本人の言葉もハコブくんが言い換えていた | 謎解きの回の仕組みで、本人のドット絵と声の4文を足した |
「槙原くん」と「表」の試し読み
試し_01 実は、マンガの槙原くんの声を借りています。
試し_02 実は、マンガのまきはらくんの声を借りています。
試し_03 実は、マンガのマキハラくんの声を借りています。
試し_04 決まりの表で確かめ、直しの表に足していきます。
試し_05 決まりのひょうで確かめ、直しのひょうに足していきます。
試し_06 決まりのヒョウで確かめ、直しのヒョウに足していきます。
試し_07 決まりのリストで確かめ、直しのリストに足していきます。
できあがり: voice_eleven/ハコブ_試し2 使った文字数 約171字
作り手の選択は、槙原くんは「01 漢字」、表は「07 リストに言い換え」でした。
作り手が出る4文:ハコブくんが聞き、本人が答える
本人の言葉は、ハコブくんが「エイイチいわく」と言い換えていた所を、ハコブくんの問いと本人の答えに分けました。本人の声は、マンガの登場人物(槙原くん)の AI 音声を借りています(謎解きの回と同じ)。
| 場面 | ハコブくん | エイイチ(本人の声) |
|---|---|---|
| 絵の章の終わり | ここで、作っている本人に聞いてみます。エイイチです。 | 声のイントネーションも、イラストの描き方の決まりの間違いも、まだ多いんだよね。気がつくと、デザインが変わってたりするから、気が抜けない。 |
| 声の章(前の声の前) | 実は、ハコブくんの声は、これが最初ではありません。 | 声と絵は何度か試して、今の声に落ち着いたんだよ。最初は、もう少し高い、キャラクターっぽい声だった。 |
| 見立て | キャラクターの声と絵を、AIで作ることに、怖さはありますか。 | 怖いと思うことは、ないな。 |
| 見立て | では、デザイナーとして、選ぶ仕事は、人に残るんでしょうか。 | これは、どうなんだろう。AIにはできないだろうと思っていた仕事が、あっという間に置き換わるようになってるから。選ぶ仕事も、なくなる可能性はあると思ってます。 |
ドット絵の口と目は、本人の声の大きさで動き(ei_talk.py)、本人が話している間はハコブくんの口を止めます(narration.py の EI_LINES)。

- ねらい:作り手の考えを、作り手の口から聞いてもらう
- 変わったこと:88文のうち4文・30.4秒を本人が話す。どこからが本人の考えかを、ドット絵と声で示す(上の図のとおり)
- 見込める効果:見立ての節が、ハコブくんの説明ではなく本人の意見として届く。見ている人が、作り手本人に相談しやすくなるかは、公開後の相談の連絡で確かめる
声を2人分に分けたので、声の取り込み(tts_import.py)が止まりました。片方のフォルダにない文があると止まる作りのためです。ハコブくんの84文と本人の4文の mp3 を、1つのフォルダ(voice_eleven/_merge)に集めてから取り込みました。
040 の音声がありません(voice_eleven/ハコブ2/040.mp3 も、同じ文の仮音声もない)。tts2.py で仮音声を作ってから取り込む
000 の音声がありません(voice_eleven/eiichi/000.mp3 も、同じ文の仮音声もない)。tts2.py で仮音声を作ってから取り込む
差し替えた文 88 全体 11:10
確認用2回目:前の声が、ハコブくんの解説に重なっていた
6分20秒 昔のハコブくんの声が解説のハコブくんと別に入っている 6分43秒 本来元のハコブくんの声が入るタイミングで声が入っていない それ以外はOK
原因は、作り手の文を足したことで、文の番号が2つずれたことでした。前の声は sound.py で「文51の頭から8.2秒前」に置いていて、本人の文を足したあとの51番は、本人が話す文になっていました。正しい置き場所は53番(「たしかに、高い、キャラクターらしい声ですね。」)の8.2秒前です。
49 model 5.47 1.2
50 listen 3.55 0.35
51 listen 7.69 1.2
52 listen_old 5.04 8.6
53 listen_now 7.51 1.2
54 cast 5.01 0.35
直したあとの書き出しの記録では、前の声は401.60秒(6分41秒)に、52番の文の後ろの間の中で鳴っています。
401.60秒 文053 src/前の声.m4a -1dB 「たしかに、高い、キャラクターらし」
この直しは、文の番号ではなく文の頭で場所を探す形にしておけば防げました(NAME_OK と EI_LINES はすでにその形)。効果音の行は番号のままなので、次の回で直します。
タイトル・サムネイル・概要欄
タイトルは、3つの案から作り手が組み合わせて決めました。
ハコブくんの声と絵は、どう作っているのか ―キャラクターの声と絵を、AIで作って分かったこと
サムネイルは、腕が3本のコマを背景にし、左に「腕が/3本/見つけたのは人」、右下のハコブくんの札に「描いたのはAI」を置いた1案で、作り手が「サムネイルはOK」としました。

概要欄には、ナレーションが AI 音声であること、作り手の言葉は槙原くんの AI 音声を借りていること、マンガとハコブくんの体の絵が生成 AI であることを書きました。シリーズの1〜3回目へのリンクを入れたので、公開の日は3回目(11月4日公開予約)より後にするよう伝えました。
保存した場所と、本編の指紋
| もの | 場所 |
|---|---|
作り方のファイル(台本・narration.py・scenes.py・sound.py・make_bg.py・thumb.py・概要欄の下書き・投稿文) | iCloud PixelstoMotors/デジタルツイン学習R2R2R/動画/ハコブくんの声と絵/ |
本編・サムネイル・タイトル・概要欄・投稿文 | KIOXIA r2r2r-data/videos/ハコブくんの声と絵/アップロード用/ |
| 確認用の動画 | KIOXIA r2r2r-data/videos/ハコブくんの声と絵/ハコブくんの声と絵_確認用.mp4 |
使わなかった声(1版の声・試し読み) | iCloud 動画/_旧版/置き換え前_20261102_ハコブくんの声と絵_声1版/ |
| この回で決めたこと | 動画/_制作ベース/video_rules.md の100回目(3-1 の読みの直しと更新履歴) |
本編は、作業環境で gzip にして18MBずつ4つに分けて Mac へ送り、つないで指紋(md5)が同じことを確かめました。
b843f7fd622e4eddf2554c69b5676c65 out.mp4
b843f7fd622e4eddf2554c69b5676c65 /sessions/rcw-01levexurxqznstgpzxn8pfx/work_hv/up.mp4
b843f7fd622e4eddf2554c69b5676c65 /sessions/rcw-01levexurxqznstgpzxn8pfx/mnt/KIOXIA/r2r2r-data/videos/ハコブくんの声と絵/アップロード用/ハコブくんの声と絵.mp4
書き出しの記録(assemble.py の出力・確認用2回目のあと)
BGM 1本・効果音 48個 → mix.wav
401.60秒 文053 src/前の声.m4a -1dB 「たしかに、高い、キャラクターらし」
15.02秒 文003 se_rise -6dB 「そして、いまお話ししている、ハコ」
21.32秒 文004 se_rise -6dB 「AIの絵と声なら、ボタン1つで出」
34.03秒 文006 se_chapter_glock -8dB 「Pixels to Motors」
57.77秒 文009 se_chapter_marimba -8dB 「今日の問いは、ハコブくんの声と絵」
63.58秒 文010 se_rise -6dB 「AIを、チームの係のように使って」
72.98秒 文011 se_rise -6dB 「見るのは、このチャンネルの作り方」
82.65秒 文012 se_rise -6dB 「先に結論を言うと、AIは候補を出」
108.18秒 文014 se_rise -6dB 「先に言っておくと、AIに任せれば」
127.05秒 文016 se_rise -6dB 「大きく3つあります。」
140.57秒 文021 se_chapter_marimba -8dB 「1つ目、絵を、どう描いているのか」
152.72秒 文023 se_rise -6dB 「まず、画面の左にいる、このハコブ」
161.45秒 文025 se_rise -6dB 「顔は、コードで描いています。目と」
173.22秒 文026 se_rise -6dB 「マンガのほうは、4コママンガ『ハ」
185.32秒 文027 se_rise -6dB 「いまの作り方は、こうです。」
210.85秒 文030 se_rise -6dB 「4コマを1枚で描かせないのは、1」
218.22秒 文031 se_rise -6dB 「今日の失敗は、冒頭の、腕が3本で」
222.92秒 文032 se_rise -6dB 「第121話の3コマ目で、高杉さん」
236.88秒 文033 se_rise -6dB 「そこで、人が出るコマには、毎回、」
249.52秒 文034 se_rise -6dB 「こうした間違いは、リストに1行ず」
273.62秒 文037 se_rise -6dB 「いちばん手こずったのは、大きさで」
292.98秒 文039 se_rise -6dB 「ここで、作っている本人に聞いてみ」
298.12秒 文040 se_rise -6dB 「声のイントネーションも、イラスト」
308.95秒 文041 se_rise -6dB 「AIに描かせて、決まりのリストで」
317.17秒 文042 se_chapter_marimba -8dB 「2つ目、声を、どう選んだのか、で」
328.95秒 文044 se_rise -6dB 「使ったのは、ElevenLabs」
337.35秒 文045 se_rise -6dB 「頼む文章は、6通り書きました。年」
350.45秒 文047 se_rise -6dB 「最初の、落ち着いた声は、読み間違」
376.55秒 文049 se_rise -6dB 「声を作るモデルも、1本目の動画の」
383.22秒 文050 se_rise -6dB 「実は、ハコブくんの声は、これが最」
396.02秒 文052 se_rise -6dB 「サイトのトップで流していた、ハコ」
418.35秒 文054 se_rise -6dB 「マンガのショートでは、看護師さん」
439.92秒 文057 se_rise -6dB 「候補はAIが作る。決めるのは、聞」
447.73秒 文058 se_chapter_marimba -8dB 「3つ目、読み間違いを、どう直して」
458.15秒 文060 se_rise -6dB 「声を作る前に、台本の言葉を、読み」
470.75秒 文061 se_rise -6dB 「たとえば、案内の最初に出てくる名」
494.65秒 文064 se_rise -6dB 「ここで1つ、考えてみてください。」
505.95秒 文065 se_rise -6dB 「答えは、同じとは限りません。」
531.48秒 文069 se_rise -6dB 「怪しい言葉は、書き方を変えて試し」
545.75秒 文070 se_rise -6dB 「では、手間は減ったのか。」
561.68秒 文073 se_rise -6dB 「間違いを見つけたら、リストに足し」
570.37秒 文074 se_chapter_marimba -8dB 「ここからは、エイイチの見立てです」
573.98秒 文075 se_rise -6dB 「キャラクターの声と絵を、AIで作」
582.42秒 文077 se_rise -6dB 「では、デザイナーとして、選ぶ仕事」
608.60秒 文080 se_chapter_marimba -8dB 「じゃあ、冒頭の問いに答えますね。」
637.72秒 文083 se_rise -6dB 「AIの絵や声を見たら、聞いてみて」
645.62秒 文084 se_rise -6dB 「次の回は、ロボットに戻ります。A」
654.03秒 文085 se_chapter_marimba -8dB 「この動画が役に立ったら、高評価と」
ハコブくんの口を止める文: [40, 51, 76, 78]
frames 20114 = 670.5s 確認用 25.7MB (crf 32)
動きの場面の書き出し(motion_kit.py の出力・本人の文を足したあと)
hook_koma html 455 frames
question video 170 frames
body html 262 frames
manga video 363 frames
fail_arm html 419 frames
ledger video 723 frames
size video 581 frames
vd_text video 393 frames
listen_old video 409 frames
cast count 647 frames
read_table video 378 frames
quiz_ans slam 766 frames
ei_intro html 154 frames
honne_check html 325 frames
listen html 384 frames
mitate_fear html 253 frames
mitate_job html 790 frames
answer2 slam 869 frames
重なり 0 件
作業ログ ― この回で使ったコード(全文)
作業フォルダ(iCloud の 動画/ハコブくんの声と絵/)にあるファイルの、YouTube にアップロードした版の全文です。共通のスクリプト(_制作ベース/ の render.py・motion_kit.py・assemble.py・audio_mix.py・tts_eleven.py・tts_import.py など)は変えていません。
narration.py(台本の1文ずつ(場面・表情・字幕・後ろの間)と、読みの直し・本人が話す文)
# -*- coding: utf-8 -*-
# 台本「ハコブくんの声と絵は、どう作っているのか」— シリーズ「ひとりとAIのチーム」4回目(描く係・声の係)
# 2026-11-01 1版。筋はエイイチの決定(絵 → 声 → 読み・今日の失敗は「腕が3本」・候補の声を流す)
# 設計: _ネタ帳/シリーズ_ひとりとAIのチーム_20261018.md・骨組み: 台本_15本_20261012/25_ハコブくんの声と絵.md
# 書き写した元: 動画/AIに昨日の続きをさせる/narration.py(形・読みの直し・自己紹介とアウトロの定型)
# 数えた値(2026-11-01):
# - 読みの直しの表: 動画フォルダの narration.py 37本の ELEVEN_READ を重複なしで数えて207組(read_table)
# - 過去の間違いの表: ハコブくん/4コママンガ作成データ/指示/チェック項目と過去の間違い.md の表 22行(2026-10-30〜31)(ledger)scenes.py(場面の絵・動き・本人のドット絵の小窓)
# -*- coding: utf-8 -*-
# 動画「ハコブくんの声と絵は、どう作っているのか」(シリーズ「ひとりとAIのチーム」4回目・描く係と声の係)の場面
PATTERN = 2 # 画面パターン2(大文字型・video_rules.md 4-4c)
MOVE = True # 画面型の動き(4-4d)を強弱を付けて使う(2026-11-01 エイイチが選んだ)
# 2026-11-01: 「AIに昨日の続きをさせる」の scenes.py の形を写して書いた
# 強弱(video_rules.md 4-4d):
# 中: manga(縦長の並び)・vd_text(頼んだ文章)・size(チェック項目)
# 強(11場面・続けない): hook_koma(腕が3本のコマ)・question・body(体の絵)・fail_arm(直す前/直した後)・ledger(22 と数え上げ)・sound.py(BGM と効果音・前の声を鳴らす所)
# 音の置き方(audio_mix.py が読む。書き方は audio_mix.py の先頭)
# 2026-11-02 確認用2回目の指摘で直した: エイイチの文を足して番号がずれ、前の声が listen の文の上に重なっていた(51→53)
# 2026-11-01 「AIに昨日の続きをさせる」の sound.py を写した(同じ曲・同じ決まり)。前の声(サイトのトップの動画の声)を listen_old のあとの間に入れた
BGM = [
dict(file='sound/bgm_明るいB_2.mp3', start=0, end=None, level=-23, gap=-16, fade_in=0.6, fade_out=3.0),
]
SE = [
# 前のハコブくんの声(src/前の声.m4a・7.4秒)。listen_old(文52)の後の間 8.6秒の中で鳴らす。
# 次の文(53)の頭から 8.2秒前 = 文52 の頭から 5.44秒後。映像(src/hakobu_old_wide.mp4)も頭に 5.04秒の止め絵を入れてそろえた
(53, -8.2, 'src/前の声.m4a', -1),
]
SCENE_SE = dict(file='se_rise', level=-6, offset=-0.15, skip=['title_eiichi', 'listen_now'])
CHAPTER_SE = dict(file='se_chapter_marimba', files={'title': 'se_chapter_glock'}, level=-8, offset=-0.3,
scenes=['title', 'question', 'c1', 'c2', 'c3', 'mitate', 'answer2', 'outro'])
ei_talk.py(本人のドット絵の口と目を声で動かす(KDDIの300億円の回から写した。変えていない))
# エイイチ(ドット絵)が話している間、口と目を動かす部品(2026-10-28 エイイチの指示「話している時はおれの口や目が動くように」)
# 口は3段(閉じる・いつもの笑顔・大きく開く)を、声の大きさで 0.1 秒ごとに選ぶ(1段ずつしか変えない)。
# 目は、話し始めと、話している間ときどきまばたきする。
# どれも 100 ドットの絵の「その部分だけ」を描いた透明な PNG を、時間で重ねていく(motion_kit の data-a="fade")。
import os, io, base64, wave
import numpy as np
from PIL import Image
make_bg.py(記録のファイルをエディタの見た目で描いて、下へ送る背景の映像を作る)
# -*- coding: utf-8 -*-
"""背景の映像(記録のファイルを、エディタで開いた画面のように描いて、ゆっくり下へ送る)を src/ に作る。
2026-11-01「ハコブくんの声と絵」: 「AIに昨日の続きをさせる」の make_bg.py を写した。過去の間違いの表・チェック項目・声の候補・読みの直しの表を見せる(画面の録画の代わり。中身は記録のまま・書き換えない)
python3 make_bg.py
"""
import html, os, subprocess
from playwright.sync_api import sync_playwright
HERE = os.path.dirname(os.path.abspath(__file__))
FPS = 24
# (出力, 元のファイル, タブに出す名前, 何行目から, 何行目まで, 秒)
JOBS = [
("bg_mistakes.mp4", "src/md/mistakes.md", "ハコブくん / チェック項目と過去の間違い.md(過去の間違いの表)", 1, 26, 30),
("bg_check.mp4", "src/md/check_items.md", "ハコブくん / チェック項目と過去の間違い.md(A. 体・B. 大きさ)", 1, 30, 30),
("bg_voice.mp4", "src/md/voice_candidates.md", "_制作ベース / ハコブくんの声_候補.md(頼んだ文章の日本語訳・決定)", 1, 38, 30),
("bg_read.mp4", "src/md/eleven_read.md", "37本の narration.py / ELEVEN_READ(読みの直し・重複なし)", 1, 208, 60),
]
CSS = """
body{margin:0;background:#1e1e1e;width:1920px;font-family:'Noto Sans CJK JP',sans-serif}
.tab{height:64px;background:#2d2d2d;color:#ddd;font-size:28px;display:flex;align-items:center;padding-left:40px;border-bottom:2px solid #3c3c3c}
.tab b{background:#1e1e1e;padding:14px 30px;border-top:3px solid #C4471F;font-weight:500}
.code{padding:30px 60px 400px 0}
.ln{display:flex;font-size:30px;line-height:1.6}
.n{width:110px;text-align:right;color:#6e7681;padding-right:34px;flex:none}
.t{color:#d4d4d4;white-space:pre-wrap;word-break:break-all;flex:1}
.t.h{color:#569cd6;font-weight:700}
.t.ng{color:#f48771}
.t.b{color:#ce9178}
"""
def render(src, tab, a, b, png):
lines = open(os.path.join(HERE, src), encoding="utf-8").read().split("\n")[a - 1:b]
rows = []
for i, l in enumerate(lines, a):
cls = "h" if l.startswith("#") else ("ng" if "❌" in l or "⚠" in l else ("b" if l.startswith("**") else ""))
rows.append(f'<div class="ln"><div class="n">{i}</div><div class="t {cls}">{html.escape(l) or " "}</div></div>')
doc = f'<html><head><meta charset="utf-8"><style>{CSS}</style></head><body><div class="tab"><b>{html.escape(tab)}</b></div><div class="code">{"".join(rows)}</div></body></html>'
with sync_playwright() as p:
br = p.chromium.launch()
pg = br.new_page(viewport={"width": 1920, "height": 1080})
pg.set_content(doc)
pg.screenshot(path=png, full_page=True)
br.close()
for out, src, tab, a, b, sec in JOBS:
png = os.path.join(HERE, "src", out.replace(".mp4", ".png"))
render(src, tab, a, b, png)
h = int(subprocess.check_output(["ffprobe", "-v", "error", "-show_entries", "stream=height", "-of", "csv=p=0", png]).decode())
travel = max(h - 1080, 0)
subprocess.run(["ffmpeg", "-y", "-loglevel", "error", "-loop", "1", "-i", png, "-t", str(sec), "-r", str(FPS),
"-vf", f"crop=1920:1080:0:'min({travel},{travel}*t/{sec})',format=yuv420p",
"-c:v", "libx264", "-preset", "veryfast", "-crf", "20", os.path.join(HERE, "src", out)], check=True)
print(out, h, travel)
sheet.py(場面の一覧の画像を作る)
import os, subprocess, narration as N
from PIL import Image, ImageDraw, ImageFont
order=[]
for s in N.SEGS:
sc=N.parse(s)[0]
if sc not in order: order.append(sc)
STRONG={'hook_koma','question','body','fail_arm','ledger','listen_old','cast','read_table','quiz_ans','mitate_job','answer2'}
MID={'manga','vd_text','size'}
tw,th=480,270; cols=6; rows=(len(order)+cols-1)//cols
sheet=Image.new('RGB',(cols*tw,rows*(th+44)),'#ddd'); d=ImageDraw.Draw(sheet)
f=ImageFont.truetype('/usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc',26)
os.makedirs('sheet_tmp',exist_ok=True)
for i,sc in enumerate(order):
mp=f'src/motion_{sc}.mp4'
if os.path.exists(mp):
dur=float(subprocess.check_output(['ffprobe','-v','error','-show_entries','format=duration','-of','csv=p=0',mp]))
p=f'sheet_tmp/{sc}.png'; subprocess.run(['ffmpeg','-y','-loglevel','error','-ss',str(dur*0.8),'-i',mp,'-frames:v','1',p])
elif os.path.exists(f'png/scene/{sc}.png'): p=f'png/scene/{sc}.png'
else:
p=f'sheet_tmp/{sc}.png'; subprocess.run(['ffmpeg','-y','-loglevel','error','-ss','6','-i','src/day124_crop.mp4','-frames:v','1',p])
im=Image.open(p).convert('RGB').resize((tw,th))
x=(i%cols)*tw; y=(i//cols)*(th+44)
sheet.paste(im,(x,y+44))
lab='強' if sc in STRONG else ('中' if sc in MID else '静')
col={'強':'#C4471F','中':'#1A6C98','静':'#555'}[lab]
d.rectangle([x,y,x+tw-2,y+42],fill=col); d.text((x+10,y+6),f'{i+1:02d} {lab} {sc}',fill='white',font=f)
sheet.save('一覧_場面.jpg',quality=85); print(sheet.size, len(order))
thumb.py(YouTube のサムネイルの文言と背景)
# サムネイルの文言と背景(thumbnail.py が読む)。2026-11-01「ハコブくんの声と絵」: 背景は第121話の3コマ目の直す前の絵(生成AI・Gemini)に、数字をコードで重ねた画像
PHOTO = 'サムネ素材/腕が3本_全体.png'
PHOTO_POS_FULL = '50% 50%'
HAKOBU = True
LABEL = '描いたのはAI'
KICKER = 'ハコブくんの声と絵の作り方'
LINES = ['腕が', '<span class="red">3本</span>', '見つけたのは人']
VARIANTS = ['photo']
SIZE_L1, SIZE_L2, SIZE_L3 = 170, 330, 130
TXT_TOP = 70
HK_BOTTOM = -300
LABEL_BOTTOM = 40
LABEL_RIGHT = 450
LABEL_TAIL = 'bubble'
LABEL_FS = 60
make_docs.py(読み物の台本と codex の依頼文を作る(この回は codex にかけていない))
【ファイル】LOG425/05_make_docs.py.txt 4,227字・89行 python [❌ NG / ⚠️ 要注意] 文番号(例:S043) 問題:何が問題か(1〜2文) 根拠:確認した出典(記録の写しの該当箇所・ウェブの原文)または推論の筋道 修正案:差し替える文(台本の話し言葉の調子に合わせて)
最後に次の3点をまとめてください。
1. このまま公開してよいか(はい/直してから/大きく作り直すべき)
2. 公開前に必ず直すべき指摘の文番号
3. 台本の結論そのものへの評価(成立している/条件つきで成立/成立していない)と、その理由
---
## 台本が使った出典(エイイチの記録。2026-11-01 に Claude が Mac で数えた・写した)
| 主張 | 文番号 | 記録 |
|---|---|---|
| 第121話の3コマ目で高杉さん、第131話の3コマ目で大城さんの腕が3本。どちらもエイイチが見つけた。人が出るコマに「腕は2本・数える」を入れた | {R('hook_koma','fail_arm','fail_fix')} | チェック項目と過去の間違い.md「過去の間違い」の表: 「2026-10-31|第121話 P3|高杉さんの腕が3本|エイイチ|ANATOMY CHECK(腕2本・数える)を人が出る全コマに」「2026-10-31|第131話 P3|大城さんの腕が3本|エイイチ|ANATOMY CHECK」。チェック項目 A「人は腕2本・手2つ・脚2本。数える」 |
| 表は10月30日と31日の2日間で22行(11月1日に数えた) | {R('ledger')} | 同じ表の行数(10/31 が18行・10/30 が4行)。うち4行は見つけた人が「別のエージェント」 |
| 横の輪に穴・腕が生えた・扉が頭の上に浮いた | {R('ledger')} | 同じ表「30話すべて|ハコブくんの側面の輪の真ん中に穴」「第116話|ハコブくんに人型の腕・脚が生える」「第125話 P2|扉がハコブくんの頭の上に浮いた板になった」 |
| 身長を数字で書いても、絵のAIはコマの空いた所に収まる大きさで描く。頭頂と足もとの線の下地を渡し、高さの比も測る | {R('size')} | チェック項目 B「大きさが並び図と変わる原因」1「絵のモデルは数字の大きさを守らない…コマを埋める・構図が収まるように大きさを決める」・「大きさの指示は1か所だけ(yline の頭頂・足もとの位置+薄緑の枠の下地)」・「measure で比を出していちばん近いものを選ぶ」 |
| 絵の作り方: Claude が1コマずつ指示の文、Gemini が描く、AI が表で確かめ(まとめて描いたら別の会話のAI)、最後にエイイチ | {R('manga_flow')} | チェック項目「進め方」1〜4(チェック①は Claude・1枚ずつ。まとめて何話も描いたときは別のエージェント。チェック②はエイイチの OK)。道具/vbuild.py「縦長4コマのプロンプトを…組み、Gemini で描き」MODEL = gemini-3.1-flash-image |
| 4コマを1枚で描かせないのは、どこかが崩れるから | {R('manga_why')} | マンガのプロジェクト指示(横長版)「4コマを1枚で生成することはしない。1枚に4つの構図・向き・比率を同時指定すると必ずどこかが崩れるため、1プロンプト=1コマに分割する」 |
| 2025年12月に1話目、10月半ばまでに日本語版99話 | {R('manga')} | マンガ_動画ネタ一覧.md「ep01|2025-12-21」・site_archive/index/02_マンガ一覧.md「日本語 99話」(最新 ep122・2026-10-11) |
| 体は画像を作るAIで作った絵から切り抜き、顔はコード(目・口・まばたき・表情8・口4段階) | {R('body','face')} | hakobu.py「"new": ChatGPT で作り直した体」BODY = "new"・video_rules.md 4-7(表情 base・smile・surprise・doubt・think・trouble・joy・wink/口は音量で4段階/まばたき) |
| 声: ElevenLabs のボイスデザイン。説明文を6通り。1つの説明文で3つ出る。候補1は読みは正確だが見た目に落ち着きすぎ。6つ目の説明文の2つ目に決定。モデルは1本目の動画の冒頭14文で比べた | {R('vd','vd_text','why','model')} | ハコブくんの声_候補.md(候補1〜6の説明文・「1つの説明文で3つ出る」・試した結果の表・決定「候補6のパターン2」・「モデルは Eleven v4 に決めた(冒頭14文を Multilingual v2 と聞き比べて…)」)。video_rules.md 3-1「説明好きで親切な、お手伝いロボット…誰かの声を録音して元にしてはいない」 |
| 作れる(持てる)声は今のプランで10個まで。同じ話に出ない人どうしで声を借りる。エイイチの声はマンガの槙原くんの声 | {R('cast')} | video_rules.md 9-0b「ElevenLabs の自作の声は、いまのプランでは10個が上限(2026-10-24 に 10/10)。新しい人は常連の声を借りる(同じ話に本人が出ない組み合わせにする)」・声の一覧.json「槙原: Sryf5xKmMsQChU3HsLhZ」・謎解きの回のエイイチの声キー Sryf5xKmMsQChU3HsLhZ |
| 読みの直しの表は37本の台本で207組(11月1日に数えた) | {R('read_table')} | 動画フォルダの narration.py 37本の ELEVEN_READ を重複なしで数えた |
| 名前は漢字の「栄一」で渡す(いちばん平ら)・描く→えがく・係→カタカナ・節を「せつ」「ふし」に読み分けた→言い換え・「球」を「きゅま」・試しで読めても全文で読み違える | {R('read_ex','quiz_ans','try')} | video_rules.md 3-1 の該当の行(2026-10-12 栄一/2026-10-18 描く・係/2026-10-19 節/2026-10-17 ハロの回の球/2026-10-15 29対) |
| 見立て | {R('mitate','mitate_fear','mitate_job')} | エイイチの答え(2026-11-01): 「怖いと思うことはないな」「AIにはできないだろうと思っていた仕事があっという間に代替されるようになっているので、無くなってしまう可能性もある」 |
---
## 台本全文(動画で読み上げる版)
""" + "\n".join(body) + "\n"
open(f"codex_敵対的検証依頼_{NAME}.md", "w").write(md)
print("文", n)
概要欄の下書き(概要欄_下書き.md)
<!--
YouTube の概要欄の下書き(2026-11-01「ハコブくんの声と絵」=シリーズ「ひとりとAIのチーム」4回目)。{t:文番号} は、その文が始まる時間に置きかわる(文番号は 0 から数える tts の番号)。
python3 <_制作ベース>/description.py で 概要欄.txt を作り、それを貼る。
数は 2026-11-01 に数えた(過去の間違いの表 22行・読みの直し 37本で207組)。マンガの話数は site_archive の一覧(日本語99話・2026-10-12 時点)。
3本目は 2026-11-04 公開予約。この回の公開日が先にならないか確かめてから貼る。
-->
このマンガのコマ、腕を数えると3本あります。描いたのは画像を作るAI、見つけたのは人の目でした。案内役ハコブくんの絵と声を、どう作っているのか。AIが候補を出し、人が見比べ・聞き比べて選ぶ作り方を、実際の記録で見ていきます。
シリーズ「ひとりとAIのチーム」の4本目です。
1本目:ひとりとAIで、研究と発信を続けるには https://www.youtube.com/watch?v=uoqq8KNpyPY
2本目:AIの間違いは、誰が見つけるのか https://www.youtube.com/watch?v=E7uC2HYB8ks
3本目:AIに、昨日の続きをさせるには https://www.youtube.com/watch?v=MomQ_CB8xDc
▼目次
0:00 腕が3本のコマ
{t:6} この番組について
{t:9} 今日の問い:ハコブくんの声と絵は、どう作っているのか
{t:12} 先に結論
{t:21} 1. 絵を、どう描いているのか
{t:31} 今日の失敗:腕が3本
{t:42} 2. 声を、どう選んだのか
{t:50} 前のハコブくんの声
{t:58} 3. 読み間違いを、どう直しているのか
{t:74} エイイチの見立て
{t:80} 冒頭の問いへの答え
{t:85} エンディング
▼この動画で扱う範囲
・1人の、1つのやり方の話です。このチャンネルの作り方を見ていて、AIの製品を比べたものではありません
・過去の間違いのリストの22行(2026年10月30〜31日の分)、読みの直しの207組(これまでの37本の台本・重複なし)は、2026年11月1日に数えた数です
・マンガの話数(日本語版99話)は、2026年10月半ばまでに出した数です
・画面の文書は、記録のファイルを抜粋して映したものです
▼使っているAI(この動画で紹介したもの)
・Claude(Anthropic):マンガの絵の指示の文、台本を書く係
・Gemini(Google):マンガの絵を描く係
・ElevenLabs:ナレーションの声(ボイスデザイン)・BGM
▼この番組について
「フィジカルAI解説|Pixels to Motors」は、フィジカルAIのニュースや実機の記録から、現場で使える形を考える番組です。
エイイチは、本業のデザイナーをしながら、ロボティクスの研究と開発をしています。その中で分かったことと、そこから考えた見立てを、案内役のハコブくんがお伝えします。
・ナレーションは AI 音声(ElevenLabs)です。話しているのは Pixels to Motors のキャラクター、ハコブくんです。エイイチの言葉は、マンガの登場人物(槙原くん)の AI 音声を借りて読んでいます。エイイチの絵は、生成AIの絵を元に手で直したドット絵です
・途中で流す「前のハコブくんの声」は、サイトのトップで以前に流していた動画の声です
・マンガの絵は生成AI(Gemini)で作成しています。ハコブくんの体の絵も、画像を作るAIで作った絵です
・BGM は ElevenLabs Music で作った曲、効果音はコードで作った音です
・実機の映像はエイイチが撮ったものです
▼ロボットの開発・導入のご相談
メール:pixelstomotors@adaptdesign.jp
▼リンク
Webサイト:https://pixelstomotors.com
4コママンガ『ハコブくん』:https://pixelstomotors.com/manga-archive
GitHub:https://github.com/PixelstoMotors
X:https://x.com/adaptdesignjp
LinkedIn:https://www.linkedin.com/in/eiichi-shimazu
チャンネル登録・高評価もよろしくお願いします。コメントは、エイイチが全部読んでいます。
#フィジカルAI #AI活用 #生成AI