技術とエンタメと、その他・・・

主に、技術ネタ、エンタメ系のネタを書いていく予定です。また、自分が参加したイベントに関する記事も投稿予定。

普段使いが快適でローカルLLM でも少し使える:「Apple 13インチMacBook Air(M4チップ、メモリ 16GB、SSD:512GB)」【ベストバイガジェット2025】

この記事は 今年のベストバイガジェット Advent Calendar 2025 の 1日目 の記事です。

はじめに

ガジェット好きとしてはカレンダーのテーマを見たら登録せずにはいられず、8年連続で登録した you(@youtoy)です。

今年のカレンダー の 1日目を担当させていただきます。

今年のベストバイ

今年も過去に引き続き、いろいろとガジェットを購入したのですが、その中でのベストバイガジェット2025。 選んだものは
Apple 13インチMacBook Air(M4チップ、メモリ 16GB、SSD:512GB)
です。

買ったものの写真は、以下のポストのとおりです。

ちなみに購入したきっかけは、カスタマイズなしのものが Amazon や一部の家電量販店で少し値引きして売られていたためです。購入時点では「過去最大の値引き額」という感じの状況でした(Apple製品なので、大幅な値引きという感じではないものの)。

購入価格は、↓こんな感じです。

少し横道:「M4 の Mac」つながりのアイテム

なお話が少しずれますが、M4 の Mac という括りの機器に関して、ちょうど 1年前くらいに以下の Mac mini(メモリは 24GB に増設)も買っていて、こちらも大活躍しています。

シェーダーの描画がっつりな処理や、少し重めな AI・機械学習系の映像処理を長時間動作させても安定していて、そしてサイズがコンパクトなので、外部のモノづくり系の展示イベントに出展する際に、よく展示用マシンとして持ち運んで使っています(それと、自宅でもよく利用しています)。

選定理由

ベストバイの「Apple 13インチMacBook Air(M4チップ、メモリ 16GB、SSD:512GB)」の選定理由は、個人的に感じている使いやすさと、1つ前に使っていた機器よりも活用範囲が広がった部分です。

使いやすさを感じる要因(バッテリー持ちなど)

この 1つ前に持ち運び用で使っていたのが 2020年モデルの Intel版の MacBook Pro というのもあって、まずバッテリー持ち・発熱の少なさが一気に良くなり、外出先での PC利用の快適さが格段に良くなりました。

以前だと、バッテリーのもちがあまり良くないので、外出先でのある程度の作業をする時は必ず電源がとれる場所を探す必要がありました。それが今は、作業環境での電源の有無をそこまで気にせず対応できるようになりました(帰宅した際などは、まめに充電してるというのもあり)。

活用範囲が広がり1: ローカルLLM を扱う

この M4 MacBook Air を買って、ローカルLLM をモバイルな環境である程度使えるようになりました。

「ある程度」と書いたのは、メモリ 16GB であるために、利用可能なローカルLLM のモデルのサイズがある程度限られたものになるためです。その点では、上記の M4 Mac mini だとメモリ 24GB なので、利用可能なローカルLLM用モデルの選択肢の幅は、この MacBook Air よりも広がります。

一方で、ノートPC上である程度のローカルLLM のモデルの扱える状況になると、ちょっとした技術検証をしようと思った時にあまり場所を選ばずできる状況になり、個人的にはその部分が便利になりました(気分転換に、カフェやコワーキングスペース的な場所で少し作業、という状況でもローカルLLM が扱えるように)。

活用範囲が広がり2: 展示イベントでの活用

以前使っていた MacBook も、今の MacBook Air の用途と同様、展示イベントで毎回持ち込んで使っていました。

ただ前の機器は、Intel版の 2020年モデルというのがあり、重ためな処理をしている作品を動かすのは不向きでした(ある展示イベントの際は、重ためな処理を動かしているとフリーズが起こってしまう状況になり、別途、GPU搭載のノートPC を持ちこむ必要が出てきたことがあったりも)。

それが今は、パーティクル描画がっつりや以下のようなものなどを、終日の展示でも問題なく動かせるようになりました。

