Linux MIDI をとりあえず使えるようにする

この記事を作った動機 Linux 環境を使っていて、ソフトウェアシンセサイザー?とか、適当にネットでダウンロードしてきたMIDIファイルを再生するとかやってみている。 それで、Linux 環境における MIDI では、ちょっとすぐにはわからないようなことが必要だとわかったので、それをノートとして使っているこのブログに記録しようと思った。 使っているソフト Surge XT Drumstick MIDI Midi を使う 毎回起動時に特定のドライバを読み込まないと、midi が使えないようで、Drumstick MIDI は MIDI setup を開く段階でクラッシュした。 やること 有効化 sudo modprobe snd_virmidi 無効化 sudo modprobe -r snd_virmidi 起動時に自動で読み込まれるようにする /etc/systemd/system/midi.service [Unit] Description=load and unload virtual midi driver [Service] Type=simple User=root ExecStart=modprobe snd_virmidi ExecStop=modprobe -r snd_virmidi Restart=on-abort [Install] WantedBy=multi-user.target midi.serviceサービスの有効化 sudo systemctl enable midi ドライバを読み込む前の様子 ちなみに以下のエラーや挙動は、ドライバを読み込んでから、ドライバを無効化したあとに試すと症状が再現しない。再起動後は、またドライバを読み込むまで症状が再現している。現時点で私は、この挙動については正直細かくはわかっていない。 エラーが出る例 (Drumstick MIDI) Active MIDI Inputs が何も出てこない例 (Surge XT) MIDI の設定をする 基本的には、Midi Through を使っておけば、ソフトウェア上では、音を鳴らせるところまで持っていける模様である。 ...

September 24, 2025

VLC 動画を再生できないことがある

この記事を作った動機 なんか最近 VLC をただパッケージマネージャでインストールするだけでは、デコードやら何やら色々必要なプラグインが欠けた状態になるらしく、まともに動画を再生できないということがあったので記録するだけ。 うまく動画が再生できないことがわかったあと、pacman を使うことで、plugin として存在していて、まだインストールしていないパッケージがあることを理解した。それで欠けていそうなパッケージをインストールしてみると問題が解決したので、そのことを忘れないうちに残しておきたい。 pacman -Qi vlc # Name : vlc # Version : 3.0.21-27 # Description : Free and open source cross-platform multimedia player and framework # Architecture : x86_64 # URL : https://www.videolan.org/vlc/ # Licenses : GPL-2.0-or-later LGPL-2.1-or-later # Groups : None # Provides : None # Depends On : bash hicolor-icon-theme vlc-gui-qt=3.0.21 # Optional Deps : vlc-gui-ncurses: for ncurses TUI # vlc-gui-skins2: for Skins2 GUI # vlc-plugins-all: for all plugins # vlc-plugins-extra: for extra plugins # vlc-plugins-visualization: for visualization plugins # vlc-plugin-aalib: for ASCII art video output support # vlc-plugin-aom: for AOM AV1 codec support # vlc-plugin-aribb24: for ARIB STD-24 codec and demux support # vlc-plugin-aribb25: for ARIB STD-25 stream filter support # vlc-plugin-ass: for SSA/ASS subtitle codec support # vlc-plugin-avahi: for mDNS/DNS-SD services discovery support # vlc-plugin-bluray: for Blu-ray access support # vlc-plugin-caca: for color ASCII art video output support # vlc-plugin-cddb: for CDDB access support # vlc-plugin-chromecast: for Chromecast stream out support # vlc-plugin-dca: for DTS Coherent Acoustics codec support # vlc-plugin-dvb: for DVB access, mux and demux support # vlc-plugin-dvd: for DVD access support # vlc-plugin-ffmpeg: for FFMPEG based access, codec, demux, packetizer, VDPAU, video chroma and video filter support # vlc-plugin-firewire: for FireWire device access support # vlc-plugin-fluidsynth: for FluidSynth codec support # vlc-plugin-freetype: for subtitle and on screen display text rendering support # vlc-plugin-gme: for Game Music Emulation demux support # vlc-plugin-gstreamer: for GStreamer codec support # vlc-plugin-jack: for JACK access and audio output support # vlc-plugin-kate: for kate karaoke codec support # vlc-plugin-kwallet: for kwallet keystore support # vlc-plugin-libsecret: for libsecret keystore support # vlc-plugin-lirc: for infrared remote control support # vlc-plugin-live555: for RTP/RTSP stream access support # vlc-plugin-mad: for MPEG Audio Decoder audio filter support # vlc-plugin-matroska: for Matroska demux support # vlc-plugin-mdns: for mDNS services discovery support # vlc-plugin-modplug: for MOD demux support # vlc-plugin-mpeg2: for MPEG2 codec support # vlc-plugin-mtp: for MTP device access and discovery support # vlc-plugin-musepack: for MusePack demux support # vlc-plugin-nfs: for NFS access support # vlc-plugin-notify: for notification support # vlc-plugin-quicksync: for Intel QuickSync H264/H262 codec support # vlc-plugin-samplerate: for samplerate audio filter support # vlc-plugin-sdl: for SDL codec support # vlc-plugin-sftp: for SFTP access support # vlc-plugin-smb: for SMB access support # vlc-plugin-soxr: for SoX Resampler audio filter support # vlc-plugin-srt: for SRT subtitle file support # vlc-plugin-svg: for SVG codec and text renderer support # vlc-plugin-udev: for ALSA services discovery support using udev # vlc-plugin-upnp: for UPnP services discovery support # vlc-plugin-x264: for H264/AVC encoding support # vlc-plugin-x265: for H265/HEVC encoding support # vlc-plugin-zvbi: for VBI access (also over V4L2) and codec support # Required By : None # Optional For : None # Conflicts With : vlc-plugin # Replaces : vlc-plugin # Installed Size : 40.06 MiB # Packager : David Runge <dvzrv@archlinux.org> # Build Date : Thu Jul 24 05:35:16 2025 # Install Date : Tue Aug 12 20:18:56 2025 # Install Reason : Explicitly installed # Install Script : No # Validated By : Signature このようにプラグインなどとして各種機能がVLCにおいて分割されるようになったのが、最近なのかは知らないが、linux ファームウェアも色々なんか分割してたりするので、VLC も肥大化かメンテナンスのために、なんかあったのかなと思ったり、元からだけど、今までは問題が出なかっただけなのかなと思ったり。 ...

