<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title><![CDATA[ 全年3月11日の投稿［2件］ - 電装工芸日記 - 舞台照明機器の製作とか - ]]></title>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi</link>
	<description><![CDATA[ 今年は開発案件を進めたい ]]></description>
	<language>ja</language>
	<copyright>Copyright 2026</copyright>
	<lastBuildDate>Tue, 21 Apr 2026 06:51:15 +0900</lastBuildDate>
	<generator><![CDATA[ <!-- てがろぐ Version: -->Powered by <a href="https://www.nishishi.com/cgi/tegalog/" target="_top">てがろぐ</a> Ver 3.4.0 ]]></generator>
	<!-- BEGIN ENTRIES -->
	<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　PIC16F18326 のデータシートを翻訳しました。 ]]></title>
	<description><![CDATA[ 　PIC16F18326 のデータシートを翻訳しました。<br />　もちろん自力ではありません。以前も利用した「<a class="url" href="https&#58;//www.onlinedoctranslator.com/ja/" target="_blank" title="https&#58;//www.onlinedoctranslator.com/ja/">Doc Translator</a>」にお世話になりました。<br />　一気に496ページは翻訳出来ませんので100ページくらいに分けて実施。PDFのページ体裁の編集はフリーウェアの「CubePDF Page」と「CubePDF Utility」を使うと便利です。<br />　完璧な翻訳では無さそうですが意図を読み取るには十分な翻訳をしてくれます。<br />　もちろん翻訳を確認した後に寄付をしました。フリーウェアでも恩恵を受けたら寄付をしましょう。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%49%43" class="taglink" title="PIC">#PIC</a> -- Posted by 電装工芸 〔267文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1026</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=1026</guid>
	<category>tegalog</category>
	<pubDate>Tue, 11 Mar 2025 07:12:50 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 　Art-Netは入口の処理がまとまったので肝心のパッチ処理… ]]></title>
	<description><![CDATA[ 　Art-Netは入口の処理がまとまったので肝心のパッチ処理を考えています。<br /><br />　パッチとは入口と出口を１対多の関係で結びつける処理です。基本的な考え方は簡単ですがどう処理したものか。<br />　と、言いますのも、処理の回数が多いので、１回１回の処理を限りなく軽くしないと間に合いません。<br />　単純に考えればfor文を使ってスロット単位に移し替えをすればいいのですが、これではちょいと遅いようです。<br />　何か無いかと調べたところnumpyに良い処理方法がありました。<br /><br />　「ファンシーインデックス」と呼ばれる方法です。<br /><br />　numpyの配列はインデックスで内容を参照できますが、インデックスに配列を使うことも出来、これを「ファンシーインデックス」と呼ぶようです。<br />　パッチにおいては、出力側が参照する入口側のスロットのインデックスを配列にして使います(パッチマップ)。<br /><br />　一番単純な入力１ユニバース-出力１ユニバースを処理するとして、<br />　入口側の配列が５スロットある場合<br />input = np.array( &#91; 11, 22, 30, 44, 50 &#93; )<br />　とし、<br />　これに対するパッチマップを<br />map = np.array( &#91; 0, 3, 4, 2, 2, 3, 1 &#93; )<br />　とした場合、<br />patched_values = input&#91; map &#93; ※ 内部的には input&#91; &#91; 0, 3, 4, 2, 2, 3, 1 &#93; &#93; と同意<br />print( patched_values )<br />&gt;&gt;&gt; &#91; 11 44 50 30 30 44 22 &#93;<br />　インデックスの基底数がゼロなので注意が必要ですが、mapに記載されたインデックスでinputを参照し、配列としてoutputを得られます。<br /><br />　入力のスタック(input_stack)が&#91; delay, route, address &#93;の３次元配列の場合は、出力側スロット視点で次の３つの配列をインデックスにします。<br />　delay_index_map：スロットごとのディレイレイヤーのインデックスを表すインデックスの配列 (取り扱いスロット数分・現在のカレントindexからオフセット済み)<br />　※ delay_index_map = ( &lt;ディレイレイヤーのスタック数&gt; + &lt;現在のカレントindex&gt; - delay_map ) % &lt;ディレイレイヤーのスタック数&gt;<br />　in_route_map：入力スロットのルートを表すインデックスの配列 (取り扱いスロット数分)<br />　in_slot_map：入力スロットのアドレスを表すインデックスの配列 (取り扱いスロット数分)<br />　※ in_route_mapとin_slot_mapを合わせてpatch_mapとなる。<br />　とすると、<br /><br />patched_values = input_stack&#91; &#91; delay_index_map, in_route_map, in_slot_map &#93; &#93;<br /><br />　patched_values は取り扱いスロット数分の１次元配列です。<br />　ディレイの処理も含めて１行のコマンドで出力値を得られます。素晴らしい。<br /><br />　ここでスロットデータが１次元配列になるので、ここから先、出力ポートに渡すまではスロットを１本の通し番号で扱った方が良さそう。<br /><br />　同様の方法でカーブプロファイル変換も出来ます。<br />　カーブプロファイル(curve_profile_values)を 変換後レベル値&#91; プロファイルナンバー, 元レベル値 &#93; 、カーブプロファイルマップ(curve_profile_map)をプロファイルナンバー&#91; スロットアドレス &#93;とし、変換した配列を curve_converted_values とすると。<br /><br />curve_converted_values = curve_profile_values&#91; curve_profile_map, patched_values &#93;<br />　※ len( curve_profile_map ) == len( patched_values ) がTrueなこと。<br /><br />　curve_converted_valuesを出力ルートとスロットアドレスの２次元配列にするなら、<br /><br />output_values = curve_converted_values.reshape( &lt;ルートの本数&gt;, 512 )<br />　※ &lt;ルートの本数&gt; × 512 = 取り扱いスロット総数 であること<br /><br />　コマンドが少ないから処理時間が短いとは限りませんが、少なくともfor文を用いた処理より軽いことは間違いありません。<br />　numpy素晴らしい。<br /><br /><a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%50%79%74%68%6f%6e" class="taglink" title="Python">#Python</a> <a href="https&#58;//www.densokogei.jp/tegalog/tegalog.cgi?tag=%41%72%74%2d%4e%65%74" class="taglink" title="Art-Net">#&#91;Art-Net&#93;</a>  -- Posted by 電装工芸 〔1960文字〕 ]]></description>
	<link>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=183</link>
	<guid>https://www.densokogei.jp/tegalog/tegalog.cgi?postid=183</guid>
	<category>tegalog</category>
	<pubDate>Fri, 11 Mar 2022 14:39:02 +0900</pubDate>
</item>

	<!-- END ENTRIES -->
</channel>
</rss>