ただ、処理の内容によっては上で書いていた、M4 Mac mini のほうが快適に安定して動くのがあり、このあたりは自分が展示する作品によって使い分けたりもしています。

余談

これ以下は、余談をいろいろ書いていきます。

余談1: ベストバイガジェットの候補だったもの

ベストバイガジェットの候補だったものは、他に複数ありました。それらのアイテムのうち、1つを紹介してみます。

それは、「Ryzen AI Max+ 395、メモリ128GB」搭載のミニPC「GMKtec EVO-X2」です。

ローカルLLM の話題を追いかけている方は、ご存知な場合も多いと思われるアイテムです。

128GB のメモリの多くをがっつりローカルLLM用に使える PC なので、上記の M4 Mac mini よりも扱えるローカルLLM用モデルが格段に増えました(OpenAI のモデル「gpt-oss」で、20b だけでなく 120b のほうも動かせます)。

この「GMKtec EVO-X2」もすごく良い感じに使えているアイテムなのですが、ベストバイの選定をしている中では、普段から持ち運びもして触れている時間の長い「Apple 13インチMacBook Air(M4チップ、メモリ 16GB、SSD:512GB)」のほうが、個人的にはベストバイ感(?)が勝っていました。

余談2: 昨年までで書いた記事

今年のベストバイガジェットのカレンダーに関し、過去7年間で書いた記事をリストで掲載してみます。

毎年、こんな感じのガジェットを選定していました。

モノ作り活動での体験型展示で大活躍!:『太鼓の達人専用コントローラー 「太鼓とバチ for Nintendo Switch」』【ベストバイガジェット2024】

この記事は 今年のベストバイガジェット Advent Calendar 2024 の 1日目 の記事です。

はじめに

ガジェット好きとしてはカレンダーのテーマを見たら登録せずにはいられず、7年連続で登録しました you(@youtoy)です。

今年のカレンダー の 1日目を担当させていただきます。

今年のベストバイ

今年も過去に引き続き、いろいろとガジェットを購入したのですが、その中でのベストバイガジェット2024。 選んだものは
株式会社 HORI の『太鼓の達人専用コントローラー 「太鼓とバチ for Nintendo Switch」』
です。

以下のポストにあるとおり、 @ogimotoki さんがデモ動画をポストされていたのを見て、自分も買いました。

なお、自分は Nintendo Switch は所有していますが、太鼓の達人のソフトは持っていなかったりします。

選定理由

HORI の『太鼓の達人専用コントローラー 「太鼓とバチ for Nintendo Switch」』を選んだ理由は、個人で行っているモノ作り活動で大活躍しているためです。

自分のモノ作り活動で、体験型展示を作ることがよくあります。そして、その際に作品の必須要件として考えるものの 1つに「2〜3歳の小さなお子さんから大人までが、楽しめる体験を提供する」ということがあります。

この「太鼓の達人専用コントローラー」は、太鼓とバチという見た目からも「太鼓を叩く」という使い方・アクションが明確で、それにピッタリなアイテムです。

さらに、PC につないだこのデバイスを、自分がよく使うプログラミング言語で扱う時の使いやすさも抜群です!(通常のゲームパッドと同様に扱えるため)

太鼓の達人専用コントローラー」を楽しんでもらっている時の動画

ここから少し、個人のモノ作り活動での体験型展示に使った実例をいくつか出してみます。

↓こちらは栃木県の那須で開催された子ども向けイベントで使った時の様子で、かなり低年齢のお子さんでも体験してもらえて、なおかつ熱中して楽しんでもらえました。

↓こちらは、小学生くらいの子が体験してくれている時の様子です。

太鼓を叩いたら小さいロボットが動く、というところも楽しんでもらえている点ですが、それと合わせて、「太鼓を叩くという行為自体」も熱中している感じもありました。

展示イベントでの活用: 2024年11月

直近では、岐阜県の大垣で行われた Ogaki Mini Maker Faire 2024 というイベントでも活用しました。

展示イベントでの活用: 2024年10月

それ以前にも、都内で共同主催をしつつ展示も行った、以下のイベントでも活躍してくれていました。

