全年全月9日の投稿[36件](2ページ目)
2023年5月 この範囲を時系列順で読む この範囲をファイルに出力する
「LTC Sound Player」を本格的に製作する前にLTCによって生産性が上がるのか検証しなければなりません。本番操作が楽でも結果的に作業量が増えたら本末転倒だからです。
音源を加工せずにLTCを出すことが目標ですが、まずはテスト音源を作成。花火屋さんに倣い、L-chに音楽、R-chにLTCです。今回は29.97fps(NDF)と25fpsの2種類を作ってみました。
LTCはここで作ってもらいました。便利なサイトがあるものです。
1時間目から本編開始とし、マイナス2フレーム(29.97fpsなら00:59:59.28)からのLTCです。2フレームは01:00:00.00を確実に掴んでもらうためのノリシロですが、普段の音源編集でも0.05秒程度のノリシロ(余白)を付けているので問題無いと思います。
吉と出るか凶と出るか。
そうそう、VLCをベースにするなら映像を元にしてもLTCが出せそうです。
#器具の製作 #タイムコード
音源を加工せずにLTCを出すことが目標ですが、まずはテスト音源を作成。花火屋さんに倣い、L-chに音楽、R-chにLTCです。今回は29.97fps(NDF)と25fpsの2種類を作ってみました。
LTCはここで作ってもらいました。便利なサイトがあるものです。
1時間目から本編開始とし、マイナス2フレーム(29.97fpsなら00:59:59.28)からのLTCです。2フレームは01:00:00.00を確実に掴んでもらうためのノリシロですが、普段の音源編集でも0.05秒程度のノリシロ(余白)を付けているので問題無いと思います。
吉と出るか凶と出るか。
そうそう、VLCをベースにするなら映像を元にしてもLTCが出せそうです。
#器具の製作 #タイムコード
オレメモです。
LTCジェネレーターの制御は、パソコンやらRaspberryPi(以下、母艦と呼称)でLTCのバイナリを生成し、PICで所定のbpsの差動バイフェーズに変換することにします。
PICにはFIFOバッファーを構成しようと思っていますが、母艦からPICへの送信がバッファオーバーフローか遅延にならない様にタイミングを考慮しないといけません。PICから母艦へデータ送信要求(許可)をする方法が必要でしょう。FT232RLはフロー制御も出来ますからそれを使ってもいいのですが、RaspberryPiのUARTにはフロー制御がありません。GPIOを直接制御してその様な信号を作ってもいいのですが、フロー制御を持ちなくても済むならそれに越したことはありません。UARTはデータを双方向でやり取りできますので、PICから母艦へデータ送信要求を送ることにしましょう。
SMPTE12Mのフォーマットを8bit(1byte)区切りで見ますと、バイナリグループのビットを常に0にすることが条件ですが、上位4bitは0x0,0xB,0xF,(0x3)のどれかにしかなりません(0x3は逆再生した際にシンクワードで発生する値)。これ以外の値ならば制御コードとして使えます。ASCIIテキスト制御ではありませんから0x00と0xFF以外なら何でもいいので、双方で使える制御コードにしておけば後でわかりやすいかなと。
この場合、上位4bitは0x5か0xAが一般的でしょうか。2進数ならb0101またはb1010です。0x7F以下のASCII文字になる値がデバックしやすいかもしれないので0x5かな。
例えばですが、
0x50 初期化(LTC送信停止・バッファクリア)
0x51 これに続くデータは設定データ(設定はfpsとDF/NDF)
0x52 これに続くデータは送信データ
0x57 データエンド
0x58 データ受信要求
0x59 データ送信要求
0x5F データ(動作)エラー
こんな感じ?
後はbpsの精度をどこまで求めるかです。
タイムコードの項に延々と書いていますが、波形周期を得るタイマー割込みのコンペア値を動的に変化させることで長周期の精度を水晶発振子の精度ギリギリまで出すことは可能です。ですが、どこまでの精度が必要なんでしょうね。
#器具の製作 #タイムコード
LTCジェネレーターの制御は、パソコンやらRaspberryPi(以下、母艦と呼称)でLTCのバイナリを生成し、PICで所定のbpsの差動バイフェーズに変換することにします。
PICにはFIFOバッファーを構成しようと思っていますが、母艦からPICへの送信がバッファオーバーフローか遅延にならない様にタイミングを考慮しないといけません。PICから母艦へデータ送信要求(許可)をする方法が必要でしょう。FT232RLはフロー制御も出来ますからそれを使ってもいいのですが、RaspberryPiのUARTにはフロー制御がありません。GPIOを直接制御してその様な信号を作ってもいいのですが、フロー制御を持ちなくても済むならそれに越したことはありません。UARTはデータを双方向でやり取りできますので、PICから母艦へデータ送信要求を送ることにしましょう。
SMPTE12Mのフォーマットを8bit(1byte)区切りで見ますと、バイナリグループのビットを常に0にすることが条件ですが、上位4bitは0x0,0xB,0xF,(0x3)のどれかにしかなりません(0x3は逆再生した際にシンクワードで発生する値)。これ以外の値ならば制御コードとして使えます。ASCIIテキスト制御ではありませんから0x00と0xFF以外なら何でもいいので、双方で使える制御コードにしておけば後でわかりやすいかなと。
この場合、上位4bitは0x5か0xAが一般的でしょうか。2進数ならb0101またはb1010です。0x7F以下のASCII文字になる値がデバックしやすいかもしれないので0x5かな。
例えばですが、
0x50 初期化(LTC送信停止・バッファクリア)
0x51 これに続くデータは設定データ(設定はfpsとDF/NDF)
0x52 これに続くデータは送信データ
0x57 データエンド
0x58 データ受信要求
0x59 データ送信要求
0x5F データ(動作)エラー
こんな感じ?
後はbpsの精度をどこまで求めるかです。
タイムコードの項に延々と書いていますが、波形周期を得るタイマー割込みのコンペア値を動的に変化させることで長周期の精度を水晶発振子の精度ギリギリまで出すことは可能です。ですが、どこまでの精度が必要なんでしょうね。
#器具の製作 #タイムコード
連休が終わってしばらく現場がありません。開発やらメンテナンスをする余裕が出ました。
LTCジェネレーターの研究を進めてみます。
これは「LTC Sound Player」で使うタイムコードジェネレーターで、UARTで受信したデータをPICで送出する物です。間にFT232RLを繋げばパソコン等からUSBでも制御出来るハズです。
FT232RLはUSBシリアル変換ICです。比較的簡単な回路で動き、ドライバは最近のOSなら予め入っているか自動でインストール出来ます。
FT232RLのいいところはMacでもWindowsでもLinuxでも使えることです。アプリケーションからは極々シンプルなシリアルデバイスに見えるので、大半の開発言語の標準ライブラリで扱うことが出来ます。
当初C言語で開発しようと思ったのですが、音源再生やらLTCジェネレーターの構成を考えていくとPythonを用いるのが良さそうです。巧く書けばMacでもWindowsでもLinux(RaspberryPi)でも使えるモノになるからです。
#器具の製作 #タイムコード
LTCジェネレーターの研究を進めてみます。
これは「LTC Sound Player」で使うタイムコードジェネレーターで、UARTで受信したデータをPICで送出する物です。間にFT232RLを繋げばパソコン等からUSBでも制御出来るハズです。
FT232RLはUSBシリアル変換ICです。比較的簡単な回路で動き、ドライバは最近のOSなら予め入っているか自動でインストール出来ます。
FT232RLのいいところはMacでもWindowsでもLinuxでも使えることです。アプリケーションからは極々シンプルなシリアルデバイスに見えるので、大半の開発言語の標準ライブラリで扱うことが出来ます。
当初C言語で開発しようと思ったのですが、音源再生やらLTCジェネレーターの構成を考えていくとPythonを用いるのが良さそうです。巧く書けばMacでもWindowsでもLinux(RaspberryPi)でも使えるモノになるからです。
#器具の製作 #タイムコード
2023年3月 この範囲を時系列順で読む この範囲をファイルに出力する
RaspberryPi4BのACT-LEDをGPIOに出力してみました。
/boot/config.txtに設定を追加します。
以下はGPIO24(18番ピン)に出力する設定です。他のピンでも動くと思います。
$ sudo vi /boot/config.txt
# 末尾[all]の後に次を加えます。
dtparam=act_led_gpio=24
再起動すると基板上の緑のLEDの挙動がGPIO24に出ます。
やりたいことはUSB電源の制御で、カーネルが読み込まれたらONにし、カーネルが落ちたらOFFにしたいのです。再起動においてUSBデバイスをリセットするためにUSB電源を一度落とすことが目的です。
更に設定を追加してACT-LEDを常時点灯にすると求める動作を得られるようです。
$ sudo vi /boot/config.txt
dtparam=act_led_gpio=24,act_led_trigger=default-on,act_led=on
起動後にカーネルが読み込まれるとGPIOがHになり、シャットダウンもしくは再起動でカーネルが落ちるとLになります。それぞれのタイミングも良さそうです。
今日はLEDで出力を見ただけですが、実際にリレーを動かすならプルダウンした上にトランジスタ等でバッファする必要があるでしょう。
RaspberryPiのUSB電源はスクリプトで制御可能ですし、リレーを動かすだけならGPIOを操作すればいいのですが、各種モジュールが読み込まれる前に電源を投入し、各種モジュールが落ちてから電源を切りたいので意味が違います。
カーネルが落ちたらUSB電源も落ちればいいのですが、RaspberryPiのUSB電源はPWR-LEDの標準動作と同じ挙動っぽいので、今回はACT-LEDを用いることにします。
#RaspberryPi
/boot/config.txtに設定を追加します。
以下はGPIO24(18番ピン)に出力する設定です。他のピンでも動くと思います。
$ sudo vi /boot/config.txt
# 末尾[all]の後に次を加えます。
dtparam=act_led_gpio=24
再起動すると基板上の緑のLEDの挙動がGPIO24に出ます。
やりたいことはUSB電源の制御で、カーネルが読み込まれたらONにし、カーネルが落ちたらOFFにしたいのです。再起動においてUSBデバイスをリセットするためにUSB電源を一度落とすことが目的です。
更に設定を追加してACT-LEDを常時点灯にすると求める動作を得られるようです。
$ sudo vi /boot/config.txt
dtparam=act_led_gpio=24,act_led_trigger=default-on,act_led=on
起動後にカーネルが読み込まれるとGPIOがHになり、シャットダウンもしくは再起動でカーネルが落ちるとLになります。それぞれのタイミングも良さそうです。
今日はLEDで出力を見ただけですが、実際にリレーを動かすならプルダウンした上にトランジスタ等でバッファする必要があるでしょう。
RaspberryPiのUSB電源はスクリプトで制御可能ですし、リレーを動かすだけならGPIOを操作すればいいのですが、各種モジュールが読み込まれる前に電源を投入し、各種モジュールが落ちてから電源を切りたいので意味が違います。
カーネルが落ちたらUSB電源も落ちればいいのですが、RaspberryPiのUSB電源はPWR-LEDの標準動作と同じ挙動っぽいので、今回はACT-LEDを用いることにします。
#RaspberryPi
インターカムのパワーサプライは3台完成。出来る限り見た目も良くしたのでそれっぽく見えます(自画自賛)。
本業も忙しいのですが、この調子で棚上げ課題を済ませたいところです。
次は「裸族のパイ」です。
HDDケースの「裸族のカプセルホテル」の中にRaspberryPiを入れてサーバー機にするものです。
筐体の改造などは終わっていて、RaspberryPiのACT信号によるUSB電源の制御を残すだけなのでそれほど難しくないハズです。
「裸族のパイ」は自宅サーバーの省電力化のためにも必要なので速やかに進めたいところです。
追記
せっかくなのでパワーサプライの記念撮影
ケーブルに隠れていますが、3枚目の写真の右側にターミネーターを実装した分岐基板があります。
以前から使っているパワーサプライはXLRコネクタの内側端子にターミネータの部品を直接ハンダ付けしていますが、見た目も悪いし機械強度も不安なので、この基板に換装しようと思います。
#電子工作
本業も忙しいのですが、この調子で棚上げ課題を済ませたいところです。
次は「裸族のパイ」です。
HDDケースの「裸族のカプセルホテル」の中にRaspberryPiを入れてサーバー機にするものです。
筐体の改造などは終わっていて、RaspberryPiのACT信号によるUSB電源の制御を残すだけなのでそれほど難しくないハズです。
「裸族のパイ」は自宅サーバーの省電力化のためにも必要なので速やかに進めたいところです。
追記
せっかくなのでパワーサプライの記念撮影
ケーブルに隠れていますが、3枚目の写真の右側にターミネーターを実装した分岐基板があります。
以前から使っているパワーサプライはXLRコネクタの内側端子にターミネータの部品を直接ハンダ付けしていますが、見た目も悪いし機械強度も不安なので、この基板に換装しようと思います。
#電子工作
2022年12月 この範囲を時系列順で読む この範囲をファイルに出力する
3Dプリンタそのものが旧式なのも原因でしょうが、相変わらずABSは難しい。
反る、寸法が出ない、高積層だと割れるなど、求める形にするのに難儀します。
されど、機械特性は良く真夏の倉庫に保管しても形が崩れることがありません。
求めると応えてくれない、諦めようとすると応えてくる、相変わらずのツンデレさんであります。
形状に合わせた条件を探っていけばそれなりに仕上がるのですが至るまでが大変。どうにかしたい。
息抜きになんとなくネットを検索したところ、「polymaker(ポリメーカー)」というブランドのフィラメントが良いとの書き込みを見つける。
PLAやPETG並みに扱いが簡単って意味ではありませんが、ABSにしては画期的に条件が出やすいとのこと。人によってはコレ一択だそうです。
amazonで検索したところ扱いがありました。他のフィラメントより20-30%ほどお値段は張るものの、仕上がりを探る手間、つまりテストプリントの回数が減るならむしろ安いと言えます。
もちろんポチリました。
入荷は週明けですが、試すのが楽しみです。
#3D
反る、寸法が出ない、高積層だと割れるなど、求める形にするのに難儀します。
されど、機械特性は良く真夏の倉庫に保管しても形が崩れることがありません。
求めると応えてくれない、諦めようとすると応えてくる、相変わらずのツンデレさんであります。
形状に合わせた条件を探っていけばそれなりに仕上がるのですが至るまでが大変。どうにかしたい。
息抜きになんとなくネットを検索したところ、「polymaker(ポリメーカー)」というブランドのフィラメントが良いとの書き込みを見つける。
PLAやPETG並みに扱いが簡単って意味ではありませんが、ABSにしては画期的に条件が出やすいとのこと。人によってはコレ一択だそうです。
amazonで検索したところ扱いがありました。他のフィラメントより20-30%ほどお値段は張るものの、仕上がりを探る手間、つまりテストプリントの回数が減るならむしろ安いと言えます。
もちろんポチリました。
入荷は週明けですが、試すのが楽しみです。
#3D
コレ、すげー。
#雑談
#雑談
2022年9月 この範囲を時系列順で読む この範囲をファイルに出力する
星球はコントローラーの電源モジュールを載せ替えて治ったのですがフューズやブレーカーが無い。
以前の電源モジュールには交換可能なヒューズが載っていたのですが、載せ替えた物には無い。過電流保護が無いのは怖い。
パネルに取り付けるヒューズフォルダはいくらでもあるので取り付けます。
取り付けるにはケースにφ12mmの穴を空けねばなりませんが、アルミの薄板にこのくらいの丸穴を空けるならステップドリルが便利です。
ドリルとリーマーの中間といった刃物です。
普通のスパイラルドリルやリーマーを使うよりも薄板にキレイな丸穴が空けられます。
薄板に丸穴はホールソーを使うのが定石ですが、1本で複数の穴径に対応出来るのはコスパが良く管理も楽。
精度は期待できませんが取付穴なら十分です。
安い物はアルミより硬い素材に使うと刃がすぐにダメになりますが、鉄やステンレスを切るならそれ用を使うといいみたいです。自分で砥ぐのは難しい刃物ですから、高価であっても最初の1本からステンレス用を買った方がいいかもしれません。
#工具や資材 #照明器具
以前の電源モジュールには交換可能なヒューズが載っていたのですが、載せ替えた物には無い。過電流保護が無いのは怖い。
パネルに取り付けるヒューズフォルダはいくらでもあるので取り付けます。
取り付けるにはケースにφ12mmの穴を空けねばなりませんが、アルミの薄板にこのくらいの丸穴を空けるならステップドリルが便利です。
ドリルとリーマーの中間といった刃物です。
普通のスパイラルドリルやリーマーを使うよりも薄板にキレイな丸穴が空けられます。
薄板に丸穴はホールソーを使うのが定石ですが、1本で複数の穴径に対応出来るのはコスパが良く管理も楽。
精度は期待できませんが取付穴なら十分です。
安い物はアルミより硬い素材に使うと刃がすぐにダメになりますが、鉄やステンレスを切るならそれ用を使うといいみたいです。自分で砥ぐのは難しい刃物ですから、高価であっても最初の1本からステンレス用を買った方がいいかもしれません。
#工具や資材 #照明器具
2022年7月 この範囲を時系列順で読む この範囲をファイルに出力する
2022年6月 この範囲を時系列順で読む この範囲をファイルに出力する
LED-BARの拡散レンズをクリスタルレジンで作ったらどうかと考えています。
ネットで先達の書き込みを読む限り、手順を守れば難しく無さそうですし、必要な用品は小分け少量でも手に入る。手間は少なくないけど、型を作って段取りがまとまればそれ程大変でもない感じ。
屈折率は1.5前後。ガラスと大きな違いはないから、好みのレンズを見つけて型取りすればいい。
今は時間がありませんが、近々試したい手段です。
そういや、間数マーカーもレジンで作ったらどうだろう。3Dプリンタで元型を作って鋳造型を起こせばいい。
計算しないとわかりませんが、安く出来るかもしれません。
#ガチ工作
ネットで先達の書き込みを読む限り、手順を守れば難しく無さそうですし、必要な用品は小分け少量でも手に入る。手間は少なくないけど、型を作って段取りがまとまればそれ程大変でもない感じ。
屈折率は1.5前後。ガラスと大きな違いはないから、好みのレンズを見つけて型取りすればいい。
今は時間がありませんが、近々試したい手段です。
そういや、間数マーカーもレジンで作ったらどうだろう。3Dプリンタで元型を作って鋳造型を起こせばいい。
計算しないとわかりませんが、安く出来るかもしれません。
#ガチ工作