2021年9月7日火曜日

LuaMacrosでバッチを実行する(プログラマブルキーボードもどき)

外付けのテンキーが押し入れから出てきたので、LuaMacrosを使って

ボタンひと押しでバッチを実行できるように遊んでみた。

エセプログラマブルキーボードですね。

で、設定で思いの外ハマったのでメモを残しておきます。

※例によってこの記事を真似して何が起ころうと、私は責任を取りません。


解説は省いて、LuaMacrosに書いたコードを置いておきます。

----------------------------------------------------------------------------------------

-- 最小化時にタスクトレイに隠す

lmc.minimizeToTray = true


-- 最小化

lmc_minimize()


-- キーボードに名前を割り当て

lmc_device_set_name("extnumpad", "11X1111X")


-- キー割り当て

lmc_set_handler("extnumpad", function(button, direction)

    if (direction == 1) then return end

    -- 0

    if (button == 96)  then

        lmc_send_keys("#(c)") 

    -- 1

    elseif (button == 97)  then

        lmc_spawn("C:\\test\\pdf.bat")

    -- 2

    elseif (button == 98)  then

        lmc_spawn("C:\\test\\jpghiraku.bat")

    -- 3

    elseif (button == 99)  then

        lmc_send_keys("#(d)")

    -- 4

    elseif (button == 100)  then

        lmc_spawn("C:\\test\\gamenlock.bat")

    end

end)

----------------------------------------------------------------------------------------


ちなみになんですが、私は以下がわからなくてハマりました。

・バッチや実行ファイルを指定するときは「lmc_spawn」を使う

・lmc_spawnの引数で「\」を使うときは「\\」でエスケープ

・「-- 」始まりでコメントアウト


その他ハマった点。

・Windows+Lの画面ロックがなぜかできない。

→試しにsendkeysしようとしたのがこれでハマった。

 コマンドを書いたバッチをキックする方法で回避。

 どの道自室のパソコンなので使うことはないけど…。


・ショートカットに割り当てたショートカットキーをキックするとなんか遅い

→Windowsの仕様らしい。

 Windows10のショートカットキーが重い件(Superfetch)

 SuperfetchとかSysMainを落としても変わらなかったので

 ファイルを開くバッチをキックする方法に逃げました。


・「00」を押すと「0」を2回押したことになる

→テンキーはハード的にそうなっているそうで、調べたけど対処法は不明。

 諦めました。一番下段の「0」「00」「・」の並びのキーを使いたかったけど

 まぁいいか…。。


・IMEオン(全角入力)のときにテンキーを押すと、ショートカットは効くが

 数字が入力されてしまう

→Google 日本語入力のプロパティで「テンキーからの入力」を

 「直接入力」にすることで回避。IMEだとできないかも? 


あとは以下のような感じのショートカットを作ってスタートアップに

入れて自動起動。いい感じです。

リンク先を
「C:\luamacros\LuaMacros.exe -r "C:\luamacros\tenkey.lua"」
にしてます。

今思うと、lmc_spawnでバッチじゃなくてショートカットを実行して
やったほうが簡素でいいのかな?

2021年9月5日日曜日

Behringer TD-3とAbleton Live 11をリンクさせる。

 BehringerのTD-3を買いました。

単体での打ち込みがむちゃくちゃ難しいので、Abletonとつなげて

DAWのシーケンサで鳴らせるようにしてみました。

接続や設定で困っている方のためにメモを残しておこうと思います。

※あくまで「私はこうしたら動いた」というメモです。

 この設定で正解なのか、なんでこの設定で動いているのはよくわかって

 おりません。このつなぎ方で何かあっても責任は一切取りませんので

 ご了承ください。

 

まず下準備として、TD-3のドライバソフト的なのを落としてきます。

前は別名だったようですが、今は「SYNTHTRIBE」というソフトに

なっているようです。以下から落とせました。

ダウンロードセンター


TD-3をパソコンにUSBでつないで電源を起動します。

「SYNTHTRIBE V2.5.5 Windows.exe」を実行し、SYNTHTRIBEの画面で

「Clock Source」を「MIDI USB」にします。


左下の「Update」からファームウェアもアップデートできるので、
しておきましょう。僕の場合、最初にファームのアップを要求されました。

続いて結線です。


僕は昔からTRAKTOR AUDIO6を使っています。
皆さんはご自分のオーディオインターフェースをお使いください。


機器を接続したらAbletonを起動しましょう。
「環境設定」の「Audio」から「ドライバタイプ」を「ASIO」に。
「オーディオデバイス」を「ASIO4ALL」に設定します。
(私はASIOを使っております。ASIOについてはネットで調べてみてください。)
続いて「ハードウェア設定」を押します。


ASIOの設定を以下にします。
オーディオインターフェースを有効(?)にしましょう。



さっきの環境設定に戻ったら、「チャンネル設定」の
「入力設定」を以下に変えます。


続いて環境設定の「Link Tempo MIDI」から設定を以下に変えます。
MIDIの入力・出力にTD-3を選び、MIDI Portsの
トラックのTD-3の箇所をチェックオンにしてください。

ここまでくれば設定完了(のはず)です。


メイン画面に戻って、「External Instrument」というモジュールを
挿入しましょう。


挿入したらてきとうにMIDIシーケンスを描いて
再生しっぱなしの状態にし、以下画面の部分を設定します。
この時点ではまだ音は出ないです。


「MIDI To」を「TD-3」に。
「Audio From」は音が鳴っているチャンネルを
選びましょう。
私ここがよくわかってないのですが、たぶん環境設定の「入力設定」で
有効化したチャンネルになるんだと思います。


次に、オーディオトラックを1個追加します。
入力タイプをさっき追加した「Ext. Instrument」に。
右端の録音ボタンをオンにします。
ここまでできたら画面上部「アレンジメント録音ボタン」を
押してみてください。オーディオトラックにTD-3のサウンドが
録音されていく…んではないかと思います…(ちょっと自信がない)

以上です。これでハードを動かした結果をオーディオトラックに
録音できるようになりました。

実は一点困っております。
私、上記の設定で録音はできるようになったのですが、
なぜか音量が小さいんです。
TD-3にヘッドホン直挿しすると十分聴こえるし、
オーディオインターフェースの問題かなぁ…。
現状、録音後にオーディオトラックの音量を上げることで回避しております。
まぁいいか。

今回、以下の動画を参考にしました。

この記事は2021/9/4時点の情報です。
ドライバソフトの名前など変わっていくかもしれませんのでご注意ください。