Splatoon3で自動ドット打ちした!
よくスプラには写真のような絵を描いているイカくんがいます。
そんなイカはどうやって書いているのかと思ったら、Arduinoで書いているではないか。クッソ初心者でPythonもいじったことなかったが、頑張ってやったらできたのでその手順を備忘録として残します。
参考にさせていただいたブログ様
スプラトゥーン3のイラスト投稿自動ドット打ち|あらB|note
必要なもの
・Arduino UNO R3
・USB-B⇔USB-Aケーブル
・USB-A⇔USB-Cコネクター
・パソコン
コネクターは100均にあるやつで大丈夫です。
Arduinoは4000円くらいしますが、壊さなければ何度でも使えるしそれ以外はお金かからないので思い切って買いましょう。もちろん画像生成、ファイルができてからでも遅くないです。
環境
Windows10
まっさらでプログラミング系は何も入ってません
WebからDLしなきゃいけないもの
・dfu-Programmer
・Python2.7
まずは・・・
プログラミングするための基盤をつくります。
(すでに環境がある方は読み飛ばしてくださいませ。)
MicrosoftストアでUbuntuと検索し、入手します。
そして開くと、「Enter new UNIX username:」と出るので、
自分の好きなユーザー名を入れましょう。(半角英字で)
その後「New Password」と出るので、パスワードをいれ、
「Retype ~」と出るので同じものを入力。
Successful!と出たら、いろいろ出て
<PCのユーザー名>@~:~$
と緑文字で表示されるはずです。
そしたらUbuntuのバージョンのリストを次のコマンドで確認します。
sudo apt update
(sudo:管理者が実行するという意味。インストールとかの時は使います。)
するとこのようになるので
sudo apt upgrade
と入力し、「Do you want to continue?[Y/n]」と聞かれるので、
キーボードの「y」を押します。色々でてまた
<PCのユーザー名>@~:~$
になったらアップデート完了したということなので次は、日本語化します。
sudo apt -y install language-pack-ja
すると沢山なんか出て収まったら、
sudo update-locale LANG=ja_JP.UTF8
と入れます。※何も出ません
そのあと
locale
といれると、「~~=”C.UTF-8”」になってるはずなのでなってればおkです。
インストール終了です。
Tips
コピーしたものを貼り付けたいとき、右クリックもしくは
Ubuntuの左上のマークの上で右クリックをしてプロパティから
「Ctrl+Shift+C/Vでコピペ」にチェックを入れるとコピーしやすくなります。
また過去にいれたコマンドを矢印の上下キーで呼び出せます。
次はPythonを入れていきます。
この度はPython3ではなく2を使うので、2をインストールしていきます。
これをDL&インストールしてください。
参考にしたブログ様
ubuntu:コマンド’python’が見つかりません。を解決│Webells
次にUbuntu上で
sudo apt-get install python
と入力。
そのあと
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
と入力してPython2を登録。「自動モードでPython2を使います。」と出れば成功。
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 7
と入力してPython3を登録。
この際、エラーがでたら一番後ろを公式サイトを見て最新版の奴に書き換えてください。EX:Python3.10 7から3.11.1とか
そのあと
sudo update-alternatives --config python
をおして選択肢の中からpython2.7の選択肢の番号を押してください。
次はPillowをインストールします。
sudo pip3 install Pillow
と打ちます。するとなんか色々出てインストールされます。
確認は
pip show Pillow
でできます。
その他のインストール
sudo apt install -y git gcc-avr avr-libc
と入力してインストール
画像を作ろう
このドット打ちをするためには「320*120」の画像サイズである必要があります。
GIMPなどを使うのもよしですがめんどいので、
CanvaというWeb上で画像編集できるやつを使います。
適当に会員登録して「ホーム」の「カスタムサイズ」からこうしてください。
で、こんな感じに作ればいいです。
人の顔は大きいほうが出やすいです。
文字とかはあまり斜めにしないほうがいいです。
画像は共有からダウンロードで保存できます。
保存したら、ここで
画像をモノクロ2色(二階調)にする - 無料WEBアプリ - DataChef | TechLagoon
モノクロに変換します。濃さはスライドバーで面白くしてください。
- そしてファイル名は半角英数字のみの短めのものが良いです。
これができたら次からが激ムズです。
ドット打ち用のファイルの製作
まず、
mkdir -p ~/repos
cd ~/repos/
と入力します。mkdirの時は何もでず、cdをすると
<PCのユーザー名>:~/repos$
のようになると思います。
(mkdir:新しくディレクトリを作るコマンド cd:~に移動する)
次に
git clone https://github.com/abcminiuser/lufa.git LUFA
git clone https://github.com/Sp4rkR4t/splat3draw.git
cd splat3draw
と順番にいれていきます。
<PCのユーザー名>:~/repos/splat3drow/$
となっていればOK
次に
cp /mnt/{画像のパス}/<作った画像の名前>.png ./
ls -al <作った画像の名前>.png
と打って作った画像をコピーしてきます。(cp:コピーコマンド)
作った画像の名前が「spla3.png」でダウンロードフォルダに入っていたら
cp /mnt/c/Users/<PCのユーザー名>/Downloads/spla3.png ./
となります。画像のパスは画像を右クリックして一番下のプロパティを押すと
C:¥Users¥ユーザー名¥デスクトップ
のように出てきますが、「¥」の部分を「/」に変えて打つ必要があります。
次に
vim makefile
と打ってください。(Vim:ファイルを開くモード)
するとmakefileの中身が見れます。
こんな画面に写るので、キーボードの「i」を押して編集モードに切り替え
「MCU=at90usb1286」のところをマウスでクリックし
上の画像のように「atmega16u2」に書き換えてください。
そしたら「Esc」キーを押して、「:wq」と押してこのメニューを閉じてください。(:wq→編集を保存して戻る :q→保存せず戻る)
そしたら、
python3 png2c.py <作った画の名前>.png
と打って「image.c」を生成します。
そしたら
make
と打ってビルドします。
そしたらJoystick.hexというファイルが出力されるので
cp Joystick.hex /mnt/c/Users/<PCのユーザー名>/Downloads/
と打って好きなところにJoystick.hexをコピーします。
これでファイルの生成は終わりました。
もしimage.Cが作れなかったら・・・
No named PILと出てきたら
pip install Pillowと打ってみてください。
Arduinoへの書き込み
これで最後です。
まず
https://sourceforge.net/projects/dfu-programmer/files/dfu-programmer/0.7.0/
ここから「dfu-Programmer」をダウンロードします。
怪しさ満点ですが大丈夫です。
ZIPファイルを解凍したら解凍したファイルの中に「Joystick.hex」をコピーします。
そしたら認識させるところはこの記事を参考にしてください
~あらすじ~
PCにArduinoをUSBでつないだらピンを3秒くらいショートさせてから
デバイスマネージャーを開きます。
そしたら「不明なデバイス」とあるのでそこで右クリックし、
「ドライバーの更新」をクリック、プログラムを参照してさっき解凍した「dfu-programmer.exe」を選択します。すると「ATmega16U2」として認識されます。
認識されたらあとは
ここのファイルを開いて「Shift」キーを押しながら右クリックをして
「PowerShellウィンドウをここで開く」を選択してください。
そしたら
./dfu-programmer.exe ATmega16U2 erase
と入れてArduinoの中をクリアにし
./dfu-programmer.exe ATmega16U2 flash Joystick.hex
と入力してArduinoの中に書き込み、特に何もせずUSBを外します。
Switchの設定に行きます
スイッチの設定>コントローラーとセンサー
のなかの「コントローラーの有線接続」をONにします。
これをONにしないと動きません。
ついにSwitchに繋ぎます。
スプラ内のポストに行き、ペンを最小にしてからつなぎます。
すると・・・・
動きました!!!4800ドット打たせるわけですから30分~かかります。
充電がなくならないように画面を暗くしたり色々工夫がいります。
途中、ラグでずれてしまったりしてもあとで修正できます。
僕自身、初めての時は12時間以上かかりました。。ハハハハ・・・・( ´∀` )
(これを書いたときは1発でできました!)
PythonやUbuntu自体触るのは初めてだったけどできたので頑張ってください
完
JBL2231Aを買ったった
JBL4343などのアルニコモデルについてる2231A。
これ、めちゃくちゃ人気でなかなか買えないし、出てきません。
でもとあるサイトで探したところ、相場より少し高いくらいで発見。
即購入しました
(ちなみに66000円でした。ヤフオクよりもちょっと高いですね。)
ジムランユニットってみているだけでワクワクしますよね
美術品みたいな美しさがあります。
150Hzで8.5Ωと9Ωとのことで、かなりバランスのいい個体?なのかと思います。
JBL4343Bを持っているので、それの2231Hと交換してみて音を聴き比べてみたいと思います。
ちょっぴりエッジがしなってるのと、ウレタンエッジではないのでメンテナンスがいるかなと、思いました。セメダインかなんかで前の所有者がつけているので、今回は業者さんに任せようと思いました。。。。
またつけて、音出ししたら更新します。
JBL4312BにLE175DLH
JBL4343Bを部屋から運び出して、残ったものはJBL4312B
このスピーカーを家で鳴らしてみたら
高音が足りない!!!!
と思ってしまいました。
飛んでくるような、、洗礼を浴びたようなあの気持ちのいい高音・・
それを再現するために、家に転がってたLE175DLHをスーパーツイーターとしてつけてみようと思ったわけです。
クロスオーバーはユニット保護とスコーカーは使ってもいいので2000Hzに設定。
コンデンサーは10μFをつけました。
結果は最高!!
トランペットの飛んでくるような高音、そして何よりどこで聞いても聞こえる不思議さ。狭い部屋にはうってつけのホーンだと思います。
現在-6dB/octの簡素なローカットフィルターなので-12dB/octのネットワークを組んでみたいと思います。
JBL4343Bを移動しました。
JBL4343を以前は6畳の小さな勉強部屋に置いていましたが、この度の夏休みに祖父宅のホールに引っ越しさせました。
24畳+防音ということで鳴らしまくってみましたが、やはり広い部屋じゃないと
このスピーカーの真価は発揮できないなと心から思いました。
なにより、音量をある程度のところまで上げると2420か2121Hのピークに達するのか、ものすごく気持ちの良い高音が飛んでくるんです。
住宅街の何でもない6畳だと出せない音量を出せて初めて気づきました。
また、Maranz250と3300のビンテージ(?)アンプで鳴らしていたのを、普段使っているSANSUI AU-A607に繋ぎ変えてみたところ、ものすごくよい音が鳴ってびっくりしました。SANSUIの元社員さんにMaranzと言ったときに、「海外かぶれしてるよ」と言われた意味がよくわかりました。
カタログスペック上はMaranzのほうが2倍出力W数は大きいのですが、SANSUIのプリメインアンプのほうが優勢でした。
また再生動画を撮ったので良ければご覧ください。
音響レンズを作ってみる その1
前回は銘板を作りましたが、今度は音響レンズを作ってみました。
なぜかと壊れたいたり欠損していることが非常に多い音響レンズですが0からモデリングして作ってる人はなかなかいないですよね。今回はモデリングしてみました。
できました。重ねると・・・
まさに音響レンズ!
実測値を入れながら作っただけあって1mm程度のずれしかありませんでした。
あとは発注するだけなんですが・・・
ケンリックさんが出してるのはセットで2万円
発注することを考えるとかなり安いんですよね(笑)
3Dプリンターで出力するにもちょっと枚数が多すぎる・・・
ペアで1セット1万円くらいで4,50セット売れるとしたら射出成型の発注するんですが需要がわからない・・・
JBL4343Bの銘板制作その1
前回、JBL4343Bを聴ける状態までもっていきましたが、外装の面で少し難があり「JBL4343B STUDIO MONITOR」と塗装されたサランネットについてる銘板とアッテネーター部についてる銘板が欠損している点です。このままだとダサいのでCADを使ってなんとなく作っていきます。
ノギスで測ってみたところ380*32cmでした。つまり15*1.25インチです。
あとはこのデータを業者に出すだけ...
下に透過PNG置いときますね。
本物をスキャンして画像処理したのでそのまま使えると思います。
銘板だけでも再販してくれたらいいんですがね...
発注したらまた書きます。
JBL4343を聞ける状態まで修理した
始めに
色々な会社があったけれど、どんどんと倒産してゆく昨今、皆さんはどんなオーディオライフをしていますか?
私とオーディオの出会いは小学1年生のときにウォークマンを買ってもらったことから始まっています。そして中学2年で5.1chを一人部屋に構築したり、かなり派手にやってきましたが、今回スピーカーの買い替えは人生で早くもラストになりそうです。
今回買ったスピーカーは・・・「JBL4343B WX」!!!
これだけ見てもスコーカー左右で違うんじゃないか?とかスーパーツイーターもどちらも右寄りについてるじゃん!!とか思うのはおいておいて、
上下逆さまの状態で保管されているのには少し驚きましたが、何とかアルファードに3人がかりで搬入して引き取りました。ちょうどぴったり乗るので本当に良かったです。
そして部屋に運び入れてみたらそのサイズに圧倒されました。。。
右上のアンプはSANSUI AU-A607です。
家に入ったので少しずつレストアしていきます。
まず今回買ったのは
・スピーカーターミナル
・交換用エッヂ(ウーファーとスコーカー用)
・ガスケット
・アッテネーター(スーパーツイーター2405用)
・アッテネーター(ホーンツイーター2420、スコーカー2121H用)
この中で一番探すのが大変だったのはアッテネーターです。
JBL4343のアッテネーターに適合する巻線型可変抵抗の新品はネットで探してもなかなかヒットしません。ですが、秋葉原のソフマップの前のロイヤルホストの裏あたりにあるコイズミ無線にまさにぴったり適合するものがありました。
接点復活材などで延命するのもよしですが、新品はやはりガリなくスムーズに動きますし、全然違います。
ウーファーなどのエッジ交換は割愛しますが、今回わかったのは横着すると後々面倒くさくなるので、ちゃんとボンドは筆で伸ばして塗りましょう。
それとコーン側の劣化ウレタンを取るのは歯ブラシが、フレーム側はエタノールを染み込ませて、しめしめにしてからとるとすごく楽に取れます。
今回のメインはエンクロージャーの分解です
実はこの4343は上の3つユニットがついている部分を90°取り外し、回して横置きに対応させることができます。ですが、その取り外しがめちゃくちゃ手ごわいです。
3時間以上かかりました。買ってから一度も外さないオーナーもいます。そうすると起こるのは接着です。外し方は次の通りです。
・その1
JBL4343を立てた状態で、上側パネルの上下左右に4つある少し長めのネジを外します。その後、角に2本ずつ刺さってる8本のネジを5~10mm完全に外れない程度に緩めます。
・その2
前面からゴムハンマーでなるべく外側に近いところに振動を与えることを意識して叩いていきます。
・その3
スコーカーを外した穴に手を入れひっぱり、下側の板はもう片方の手で押すようにして力を加えていきます。ここでめでたくパリっとはがれるような音が聞こえればその2と3を繰り返していくと取れます。
・その4
3の手順で取れなかったら今度はマイナスドライバーをウーファーを外した穴から入れて、てこの原理で一か所でいいので引きはがしてください。そうすれば上の2,3の手順で徐々に外れていくと思います。
外れたら、エンクロージャーを倒して、8本すべてのネジを取り除き、上にまっすぐ持ち上げると見事取れます。その際あわせて10kg近い2420と2405がついているので心して持ち上げましょう。
こうして外して最後はツイーターの位置を変え...
らしくなりました!!
感想としては
6畳の部屋には大きすぎる!!!!
ということです。
JBL4312Bで本当に充分です。
鳴らしきれないです。
ただ、ホーンツイーターや38cmウーファーなど最高のロマン満載ですから眺めてるだけでも、素晴らしい景色ですよ。
鳴らした動画も上げるかもしれません。
※追記
動画上げました。よろしければ是非ご覧ください。
曲の希望があればぜひ言ってください。
いつかこれをケンリックに...笑
また改造したら書きます。