🗐 電装工芸日記 - 舞台照明機器の製作とか -

能登半島地震で被災された方々にお見舞い申し上げます。

or 管理画面へ

2023年9月 この範囲を時系列順で読む この範囲をファイルに出力する

Icon of admin
 「Open DMX USB」をオリジナルのアプリで使うことを考えていきますと「DoctorMX」も使えたらなと思ってしまいます。
 開発・販売元のクワテックさんでは DoctorMX を使うためのライブラリとサンプルコードを公開してくださってます。C/C++ 向けですが、サンプルコードは私でも読めるので扱えるかもしれません(その昔は全く理解出来ませんでした。ちょっと感動。)。
 小屋卓のPC版を作るかはともかく、DoctorMX と Open DMX USB の扱い方を習得しておくのはいいかもしれません。

 2023年9月現在、クワテックさんから DoctorMX の Python ライブラリの提供はありません。リクエストしたら作ってくれそうな気もしますが、まずは自力で解決を目指しましょう。工夫や努力もせずに安易なリクエストをされるのは私も嫌ですしね。

「PythonからC言語の関数を呼び出す(基本編)」

追記
 上記がコンパイル出来るか試みましたがエラーを吐いて終わらない。
 「error: Unable to find vcvarsall.bat」とのこと。
 なんじゃこりゃ!?
 環境は VSCode の上で gcc です。
 日本語サイトには直球な解決策は見つかりませんでしたが、某英語サイトに「Microsoft Visual C++ Build Tools」を入れたら解決するとの書き込み。

Microsoft Visual C++ ビルド ツールをインストールする

システムに Microsoft Visual C++ がインストールされていない場合、または古いバージョンがインストールされている場合は、Microsoft Visual C++ Build Tools をダウンロードしてインストールできます。Microsoft Visual C++ Build Tools には、Windows 上で C++ コードをビルドするために必要な環境変数とツールが含まれています。

Microsoft Visual C++ Build Tools をインストールする手順は次のとおりです。

1:Visual Studio Build Tools Web サイトに移動します。
2:インストーラーをダウンロードして実行します。
3:「C++ ビルド ツール」ワークロードを選択します。
4:「インストール」をクリックします。


 開演時間になったのでお試しはお預けですが、2時間ほど悩んでいたので期待感大。

#Python #器具の製作
Icon of admin
 FT232RLで一般的なシリアル通信以外のことをするにはドライバを直接叩かないといけないらしい。250kbps 送信と長い長い BreakTime を生成するには OS のシリアルを叩いても不可能ですからね。
 FT232RL のメーカーである FTDI のサイトに D2XX Programmer’s Guide がありました。これが理解出来ればいいのでしょうが全く理解出来ません。

 Open DMX USB の Python ライブラリが落ちていました。これなら理解できます。
「PyFtdi」
 次の使用例はとてもわかりやすい。
「jlbrogdon/dmx_controller」
 細かい例外対策まで仕上げるには PyFtdi の API documentation を熟読しなければなりませんが、本丸が見えればナンとかなりそうな気分になります。
 PyFtdi の世代の問題なのか、少し手直しをしないとエラーになります。
 ・・・注意:READMEを読み返したらコレは RaspberryPi 向けに書いたモノだとか。動かなくても不思議はありません。

 Open DMX USB の回路図はこちらがわかりやすい。
「菅工房 Open DMX USB」

 汎用の FT232RL 基板を使うならここが参考になります。
「Open DMX USB コントローラによる DMX512制御」
 汎用の FT232RL にほんの少し設定を加えるだけで Open DMX UASB として使えます。FT232RL の電気特性は UART なので RS485 に変換する必要はあります。

 忘れちゃいけない本家。
「ENTTEC Open DMX USB」
「D2XX Programmer's Guide」

 習作ですので急ぐつもりはありませんしアイデアだけで終わるかもしれませんが、Open DMX USB を扱えたら応用の幅がありそうな予感はあります。テンキーでガツガツ打てて、MIDI でクロスフェーダーやサブマスターまで組めたらいいかなと。
 ホール卓のPC版ってのもネタとして面白いかも。「KOYATAKU」とでも名付けます?。ホール卓の基本構成をパソコンで構成してフリーウェアにしたらメーカーさんに嫌がられるでしょうけど、10年間違いなく動くのがメーカーさんのクウォリティであって、ここを真似するのは絶対不可能な領域です。