August 12, 2025

VPN越しにHTTPやSSH通信だけ通らなかった話とMTU設定

この記事を作った動機 なんか、キャリアネットワークをデザリングを経由して使って、さらにVPN接続を介した通信のうち、HTTPとSSHだけが繋がらないということがあった。 それで対策としてMTUを小さく設定することをしたのでそのことを記録するだけ。 ちなみになぜMTUが大きすぎるとだめなのかわかっていないが、多分大きすぎるサイズのパケットはなんとなくどこかで落とされている気がする。 VPNや多段NAT構成だとルーティングされているうちに、ヘッダが積み重なって、ネットワークのパケットのサイズが大きくなりすぎたりするのかもしれない。 ネットワークの構成 サーバーやLAN内のルータ マンションのNAT キャリアネットワーク スマホ(デザリング) PCとか 状況 A -> キャリアネットワークのときで、直接マンションのNATを超えたとき B -> キャリアネットワークのときで、VPSなどの固定IPを持ったサーバーを経由したとき C -> 光回線などの固定回線で、直接マンションのNATを超えたときと、VPSなどの固定IPを持ったサーバーを経由したときの両方について含まれる 状況別の表 A B C Ping ✅ OK ✅ OK ✅ OK SMB(ファイル共有) ✅ OK 確かめていない ✅ OK DNS ✅ OK ✅ OK ✅ OK SSH ❌ Failed ✅ OK ✅ OK HTTP(HTTPS) ❌ Failed ❌ Failed ✅ OK MTU設定方法(要管理者権限) デフォルトで設定されているMTUのサイズ 1500 今回うまくいったMTUのサイズ 1000 一時的な設定(とりあえずすぐ設定したいとき) ip コマンドを使う sudo ip link set dev [ネットワークアダプタ名] mtu [設定したいMTUサイズ] ip コマンドを使う例 # 例 # ip a # ... # 4: vpn_vpnhome: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000 # link/ether 5e:76:29:d3:1b:85 brd ff:ff:ff:ff:ff:ff # inet 192.168.1.203/24 scope global vpn_vpnhome # valid_lft forever preferred_lft forever # sudo ip link set dev vpn_vpnhome mtu 1000 # ip a # ... # 4: vpn_vpnhome: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1000 qdisc fq_codel state UNKNOWN group default qlen 1000 # link/ether 5e:76:29:d3:1b:85 brd ff:ff:ff:ff:ff:ff # inet 192.168.1.203/24 scope global vpn_vpnhome # valid_lft forever preferred_lft forever 永続化設定(networkmanagerを使っているとき) sudo nmcli connection modify [ネットワークアダプタ名] 802-3-ethernet.mtu [設定したいMTUサイズ] # vpn_vpnhome の MTU サイズを 1000 に変更 # sudo nmcli connection modify vpn_vpnhome 802-3-ethernet.mtu 1000 追記 2025年8月1日 なんか何となくブックマークをあさっていたら、TU,MSS の計算と最適化の便利な手段をまとめるというサイトにたどり着いた。それで、さらにリンクをたどって、Visual packet size calculator — Daniil Baturinというところに行くと、こんな記述が目に止まった。 ...