お子さんだけでなく、大人の方にも興味を持ってもらえたり、楽しんでもらうことができました!

開発関連の話

PC で利用する場合、PC との接続のところは USB で行えます。そして、プログラムで扱う際には、ゲームパッド入力を扱う処理で簡単に太鼓が叩かれたということを取得できるため、すごく便利です!

Qiita の記事

上で掲載していた展示では、自分はブラウザ上で JavaScript を用いた処理で扱っていたのですが、それに関連した話について Qiita で記事を書いています。

qiita.com

他の試作

上で書いた作品の例以外にも、別の体験を作ることができればと、いろいろお試しもしています。

いくつか掲載してみますが、上で出していてた使い方以外にも、楽しい活用方法がありそうです!

余談

これ以下は、余談をいろいろ書いていきます。

余談1: 昨年までで書いた記事

今年のベストバイガジェットのカレンダーに関し、過去6年間で書いた記事をリストで掲載してみます。

毎年、こんな感じのガジェットを選定していました。

余談2: ベストバイガジェットの候補だったもの

ベストバイガジェットの候補だった、他の品も掲載してみます。

1つはエレコムの「顔認証対応Webカメラ - UCAM-CF20FBBK」です。ミニPC を Windows Hello に対応させられるようにしたり、また、ノートPC自体が Windows Hello に対応しているものでも、画面を閉じて外部モニタにつないで使っている時に、PCを閉じたまま Windows Hello を使えるようにできたりで便利に使っています(日常での活躍度が高い品です)。

www.elecom.co.jp

他に、自宅で使う以外に、個人のモノ作り活動での展示イベントにも活用しようかと思っている M4 Mac も候補でした(まだこれから活用する段階というので、候補止まり)。

余談3: 他に買ってみたいコントローラー

今回のものの他に、買ってみて PC との組み合わせを試したいゲーム用コントローラーがあったりします。

具体的には、以下のものです。

hori.jp

これもまた、展示作品に活用できそうで気になっているものです。

メガネユーザーの Meta Quest 3 利用が快適に!: Zenni の「Meta Quest 3用 VR度付きレンズ」【ベストバイガジェット2023】

この記事は 今年のベストバイガジェット Advent Calendar 2023 の 2日目 の記事です。

はじめに

ガジェット好きとしてはカレンダーのテーマを見たら登録せずにはいられず、6年連続で登録しました you(@youtoy)です。

今年のカレンダー の 2日目を担当させていただきます。

今年のベストバイ

今年も過去に引き続き、いろいろとガジェットを購入したのですが、その中でのベストバイガジェット2023。 選んだものは
Zenni の「Meta Quest 3用 VR度付きレンズ」
です。

選んだ理由とその背景

選定理由

Zenni の「Meta Quest 3用 VR度付きレンズ」を選んだ理由は、メガネユーザーである自分が、Meta Quest 3 を利用する際の快適さの向上度合いのすごさです。

自分がメガネユーザーだという前提の話になりますが、Meta Quest 3 をメガネをつけつつ利用するのに比べて、とても快適になります。
また、Meta Quest 3 に簡単に取り付けられて、自分以外の誰かが利用する際に外すのも簡単なので、その点も非常に便利です。

つけ外しの容易さに関する補足

自分以外の誰かが利用する話の事例で、「Meta社が出している利用者の年齢に関するガイドラインに基づき、親御さんの確認もとる形」で、複数のお子さんに体験してもらうこともやったことがありました。

その時に会場で自分がセットアップする時などはレンズをつけ、また子ども達に体験してもらう時はレンズを外して使うという運用も容易に行えました。

これ以下は、余談をいろいろ書いていきます。

余談

余談1: 昨年までで書いた記事

今年のベストバイガジェットのカレンダーに関し、過去5年間で書いた記事をリストで掲載してみます。
毎年、こんな感じのガジェットを選定していました。

余談2: Meta Quest 3 のカラーパススルーが素敵

Meta Quest 3 自体の話になりますが、外の映像がカラーで見えるカラーパススルー機能が良い感じでした。
今回のベストバイガジェットの話から少し外れるかもしれないですが、印象的な内容だったので、それに関する内容も少し掲載してみます。