#器具の製作
Icon of admin
 「Open DMX USB」について考えていたのは移動中アタマが空いていたからです。
 学園祭への機材レンタルで搬送をしていたのですが、片道1時間半くらいかかるので考え事をするには丁度良い時間でした。

 そんな中で Art-Net Patch も思い出す。余りに難しく、数日アタマを全振りしないと進められないネタのために止まっています。
 ミキサー(マージ)、プリディレイ(入力に施す)、プリプロファイルカーブ、パッチ、ポストプロファイルカーブ、ポストディレイ(出力に施す)が主な機能ですが、これらの処理(エフェクターと呼称)は参照して計算、参照して計算、参照して計算をひたすら繰り返します。一つ一つはとても簡単な処理ですが、タイミング良く群のデータを短時間で処理しないといけないので構成が難しく、僅かな無駄が後からボディブローの様に効いてきます。

 年齢が年齢なので経験量に対し学習量が少ないなぁ~と思いつつも、オブジェクト指向やマルチスレッドなどが普通に使える様になってきますと今までと違った構成がアタマに浮かんできます。全体を一度に見ると難しい処理ですが、構成を分解・整理すれば分割したライブラリとして進められるんじゃないかと。
 厄介なのはミキサーとディレイですが、これらを実現するには最大遅延時間分の過去を送信元分保存しておく必要があります。このデータ構成を良く考え、エフェクターの出入りを一般化して進めれば機能単位での製作が可能になりそうな気がします。

 目的に対しその環境や言語をどう使えばいいか具体的な見込みを付けてからデータ構造と処理アルゴリズムの本構成を考えることが大切だと思う今日この頃。
 開発のプロからしたら当たり前過ぎることなんでしょうけど。

#[Art-Net] #C言語 #器具の製作
Icon of admin
 なんとなーくネットを眺めていたところ「Open DMX USB」に目が止まる。
「Open USB USB」
 PCから DMX512 を出力する USB インターフェースです。仕様がオープンになっていてハードウェアは極めてシンプルです。FT232RL を用います。
 ライセンス仕様は GPLv2 です。大雑把に言うなら、改変しない限り商用/私用を問わず自由に使えます。
 FT232RL は LTC Generator でも使っているので、その延長線で使えるなら悪くないなぁ~と。

 このところ JASCII のオフライン打ち込みソフトのリクエストがあります。もちろん、ASCII や Comos-Text との変換を含めてです。
 正直言うと面倒臭い。有料にするとライセンスの管理やサポートが面倒だし、無料にすると空振り感が強い。プロでない私がコレを開発するには本業を1/3にして半年かかります。卓を持ち込めば済むことに掛ける手間ではありません。
 ですが、JASCII 関係は解決したいなぁ~って気持ちはあります。最近は、劇場間でデータを使いまわすためではなく、事前の空打ちが目的になっているからです。有志がお作りになったオフラインソフトもありますが、操作感に照明を作るリズム感がありません。テンキー操作でバンバン打ち込めるシステムがあってもいいのかなとは思います。
 もし作るなら、JASCIIベースでプレイバックも出来る様にしてPC卓にしてもいいのかなと。DoctorMX や Open DMX USB で DMX512 を出せばいいのです。

 イロイロ想うことはあるので、システムの構成だけでも考えていいのかなと。

#ガチ工作 #照明器具
Icon of admin
 LtcPlayer 0.2.2βです。
 細かいバグを修正しました。
「VLC media player」のインストールを推奨します。入れなくても動きますが、入れた方がいいみたい。

#タイムコード
Icon of admin
 ボーダーケーブルを修理しています。
 シースを剥いてバラになった芯線をカバーするチューブが酷い状態になっています。チューブが縮んだのか芯線がシースから出てしまったのか七分丈になっています。これにビニテを巻いて誤魔化していたのですから困りものです。これは機能を失っている故障ですから要修理品だと思って欲しいなぁ~。
 取り急ぎなのでホームセンターを徘徊しましたがよさそうなビニールチューブがありました。
