Ubuntu Linux に MIDI編集アプリをインストールしてみた

東京オリンピックの閉会式を控えた8月8日(山の日・日曜日)、台風が連続でやってきて、朝からPokémon GO散歩は無理そう…と思っていてこのツイートを見て思い立ったのであった。

Windows使ってた頃はDominoとかでMIDIファイルを編集できていたのだが、Ubuntu LinuxになってからはMIDI Chord Helperしかなく、しょぼい編集手段しかないことに気づいた。

そこで、Rosegardenというアプリを入れてみた。

あと、MIDIファイルも用意しておこう。

新型コロナウイルスCOVID-19ワクチンを2回接種するとワクワクチンチンだよねー…っていう最近のネタから生まれたボカロ曲・ワクワクチンチン。

MIDIファイルも公開されていてダウンロードできるようになっていたので、これで試してみた。

MIDI Chord Helper では普通に鳴った。

だが、Rosegardenでは鳴らなかった。RosegardenにMIDI音源がつながっていないようだ。

ちょっと音源につなぐ方法を考えてみよう。

考えたのは、次の3つの方法である:

  1. Timidity音源を用意する
  2. 仮想MIDIポート経由でMIDI Chord Helperに接続
  3. 物理MIDIポート経由で電子楽器CAmiDionに接続

すでに手元にある音源を活用して、とにかくつないでみたいと思ったので、2. と 3. の方法を試してみる。

物理MIDIケーブルで電子楽器CAmiDionにつないでみる

CAmiDionは、MIDI OUT だけでなく MIDI IN も装備していて、音源としても使うことも可能。

そこで、手持ちのUSB-MIDIインターフェース・YAMAHA UX-16 を経由してCAmiDionのMIDI INに接続。

これはあっさり動いた。自作ハードウェア音源でワクワクチンチン鳴らせた!

仮想MIDIケーブルでMIDI Chord HelperのGervill音源につないでみる

問題はこっちだ。

RosegardenのMIDI入出力は、ALSA(Advanced Linux Sound Architecture)経由になっている。

しかし、MIDI Chord Helper は普通のMIDIインターフェースしか装備しておらず、ALSAには対応してないから、そのままではつながらない(まぁ、これはもともとWindowsで開発してたJavaアプリだし)。

昔Windowsで使っていたMIDI Yokeみたいな、仮想MIDIポートがないとだめっぽい?

色々調べてみた結果、答えがここにあった!

カーネルモジュールsnd-virmidiをmodprobeして、ALSA RawMidi APIを有効化したら、つながった!

sudo modprobe snd-virmidi

これだけでよかった。index=1はいらなくて(むしろつけたらエラーになった)、勝手にindex=2に割り当ててくれた。ただし、Linuxを再起動すると無効になるようだ。毎回やるの面倒だと思ったら起動時に入れるようどこかに設定できるとは思うが、これはまた別の機会にやってみることにしよう。

ALSA RawMidi APIを有効化できたかな?と思ったら、MIDI Chord Helper の MIDI device connection 画面で [Detect USB MIDI devices] ボタンを押してみよう。

すると、追加された仮想MIDIデバイスがこのように、どーっと増える。

あとはMIDIデバイスのTx/Rxをドラッグ&ドロップして手動で接続していけばよいが、MIDI Chord Helper を再起動すると、おや?物理MIDIポートがあるぞ?と察知して勝手に接続してくれるので、それに任せたほうが楽かも。

この [IN] VirMIDI に、RosegardenのMIDI出力をつなぐように設定するのがポイント。

なお、[OUT] VirMIDI をつないだまま、RosegardenのMIDI入力がそこにつながるとループしてしまうので、MIDI Chord HelperとRosegardenのどちらかで接続を切り離しておこう。

Rosegarden側のMIDIデバイス接続画面で見るとこんな感じ。

これで、ワクワクチンチン.mid → Rosegarden → MIDI Chord Helper → Gervill音源 のルートで、ワクワクチンチン鳴らすことに成功!

手持ちの音源でとりあえずなんとかなりました!

JavaScript五度圏時計、スマホでも和音を鳴らせるようになった!

以前「JavaScript五度圏時計のクリックで和音が出るようにしてみた」で書いたように、PCでは音が出たけどスマホ(手持ちのGalaxy S10+で動いているAndroid上のChromeブラウザ)にうまく対応できていない問題がありましたが、ようやく解決しました!

マウスにはない「マルチタッチ」があることを認識しよう

