2023年5月 この範囲を時系列順で読む この範囲をファイルに出力する
NJM4580を乗せたDI-1を鳴らしてみました。
CDプレーヤー → DI-1 → スピーカー(Amp入り)
こんな感じです。
音源はVoの無いイージーリスニング向けの物です。
音はかなり変わりました。私のバカ耳でもわかるのですから間違いなく変わっています。
あくまで私の感想ですが、高域の分離が良くなりアンサンブルの各楽器の音像が明瞭になりました。無改造の物は高域の分離が弱くそれぞれが糊で貼り付いた印象なので良点だと思われます。半面、中域がかすれてオクに引っ込んだ印象があります。出るところがあれば抑え込まれるところもあるのかな?
好みの分野ですから絶対値ではありませんが、私の感覚では良くなった印象です。
ベースは周波数帯域が広く、特にスラッピング奏法では高域の明瞭さが重要だと思いますので、この変化は歓迎する物だと思います。
今回使っているオペアンプの型番は細かく言うと「NJM4580D」で、4558互換のNJM4558の性能向上品です。安価なミドルレンジとしてはこれ以上望んではいけないほど優秀で、音声回路にもデジタル回路にも使える便利なオペアンプです。世の中のヘッドホンアンプにも多用されているそうで、以前、インカム関係の物に使った際も聞きやすい印象がありました。
本命の「MUSES01D」はその遥か上を行く品質らしいのでイヤでも期待感が膨らみます。
追記
約3時間経過。暖まったためか、エージングが進んだためか、中域のカスレが無くなり全域がバランス良く出ます。
今回の課題はオペアンプを替えると何が違ってくるのかの実験です。違うことは実感できましたが、手間ヒマお金をかけて商売道具に施す価値があるか、オタクの蛇足で終わらせるか、しばらく様子見です。
追記
約6時間経過しました。時間と共に明瞭感と安定感が増してきました。NJM4580のエージングは8時間前後と聞いたことがありますが、そういうことなんでしょうか。セミアコ、ウッドベース、バンドネオンの音は無改造品に比べ明らかに良くなっています。
ただ、聴いた瞬間に違いがわかる程ではありませんので、手間ヒマお金をかけて改造するレベルかと聞かれると返答に困ります。本命ではないNJM4580Dでの話ですからMUSES01Dの入荷を待ちましょう。
オペアンプによって音が違うことは確認出来たので、今日の実験は成功ってことで。
ちなみに、改造に使っているのは20年以上前の品です。
ヘタリが出ているので使わせてもらってます。
#音の世界
CDプレーヤー → DI-1 → スピーカー(Amp入り)
こんな感じです。
音源はVoの無いイージーリスニング向けの物です。
音はかなり変わりました。私のバカ耳でもわかるのですから間違いなく変わっています。
あくまで私の感想ですが、高域の分離が良くなりアンサンブルの各楽器の音像が明瞭になりました。無改造の物は高域の分離が弱くそれぞれが糊で貼り付いた印象なので良点だと思われます。半面、中域がかすれてオクに引っ込んだ印象があります。出るところがあれば抑え込まれるところもあるのかな?
好みの分野ですから絶対値ではありませんが、私の感覚では良くなった印象です。
ベースは周波数帯域が広く、特にスラッピング奏法では高域の明瞭さが重要だと思いますので、この変化は歓迎する物だと思います。
今回使っているオペアンプの型番は細かく言うと「NJM4580D」で、4558互換のNJM4558の性能向上品です。安価なミドルレンジとしてはこれ以上望んではいけないほど優秀で、音声回路にもデジタル回路にも使える便利なオペアンプです。世の中のヘッドホンアンプにも多用されているそうで、以前、インカム関係の物に使った際も聞きやすい印象がありました。
本命の「MUSES01D」はその遥か上を行く品質らしいのでイヤでも期待感が膨らみます。
追記
約3時間経過。暖まったためか、エージングが進んだためか、中域のカスレが無くなり全域がバランス良く出ます。
今回の課題はオペアンプを替えると何が違ってくるのかの実験です。違うことは実感できましたが、手間ヒマお金をかけて商売道具に施す価値があるか、オタクの蛇足で終わらせるか、しばらく様子見です。
追記
約6時間経過しました。時間と共に明瞭感と安定感が増してきました。NJM4580のエージングは8時間前後と聞いたことがありますが、そういうことなんでしょうか。セミアコ、ウッドベース、バンドネオンの音は無改造品に比べ明らかに良くなっています。
ただ、聴いた瞬間に違いがわかる程ではありませんので、手間ヒマお金をかけて改造するレベルかと聞かれると返答に困ります。本命ではないNJM4580Dでの話ですからMUSES01Dの入荷を待ちましょう。
オペアンプによって音が違うことは確認出来たので、今日の実験は成功ってことで。
ちなみに、改造に使っているのは20年以上前の品です。
ヘタリが出ているので使わせてもらってます。
#音の世界
ダイレクトボックスってのがあります。主に楽器の信号をミキサーで受けやすく変換する装置です。
メジャーな普及機はBOSS(Roland)のDI-1でしょうか。安価で安定した製品ですが、可も無く不可も無く色気はありません。ダメではないけど物足りなさはあります。BassのLINE取りに使われることが多いように見受けられますが、音が丸くなってしまうというか何というか、当たり障りの無い音になってしまうような気がします。楽器の音は演奏者さんや音響さんの調整、何よりも好みに寄るので絶対値は無いと思いますが、某音響さん曰く「何を繋げてもDI-1の音になっちゃうよね」とのこと。もう少し楽器の個性を引き出せたらいいんじゃないかとか、今どきの高品質な部品を替えたら改善しないのかとか思ったり。
アナログ音声回路は組み合わせのバランスが重要ですから一部を良い部品に替えれば単純に良くなるモノでもないと思いますが、オペアンプやコンデンサを交換したらどんな変化をするか凄く興味があります。
DI-1の回路を見ますとオペアンプには4558直系のM5218が使われています。安定したとても良いオペアンプだと思いますが、可もなく不可もなくに徹したちょっと古い製品です。これを高音質とウワサのJRCのMUSES01やMUSES02に替えたらどうなるのだろうと数年前からモヤモヤしてました。MUSESシリーズはコストを度外視し理想を求めて作ったオペアンプらしいですが、オーディオ改造オタク界隈では評価が高く、並みの4558互換品が数十円で買えるところMUSES01は3,500円もします。100倍良い音(?)が出ることはないでしょうが、試したい酔狂な気持ちは抑えられません。
ただ、DI-1に使われているM5218はSIP8PでMUSESシリーズはDIP8Pです。ピンアサインは同じですが形状は違います。単純に載せ替えは出来ませんので変換基板が必要です。連休明けに時間があったので基板を描いて中華基板に発注してみました。先ほど届いたので取り付け。取り急ぎは手元にあるNJM4580で動作テストをし、MUSES01が入荷したら付け替えてみようと思います。
個性を持った高品質なダイレクトボックスは沢山ありますので、あえてDI-1を改造することに意味があるのかと問われそうですが、「純粋に興味によるもの」なので。。。
もしオペアンプの交換で良い変化を得られるなら、INPUTの直下に使われている0.01uFのセラミックコンデンサを高品質な物に替えるのもアリです。実装されているのはベッタベタの普及品ですから、高品質でレスポンスが良いセラミックコンデンサに替えたらどうなるか「興味深々」であります。
#音の世界
メジャーな普及機はBOSS(Roland)のDI-1でしょうか。安価で安定した製品ですが、可も無く不可も無く色気はありません。ダメではないけど物足りなさはあります。BassのLINE取りに使われることが多いように見受けられますが、音が丸くなってしまうというか何というか、当たり障りの無い音になってしまうような気がします。楽器の音は演奏者さんや音響さんの調整、何よりも好みに寄るので絶対値は無いと思いますが、某音響さん曰く「何を繋げてもDI-1の音になっちゃうよね」とのこと。もう少し楽器の個性を引き出せたらいいんじゃないかとか、今どきの高品質な部品を替えたら改善しないのかとか思ったり。
アナログ音声回路は組み合わせのバランスが重要ですから一部を良い部品に替えれば単純に良くなるモノでもないと思いますが、オペアンプやコンデンサを交換したらどんな変化をするか凄く興味があります。
DI-1の回路を見ますとオペアンプには4558直系のM5218が使われています。安定したとても良いオペアンプだと思いますが、可もなく不可もなくに徹したちょっと古い製品です。これを高音質とウワサのJRCのMUSES01やMUSES02に替えたらどうなるのだろうと数年前からモヤモヤしてました。MUSESシリーズはコストを度外視し理想を求めて作ったオペアンプらしいですが、オーディオ改造オタク界隈では評価が高く、並みの4558互換品が数十円で買えるところMUSES01は3,500円もします。100倍良い音(?)が出ることはないでしょうが、試したい酔狂な気持ちは抑えられません。
ただ、DI-1に使われているM5218はSIP8PでMUSESシリーズはDIP8Pです。ピンアサインは同じですが形状は違います。単純に載せ替えは出来ませんので変換基板が必要です。連休明けに時間があったので基板を描いて中華基板に発注してみました。先ほど届いたので取り付け。取り急ぎは手元にあるNJM4580で動作テストをし、MUSES01が入荷したら付け替えてみようと思います。
個性を持った高品質なダイレクトボックスは沢山ありますので、あえてDI-1を改造することに意味があるのかと問われそうですが、「純粋に興味によるもの」なので。。。
もしオペアンプの交換で良い変化を得られるなら、INPUTの直下に使われている0.01uFのセラミックコンデンサを高品質な物に替えるのもアリです。実装されているのはベッタベタの普及品ですから、高品質でレスポンスが良いセラミックコンデンサに替えたらどうなるか「興味深々」であります。
#音の世界
オレメモです。
LTCの差動バイフェーズのクロックをPICで起こす計算です。
Fosc32MHz(8MHzPLLx4)にすると、Timer1でコンペアモードとするクロックは最速で8MHz。
1時間は3,600秒。
8MHzで1時間カウントすると28,800,000.000.カウント。
1時間あたりの総カウント数をこれに近づける。
CCPRxH/Lに与える値は次の通り。
● 30fps(2,400bps相当)
ベース値は1,666.
3回に2回、1,667.にする。
(1,666count×2,400bps×2倍周期×3,600秒)
+(((2,400bps×2倍周期×3,600秒)÷3)×2)
=28,800,000,000.
誤差無し
● 29.97fps(30÷1.001fps、約2,397.602bps相当)
ベース値は1,668.
3回に1回、1,669.にする。
(1,668count×2,397.602bps×2倍周期×3,600秒)
+((2,397.602bps×2倍周期×3,600秒)÷3)+0.25
=28,800,000,000.004238...
誤差 004238...
水晶発振子の精度からして十分だと思う。
※ 最後の+0.25は4時間1回+1するって意味。タイムコードは24時間時計なので因数だからいいかな。
● 25fps(2,000bps相当)
ベース値は2,000.
(2,000count×2,000bps×2倍周期×3,600秒)
=28,800,000,000.
誤差無し
● 24fps(1,920bps相当)
ベース値は2,083.
3回に1回、2,084.にする。
(2,083count×1,920bps×2倍周期×3,600秒)
+((1,920bps×2倍周期×3,600秒)÷3)
=28,800,000,000.
誤差無し
以前の計算と何か違うのだけど、まぁいいか。
#器具の製作 #タイムコード
LTCの差動バイフェーズのクロックをPICで起こす計算です。
Fosc32MHz(8MHzPLLx4)にすると、Timer1でコンペアモードとするクロックは最速で8MHz。
1時間は3,600秒。
8MHzで1時間カウントすると28,800,000.000.カウント。
1時間あたりの総カウント数をこれに近づける。
CCPRxH/Lに与える値は次の通り。
● 30fps(2,400bps相当)
ベース値は1,666.
3回に2回、1,667.にする。
(1,666count×2,400bps×2倍周期×3,600秒)
+(((2,400bps×2倍周期×3,600秒)÷3)×2)
=28,800,000,000.
誤差無し
● 29.97fps(30÷1.001fps、約2,397.602bps相当)
ベース値は1,668.
3回に1回、1,669.にする。
(1,668count×2,397.602bps×2倍周期×3,600秒)
+((2,397.602bps×2倍周期×3,600秒)÷3)+0.25
=28,800,000,000.004238...
誤差 004238...
水晶発振子の精度からして十分だと思う。
※ 最後の+0.25は4時間1回+1するって意味。タイムコードは24時間時計なので因数だからいいかな。
● 25fps(2,000bps相当)
ベース値は2,000.
(2,000count×2,000bps×2倍周期×3,600秒)
=28,800,000,000.
誤差無し
● 24fps(1,920bps相当)
ベース値は2,083.
3回に1回、2,084.にする。
(2,083count×1,920bps×2倍周期×3,600秒)
+((1,920bps×2倍周期×3,600秒)÷3)
=28,800,000,000.
誤差無し
以前の計算と何か違うのだけど、まぁいいか。
#器具の製作 #タイムコード
PythonでVLCライブラリを使った音源ファイルの再生は驚くほど簡単。
インストールするべき諸々や音源モジュールの設定などもありますが、貴兄のサイトにいくらでもあるのでここでは割愛。
VLCで再生が出来、Python本体とPython-VLCがインストールされていればいいと思います。
以下、sound.mp3を再生するPythonのコード。
import vlc
if __name__ == '__main__':
p = vlc.MediaPlayer() #vlc.MediaPlayerのインスタンスを作成
p.set_mrl('sound.mp3') #インスタンスに音源ファイルを関連付け
p.play() #再生開始
こんだけです!
vlcのインスタンスを宣言し、音源ファイルを設定し、再生を指示するだけ。
再生はバックグラウンドで行われるので、マルチスレッドを使うことなく再生中に他のことが出来るのも良点。
ちなみに「p」はインスタンス名なので自由に定義して良いようです。
Python-VLCはC言語などが使うlibVLCをPythonから呼び出せるようにしているので、libVLCで出来ることの大半が出来るようです。
以下基本的なAPI。
p.set_mrl('sound.mp3') #インスタンスに音源ファイルを関連付け
p.play() #再生開始
p.pause() #再生中なら一時停止、一時停止中なら再生再開
p.get_time() #開始からの経過時間を取得(msec.)
p.set_time(1000) #指定した秒数(msec.)にセット
p.audio_set_volume(100) #0=mute,100=0dB(パーセント指示だと思っていいみたい)
p.stop() #停止
やりたいことはこれだけで済んでしまいそうな気もする。
python-vlcのドキュメント
沢山の事が出来るようですが、
vlc.MediaPlayer
の項を読むと上記のことがわかります。
#Python
インストールするべき諸々や音源モジュールの設定などもありますが、貴兄のサイトにいくらでもあるのでここでは割愛。
VLCで再生が出来、Python本体とPython-VLCがインストールされていればいいと思います。
以下、sound.mp3を再生するPythonのコード。
import vlc
if __name__ == '__main__':
p = vlc.MediaPlayer() #vlc.MediaPlayerのインスタンスを作成
p.set_mrl('sound.mp3') #インスタンスに音源ファイルを関連付け
p.play() #再生開始
こんだけです!
vlcのインスタンスを宣言し、音源ファイルを設定し、再生を指示するだけ。
再生はバックグラウンドで行われるので、マルチスレッドを使うことなく再生中に他のことが出来るのも良点。
ちなみに「p」はインスタンス名なので自由に定義して良いようです。
Python-VLCはC言語などが使うlibVLCをPythonから呼び出せるようにしているので、libVLCで出来ることの大半が出来るようです。
以下基本的なAPI。
p.set_mrl('sound.mp3') #インスタンスに音源ファイルを関連付け
p.play() #再生開始
p.pause() #再生中なら一時停止、一時停止中なら再生再開
p.get_time() #開始からの経過時間を取得(msec.)
p.set_time(1000) #指定した秒数(msec.)にセット
p.audio_set_volume(100) #0=mute,100=0dB(パーセント指示だと思っていいみたい)
p.stop() #停止
やりたいことはこれだけで済んでしまいそうな気もする。
python-vlcのドキュメント
沢山の事が出来るようですが、
vlc.MediaPlayer
の項を読むと上記のことがわかります。
#Python
頭の区切りが付かないので、LTC-Generatorの回路図を描いてみました。