「三洋化成 特殊耐寒チューブ T-12」
 カタログスペックを読む限り環境耐性は良いと思われます。溶けるギリギリまで加熱しましたが寸法の変化は見受けられません。ビニル製品は熱、紫外線、水気を受けると形状がゆっくり変化していきますので数年経過を見ないとわかりませんが、安価なビニールチューブより期待出来そうです。
 ビニールチューブの固定方法ですが、被覆付き針金を巻き付けて本体ケーブルのシースと繋げてみました。電気工事のバインド線処理やカムロックコネクタの組み立て方法などをヒントにしています。ビニテやロックタイで巻くだけより長持ちしそうな気がします。
 一番の問題は作業時間です。バラして組み直すのに1本あたり2時間強かかります。安全のためにやらねばなりませんがかかりますねぇ。

#照明器具
Icon of admin
 VLC が入っていて Python を入れていないパソコンが一台あったので exeファイルを試してみました。
 問題なく動きます。
 python-vlc は VLC を入れていなくても動くハズですが、入れておいた方がいいのかもしれません。

 VLC をアンインストールして試す手もありますが、DLL などが残る可能性もあるので、一度 VLC に触れたパソコンはインストール済みと思うしかありません。
 いずれにしても、VLC のインストールを推奨することにしましょう。
「VLC media player」
 とても便利なアプリです。特にこだわりがなければ、デフォルトアプリとしてもお勧めする一品です。

#Python #タイムコード
Icon of admin
 pyinstaller でexeファイルを作ってみましたが環境によって微妙な不具合が出ます。原因は不明ですが、pyinstaller の操作手順かもしれません。
「PyinstallerでPythonプログラムをexe化する手順書(Windows編)」
 上記を参考に作った exeファイルは自分の環境では問題なく動いたのですが、ここに一工夫加えてみようと思います。
 仮想環境での実行が推奨されていますが、pyinstaller 自体も仮想環境にインストールするべきなのかもしれません。別の先達情報にはその様に書かれている物があります。
「PyInstallerを使ってみた」

追記
 作業手順のオレメモ。
 仮想環境に pyinstaller を入れての実行の方が良いようです。
作業ディレクトリに移動
> cd <作業ディレクトリ>
pipenv をインストール
> pip install pipenv
pipenv で使う python のバージョンを指定
> pipenv --python 3.9
pipenv(仮想環境)を開始
> pipenv shell
仮想環境にpyinstaller をインストール
> pipenv install -d pyinstaller
必要なライブラリをインストール
> pipenv install pyserial
> pipenv install PySimpleGUI
> pipenv install python-vlc
・・・etc
ビルドする
> pyinstaller ltcplayer.py --clean --noconcole --onefile
・・・数分で終わる。
作業ディレクトリ内の distフォルダ内 に ltcplayer.exe が出来ている。

終了なら仮想環境のshellから抜ける
> exit
仮想環境を削除
> pipenv --rm

作業ディレクトリは Python のソースコードがある階層でもいいのだけれど、
ゴチャゴチャするので私は一つ下の階層で作業をしています。
ソースコードがある階層で
> mkdir env
> cd env
> pyinstaller ..\ltcplayer.py --clean --noconcole --onefile
相対パスでソースコードを一つ上の階層として呼びます。
お好みですけど。


#Python #タイムコード

2023年8月 この範囲を時系列順で読む この範囲をファイルに出力する

Icon of admin
 今「人工石油」が注目されています。
 簡単に安く短時間で灯油や軽油とほぼ同質の油を作る技術です。

 この映像の3'40"くらいから細かい説明がありますが、これは面白い製造方法です。
 結合が強い二酸化炭素を分解するって発想がまず凄い。

#雑談
Icon of admin
 実行ファイル化した LTC Player 0.2.0β の処理負荷は5~7%です。十分に軽いと言えます。
 しばらくは本業を頑張らないといけませんが、その本業で使って細かいバグを見つけていきましょう。

#タイムコード #Python

■当面の課題

桜のライトアップの季節です。花粉症の季節でもあります。
自分は平気ですが、花粉症の部下は死にそうな顔をしています。

編集

■複合検索:

  • 投稿者名:
  • 投稿年月:
  • #タグ:
  • カテゴリ:
  • 出力順序:

■日付検索:

■カレンダー:

2023年9月
12
3456789
10111213141516
17181920212223
24252627282930

■カテゴリ:

■最近の投稿:

最終更新日時:
2024年3月28日(木) 15時49分12秒