www.youtube.com

www.youtube.com

WebXR絡みの活用を試していきたい

www.youtube.com

余談3:過去のシリーズ用のレンズ

過去のいくつかの Meta Quest シリーズ(Oculus Go や旧Oculus Questシリーズ)を所有しており、その中で Meta Quest 2 に関しては同様のレンズがサードパーティーから出ていました。

前モデル用のレンズに関する写真を、今回との比較の意味で掲載してみます。

余談4:一緒に使っていて便利な品

Meta Quest 3用に購入した品は、「Meta Quest 3用 VR度付きレンズ」以外にいくつかあります。
それらも便利に使えている品なので、ここで掲載してみます。

専用ケース

ケーブル(写真の左側のもの)

【Advent Calendar 2022】2022年12月に書いたアドベントカレンダー用記事のまとめ(全46記事を20のカレンダーに登録)

はじめに

この記事は、2022年12月にアドベントカレンダー用に書いた記事の振り返りというか、それらの記事へのリンク集という内容です。

ここ数年、アドベントカレンダー用に書いている記事の数・登録先のカレンダー数が、過去の自分と比較するとバグり続けている感じなのですが、今年は「書いた記事数」という観点でそれをさらに大きく超える結果となりました。

記事を投稿した 20 のカレンダー( AdventarQiita Advent Calendar 2022 - Qiita の 2つのサービス上のカレンダー)のテーマと、その各カレンダーに投稿した記事(全46記事)を表にすると、以下のようになります。

なお、2019年から2021年までの状況を箇条書きで書くと以下のとおりで、今年は記事数が大幅増という感じでした。原因は明らかに、いつものムーブをしつつ、それに加えて今年は 1人アドベントカレンダーを同時並行で対応したこと...

  • 2019年 30記事
  • 2020年 25記事
  • 2021年 26記事

過去3年分のまとめ記事

ちなみに、2019年から2021年までも、毎年似たようなまとめ記事を書いています。

12/25 までにアドベントカレンダー用に書いた記事の一覧

以下、12/25 までに書いた記事の一覧です。ひたすら記事のタイトルと URL をはっていきます。

12/1 Processing・完走賞ゲット

●【Processing 2022】@yuruyurau さんの #つぶやきProcessing のプログラムを短縮されてない #p5js のプログラムにした結果と過程の話 - Qiita
 https://qiita.com/youtoy/items/263f407021c4b3003365

●【完走賞ゲット-1】p5.js Web Editor で Google Fonts の絵文字の Webフォントを利用する - Qiita
 https://qiita.com/youtoy/items/34920d8a49f45653d77a

12/2 KDDI Engineer&Designer・完走賞ゲット

●【KDDI Engineer&Designer】AI にブラウザ用の JavaScript のプログラムをいくつか作ってもらった話 ⇒ OpenAI の ChatGPT で生成されたプログラムの解析も少々 - Qiita
 https://qiita.com/youtoy/items/8eacb1af28ac18301b74

●【完走賞ゲット-2】ボタン搭載小型デバイスで作る簡易ワンボタンキーボード(Maker Nano RP2040 を利用) - Qiita
 https://qiita.com/youtoy/items/e8a9cf35ce16c0fee62e

12/3 toio・完走賞ゲット

●【toio 2022】100円ショップのアイテムと toio を組み合わせて手軽に作れる作品【マスコットキーホルダーなどを走らせる】 - Qiita
 https://qiita.com/youtoy/items/b6fa97425a158d7dde26

●【完走賞ゲット-3】p5.js Web Editor で p5.func を使ったイージング - Qiita
 https://qiita.com/youtoy/items/a748e1b19cd2837e447c

12/4 CoderDojo・完走賞ゲット

●【CoderDojo 2022】漫画で使われるエフェクトの「集中線」を Scratch で作って CoderDojo の活動でデモした時のちょっとした気づき - Qiita
 https://qiita.com/youtoy/items/ea1f8b146746a25fb1b5

●【完走賞ゲット-4】続・OpenAI の ChatGPT のネタ:JavaScript の特定の技術仕様を教えてもらう - Qiita
 https://qiita.com/youtoy/items/a4d9f3b0736475d0770a