FT232RLを使ってPICにUARTを送る
→ PICで所定のbpsの差動バイフェーズ化する
→ PICの出力を分圧して約1vp-p(要は2v)にする
→ オペアンプの1:1ボルテージフォロア回路で音声信号化
→ 出力
といった簡単な構成です。
1vなので音声信号としては約+3dBです。
グランドループさせない様にした方がいのかな?
追記
気分が乗って描いてしまった基板の3D図も揚げます。

折角なので発注しました。
本体価格は10枚で$19です。1枚300円しないのですから安いですねぇ~。
#器具の製作 #タイムコード

FT232RLを使ってPICにUARTを送る
→ PICで所定のbpsの差動バイフェーズ化する
→ PICの出力を分圧して約1vp-p(要は2v)にする
→ オペアンプの1:1ボルテージフォロア回路で音声信号化
→ 出力
といった簡単な構成です。
1vなので音声信号としては約+3dBです。
グランドループさせない様にした方がいのかな?
追記
気分が乗って描いてしまった基板の3D図も揚げます。

折角なので発注しました。
本体価格は10枚で$19です。1枚300円しないのですから安いですねぇ~。
#器具の製作 #タイムコード
タイムコードの使用にあたり卓(MAdot2)の挙動で重要となるのは次の点です。
・入力されたタイムコードがCUEに設定された値になると、エグゼキューターのON/OFFに関わらずCUEが走る。とにかく走る。
取り溢しが起こらないので安全という見方もありますがどうなんでしょう。
注意点が2点あります。
1)CUEに与えるタイムコード値はシーケンス内で重複してはいけない。
2)卓に入力されるタイムコードの有効無効を操作出来なければならない。
(1)については、卓よりもタイムコードを出す側の課題かもしれません。例えば20曲ある演目として、それぞれの曲が同じタイムコード値から始まってはいけないのです。プレイリスト内の通し値、もしくは曲ごとに開始値を設定する必要があります(1曲あたり10分割振りとか)。
(2)については、直しなどでタイムコードを受けたくない状況が想定されるからです。音響さんのチェックと照明の直しが同時進行するなど普通のことですからね。必要な時に有効にし、外したい時には外すのです。少し蛇足ですが、音響さんとは無関係に照明ローカルでチェックしたいこともあります。手元の音源でのチェックという意味です。もちろん音源にはタイムコードも伴う前提ですので、複数のタイムコードから選択出来ればいいのかなと。
一番の問題は(1)でしょうか。ここまでタイムコードの扱いに特化した音源再生アプリなんてあるのかな?
その筋に詳しい音響担当に相談していますのでしばらく待ちです。
・・・専用アプリ「LTC Sound Player」は作らないとだめかなぁ~。
#タイムコード #器具の製作
・入力されたタイムコードがCUEに設定された値になると、エグゼキューターのON/OFFに関わらずCUEが走る。とにかく走る。
取り溢しが起こらないので安全という見方もありますがどうなんでしょう。
注意点が2点あります。
1)CUEに与えるタイムコード値はシーケンス内で重複してはいけない。
2)卓に入力されるタイムコードの有効無効を操作出来なければならない。
(1)については、卓よりもタイムコードを出す側の課題かもしれません。例えば20曲ある演目として、それぞれの曲が同じタイムコード値から始まってはいけないのです。プレイリスト内の通し値、もしくは曲ごとに開始値を設定する必要があります(1曲あたり10分割振りとか)。
(2)については、直しなどでタイムコードを受けたくない状況が想定されるからです。音響さんのチェックと照明の直しが同時進行するなど普通のことですからね。必要な時に有効にし、外したい時には外すのです。少し蛇足ですが、音響さんとは無関係に照明ローカルでチェックしたいこともあります。手元の音源でのチェックという意味です。もちろん音源にはタイムコードも伴う前提ですので、複数のタイムコードから選択出来ればいいのかなと。
一番の問題は(1)でしょうか。ここまでタイムコードの扱いに特化した音源再生アプリなんてあるのかな?
その筋に詳しい音響担当に相談していますのでしばらく待ちです。
・・・専用アプリ「LTC Sound Player」は作らないとだめかなぁ~。
#タイムコード #器具の製作
TRUE1のY分岐とT分岐の試作は繋ぎ目にコーキングを入れて終わりました。
数日放置してコーキングが固まったら水バケツに入れて具合いを見ます。
求めるのは防水ではなく防滴ですから浸水チェックは不要と言えば不要ですが、これでOKなら防滴性能があるとしていいでしょう。
#器具の製作
数日放置してコーキングが固まったら水バケツに入れて具合いを見ます。
求めるのは防水ではなく防滴ですから浸水チェックは不要と言えば不要ですが、これでOKなら防滴性能があるとしていいでしょう。
#器具の製作
MIDIのビットレートは31,250kbps、8MHzの256分の1です。
ほぼUARTであり、スタートビット0/1bit、データ8bit、ストップビット1/1bitです。
これならPICのUARTで誤差無しで扱えます。
送信回路は電源5vとTTLレベルのUARTに220Ωを入れたシンプルな物。受信回路がフォトカプラ前提なので信号自体は反転しています。
信号経路がGNDショートすると23mAほど流れます。PICなら耐えられますが、UARTのI/Oがオーバーロードになるならバッファートランジスタ(2SC1815でもスピードアップコンデンサを入れればキレイな波形が出るハズです)を入れた方がいいかもです。
凄くシンプルなMTCジェネレーターならすぐ作れそうです。
#タイムコード
ほぼUARTであり、スタートビット0/1bit、データ8bit、ストップビット1/1bitです。
これならPICのUARTで誤差無しで扱えます。
送信回路は電源5vとTTLレベルのUARTに220Ωを入れたシンプルな物。受信回路がフォトカプラ前提なので信号自体は反転しています。
信号経路がGNDショートすると23mAほど流れます。PICなら耐えられますが、UARTのI/Oがオーバーロードになるならバッファートランジスタ(2SC1815でもスピードアップコンデンサを入れればキレイな波形が出るハズです)を入れた方がいいかもです。
凄くシンプルなMTCジェネレーターならすぐ作れそうです。
#タイムコード
パソコンの音声再生アプリにはタイムコードを出す物があるらしい。
様々なアプリがあるので一概に言えませんが、タイムコードはLTCではなくMIDI-TimeCode(以下、MTC)ではないかと思われます。というか、それらのアプリの用途を考えたらMTCが自然かと。
LTCのメリットは音声信号であるため配線の選択肢が多いことです。仕込みの効率が良いのでLTCを望んでいるのです。
ですが、既存のアプリが使えるならその流儀を優先させた方が良いかもしれません。LTCを扱える調光卓はMTCも扱えますし、音声再生の視点ではMTCの方が汎用性が高いからです。
LTCのメリットでありMIDIの弱点となるのは音声信号として扱えるかと配線長です。この辺りを対策すれば音声再生側も調光卓側もMTCでいいんじゃないかと。
さて、どうしましょう。
LTCのメリットとMTCのメリットを足して、MTCを音声信号として送れるようにすればよくね?
MIDI全般に対応する気はありませんから、MTCに特化して音声信号(差動バイフェーズ)として送るのです。
参考
MIDIタイムコード規格
MIDIタイムコード(MTC)について調べてみた
有志の方のサイトです。
ここで言うMTCは記事にある「クォーター・フレーム・メッセージ F1 dd」のことです。
MTC(コマンド0xF1)はMIDIの回線をタイムコードで占有しないために2フレーム分の時間を使って送信するようです。
バイト送信のタイミングはMTCを出す側に依存するとしても、1フレームの時間で8バイト送れればいい。MTCに完全特化してコマンド0xF1を省けば4バイトです。
4バイトなら1フレームの時間内で40bit送れればよく、最もビットレートが速い30fpsでも1,200bpsあれば事足ります。差動バイフェーズで音声信号化しても問題無しです。
受信側はバイト受信の度に0xF1を付けた2バイトをMIDIとして送出するだけです。
この方法は僅かな遅れを生じますが、MTCは2フレーム遅れるのが前提の規格ですし、遅れが一定ならば実用上の問題は無いと考えます。
分解能が1/12~1/15秒であることもMTCの前提ですが、卓や灯体の遅延はもっと大きいし、これが見える人もそうそう居ないでしょう。
自画自賛ですが悪くないアイデアです。
#器具の製作 #タイムコード
様々なアプリがあるので一概に言えませんが、タイムコードはLTCではなくMIDI-TimeCode(以下、MTC)ではないかと思われます。というか、それらのアプリの用途を考えたらMTCが自然かと。
LTCのメリットは音声信号であるため配線の選択肢が多いことです。仕込みの効率が良いのでLTCを望んでいるのです。
ですが、既存のアプリが使えるならその流儀を優先させた方が良いかもしれません。LTCを扱える調光卓はMTCも扱えますし、音声再生の視点ではMTCの方が汎用性が高いからです。
LTCのメリットでありMIDIの弱点となるのは音声信号として扱えるかと配線長です。この辺りを対策すれば音声再生側も調光卓側もMTCでいいんじゃないかと。
さて、どうしましょう。
LTCのメリットとMTCのメリットを足して、MTCを音声信号として送れるようにすればよくね?
MIDI全般に対応する気はありませんから、MTCに特化して音声信号(差動バイフェーズ)として送るのです。
参考
MIDIタイムコード規格
MIDIタイムコード(MTC)について調べてみた
有志の方のサイトです。
ここで言うMTCは記事にある「クォーター・フレーム・メッセージ F1 dd」のことです。
MTC(コマンド0xF1)はMIDIの回線をタイムコードで占有しないために2フレーム分の時間を使って送信するようです。
バイト送信のタイミングはMTCを出す側に依存するとしても、1フレームの時間で8バイト送れればいい。MTCに完全特化してコマンド0xF1を省けば4バイトです。
4バイトなら1フレームの時間内で40bit送れればよく、最もビットレートが速い30fpsでも1,200bpsあれば事足ります。差動バイフェーズで音声信号化しても問題無しです。
受信側はバイト受信の度に0xF1を付けた2バイトをMIDIとして送出するだけです。
この方法は僅かな遅れを生じますが、MTCは2フレーム遅れるのが前提の規格ですし、遅れが一定ならば実用上の問題は無いと考えます。
分解能が1/12~1/15秒であることもMTCの前提ですが、卓や灯体の遅延はもっと大きいし、これが見える人もそうそう居ないでしょう。
自画自賛ですが悪くないアイデアです。
#器具の製作 #タイムコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130