シンセ・アンプラグド RSSフィード

2018-01-12

ムライボックス (21) --- ハードウェア (1)

PSoC4 の内蔵 UDB (Universal Digital Block) を使った "OR" ゲート回路に EXOR を追加して、ハード的に MIDI ポート出力信号の極性を反転できるようにしました。

回路図を下に示します。

続きを読む

2018-01-06

ムライボックス (20) --- ソフトウェア (11)

今回は STM32F4xx シリーズのチップを搭載した Nucleo-64 ボードでの話題です。

ハードウェアとしては Arduino 用の「ムライシールド(仮)」(→こちらこちら) を使用し、ソフトウェアとしては CubeF4 HAL ライブラリを使用しています。

デフォルトでは、Arduinoコネクタに U(S)ART 入出力信号が結線されていないので、(→こちら) のような「改造」を施す必要があります。

続きを読む

2017-12-31

ムライボックス (19) --- ムライシールド (3)

2017 年 12 月 08 日付けの記事 (→こちら) では、「ムライシールド(仮)」の回路図を示しました。 

これは、Arduino 本体の基板の面積と同程度の基板上に作成するという制約、および「SparkFun」製の「MIDI シールド」と同様な機能を持たせるという制約のため、MIDI 出力の DIN 5P コネクタはひとつで、ジャンパ・ポスト上のショート・プラグを差し替えることで出力される信号を選択するようになっていました。

今回は「フル版」、つまり MIDI 出力ポート 7 個をすべて実装した場合の回路図を示します。

続きを読む

2017-12-27

ムライボックス (18) --- ソフトウェア (10)

8 ピン・パッケージである PIC16F18313 には CLC (Configurable Logic Cell) が 2 個しか搭載されていないので、単体では 2 ポートしか実現できません。

外部に "OR" ゲートを設けることにより、8 ピンの制限内であと 2 ポート追加することが可能です。

つまり、基本的には、

  • 内蔵 32 MHz オシレータ使用、CLC のみ利用による 2 ポート出力
  • 内蔵 32 MHz オシレータ使用、外部の "OR" ゲート利用により、CLC と合わせて計 4 ポート出力
  • 外付け 8 MHz 水晶振動子/セラミック振動子使用 (×4 PLL により 32 MHz に逓倍)、CLC のみ利用による 2 ポート出力

の構成が可能です。 (ソフトウェアもそれに対応したコンフィギュレーションコンパイルします)

内蔵 32 MHz オシレータ、CLC による 2 ポート出力の場合の回路図を下に示します。

続きを読む

2017-12-26

ムライボックス (17) --- ソフトウェア (9)

XG Display Bitmap Data システム・エクスクルーシブ・メッセージにより、リマップ/ビットマスク・テーブルを MIDI シーケンス・データを使って書き換える手段を得ることができましたが、そのメッセージデータを作成する (ホスト PC 上で実行する) ユーティリティーを作りました。

テーブルを定義している C ソース・プログラムの初期値を記述している部分のテキストを標準入力に喰わせると、システム・エクスクルーシブ・メッセージに変換して出力します。

そのプログラム・リストを下に示します。

Windows 10 (バージョン 1709) の WSL (Windows Subsystem for Linux) 上の Ubuntu 16.04.3 LTS 上の gcc 5.4.0 で作成しています。

続きを読む

2017-12-25

ムライボックス (16) --- ソフトウェア (8)

前回の記事では省略した、システム・エクスクルーシブ・メッセージ処理部のプログラム・リストを下に示します。

「0xf8u」のようにわざわざ「unsigned」を指定していたり、(uint8_t) などのキャストをしているのは、8 ビット PIC 用の XC8 コンパイラ

  warning: (373) implicit signed to unsigned to conversion

というウォーニング・メッセージを出さないようにするためのもので、本質的なものではありません。

続きを読む

2017-12-24

ムライボックス (15) --- ソフトウェア (7)

PIC 版のソフトウェアでは 8 ビット幅に削減していますが、本来のビットマスク・テーブルは 1 エントリあたり 16 ビット幅のデータを 16 エントリ持つ配列として構成されています。

このデータ量 (32 バイト) を一度に転送できるシステム・エクスクルーシブ・メッセージとしては、XG にも GS にもある、 16 ドット × 16 ドットのビットマップ・イメージを音源パネルのグラフィクス表示部に表示させるメッセージを (本来の目的外ですが) 利用することができます。

ビットマップ・イメージは音源本体のパネルに数秒間表示されるだけで、本来の「音」には何も影響を及ぼしません。

メッセージ長は XG で 56 バイト、GS で 74 バイトとなっており、メッセージ長の短い XG を使うことにしました。

XG 音源はグラフィック・ディスプレイ部を持つ MU90 を所持していますが、GS 音源はグラフィック・ディスプレイ部を持たない SC-D70 しか所持していないことも理由のひとつです。

続きを読む