12/5 完走賞ゲット

●【完走賞ゲット-5】「Chroma.js Color Palette Helper」というサイトを試してみる(設定変更とカラーパレットの出力) - Qiita
 https://qiita.com/youtoy/items/8dcfd5d69721bf73d5d6

12/6 完走賞ゲット

●【完走賞ゲット-6】「WebHID DualShock 4 Demo」というサイトを軽く試してみる - Qiita
 https://qiita.com/youtoy/items/468454fe968ff3632511

12/7 完走賞ゲット

●【完走賞ゲット-7】p5.js Web Editor で JavaScript のモジュール(ES Modules)を扱う: simplex-noise.js の最新版(4.x)を CDN から import する - Qiita
 https://qiita.com/youtoy/items/6f6522e2df781a200b39

12/8 IoTLT・完走賞ゲット

●【IoTLT 2022】 2022年の IoTLT の LT 登壇とそこで出てきたガジェットや技術を振り返ってみる - Qiita
 https://qiita.com/youtoy/items/9a993f8c0e2230ff40b2

●【完走賞ゲット-8】Music Blocks:ブロックを使った音関連のビジュアルプログラミングを軽く試す - Qiita
 https://qiita.com/youtoy/items/d538fac4acae89a289cb

12/9 今年のベストバイガジェット・完走賞ゲット

●【今年のベストバイガジェット 2022】大垣でのメーカーフェア出展でも大活躍した「BOSS FS-1-WL(無線フットスイッチ)」 - Qiita
 https://qiita.com/youtoy/items/715dd56fa756e18e87e6

●【完走賞ゲット-9】Awesome WebHID というページを見かけて気になった話 - Qiita
 https://qiita.com/youtoy/items/f94d861ba5b433aa7008

12/10 完走賞ゲット

●【完走賞ゲット-10】gamecontroller.js を使って DualShock 4 を JavaScript で扱う - Qiita
 https://qiita.com/youtoy/items/87c1c37b51ae9ef4ab4d

12/11 完走賞ゲット

●【完走賞ゲット-11】gamecontroller.js を p5.js Web Editor上で使ってみる(DualShock 4 との組み合わせ) - Qiita
 https://qiita.com/youtoy/items/1cf1fe244d992456140f

12/12 toio・Scratch・完走賞ゲット

●【toio 2022-2】#toio のユーザコミュニティ( #toiotomo )が立ち上がってから出展した各地でのメーカーフェアを振り返ってみる - Qiita
 https://qiita.com/youtoy/items/fe1442b0c338f3cadcd7

●【Scratch 2022】Scratch でも利用可能な無料の BGM・効果音のフリー音源素材を配布している「Springin’ Sound Stock」 - Qiita
 https://qiita.com/youtoy/items/5c8276619233d1359400

●【完走賞ゲット-12】p5.js で綺麗なグラデーションを使うために「FarbVélo」というサービスを使ってみる - Qiita
 https://qiita.com/youtoy/items/4fc09dcf0a2d95a7dcfb

12/13 Node-RED・完走賞ゲット

●【Node-RED 2022】フットスイッチ「BOSS FS-1-WL」を有線接続 + MIDIモードで Node-RED で使う - Qiita
 https://qiita.com/youtoy/items/7194f1ebf7f88f23f97e

●【完走賞ゲット-13】p5.js Web Editor上でボールが跳ね返る時に DualShock 4 を振動させる(gamecontroller.js での実装) - Qiita
 https://qiita.com/youtoy/items/c4d3b6fde5365090a5de

12/14 enebular・完走賞ゲット

●【enebular 2022】ChatGPT用ノード「node-red-contrib-simple-chatgpt」を enebular・Node-REDで試したり APIPython から利用してみた話 - Qiita
 https://qiita.com/youtoy/items/0afc3b97a1e1e057cf40

●【完走賞ゲット-14】node-hid の hid-showdevicesコマンドで HIDデバイスに関する情報を出力(Node.js、JavaScript) - Qiita
 https://qiita.com/youtoy/items/eb7f8418fa926266946f

