見出し画像

Roland EDIROL PCR-30の分解でキーマトリックスを学ぶ

MIDIコントローラーを1,000円で購入

2023年、Roland EDIROL PCR-30をジャンク品として(研究用途、部品回収用途の品として)1,000円で購入しました。動かないとは書いてなかったので、動くことも期待してしまいましたが、最悪、部品だけ回収できればよいと思いました。自分でも想像のつかなかった経験ができました。

PCR-30を1000円で購入


なんとか活かしたくて、このような実験をするすることに

音が鳴らない

試してみると、鍵盤を叩いてみてもDAW側で音が鳴りません。MIDI OUTとUSBのどちらでも、症状は同じでした。キーボードから何かしらのデータが定期的に送信されているようでした。(しっかり確認すべきでした、おそらくクロックだと思います)壊れて、おかしなメッセージが送信され続けていることを疑い、困ったときのファクトリーリセットをしてみようと思いました。部品を回収する前に、せめてファクトリーリセットだけ試したいという、ちょっとした思いから沼にはまっていくことになります。ファクトリーリセットするのに、鍵盤を押す必要があったのですが、鍵盤を押しても反応がありません。これで、鍵盤が壊れていると判断できました。鍵盤が壊れているとなると、ファクトリーリセットしても治る期待が持てない状況でしたが、ファクトリーリセットしたい気持ちは変わりませんでした。

同じ症状の方がたくさん

その後、インターネットで調べてわかったのですが、同じような症状のジャンク品を購入して、無事に治して使っている方もいらしゃるようでした。治している方がいる方が羨ましく思い、部品回収の前に、修理に挑戦することにしました。PCR-30は、鍵盤部分の接点の不良がよく起きるようでした。
他の方がやられているように鉛筆などで接点を回復を試みましたが、改善しません。別の製品についていた伝導性を持ったゴムを使って押してみると、反応したことから、ゴム側の伝導性が完全に失われていると判断しました。

ファクトリーリセットできたが治らない

別のボタン用のゴムを利用することで、無事に鍵盤を押すことができ、ファクトリーリセットができました。ファクトリーリセットをしましたが、案の定、症状は変わらずです。既ににファクトリーリセットが無意味だとわかっていましたが、どこかで期待してしまいます。これで修理は、終了する予定でしたが、もしかしたら、アルミホイルを各ゴムに貼り付ければ、修理できるかもという期待がよぎりました。

アルミホイルを使えば治る?

予想どおり、各キーのゴムにアルミホイルの切れ端を貼れば、鍵盤が反応しました。しかし、64個の接点を1つ1つ丁寧に伝導性を確認しながら、心地よいキータッチに仕上げることは、膨大な時間がかかる作業です。なんとか、やり遂げてみせる、という思いをもって作業を進めます。しかし、アルミホイルを貼り、伝導性を調整して、組み上げて、キータッチを確認して、という作業を繰り返すうちに、ゴムが切れてしまいました。心も折れてしまいました。(実際は、そのあとゴムを接着剤で接着するなど考えたりしたのですが)リモコンなど、押し心地が、それほど、重要ではない製品なら、この手法が使えそうですが、鍵盤の場合は、押し心地が非常に重要なので、この手法は無理があったかもしれません。ピアノの調律のように、押し心地が悪くなる度に、調整する根気があれば別ですが、中を開けて調整するのは、
時間がかかる上に、壊れやすいです。しかも、分解する度にグリスが少しずつ取れていくので、そのことも気にしないといけません。

内部の仕組みを勉強

気を取り直して(かなり、落ち込みましたが)、せっかくなので、電子回路の理解を深めて、勉強にも利用することにしました。鍵盤は32鍵で、鍵盤部の基板上には、64個のスイッチ(接点)があるようです。Velocityを判定するのに1つのキーにつき、2つのスイッチを設置していると思われます。しかし、基板のコネクタは26pinで、使っているのは18pinのみのようです。1つのスイッチにつき、1つのピンという単純な話ではないようです。各接点にダイオードが実装されているところからも、キーマトリックスが組まれていると仮定しました。

鍵盤部分の基板の表と裏

配線を追ってみる

