はじめに
愛媛県八幡浜市にある診療所の院長です.micro:bitと100均アイテムでディープフェイク技術を模した野心的,且つ,安価な装置を開発しました.micro:bit v2.0で新たに搭載されたスピーカーから出るイントネーションのついた音と,言葉に対応した顔写真の開口状態の変化が補完し合うことで,任意の人が「八幡浜の三瀬医院(やわたはまのみせいいん)」と喋っているようにみせます.
単に口をパクパクさせているのではなく,五十音にならった開口状態を実現しています.この装置の新規性はサーボモーター1個で口の縦幅と横幅を独立して変化させている点です.
この装置が広まることで,少しでも当院の宣伝になれば幸甚です.
装置に使用した写真は「ぱくたそ」のフリー素材(モデル:茜さや,河村友歌,塩田みう,八木彩香)です.
仕組み
あたかもディープフェイク動画のようにモデルの口が動く機構について解説します.背板の傾斜で口の縦幅を,竹串の開閉で口の横幅を調節しています.
背板をクリアファイルにして機構部分を可視化しました(映り込んでいる人影は無視して下さい).背板の傾斜はサーボモータの回転そのもの,竹串の開閉は2つの両てこ機構で動きます.
この機構による口の開閉に,microbit v2.0に搭載されたスピーカーの音を同期させた装置です.
材料
1. 通販で購入
材料 | 数量 |
---|---|
micro:bit v2.0 | 1個 |
サーボモータ SG90 | 1個 |
DC-DC 降圧型モジュール AMS1117-3.3 | 1個 |
3ピンスライド スイッチ SS12D00G5 | 1個 |
単4電池ボックス(2本用) | 2個 |
ピンヘッダ 2.54mmピッチ | 3ピン分 |
ジャンプワイヤ 10cm | 3本 |
ジャンプワイヤ 10mm | 1個 |
ブレッドボード(小) | 1個 |
2. 100均で購入
材料 | 数量 |
---|---|
竹のおはし | 適量 |
木製スティック | 適量 |
竹串 | 適量 |
ストロー | 適量 |
ミニストロー | 適量 |
つまようじ | 3本 |
段ボール紙 | 適量 |
コピー用紙 | 3枚+モデルの人数分 |
3. その他
浮き止めゴム 3個(釣具店で購入)
10円玉 2枚
作り方
1. 本体
本体の骨格は竹のおはしとストローで作ります.おはしの長さは20cmですが,先が細くなっているので横棒として18.5cmに切って使います.写真のように適当な長さに切ったおはしをグルーガンで接着し,サーボモータ用のソケットを作ります.サーボモータをはめて斜めに渡したおはしで固定します.2本の竹のおはしを縦に接着します.段ボール紙を適当なサイズに切ってコピー用紙を貼り,おはしに接着します.
裏側から見えるリンク機構の図です.10cmと書いてあるスティックはサーボモータの軸と干渉するため実際には上の写真のように迂回するように作る必要があります.
本体を表から見ると背板の傾斜を調節するTの字になったスティックが見えます.Tの横棒に相当するスティックの長さは7.5cm,そこから垂直に出ているおはしの長さは8.8cmです.その他のサイズに関しては下にある手書きの図を参考にして下さい.サーボモータを取り外しやすいようにホーンをリンク機構に接着して,そこにサーボモータの軸を差し込む仕様です.このためホーンを接着するためだけのスティックが飛び出しています.
竹串をつかって幅25cm,高さ17cmの凧の骨のような物をつくり20cmのおはしに接着します.20円は振動防止のおもりとして写真のようにセロテープで留めます.このおはしをあらかじめ先ほどの18.5cm幅のおはしで組んだ台に留めたストローに差し込んで,背板の骨が扉のように動くよう取り付けます.
動画を参考にモデルの写真を準備して背板と写真を取り付ければ本体は完成です.モデルの写真は縦16cm,横16cmで準備し,縦方向を12cmに縮めてからA4サイズのコピー用紙の中央に印刷します.動画のように折り,竹串を通す穴を開けます.背板は2枚のコピー用紙をのりで貼り合わせ,袋状にして竹串の骨にかぶせます.この後,ずれないように袋の口をセロテープで留めても構いません.最後に写真を本体に取り付けます.
2. 制御装置
写真の通りです.外れそうなところはグルーガンで接着しました.途中にスイッチを挟んで直列につないだ電池ボックスのプラス極をAMS1117-3.3のVIN,マイナス極をGNDに接続します.サーボモーターの端子はそれぞれmicro:bitの1,AMS1117-3.3のVIN,GNDに接続します.micro:bitの3V端子はAMS1117-3.3のOUT,GND端子はGNDに接続します.
3. プログラム
micro:bitはMakeCodeのブロックでプログラミングしました.「八幡浜の三瀬医院」という言葉を子音と母音に分解して24個の要素とし,それぞれに対応するサーボモータの角度,イントネーションを表す周波数を配列変数に設定します.ボタン操作で順番にサーボモータの角度が変わり開口状態が変化します.同時にマイクロビットに付属したスピーカからイントネーションのついた音が出ます.
プログラムは以下のリンクからダウンロードできます.
任意の人に八幡浜の三瀬医院と喋らせるプロジェクト
操作方法
- 制御装置のスイッチを入れます.
- micro:bitのAボタンを押すと写真が動き,スピーカーからイントネーションのついた音が出て,冒頭の動画のように任意の人が「八幡浜の三瀬医院」と喋っているようにみせます.
- Bボタンで初期状態に戻ります.
終わりに
イントネーションと開口状態が補完しあうことで,音声合成とはまた違った「喋る」という動作の実現に一歩前進したようなしないような.
投稿者の人気記事
-
katabomb
さんが
2021/01/12
に
編集
をしました。
(メッセージ: 初版)
-
katabomb
さんが
2021/01/12
に
編集
をしました。
-
katabomb
さんが
2021/01/20
に
編集
をしました。
(メッセージ: 装置の新規性を強調する文を追加.)
-
katabomb
さんが
2021/02/24
に
編集
をしました。
ログインしてコメントを投稿する