機能解説:日本語表示機能
本ページでは、音源の画面上部に日本語を表示する「日本語表示機能」について説明します。専用ツールについては「CSM Editor」歌詞編集を参照して下さい。
日本語表示モードについて
画面上部に日本語を表示することができます。モードの切り替えは、以下のSystem Exclusiveで行います。
Japanese Character mode
[F0H 00H 48H 05H 7FH 05H xxH F7H]
xxH:
00H: OFF(初期値)
01H: ON
Japanese Character modeをONにすると、以下のように上部のテキストが消えます。
Japanese Character modeがONの状態で、次のSystem Exclusiveを送信すると、文字列を追加できます。
Japanese Character Add
[F0H 00H 48H 05H 7FH 07H xxH aaH bbH ccH ddH eeH ... F7H]
xxH:
00H: テキスト表示部の上段に文字を追加
01H: テキスト表示部の下段に文字を追加
aaH: 文字コード1 上位4bit
bbH: 文字コード1 下位4bit
ccH: 文字コード2 上位4bit
ddH: 文字コード2 下位4bit
eeH: 文字コード3 上位4bit
... (文字コードは最大32バイト分まで同時に送信可能)
既に文字列が表示されている場合は、文字列の最後に追加する
上段・下段ともに、合計32バイト分の文字を表示可能
字コードはASCIIまたはShift-JISで、1バイト文字と2バイト文字の混在が可能
2バイト文字を送る場合、[MSBの上位4bit]→[MSBの下位4bit]→[LSBの上位4bit]→[LSBの下位4bit]の順に指定する
削除は次の通り行います。上段&下段/上段/下段/のオプションがあり、段ごとに文字を全て削除します。
Japanese Character Delete
[F0H 00H 48H 05H 7FH 06H xxH F7H]
xxH:
00H: 上段・下段の全ての文字を削除
01H: 上段の全ての文字を削除
02H: 下段の全ての文字を削除
以下に例を示します。次のSystem Exclusiveを順に送ると、画像のようにアニメーションします。
- [STEP1]
[F0H 00H 48H 05H 7FH 05H 01H F7H]
(Japanese Character mode ON) - [STEP2]
[f0h 00h 48h 05h 7fh 07h 00h 08h 02h 0bh 01h 08h 02h 0fh 01h 08h 02h 0ch 09h 08h 02h 0bh 0fh f7h]
(上段に「こんにち(0x82b1, 0x82f1, 0x82c9, 0x82bf)」追加) - [STEP3]
[f0h 00h 48h 05h 7fh 07h 00h 08h 02h 0ch 0dh f7h]
(上段に「は(0x82cd)」追加) - [STEP4]
[f0h 00h 48h 05h 7fh 07h 01h 09h 00h 0ah 02h 08h 0ah 04h 05h f7h]
(下段に「世界(0x90a2, 0x8a45)」追加) - [STEP5]
[f0h 00h 48h 05h 7fh 06h 01h f7h]
(Japanese Character Delete 上段を削除)
System Exclusiveを編集する専用ツールを用意しています。「CSM Editor」歌詞編集を参照して下さい。
(余談)本モードが必要な理由
MIDI音源に歌詞を表示させる際、まず考えつくのは、「歌詞イベント」を利用することでしょう。SMF(スタンダードMIDIファイル)の仕様には「歌詞イベント」が用意されています。歌詞イベントを埋め込んだMIDIファイルは、対応したMIDIプレイヤーやシーケンサ上で、曲に合わせて歌詞を表示できます。
ところが、MIDIメッセージの仕様には歌詞イベントが無いため、MIDI音源に送信する手段がありません。歌詞イベントに限らず、SMFで定義されている「メタイベント」全てがMIDIメッセージとして送信できません。あくまでファイル上の情報ですね。
そこでCureSynth™ miniでは、System Exclusiveを用いて文字データを送り、機器側で表示させる、という手法を採用しています。System ExclusiveであればMIDIメッセージとして送信できるため、音に合わせて歌詞を表示させることができます。
別の手法として、MIDI音源自体にメモリカードを搭載し、SMFの歌詞イベントを読むことで文字を表示させるものがあります。こちらは2018年に投稿した動画で実証しています。→Youtubeの映像