July 21, 2025

Hugo と PaperMod テーマ でうまくサイトが生成できない (.GetPage)

この記事を作った動機 hugo を使っていて、解決に手こずったことがあったのでそれを記録しようと思っただけ。 問題を解消するには タグ名、もしくはヘッダーのアイテムの項目の識別子がかぶらないように変更する。 今回は、hugo.yamlのidentifierの内容を、“idea"から、“ideaList"に変更する例を示す。実際にはこれ以外にも任意の名前に変更しても問題ないと思われる。 とある記事.md の例 +++ date = '2025-06-10T07:11:01+09:00' draft = false title = 'EC 開発' tags = ['ChatGPT', 'Idea' , 'BGA' , 'Research'] showToc = true +++ ... hugo.yaml の例 修正前 ... menu: main: ... - identifier: "Images" name: "Images" url: "/images/" weight: 3 - identifier: "idea" name: "Idea" url: "/posts/idea/" weight: 5 ... 修正後 ... menu: main: ... - identifier: "Images" name: "Images" url: "/images/" weight: 3 - identifier: "ideaList" name: "Idea" url: "/posts/idea/" weight: 5 ... どういうときに症状が再現する? 各記事ごとのタグ名と、ヘッダーのアイテムの項目の識別子がかぶっているとき。今回は、“Idea"という項目がかぶっている例を示す。 ...

June 25, 2025

blender で面の向きの色が表示されない

この記事を作った動機 なんか blender で UV マッピングしようとしたらうまくいかず、調べている過程で、もしかしてメッシュの面の向きがおかしいのではないかと思った。 それで、面の向きを調べるために、以下の画像に示すように、Face Orientation を有効にしてみた。しかし、何も見えない。 通常正常に動作していれば、面が赤か青色に面が染まり、面が表向きなのかひっくり返っているのか表示されるはずが、何も見えないという事態に直面した。 blender はこういうなぜそうなっているのかさえ一人では分からないような、意地悪な動きをするので心が折れそうではあるが、とにかく調べてみたらどうしたらいいか分かったので、それを記録するだけ。 分かった原因 blender 4.4.3 のデフォルト設定では、面の向きの赤、青の色表示がなぜか透明に設定されており、一切見えない状態になっている。ミスなのか、何か意図があるか、思想的な仕様なのかは不明だが、とにかく理不尽ではある。 問題の状態と期待している状態の比較 問題の状態 期待している状態 対処方法 設定画面を開く theme(テーマ)設定を開き 3D viewport の項目を展開 Face Orientation の色をクリックして設定を変更 問題の設定 クリックしたときの色選択 問題を解消した状態の設定 面の裏表が視覚的に見えるようになる 参考にしたサイトとか 3d view - Face orientation viewport overlay doesn’t show up - Blender Stack Exchange https://blender.stackexchange.com/questions/315926/face-orientation-viewport-overlay-doesnt-show-up (2025年6月18日)

June 18, 2025

KiCAD JLCPCB tools がインストールできないから何とかする