12/15 obniz・完走賞ゲット

●【obniz 2022】#obniz と #p5js Web Editor と Joy-Con を組み合わせて動かしてみた! - Qiita
 https://qiita.com/youtoy/items/3bf2ca2ccf26e9960942

●【完走賞ゲット-15】Web上やアプリで HIDデバイスの情報を手軽に確認する方法:「HID Explorer」と「USB Device Tree Viewer」 - Qiita
 https://qiita.com/youtoy/items/1c11c64aca75b0d733e4

12/16 micro:bit・完走賞ゲット

●【micro:bit 2022】micro:bit V2 をゲームコントローラー(BLE接続の HIDデバイスゲームパッド)にして Gamepad API と組み合わせてみる - Qiita
 https://qiita.com/youtoy/items/1ac1ce103476f12241e3

●【完走賞ゲット-16】micro:bit向けのフルカラーLEDマトリックスを搭載した「pixel:bit」を試す - Qiita
 https://qiita.com/youtoy/items/de4a4ec4d30139b98dab

12/17 VUI・完走賞ゲット

●【VUI 2022】スマート電球 2種を声で制御: Alexa と IFFFT の SwitchBot・TP-Link Tapo の組み合わせ - Qiita
 https://qiita.com/youtoy/items/c4c4e374d3b2f524ee6e

●【完走賞ゲット-17】SwitchBot の新バージョンAPI v1.1 の情報を調べてみたり旧バージョンの API も見てみたり - Qiita
 https://qiita.com/youtoy/items/b18ffba932937f20fc7c

12/18 LINE DC・完走賞ゲット

●【LINE DC 2022】iPhone の Siri を声で操作して複数のグループに LINE通知(LINE Notify・IFTTT・ショートカットアプリを組み合わせて) - Qiita
 https://qiita.com/youtoy/items/4534daf4d44f330ed1ab

●【完走賞ゲット-18】p5.js で sin() を使った波の描画数を指定したり変化させたり - Qiita
 https://qiita.com/youtoy/items/17b2166173ff37f3d865

12/19 Babylon.js・完走賞ゲット

●【Babylon.js 2022】#BabylonJS で SVGフィルターを用いた溶けるような見た目のエフェクト(Gooey Effect )を試してみる - Qiita
 https://qiita.com/youtoy/items/47f7e3c719c3110b4d62

●【完走賞ゲット-19】パワポ(Office系のソフトで OK)を使って画像の背景除去を行って p5.js で扱う - Qiita
 https://qiita.com/youtoy/items/4ca0e09e00a6bfa97687

12/20 JavaScript・完走賞ゲット

●【JavaScript 2022】chroma.js を使った複数色のカラースケールでカラーパレットを生成して p5.js で描画(chroma.bezier() や chroma.scale() の scale.correctLightness() などを利用) - Qiita
 https://qiita.com/youtoy/items/6b1f11238a76e327d078

●【完走賞ゲット-20】JavaScript の addEventListener で複数イベントを一度に追加する話(p5.js Web Editor上で Joy-Con と gamecontroller.js を用いた処理で利用) - Qiita
 https://qiita.com/youtoy/items/cfe3c674b39b5c1478a8

12/21 M5Stack・完走賞ゲット

●【M5Stack 2022】わりと最近ポチった「 #M5Stack 用計量ユニット 20kgレンジ(HX711)」を #UIFlow で使ってみる - Qiita
 https://qiita.com/youtoy/items/195dd68039522ad85679

●【完走賞ゲット-21】p5.js で描画する複数の色でのグラデーション:chroma.js を使った方法と drawingContext.createLinearGradient を使った方法の比較 - Qiita
 https://qiita.com/youtoy/items/741282d588c81c45ee8b

12/22 Zoom・完走賞ゲット

●【Zoom 2022】Zoom の会議開始を LINEアプリにお知らせする仕組みを Zoom Webhook と enebular で作る(Webhook のバリデーション対応も行いつつ) - Qiita
 https://qiita.com/youtoy/items/8d2aa5257c0f4e9e3cc7