基板をぱっと見たとき、正直、追うのが億劫に思えましたが、よくみてみると単純でした。表と裏を行き来する部分もダイオードの部分のみで、裏にはパターンがなく、ダイオードの方向が統一されていて追いやすいです。また、ダイオード部分は伝導体が露出しているので、マルチメーターでコネクタ部分と導通確認することもできます。あとは、たくさん線があるので、途中で追う線を見失わなければいいだけです。簡単に写真を撮れて、すぐに画像加工できる現代社会では簡単な作業です。根気だけの問題です。

C8の配線を追う

かなり雑ですが、ざっくりと全体を追ってみました。C8だけは、出力においては他のピンと共有になっていないようでした。(ちゃんと追ってないので間違ってるかもですが)詳細にみていくと、音階とピンの共有化について、何か法則がみつかるかもしれません。

全体の配線

キー部分の自作を試す

基板の配線がわかったので、別のスイッチを設置して、鍵盤を押したことにできないかを試してみました。基板のコネクタ部分から導線を引き出して、ブレッドボード上に接続し、2つのタクトスイッチとダイオードを配置して、2つのタクトスイッチを押すことで、キーのC8を押したことにする回路を作ることができました。

鍵盤部分を別のボタンに

このような回路です。

回路図

キー部分を自作できるかも?!

無事にタクトスイッチで動作したので、鍵盤部分を自作して「オリジナルの楽器が作れる」「活かしてあげられる!」と期待が膨らみました。以下、無事に動作したときの動画です。意図せず、YouTube shortになってしまいました。

困った事実が発覚

しかし、2つの接点で、Velocityを判定する仕組みを調査していく中で、困った事実がみつかりました。鍵盤を上面からみたとき、上下に2つの接点があるのですが、上、下という順に押して、その時間が短いほど、強いVelocityになるようでした。下、上という順に押した場合は、反応しないようです。
そして、一番、困った仕様は、完全に同時に2つのスイッチを押した場合、反応しないことです。Full VelocityのNote Onを期待しました。(PCR-30に、Velocity Offsetをいう機能があるのですが、これは、Velocityを加算する機能で、7Fに設定すれば常にFull Velocityになると思いますが、そもそもNote Onが出ない状態では使えなさそうです。試してないですが。)
つまり、1つのタクトスイッチで、実現するには工夫が必要になると思います。2つのタクトスイッチを使って、2段階のスイッチを自作するにしても、32個を同じ精度で作る技術も機械も足りません。部品の取り付けの角度が少し違うと、同じ速さで押しても、違うVelocityになってしまいます。別の戦略として、カメラのシャッターボタンの半押し機能など使われている、2段階のスイッチを利用すればよさそうですが、値が張りそうです。1個、100円だとしても、3,200円になります。2段階のスイッチが安いのであれば、PCR-30にも、採用されていそうな話です。マイコンやトランジスタを利用して、電気信号を制御するなどすれば、1つのタクトスイッチで実現できそうですが、かなりの手間です。

なぜ上、下の順なのかが腑に落ちない

配線を間違えた可能性もあるのですが(何度も確認したのですが)、下(この図だと右)の方が先に押されそうな気もするのですが、まだ答えが出せてないです。上(この図だと左)の方が先とも思えますが、答えが出ない。

キーを横からみた図(スケールなど適当)

別の視点の制限も考えてみる

別の観点でも、PCR-30を部品としてではなく、そのまま活かすことの制限を考えてみます。現状、公式で配られているPCR-30のドライバは、Windows8版までです(※1)。USBドライバーのモードをGeneral(汎用)にすれば、Original(専用)のドライバがなくても動作します。iPadなどでも動作しました。
USB端子ではなく、MIDI OUT端子を使えば、USBのドライバを気にせずMIDIメッセージを出力することができます。ノブやスライダーだけ利用することができそうですが、好きなコントロールチェンジなどアサインしたくなりそうです。その場合、PCR Editorという設定するツールが必要です。このツールも通常の手順では、Windows 10にはインストールできませんでした(※2)。PCR EditorでPCR-30上の設定を書き換えるには、汎用のUSBドライバではなく、専用のUSBドライバが必要そうな気がします(追記:汎用ドライバでも動作しそうです)。さらに、PCR Editorを使って、データをPCR-30へ送信するときに、鍵盤を押す操作が必要になります。

  • ※1:ドライバを改変する非公式な手順を踏めば、Windows10にもインストールできました。

  • ※2:PCR Editorのインストーラは、互換モードで起動すれば、Windows10にもインストールでき、動作もしました。