この記事を作った動機 JLCpcbで基盤を発注しようとしたときに、主導でいちいち部品表(BOM)とかを調整するのはあまりにしんどいので、ツールを使おうと思った。 そこで、KiCAD JLCPCB tools という拡張機能を使おうとしたのだが、どうもREADMEどうりにしても、うまくいかないことが分かった。どうあがいても、ダウンロードしたファイルのハッシュが合わないというエラーで止まってしまう。 それで、拡張機能のダウンロードだけでもやってみようと、エラーも無視してしてみると、なぜか 1kb だけの zip ファイルがダウンロードされ、展開できない。 ひょっとしてと思って、テキストファイルとして開いてみたら、案の定サーバからエラーメッセージが返されていた。どうも kicad と拡張機能側との間で何か問題があることだけは分かった。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Bad Request</TITLE> <META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"> </HEAD> <BODY> <h2> Bad Request</h2> <hr> <p>HTTP Error 400. The request is badly formed.</p> </BODY> </HTML> そこで、今回はどのようにしてそれを対処したのか記録しようという話。 環境 kicad 9.0 KiCAD JLCPCB tools 2025.04.02 windows 11 24H2 対処方法 タグリストを開く KiCAD JLCPCB toolsの公式ページにのページから以下のようにして、Tags のリストページへ遷移する。 ...

June 16, 2025

blender が Intel HD Graphics 4000 で動かない

この記事を作った動機 最近550円で Thinkpad T430 を買って色々動かしてみて遊んでみたら、blender が動かなかったので、記録を取るだけ。 環境 Report details Date generated: 2025-05-08 04:15:17 Hardware Information: Hardware Model: Lenovo ThinkPad T430 Memory: 12.0 GiB Processor: Intel® Core™ i5-3230M × 4 Graphics: Intel® HD Graphics 4000 (IVB GT2) Disk Capacity: 628.1 GB Software Information: Firmware Version: G1ET92WW (2.52 ) OS Name: Arch Linux OS Build: rolling OS Type: 64-bit GNOME Version: 48 Windowing System: Wayland Kernel Version: Linux 6.14.5-arch1-1 解決方法 単純に環境変数として、Intel® HD Graphics 4000 がサポートする openGL のバージョンを指定する。解決方法の書いてある記事を読み切る前にどうすればいいかわかってしまったので、深いことはわからないが、blender 4.x.x くらいから、openGLのバージョンのデフォルトの最低要件が上がったらしいく、その影響で起動しないっぽかった。 ...

May 8, 2025

Morph tools でモデルをうまく動かせない

この記事を作った動機 blender と MMD Tools 使っていて Morph Tools というのを見つけて、色々モデルをうごすことができることは分かっていた。しかし、値を操作して動かせない Material などの項目がありなぜ動かせないのかしばらく実験していたら、方法が分かったので記録するだけ。 方法 問題の状態 赤線のところに、値を変更するためのスライダーがなく、Morph をMMDモデルに反映することができない状態が以下である。 Model setup の Morph を押す 解決した状態 参考にしたサイトとか MMD Tools/Manual | MMD & Blender Wiki | Fandom https://mmd-blender.fandom.com/wiki/MMD_Tools/Manual#Mesh/Armature/Physics/Display/Morphs (2025年3月29日) GitHub - MMD-Blender/blender_mmd_tools: MMD Tools is a blender addon for importing/exporting Models and Motions of MikuMikuDance. https://github.com/MMD-Blender/blender_mmd_tools (2025年3月29日)

March 29, 2025

UPS_BR550G JP 相性問題 🔌

事の発端 とある日に、ハードオフに行くと、バッテリーが死んでるUPSが約1000円で売っているのを見つけ、買ってみる。3000円くらいでバッテリーを交換し、100Vも出力できていたので、いざ自分のサーバにつなげてみれば、何と!停電しかけて、サーバが落ちてしまう事象が発生してしまう。 見た目 動作の様子 なんでそうなるの? UPS_BR550GというAPC社製のUPSには、後継モデルのUPS_BR550Sがあるが、その違いは、疑似正弦波か正弦波を出力するという違いがあるらしい。確かに公式サイトの仕様書を見てみるとどうも、正弦波より20%位ゆがんだ波形が出力される的な記述がある。サーバや最近の電源は特に、力率改善回路なるものが電源に入っていて、疑似正弦波と組み合わせたらだめっぽい。なんか、ジャンク品だったから壊れているとかではなさそうだった。(PFC対応とか書いていあるのは、力率改善回路の事っぽいが、実際に対応しているかまではよくわからない) ということで? どうも、APC社のUPSではsmart UPSあたりのシリーズがデフォルトで正弦波出力に対応しているらしいので、そこらあたりが欲しいと思ったけど、なるべく停電させない努力をして、とりあえずしばらくはこの問題はおいておこうということになった。 参考にしたサイト APCブランドUPS 仕様書のリンク | APC 日本 https://www.apc.com/jp/ja/faqs/FA53475/ (2024年6月3日)

May 8, 2024