●【完走賞ゲット-22】p5.js での 3D表現(クリエイティブコーディングの教科書の例)に手を加える(z軸方向の位置に合わせて色を変える) - Qiita
 https://qiita.com/youtoy/items/73fdcd70fc5b7c6d88c9

12/23 Seeed UG・完走賞ゲット

●【Seeed UG 2022】micro:bit の傾きで LEDテープの色の色相を変化させる(Groveシールドなどを利用) - Qiita
 https://qiita.com/youtoy/items/c5dceedfa06fd37a5a75

●【完走賞ゲット-23】Zoom の Zoom Webhook を IFTTT で受けようとして失敗した話(バリデーションの仕様追加の影響により) - Qiita
 https://qiita.com/youtoy/items/0f5228517dd272b41b29

12/24 ProtoPedia・完走賞ゲット

●【ProtoPedia 2022】自分の 2022年のヒーローズ・リーグとの関わりなどを振り返る(作品応募とサポーターの活動、作品で使った技術について) - Qiita
 https://qiita.com/youtoy/items/4b894a8e609d07fe9431

●【完走賞ゲット-24】OpenAI の ChatGPT の API を公式ライブラリの JavaScript版 を試す(使い方を ChatGPT に聞いてみたりも) - Qiita
 https://qiita.com/youtoy/items/84384ad7a742ea1ce8f5

12/25 KDDI Engineer&Designer・完走賞ゲット

●【KDDI Engineer&Designer 2022-2】プライベートで作品展示(Maker Faire への出展)をした際の体験設計などと得られた気づきの話 - Qiita
 https://qiita.com/youtoy/items/7974dae496eefa9b3e4f

●【完走賞ゲット-25】OpenAI の ChatGPT の API を公式ライブラリの Python版 を venv による仮想環境で試す(使い方を ChatGPT に聞いてみたりも) - Qiita
 https://qiita.com/youtoy/items/fcff2f2bbaaf49c5f20b

余談

2022年末、Qiita からの振り返りとして書いた記事に関するデータが送られてきました。その内容は以下で、12月に書いた記事がそのほぼ半分を占める感じでした。

余談2

2022年のアドベントカレンダーで、1人アドベントカレンダーを完走した賞品と、また企業賞の中の Zoom 最優秀賞の賞品で、これらをいただくことができました!素敵な賞品をありがとうございました!

https://twitter.com/youtoy/status/1620607138312908800

『「Teachable Machine」による機械学習』という本を単著で書きました(2022年7月に工学社さんから発売)

2022年7月25日に工学社さんから発売された『「Teachable Machine」による機械学習』という本を書きました。

出版者さんから発売される本で、単著のものは今回が人生初になります。
(出版者さんから発売された本という括りでは、これより前の 2022年3月22日に技術評論社さんから発売されたM5Stack の本を共著で書いたのが人生初でした)

以下では、「Teachable Machine についての説明や、Teachable Machine に関する自分のエピソード、書籍を出した流れの中での裏話」などを少し記載できればと思います。

「Teachable Machine」について

書籍のメインの題材になっている「Teachable Machine」は、Googleさんが提供しているブラウザ上で機械学習が扱える仕組みです。

Teachable Machine の Webサイトでは、画像または音を入力として機械学習モデルを作成することができます。その際、プログラムを書いたりすることなく、GUI操作だけで学習や機械学習モデルの動作確認などを行うことができます。

また、Teachable Machine のサイト上で作成した機械学習モデルはエクスポートすることができ、各種言語で開発されたアプリ内で利用することもできます。

書籍の内容の大半は、Teachable Machine 自体の使い方の話になりますが、機械学習モデルをエクスポートしてプログラムで扱う話も少し書いています(ページ数の都合で、非常に簡単なサンプルプログラムになっていたりしますが)。

Teachable Machine で扱えるデータの内容の種類は「画像・音声・ポーズ」の 3つがあるのですが、その全てについて以下を使ったサンプルを書籍内で記載しています。

小中学生向けのコンテストで使われている事例

Teachable Machine は手軽に機械学習を扱うことができ、Googleさんが 2020年・2021年と小中学生向けに開催している「キッズ AI プログラミングコンテスト」でも、Teachable Machine を活用された作品が出されていたりします。