そのまま利用すは断念

  • 状態がよく、筐体が綺麗なので、かなり、悩みましたが、やはり、そのまま活かすにはハードルが高すぎるという結論に至りました。

  • 部品だけ外して、別の楽器(モノ)を作る方向にしようと思いました。

  • できれば、Roloadのロゴが入ったチップも活かしたかったのですが。

心が痛む

  • いくら中古で、格安で購入したとは言え、修理できないのは、心が痛むことがわかりました。

  • できることなら、治してあげたいと思ったのですが、今の自分にできることは、このあたりです。

  • 勉強させていただきました、使える部品を活かしますので、どうか許してください。本当に、ありがとうございました。


キーマトリックスとタイミングについて思ったこと

キーマトリックスの超雑な理解

  • 複数の入力装置において、共通の端子を利用して、入力の有無を判定する

  • 各入力において、利用する(判定する)時間を分けることにより、すべての入力装置の状態の判定を実現

  • 全て別の端子で入力を行うよりも、端子の数を減らすことができる(今回の例だと、64ピンが18ピンで代替できている)

マイコンの周波数

高速のマイコンにおいては気にしなくてもよいと思いますが、時間的にシビアな要件では検討が必要と思いました例えば、マイコンESP32の240MHzモードで考えてみます。仮に1周期で入力を読み取れると仮定した場合、1つ読むのに約4.166ナノ秒、10個の入力がある場合、入力を判定するのに、最低でも約40ナノ秒(4.166ナノ秒 * 10)かかります。他の処理のことや、スイッチのチャタリングや波形変化の遅れなどを考えると、判定時間は、もっと長くする必要があると思います。

MIDIの分解能を参考にしてみる

MIDIの分解能を参考値にしてみたいと思います。一般的な分解能480、テンポ120で考えたとき、1秒で四分音符が2つなので、1秒は960Tickになります。1Tickのタイミングを忠実に再現するには、約1ミリ(1/960)秒以上の速度で処理する必要があります。

音の速さも参考ににしてみる

少し話がそれますが、音の遅延についても考えてみたいと思います。
音の速さが約340m/秒で、楽器などの音源から耳までの距離を1メートルとした場合、約3ミリ秒は遅延する計算になります。楽器を演奏していて、10ミリ秒単位の遅延は、気になることがあると経験則から感じます。

補足

ここでの話は、判定するタイミングの話なので、分解能や遅延とは別の話だと思いますが、スケールの参考にできる部分があるのではと思い、考えてみました。10ナノ秒押してたけど、押されてないと判定されることなど、を許容できるかという話だと思います。
240MHzのマイコンを使う場合は、キーマトリックスの採用が、大きな問題になることは、なさそうな感じがします。

まとめ

  • いずれにしても、64ピンで処理するより、18ピンで処理する方が精度が下がる部分があると思います。許容できる範囲かを事前に計算する必要があると感じました。

  • (熟考不足で、どこか間違っていそうで、まとまりがないですが)、タイミングや遅延は、楽器を作る上では重要な要素なので、非常に興味深いです。

  • Edirol PCR-30の動作周波数、入力の待ち時間を、どのくらいに設定しているのか気になります。

おまけ

  • メイン基板の背面に、謎のスイッチ(SW1)と端子(CN5)がありました。こういうのを見ると、ワクワクします。

  • もしかしてすると、この端子でシリアル通信ができるかもしれません。

  • 例え、できたとしても、コマンドを解析するのが難しいので、テストしませんでした。

感想

  • 最近の製品は精巧なこともあり、分解して研究することが気軽にできなくなり、すこし寂しくも思いますが、

  • 自分で分解しなくても情報が手に入るし、やることも膨大にあるし、分解は危険という側面もあるのでよしとしましょう

  • 私もやりたいことがたくさんあるので、このあたりで一区切りつけたいと思います。


この記事が気に入ったらサポートをしてみませんか?