イベントタイプを単純に mousedown/up → touchstart/end に置き換えるだけでは不十分でした。touchstart ではマルチタッチをサポートするために event.target や event.clientX などが複数になっていて、下記のコードのように間にchangedTouches[0]を挟み込まないと、タッチ位置を正しく取得できなかった、というわけでした。

  pushed = (event, chordGenerator) => {
     const touched = CircleOfFifthsClock.isTouchSupported ? event.changedTouches[0] : event;
     const target = touched.target;
     const rect = target.getBoundingClientRect();
     const positionFromCenter = {
       x: touched.clientX - (rect.left + rect.right)/2,
       y: touched.clientY - (rect.top + rect.bottom)/2,
     };
     const r = {
       x: positionFromCenter.x / target.width,
       y: positionFromCenter.y / target.height,
     }; 
    const distance = Math.sqrt( r.x ** 2 + r.y ** 2 );
     if( distance < CircleOfFifthsClock.bounds.min || distance > CircleOfFifthsClock.bounds.max ) {
       return;
     } 

問題をきちんと切り分けたことで発見できた!

最初、スマホで音が鳴らない原因が、Web Audio API にあるのか、タッチ操作にあるのかがわからなかったので、まずはボリュームの右にインジケータとして●印をつけ、押されているときだけ赤くなるようにして、問題の切り分けがしやすいようにしていました。

その結果、スマホで音が鳴らないだけでなく●印も赤くならないことがわかり、これはタッチ操作に問題があると確信。mousedown/up と touchstart/end の違いについてWeb検索して調べていたところ、上記のようにマルチタッチを考慮しないといけないことがわかりました。

右クリックもShiftも使えない!さてどうする?

スマホ上のタッチで音は鳴るようになったものの、マウスではないので右クリックは使えません。キーボードもないので、Shift/Alt/Ctrlも当然使えません。したがって、7thコードなどを鳴らすには代替手段が必要になります。

で、どうしたかというと…電子楽器CAmiDionのシフトボタンと同じ配列のボタンを<table>タグを駆使して画面に表示し、そこをマルチタッチで検知するという方法で、7thだけでなくaugやdim7までも鳴らせるようにしました。

touchmoveなどが邪魔になることも!ボタン上では無視させよう

マウスのときは右クリックのコンテキストメニューや、ダブルクリックによる文字選択が邪魔でしたが、スマホの場合はダブルタップやピンチインなどがボタン上で効いてしまったりして、演奏中に突然画面がズームしたり、選択状態になるような表示が出たりする現象に見舞われ、イライラします。

そこで、このイライラの原因となるイベントタイプをリストアップし、preventDefault() でデフォルトの動作を回避させるように設定します。

const disablingEventTypes = ['contextmenu', 'touchmove', 'selectstart'];
disablingEventTypes.forEach(type => button.addEventListener(
  type, event => event.preventDefault()
));

さらに、HTML上でも、style=”touch-action: manipulation;” のようにスタイルを追加して、ダブルタップでズームするのを防止します。ここまでやっておけばだいぶ改善されます。

これで外でもスマホで弾き語りができそう!

JavaScriptとWeb Audio APIをうまく使うことで、CAmiDionのような感覚でスマホで簡単にコード演奏ができるようになりました。

しかも、五度圏時計になっています。さすがに時計までは MIDI Chord Helper でもCAmiDionでも実装していませんでした。これはこれでまた違った楽しみが生まれそうです。

LinuxでCAmiDionをコンパイル

半年ほど前、Windowsのトラブルに見舞われてUbuntu Linuxに乗り換えたのを機に、CAmiDionの開発環境であるArduino IDEもLinuxで動かす羽目になったわけですが、

数々の壁にぶち当たりました。

主な壁

【USBデバイス】
Windows: COM0のような名前だったUSBデバイス名
→ Linux: /dev/ttyUSB0とかになり、しかもそのパーミッションがないと使えないのでdialupグループに自分のLinuxユーザ名を追加し、一旦ログアウトする、といった対応が必要だった。

【Arduinoスケッチ・ライブラリの引っ越し】
Windows: C:/User/ユーザー名/ドキュメント/Arduino/
→ Linux: ~/Arduino/

【Git環境】
引っ越したArduinoディレクトリがローカルGitリポジトリを兼ねている。このリポジトリにステージやコミットできるだけでなく、リモートGitリポジトリの認証を通すためsslの秘密鍵と公開鍵を作って、push/pullもできるようにする必要がある。
https://git-scm.com/downloads/guis で選んでgiggleとgit-colaをインストール。git-colaが比較的使いやすい印象。

【I2CLiquidCrystal】
コンパイルが通らなかったので原因を調べたら、なんとI2CLiquidCrystalで#includeしているArduino.hの先頭のAが小文字になっていた。あのぉ、これだと Windows では通用しても、ファイル名が case sensitive な Linux では通用しませんから!! Windowsしか使ってない人がやらかしがちなミスでした。

【PROGMEM】
コンパイルが通ってもWarningもいっぱい出たので一つ一つ調べていくが…
なんか、2017年頃にPROGMEMの使い方に仕様変更があった模様。

【性能劣化対策】
スケッチを流し込んでみたら…なんだこれ!めちゃ遅い!

CAmiDion で使っている音源ライブラリ PWMDAC_Synth では、高頻度な割り込み周期で Interrupt Service Routine すなわち ISR() 内でPWMのパルス幅を絶えず更新して波形を出力するので、ここの処理は極力速くしなければならないのに…

最適化(optimization)に関する gcc や g++ のコンパイルオプションの問題?と思って

~/.arduino15/pachages/arduino/hardware/avr/1.8.2/platform.txt

に書かれたコンパイルオプションを -Os (サイズ優先の最適化)を速度優先の -O2 とか -O3 とかに変えてみたが、通常ならフラッシュメモリに書き込まれるコンパイル済み機械語プログラムのサイズが75%を少し超えるくらいなのに、120%とか200%とかサイズオーバー状態になり、書き込みができず。

そこで、ソース(スケッチ)を見直して、ここを参考に可能な限り const 指定をつけるようにして、コンパイラに思いを伝えようと頑張ったわけだが…効果はいまひとつだ…

ISR()で呼ばれるところだけ inline __attribute__((always_inline)) を付けても元のパフォーマンスを回復できず。

しばらく悩んだわけだが…

新型コロナウイルス(COVID-19)騒動で僕もついに4月8日から在宅勤務になり、

しかも風雨が強かった4月13日の夜。夕方のポケ活もたいしてできない中、

検索していたら、決定的な解決策をStackOverflowで発見!

How to change optimization level of one function?(一つの関数の最適化レベルを変更するには?)

これを参考に ISR() から呼ばれる関数だけ最適化レベルを変えてみたら…

static byte __nextPulseWidth() __attribute__ ((optimize(3)))

それだけでも劇的に速くなった!!
効果はばつぐんだ!元のパフォーマンスと同じか、それをちょっと超えるくらいの感触!

これと同じような指定は #pragma でもできる。

#pragma GCC push_options
#pragma GCC optimize ("-O2")
void 速度の最適化が重要な関数() {
:
:
}
#pragma GCC pop_options

要するに、Arduinoの設定で全体に適用するのではなく、関数ごととかクラスごとに最適化レベルを変えれば、サイズオーバーすることなく、タイムクリティカルなところだけ速度最適化ができるというわけ!

これでようやく元のCAmiDionの性能を、Linux上のコンパイルで再現することができるようになりました!!

半年ほど経ってようやく!

ということでPWMDAC_SynthとCAmiDionのソースをリポジトリに上げました。
https://ja.osdn.net/users/kamide/pf/
なんか性能が落ちたなーと思ったらぜひお試しください。

CAmiDion 6号機のMIDIとUSB電源の端子を小型化

2014年にプリント基板化に踏み切る直前に作った、CAmiDion 6号機

長らく実験用として保存していたのですが、最近はこれを活かす方向へ転換し始めました。

既存のCAmiDionの多くは、秋月で安くまとめ買いできるタクトスイッチで構成されていましたが、長らく使い込んでいると、よく使うボタンからあのカチカチする感触がなくなり、やがて接触不良を起こしたりします。

そんな中、CAmiDion 6号機で使われているボタンは、昔エジソンプラザに存在していた相模電子で激安で大量に売られていたボタンで、普及型のタクトスイッチと同じようなピン配置になっていますが、カチカチいわない代わりに強めにおさないといけないタイプのものでした。

このことが、ボタンを長持ちさせることにつながっていたようです。

このタイプのボタンを使ったCAmiDionで現存しているのは、この6号機だけです。
こいつだけはボタン接触不良のストレスなく演奏できるので、そのメリットを活かそうとしています。

CAmiDion 6号機

ただ、今となっては気になるところが2点。

1つめは、MIDI OUT コネクタ。
激小MIDI音源「MIDI野郎」により小型化MIDI端子の規格化を知ってから、まずはここからMIDI端子を新仕様の小型のものに変えたい!と思うようになりました。

もう一つは、USB電源コネクタ。
Mini-Bで統一されていたのですが、最近はMicro-Bが主流で、スマホに至ってはリバーシブルなType-Cまで登場する、そんな時代になってきました。ここもせめてMicro-Bに変えたい、と思うようになりました。

そこで、1月4日に、以前秋月電子で買ってストックしてあった基板用マイクロUSBコネクタ(電源専用)3.5mmステレオミニジャック基板取付用MJ-8435に付け替えて、余ったスペースにUSB電源の分岐用端子をつけました。
20200112_000818
で、この秋月のUSBコネクタですが、フレームの端子が短く、基板の裏まで届きませんでした。どうやらこれはスルーホール基板を想定した設計になっているようです。このままではしっかり固定できなかったので、上の写真のようにスズメッキ線を這わせてはんだ付けすることにより、なんとか固定しました。

これで、MIDI野郎への分岐が容易になりました。

これで持ち歩きも容易になるか!? と思ったものの、やはり塩ビパイプスピーカーと10Wモノラルアンプの大きさがネックに。自作4chステレオミキサーをつなぐのも面倒だし、いっそのこと、このアンプに4chモノラルミキサーを内蔵しようか…とも考えました。

が、ここでふと思った…MIDI野郎ってステレオに対応してるよな!?
MIDIコントロールチェンジのPANとか反応するよな!?

で、試しに、Linux PCのMIDI Chord Helper → USB-MIDI I/F → MIDI野郎 → 昔使ってたウェアラブルなステレオアンプ、という構成で、MIDI Chord Helper からコントロールチェンジのPANの信号を送ってみたら…

ちゃんと左右に振れた!!

ということで、せっかくMIDI野郎につなぐなら、アンプもステレオじゃないともったいない!と思うようになり、このウェアラブルなポーチに入ったステレオアンプ(ポーチはmont-bellのアウトドアグッズ、ステレオアンプは昔ノジマで買った激安ダンボール箱アンプ、オンキョー PPTUNE PPX-001 を改造したもの)を活用することに。これなら、よりコンパクトに持ち歩けるというメリットも。

このポーチ入りステレオアンプにも、気になるところが。
中に入ってる、NiMH充電池用につかってる単3×4本電池ボックス、実はコネクタも使わず電線で直結してて、ぶらぶらしてるのが気になっているだけでなく、モバイルバッテリー等の外部USB電源から供給できない点も気になっていました。

NiMHからUSBへの「出力」はCAmiDion用に2口(古いマザボから外したUSBジャックを流用)も確保してあったのに、「入力」端子がなかったわけです。そこで、ここにも同じMicro-Bジャックを増設し、電池ボックスは外しました。代わりに秋月電子で買ったこのUSB電池ボックス使ってもいいわけだし、モバイルバッテリーから取ったり、ACアダプタのUSB電源でもいいわけだし。結果的に電源専用USBハブみたいな感じで分岐もできちゃうわけで、その点でも便利。

で、ついでに自作4chステレオミキサーとCAmiDion 6号機にも紐を付け、ぶら下げられるようにして、テーブルに置かなくても完全ウェアラブルな構成となるようにしました。ステレオミキサーを使うことで、MIDI野郎の音とCAmiDion内蔵音源の音をバランス良くミックスしたり、スマホの音声とミックスしたり、自作エコーマイクにつないだり、ポケット・ミクとつないだり…と、夢が広がるわけですw

2020年からはこの構成でスタートしていこうかと思ってます。
さて、今後どんな遊び方が展開されるか?
お楽しみに…

オープンハードカンファレンス 2019 Tokyo/Fall にCAmiDionを出展

アキバのちょっと北寄り、末広町の近くにあるgranicaで10月6日に開催されたオープンハードカンファレンス(OSHWC: OpenSource HardWare Conference) 2019 Tokyo/Fallに電子楽器CAmiDionを出展してきました。

これまでCAmiDionを出展したOSHWC
(その間にも開催はされていたものの参加してないときもあった)

というわけで、展示は2年半ぶりぐらいでした。

2年半たって大きく変わったところといえば、こんな感じでしょうか…

ふと気が付くと、CAmiDionを作り始めてから10年余り経っていました。
これまで作ったCAmiDionを幅広く展示しました。

あ、そういえばこのKOTORI楽器さんって清澄白河のときに出展していたのを見たような…

展示イベント終了後、同じ場所で懇親会。3年半ほど前の清澄白河のときと同じようなスタイルでのピザの窯焼き。規模は縮小した感じ(まぁ、今回は会場がそこまで広くなかったので…)

抵抗カラーコードかるた大会も開催ww
値を読み上げ、カラーコードを取るという。なぜかコンデンサが混じってたり、ホーロー抵抗とかも混じってたりww

あと、こんなギョロ目ケーキもww

終盤ではプログラミング言語神経衰弱とかも。これのほうが地味にむずい。似たような書き方する言語がいろいろあるからねー…。

いやぁ、こじんまりとした会場で久々の展示、楽しかったです。

ただ、前日が真夏日一歩手前で、海水浴も楽しめたほどだったのに、同じような格好で行ったところ、アキバまで40kmも北上したら寒かった…小雨も降ってましたし。大きな荷物を持って体力を使ってたことで寒さをしのいでいた、そんな感じでした。

Pokémon GO のほうはというと…
末広町のマックが近かったけど、会場からは惜しくも届かず(でも北谷食堂のポケストップだけは回せた)。そのマックで、18:00-19:00定時ギラティナ! だが、懇親会と完全に重なって参加困難…
と思ったら、帰りにClub Segaにギラティナが居座ってた!
黒玉割れた直後じゃなくても、アキバなら余裕で人が集まる!
こうして無事にこの日の無料レイドパスを消化でき、個体値高めのギラティナを捕まえることができました。

電子楽器CAmiDionソース更新:プログラムチェンジ送信機能追加

先日、激小GM音源「MIDI野郎」を入手してCAmiDionと接続してみたのですが、MIDIのプログラムチェンジを MIDI OUT 端子から送信する機能がCAmiDionにないため、このままではMIDI野郎の音色を変更できないという、不便な一面が浮き彫りになりました。

ちなみに、プログラムチェンジを MIDI IN 端子から受信して、CAmiDion内蔵音源の音色を変更する機能は、すでに備わっています。その逆ができなかったわけです。

この問題を解決するため、CAmiDionにもプログラムチェンジ送信機能を追加しました。ソースはこちらからダウンロードできます。

操作方法についてはボタン割当表を参照。
MIDIのプログラム番号は128通りあるので、1ずつ増減、8ずつ増減、の2種類を実装しました。8ずつ増減する列の中央のボタンで、現在のMIDIチャンネルのプログラム番号が表示されます。1ずつ増減する列の中央は、すでに、現在のMIDIチャンネル番号を1減らすために割り当て済みなので、プログラム番号は表示されません。

ボタンでプログラムチェンジを行うと、MIDI OUT から出力されるだけでなく、CAmiDion内蔵音源の音色も変わります(MIDI IN からプログラムチェンジを受信したときと同じ動作をします)。つまり、CAmiDion内蔵音源と外部MIDI音源を両方同時に、似たような音色で鳴らすことができます。

激小GM音源「MIDI野郎」を電子楽器CAmiDionにつないでみた

8月5日、東京ビッグサイトで開催された Maker Faire Tokyo 2019 に行ってきました。

ここで面白そうなものを発見。「MIDI野郎」(MIDI Guy)という激小MIDI音源。DIN-TRS変換MIDIケーブルつきで、販売価格3k円。これ電子楽器CAmiDionにつないだら面白そう!というわけで、買ってしまいました。

1年ほど前にMIDIのTRS接続規格化が発表され、あのでかいDIN 5Pを使わなくても、3.5mmのオーディオステレオプラグを使ってもOKになったとのこと。
CAmiDionも、今度基板を作るときはこれにしようかな!と思いました。
DIN-TRSケーブルの自作も簡単にできそうですが、配線の際、裏返しにならないように注意が必要です。

一通り回ったし、帰ろうかなと思って一旦会場を出たところで、ふと気が付きました。

そうだ!
HAKKOの修理ピットと称する、はんだごてコーナーがある!
ここでUSB MicroB端子をはんだ付けすれば、その場でCAmiDionと接続できる!!
やってみよう!

はんだ付けできたところで、手持ちのUSB MicroBケーブルと、MIDIケーブルをつないで、CAmiDionの駆動とスマホの充電の両方で使っているモバイルバッテリーからUSBハブで分岐し、MIDI野郎とCAmiDionを接続。自分自身が「MIDI野郎」になりきったこんな姿で、買ったブースに報告へ。

そしてその場でデモ開始。ジェバンニが1時間でやってしまいました状態ww

なったって、衝動買いしてから動作確認まで、その日のうちにすべて会場内で完結してしまったわけですからwwwwww
Maker Faire ってすばらしいwww

作者の方も予想外の反響にモチベーションが高まったようです。

で、購入から6日後の8月11日には、毎年くふさんが企画してお盆休みの時期に茅ケ崎で開催している、海でおよいだりBBQしたりするオフに参加。M3とかに参加して曲作ったり、クラブDJとかやったり参加したりする、音屋な人たちが集まるオフ会ということもあって、BGMもボカロとかFlash黄金時代のなどなど、クラブで使える系のちょっとパリピな感じのが多かったわけですが、

さっそくここでMIDI野郎を活用し、BGMとシンクロさせて遊んでみた!
CAmiDionにはアルペジエータが内蔵されていて、その際にノイズ音をベースとしたリズム音を出すと同時に、ドラムのMIDI信号を出すこともできるのですが、それをMIDI野郎が受けると、CAmiDion自身が出しているリズム音よりもはるかにいい感じのドラムのキック音が鳴って、なかなか楽しい!

ただ、メロディとの音量バランスが調整できなくて不便を感じたので、予備に持ってきたCAmiDionをもう一台出し、自作4chミキサーで中継し、それぞれのCAmiDionをドラム用とメロディ用に使い分けることでなんとかしましたw

ただ、思ったのが、CAmiDionにはプログラムチェンジを送信する機能がないので、MIDI野郎につないでも音色を変えられず、電子ピアノの音色しか鳴らせなかったり。今度実装を試みてみようかな…。 → その後、機能追加しました。

電子楽器CAmiDionの今後の形を考えるうえで、この「MIDI野郎」はいろいろとヒントを与えてくれました。こういうインスパイアっていうか、そういうのが生まれるのが、Maker Faire のいいところですよね。

Maker Faire Tokyo 2018に行ってきた

8月5日、Maker Faire Tokyo 2018 に行ってきました。

前売券が3日の23:59までということで、金曜の仕事帰り、ローソンの端末でささっと購入。
今年は4日に母親の七回忌だったので、その翌日すなわち2日目に行ってきました。

ちなみに去年はBouncyのこの記事
大人から子どもまで楽しめるDIYの祭典「Maker Faire Tokyo 2017」レポート
の最後の写真に僕の姿が…まぁ、こんな調子なので、こういうときぐらいウェアラブルな作品があったら身につけてツイートしてみるのもいいかなーってことで。

昨日はこんなのあったみたいですが今日は確認できず…
Pokémon GO のジムでよく見かけるケッキングのような何か

今日はバルーンがお出迎え

LEGOがいっぱい。Makerになりたい子供たちがいろいろ作って遊んでました。

うぉーるぼっと、見るたびに何かが進化してるような…

テスラコイル音源。 かつては専用部屋を割り当てて隅のほうで火花を散らしているのを見かけましたが、だんだん洗練されてきて、鳥かごのようなコンパクトで安全なものに進化していました。

ビッグクラッピーという陽気なロボット

去年も見た覚えがあるロボット楽団 つい見入ってしまう

Googleのブースもあったのですが、エイプリルフールで発表していたあのばかばかしいデバイスが実体化されて展示されていたというwww さすがwww

ウェアラブルな作品でなりきりシリーズ 人造人間 ♪お~れはキャシャーン…?

MIERUNDESっていうメガネ

モノサシストな機械
だけど人間にはまだまだ及ばないようだ

光るハンドスピナー

古いおもちゃを再生するという展示ブースも

今回もCAmiDionをぶら下げて歩き、MIDIのつながるところでコラボしたり、RakuChordや自作キーボードのところで互いの作品を見ていろいろ話が盛り上がったり…

CAmiDionを弾き慣れているのもあって、なにげなく思い通りのコード進行に沿ったアルペジオ演奏をしていたら、グロッケンがうまいこと反応してくれて、お互い、今までなかった演奏を聞いて楽しめたという。

https://platform.twitter.com/widgets.js
他にもさまざまな人が関心を寄せてくれていました。今回はCAmiDionのぶら下げ歩きとともに、初めて塩ビパイプスピーカーを小型バッグに入れて持ち歩きました。

あと、畳ギターみたいなのでセッションしていたところ(「日本畳楽器製造」だったと思う…)にも遭遇し、そのままCAmiDionでしれっと演奏してセッションに溶け込んでみたり。
7thコードをやたら使うロックンロール的な進行を感じたのでそれっぽく。

他にはこれも面白かった…(人が集まっていて自分が動画撮ってる余裕なかった…)
カチャカチャと音を立てて変わる、力学式ドットマトリックスディスプレイ

この日は海風もあって猛暑という感じはしなかったです。
風があるだけでもだいぶ違う…。

入ったのは13:00くらいだった気がしますが、途中でCAmiDionなどの話で盛り上がったりしていて、気が付いたらあと30分で18:00…
ぎりぎり全部回れたって感じです。
あとでこのブースにまた来ようと思っても、近くじゃないとそれすら余裕がないっていう、そんな感じ。
Maker Faire Tokyo もでかくなったよなーって改めて思いました。

CAmiDionの今後へのヒントにもなった

今年もまた、MIDIでつながりそうな楽器系ブースがあるだろうなと思って、CAmiDionをぶら下げてMIDIケーブルも準備していたら、やはり使う機会があったという…。
これはまぁ、毎年だいたいあったのですが、

今年はちょうど、CAmiDionの基板を頒布し切ったあとでもあり、次の基板どうしよう、と考えているところだったのですが、CAmiDionと同じように押しボタンスイッチをたくさん使う自作キーボードを展示していたところもいくつかあり、いろいろヒントになりそうな作品が見れてよかったです。
このようなレポートもあるほど自作キーボード系が目立っていました。→ 【MFT2018】Maker Faire Tokyo 2018、キーボード関連ブース中心にあちこち見てきましたー

中でも、基板製造時にタッチセンサーのパターンが組み込まれた、押しボタンスイッチのはんだ付けをする必要のないMIDIキーボード(奇楽堂 TouchMIDI25key)が気になりました。
32ボタンまでの静電容量式ならPSoCで実現できるらしい…?
でもCAmiDionは48ボタンあるしなぁ…
無接点で接触不良の心配もなさそうだし、CAmiDionもこういうので実現できたらいいなーって思ったりもしました。

CAmiDionと同じように和音を簡単に弾ける楽器としてRakuChordというのがありますが、今年はついにこのMaker Faire Tokyoの会場でRakuChordのキットが販売されたという点も注目。

他にもいろいろ面白いものが盛りだくさんで午後だけで全部回るのがやっとという…
ANIPOVの人のレポート:Maker Faire Tokyo 2018行ってきた!!

10Wアンプを作り変えて塩ビパイプスピーカー作ってみた

2015年の春頃に作った木箱に入れた10Wアンプ、スピーカーのバスレフ化を試みたり、デジタル電圧計まで備えて2年半ほど使ってきましたが(詳細は10Wアンプでブログを検索)、

ついに改造に踏み切りました。

塩ビパイプ太さ75のふたに、スピーカーをはめ込むための大穴をあけます。
でっかいホールソーとか使えば簡単きれいに穴をあけられそうですが、そこまでのツールは持ってないので、ハンドドリルで円周上に小穴をあけ、ニッパーでプチプチ切ってつなぐ方法をとりました。

基本形はだいたいこんな感じ。スピーカーが45°傾くようにしてみました。
底板がないと倒れるので、植木鉢の底板を活用。

塩ビパイプを使うと、付け外しが自由にできて、分解して運ぶことも簡単だし、パイプを縦にして床にそのまま置いても高さを確保でき、長いパイプで低音増強もしやすいです。
組み合わせの自由度を確保するため、スピーカーだけのユニットをまず作り、アンプは別の筐体に収めることに。

塩ビパイプに音が共鳴しやすいので、内側にスポンジを貼ったり、太さ40のパイプに分岐した中にぴったり入るトイレットペーパーの芯を入れてみたり。

太さ75のタワーが組みあがるだけのパーツを、いざ、12/16のネオコイワセッションへ。
(ネオコイワセッション、久々に行ったなぁ…)
これでCAmiDionでセッションを楽しんできました。
が、途中で塩ビパイプスピーカーが倒れ、端子が壊れた…(意外と耐久性ないのねこれ)

結局、端子はアンプ側だけにして、スピーカー側は直接線を付ける形にしました。

ギターアンプのようなスピーカー一体型から脱却し、以前の木箱に比べて低音がより響きやすくなりました。塩ビパイプはホムセンで安く買えるし、意外といいですね。

米本さんの電子楽器ライブを見に湘南台文華堂へ行ってきた

今日は、藤沢市の湘南台へ行ってきました。

湘南台は20年ほど前までは小田急江ノ島線しか止まらなかった駅でしたが、1999年に横浜市営地下鉄(当時はまだ「グリーンライン」が未開通のため「ブルーライン」って呼ばれてなかった)、相鉄いずみ野線が相次いで湘南台まで開通したことで、一気に主要ターミナル駅の仲間入りをしました。

そんな湘南台駅周辺で行われた「Showなんだいdeショー」で米本さんの自作電子楽器ライブが開催されるということで、行ってきたわけですが…

途中でいろいろありました…(詳細はのちほど)。

湘南台のライブが17:00開始ということなので、昼間のうちに、駅前激戦区から遠く離れて人が少なそうな横浜横須賀道路の港南台インター(注:湘南台と見間違えないように…全然違う場所です!)周辺に多数存在するポケモンジムの一斉陣取り作戦を展開。

実は先日…

この2つの影響が重なって、「持ち物がいっぱいです」が頻発する事態になっていました。

この影響で、余ったげんきのかけらが30個ぐらいたまっていて、これだけあればバトルで瀕死になったポケモンも回復させやすく、ジムバトルしまくるにもちょうどいい!ってことで(ただ、キズぐすりの必要なポケモンがまだいて、完全回復ってわけにはいかないけど…)。

金曜の仕事帰りにジム配置してからの経過時間が21時間にまだ達していなかったので、その間、港南台インター周辺のジムを駆け回り、なるべく多くのジムを陣取ることに。
1本はレベル10ジムを奪い、1本はあとで敵チームに取られたけど、4本のジムを陣取った状態で最後の1本を取れて、このタイミングで50ポケコインゲット!!

ちょうど、最後のジムのすぐそばに、ブルーライン上永谷駅へ行けるバス停があったので、ここから上永谷駅→湘南台駅へ向かうことに。

この日はポケストップのウィークリーボーナスで「メタルコート」と「たいようのいし」が出ました!!
やった!これでキレイハナ or キマワリに進化できる。
どっちにしようかな…
よし、クサイハナ→キレイハナにしよう!というわけで…

上永谷駅に到着。
よく考えたらまだ昼飯食ってなかったので、イベント前に何か食べておこう。

ドトールコーヒーに市営地下鉄ブルーラインの時刻表があったので見てみると、湘南台行きの快速がもうすぐ来る!
上永谷の次が戸塚だった。最近は快速なんてできていたんですね…

17:00頃に湘南台駅に到着。
もうライブ始まっちゃってるかなー…

湘南台駅、ポケモンジムが2本並んでてすごい!

…っと思って、駅西側(慶應大学SFC側)の文華堂に到着…

ここで重大なことに気づく。

あ!!!
忘れ物!!!
CAmiDionと自作10Wアンプを入れた茶色い袋がない!!!
どこかに忘れてきたみたいだ!!

とりあえずトイレをすませ、駅西側の文華堂を探すが…
米本さんの姿が見当たらず。

もうライブ始まってる時間だよな!?
あれ?ここの1Fのステージ?
ライブ終わった?
文華堂の書店のフロアは2Fだけど、
こんなところにライブできそうな場所なんて…ないぞ!?

しかもこのツイートの位置情報、なんか今いる場所から、駅を挟んで反対側を指しているぞ? うーん…変だな…

米本さんのブログをもう一度確認したけど、文華堂のアクセスマップは、上記の位置情報が示しているほう(東側)ではなく、今いるこの場所(西側)を示している。

っと、ここで、
米本さんのライブを見に来たという人に声をかけられた。以前清澄白河のオープンハードカンファレンスで会った人だったようだ。
米本さんいないですねーおかしいなーって二人で言ってましたが、1Fでライブを終えたとみられる方にたずねてみたところ…

なんと、駅と反対側の文華堂が会場らしい!!!

つまり、上のツイートの位置情報が示している場所が会場だった。

うわあああああああ!
なんて紛らわしいところに文華堂が二つもあるんだあああああ!!!
しかも、実際に今いる、ここ西側の文華堂は位置情報を「文華」とかで検索しても出てこないし!!
これ、方向を勘違いしてたら間違えるよ…やばすぎだろ文華堂…

ということで、二人で正しいほうの場所へ向かう。

なんかもう、寸前で

  • 忘れ物に気づいてしまった
  • 会場を間違えてしまった

のダブルパンチを食らうというハプニング続きに加えて、昼飯も食わずにCCレモン飲んでそのあとおやつ+アイスコーヒー、ということもあって、胃がキリキリ痛くなりました(ふだんこんなことはあまりないのですが、どうやら胃に来そうな飲み物ばかり飲んでたのもあるみたい)。

でも…
今行けば米本さんに会えそうなので、めげずに行ってみよう!!

そしてようやく、

米本さんの姿を見ることができました!

ものの数分で終わってしまったけど、電子ブザーの破壊力www
びーー って鳴るたびに、笑いがwww

米本さんの著書「楽しい電子楽器 自作のススメ」も文華堂においてありましたが、なんか紙の書籍はもう増刷されないようで、電子書籍に移行することになるようです(これも時代の流れなのかな…)。

ライブ終了後はサイン会状態になっていましたが、会場を次の出演者が使うということもあって、撤収を手伝ったりもしてきました。SYSTEM Y のケーブルを抜いて片づけて本数が合ってることを確認したり。
このあとのライブ見るか、一緒に食事という話もあったのですが、僕は忘れ物を探さなければならないので早めに湘南台をあとにすることに。

一人で湘南台駅に戻るとき、ふと考えました。

  • ポケモンジムでバトルしまくった港南台インター周辺からバスに乗ったときは、茶色い袋をひざに乗せていた(バスの床は狭くて置けないから)
  • 電車に乗るときは、重たいので、脚に挟んで床に置いていることが多いが、上永谷から地下鉄ブルーラインに乗ったとき、それをしていたか? 覚えがない気がする…

これはきっと、上永谷のドトールで足元に置き忘れた可能性が一番高そうだ!
快速が来るからって、あわてて出て行った気がするし…
まずはここまで戻ろう!

で、上永谷に戻って、すぐドトールへ。

忘れ物見つかりました!!
案の定、自分の座っていた席の足元に置いたままでした!!
市営地下鉄ブルーラインじゃなくてよかった!!(1カ月くらい前にアキバのトイレであったような不審物だと思われて爆発物処理班が出動するなどの騒ぎになってないかちょっとひやひやしましたが…心配のし過ぎだったかしら…)

こうして無事、CAmiDionと自作10Wアンプが僕の手元に戻ってきました!

よほどここから歩いて帰ろうかと思ったのですが、ハプニング続きで何か疲れていたみたいで、そんなに歩く元気はもうないので、おとなしくバスで帰りました…。Pokémon GO すら開く気もせず…(ウィークリーボーナスもジムボーナスもたっぷりゲットできたし、道中のポケストップも少ないし、たまにはゆっくり寝て帰ろうってことで…)

せっかく持ってきたCAmiDion、上永谷に2時間半くらい置き忘れたままだったため湘南台では見せることすらできず、最低限のことしかできずに終わっちゃった気がしますが、とりあえず米本さんに会えたのでよかった!
これにめげず、また行けそうな機会があったら行ってみようと思います。

忘れ物には気を付けよう…