自分が Teachable Machine を使い始めた時の話

自分自身の話をすると、今の前のバージョンである v1 の Teachable Machine のころに情報を見かけて知っていたものの、試してみたのは今のバージョンの Teachable Machine になってからでした。

最初に試したのは、「画像プロジェクト」と呼ばれる画像分類を行う機械学習モデルを作成できるものでした。PC内蔵の Webカメラを使って簡単に機械学習モデルを作成でき、学習させた画像の枚数はそれほど多くなかったのにも関わらず良い精度で、とても驚いた記憶があります。

Teachable Machine を使った作品を Maker Faire に出展

その後、音声プロジェクト(マイクから入力される音を利用するもの)を活用して作品を作り、その作品を 2020年に開催された「Tsukuba Mini Maker Faire 2020」や「Maker Faire Tokyo 2020」で展示しました。

以下は、その試作中の様子の動画です。toio というロボットトイを組み合わせて、音に反応して動きを変える仕組みという内容のものを作りました。
(技術的な部分を少しだけ補足すると、プログラムは PC上のブラウザで動かしていて、そのプログラムで Teachable Machine を使った音の認識の処理と、Web Bluetooth API という仕組みを使ったロボットトイの無線での操作を行っています)

www.youtube.com

2度の展示を行った中で、子どもから大人まで幅広い年齢層の方に楽しんでいただけました(小さい子でも体験しやすいような工夫を、あれこれ盛り込んだかいがありました)。
「音に合わせて動く、音の種類によって動きを変える」という内容は、ふらりと立ち寄った中でも内容が伝わりやすく短時間で試せるのもあり、たくさんの方に体験いただけて嬉しかったです。

Maker Faire Tokyo 2020 では、事前準備時と会場での音のノイズの違いが大きく、音をうまく認識できない状況になったりました。しかし、ブラウザ上でサクッと使えるという Teachable Machine の特性を活かし、本番の会場内で再度機械学習モデルを作成して事なきを得ました。

Teachable Machine の本を書くことになった経緯

今回の本を出させてもらった工学社さんが出版されている月刊誌「月刊I/O」で、過去に Teachable Machine を題材にした記事を書かせていただいたことがありました。
具体的には、2020年に 1回、Node-RED をトピックにしたリレー記事を担当したのと、その翌年に 4回連続の個人連載という形で「Teachable Machine」の記事を書いたものがありました。

その部分の裏話をすると、工学社さん内で Teachable Machine に関する書籍出版の企画が出て、その執筆に関する話で声をかけていただいたのは、実は 2020年のリレー記事を書いてしばらくたったくらいのタイミングでした。

連載記事を書いてみてから再度判断という流れに

書籍を出す話をいただけたのは大変嬉しかったものの、その当時は本一冊分の分量を単独で書いた経験がなかったので、「Teachable Machine に関する本一冊分の内容を用意できるか」という点と、「普段の仕事やプライベートのコミュニティ活動などがある中で、どれくらいの時間で事前準備を含めた書籍執筆の作業ができそうか」という点で不安がありました。

それをお伝えして相談のやりとりをした結果、とてもありがたいことに「まずは月刊誌で 4回から 5回の Teachable Machine の連載記事を書いてみて、可否を再度判断する」という進め方を提案をいただき、月刊連載の企画案(4回、または5回分の内容案)を出す流れとなりました。

そして、2021年の 4回の連載が終わった後にあらためて判断するタイミングが来て、その際のやりとりで「2022年の5月末までで、一冊分の原稿案を出す」というスケジュールで進めることにしました。

書籍の話につながたリレー記事の話

上で書いていたように、今回の書籍を出すきっかけとなった一番の大きなきっかけは、2020年に書いた Node-RED のリレー記事でした。
そのリレー記事を書く話をいただいた流れについて、以下のブログ記事にも少し書いているのですが、プライベートのコミュニティ活動でよく一緒に活動している Tanaka Seigo さん(@1ft_seabass さん)からのお声がけでした。

yo-to.hatenablog.com

今回のような経験をできるきっかけをもらえて、ありがたかったです。