2026/01/24

マイクのプラグインパワー

マイクのプラグインパワーが実際のところマイクにどういう電圧をかけているのか調べてみました。

プラグの端子の名称はここでは下図のように呼んでいます(Nano Banana Proに描いてもらいました)。

なお、テスターは古ーーいアナログテスターなので測定誤差が大きいです。電圧の絶対値は間違っている可能性が高いですし、個体差もあるでしょうから、正しい値が必要な方はこんな個人メモを参考にせず、必ずご自身で測定してください。

測定結果


測定結果です。T=Tip、R1=Ring1、R2=Ring2、S=Sleeveです。

ELECOM USB-AADC02BK のマイク用3極ジャック

テスターの-極テスターの+極電圧
ST2.6V
SR12.6V
SR20.0V
R2R12.6V
R2T2.6V
R1T0.0V
SleeveとR2は両方ともジャック内のグランドの接点に接触しているようです。

ELECOM USB-AADC02BK のマイク付きイヤホン用4極ジャック

テスターの-極テスターの+極電圧
ST-2.6V
SR1-2.6V
SR2-2.6V
R2R10.0V
R2T0.0V
R1T0.0V
CTIA規格と思われます。CTIAの場合、R2がグランドでSがマイクになるので(参考)、 Sに電圧がかかっている状態になります。音声出力側(TまたはR1)は電圧がかからないし、R2はグランドなので、それらとSとの間で電位差が発生します。

Arvel製のHAMU02BKのマイク用ジャック

テスターの-極テスターの+極電圧
ST0.0V
SR10.0V
SR20.0V
R2R14.2V (稀に8.8Vのときもある)
R2T一瞬プラス側に振れるがすぐに0Vになる
R1T一瞬マイナス側に振れるがすぐに0Vになる
接点の接触状況に応じて内部回路で出力を制御しているっぽくみえます。 手持ちのコンデンサマイクでは動作しましたが、Tipに電圧がかかってないので2極プラグのマイクだと動かなさそうです。 テスターの-極をR1とR2に当ててショートさせている状態で+極をTに当ててみましたが、0.0Vでした。

audio-technica AT-MA2

テスターの-極テスターの+極電圧
ST2.4V
SR12.4V
SR20.0V
R2R10.0V
R2T0.0V
R1T0.0V
MONOとSTEREO設定でどちらも同じ結果でした。R2はジャック内でどの接点とも接触していないようです。

まとめ


デバイスごとに供給される電圧が違っていることは分かりました。規格がないのでそのとおりの結果ですね。

4極プラグで試したので、プラグのどの位置がジャック内で接触しているのかもばらばらであることも分かりました。 ばらばらということは3極対応のジャックをつなげるために4極プラグのコードを使うと、接続できないこともありそうです。

2025/11/24

画像認識モデルを人間の判断に近づける方法

THINGS datasetというのを使って人間の判断に類似するように画像認識モデルをファインチューンできるらしい。

https://arxiv.org/abs/2409.06509
https://doi.org/10.1038/s41586-025-09631-6 (nature)

2025/11/23

DockerでGUI付きのコンテナ立てたい!

というわけで、以下のようなDockerfileを書くと、VNCでアクセスできるようになります。RDPを最初に試しましたが、Rootless dockerでは動かせませんでした。

apt-getでインストールしているパッケージは、人によっては不要なものも混じっているので、必要に応じて編集します。

FROM ubuntu:24.04

RUN apt-get update && apt-get install -y \
    xfce4 xfce4-goodies \
    xfce4-terminal \
    dbus-x11 \
    wget \
    net-tools \
    locales \
    tzdata \
    ibus \
    ibus-mozc \
    language-pack-ja-base \
    language-pack-ja \
    fonts-noto-cjk \
    fonts-noto-color-emoji \
    nano \
    firefox \
    tigervnc-standalone-server tigervnc-common \
    x11-xserver-utils \
    && rm -rf /var/lib/apt/lists/*

RUN locale-gen ja_JP.UTF-8
ENV LANG=ja_JP.UTF-8
ENV LANGUAGE=ja_JP:ja
ENV LC_ALL=ja_JP.UTF-8
RUN cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
    && echo 'Asia/Tokyo' > /etc/timezone

# VNC
EXPOSE 5901

# Set up VNC
USER ubuntu
RUN mkdir -p /home/ubuntu/.vnc && \
    echo "[ここにVNCの接続パスワードを記入]" | vncpasswd -f > /home/ubuntu/.vnc/passwd && \
    chmod 600 /home/ubuntu/.vnc/passwd && \
    bash -c "( \
    echo '#!/bin/bash' && \
    echo unset SESSION_MANAGER && \
    echo unset DBUS_SESSION_BUS_ADDRESS && \
    echo xrdb /home/ubuntu/.Xresources && \
    echo export GTK_IM_MODULE=ibus && \
    echo export QT_IM_MODULE=ibus && \
    echo export XMODIFIERS=@im=ibus && \
    echo dbus-launch --exit-with-session ibus-daemon --xim --daemonize && \
    echo exec startxfce4 ) > /home/ubuntu/.vnc/xstartup && \
    chmod +x /home/ubuntu/.vnc/xstartup"

CMD ["vncserver", "-localhost", "no", "-fg", "-geometry", "1600x900", "-depth", "24", ":1"]
次に
docker build -t ubuntu24-gui .
のようにしてビルドします。

できあがったら、

docker run -p 5901:5901 ubuntu24-gui
で実行します。

これで接続できるようになっているので、VNCのクライアントを使うと接続できます。

Remminaを使う場合は、ユーザー名をubuntuに、ユーザーパスワードをDockerfileに書いたVNCのパスワードにすると接続できます。

ローカルホストからのみアクセスできるようにするのであれば

docker run -p 127.0.0.1:5901:5901 ubuntu24-gui
で実行します。

また、ローカルホストのみに限定した上で、sshトンネルでアクセスするにはRemminaのSSHトンネルの設定をします。

「ループバックアドレス経由のトンネル」にチェックを入れて、SSHの認証情報を設定すれば接続できます。

aptパッケージのキャッシュ

Dockerfileを作っているとき、多くの場合は試行錯誤するので、何度も何度もaptとかapt-getとかでパッケージのダウンロードを行うことになります。

通信回線が高速で苦にならないのならそのままでも良いのですが、パッケージの数が多い場合など、待ち時間が長くなってしまいます。

そこで、apt-cacher-ngを使ってみます。

使い方は以下の通り。

  1. Dockerのホスト側で
    sudo apt install apt-cacher-ng
    などとして、apt-cacher-ngをインストールします。
  2. 設定ファイルは /etc/apt-cacher-ng/acng.conf にあるので、必要があれば書き換えます。ここではデフォルトのまま使います。
  3. サーバが起動しているかどうかやキャッシュの状況などは http://localhost:3142/acng-report.html にブラウザでアクセスすることで確認できます。
  4. 以下のようなコードをDockerfileに追記します。
    FROM ubuntu:24.04
    
    ARG USE_CACHE=false
    ARG APT_CACHE_SERVER=127.0.0.1
    
    # キャッシュを使う場合のみ設定を追加
    RUN if [ "$USE_CACHE" = "true" ]; then \
          echo "Acquire::http { Proxy \"http://${APT_CACHE_SERVER}:3142\"; };" > /etc/apt/apt.conf.d/01proxy; \
        fi
    
  5. 次のようにオプションを指定してビルドします。
    docker build --build-arg USE_CACHE=true --build-arg APT_CACHE_SERVER=[ホストのIPアドレス] .
    

2025/11/04

Win11 23H2から25H2へ

Windows11 23H2のサポート期限が2025/11/11が近づいています。

https://learn.microsoft.com/ja-jp/lifecycle/announcements/windows-11-23h2-end-of-updates-home-pro から引用すると

Windows 11 Home and Pro, version 23H2 will reach the end of updates on November 11, 2025. This version was released in October of 2023.

This edition will no longer receive security updates after November 11, 2025. Customers who contact Microsoft Support after this date will be directed to update their device to the latest version of Windows 11 to remain supported.

です。さて、Windows Updateにこの更新が降ってきていれば良いのですが、降ってきていない場合は自分でアップデートする必要があります。

調べるといくつか方法があるようですが、素直に「Windows 11 インストール アシスタント」というのをダウンロードして実行し、画面に沿って進めると、25H2に一足飛びにアップグレードできるようです(少なくとも筆者の場合はそうなりました)。

2025/10/19

リチウムとアルツハイマー病

アミロイドがリチウムを集めてしまって周囲の細胞がリチウム不足になって細胞が正常に機能しなくなるらしい。 そして、アミロイドが集めにくいリチウム塩をアルツハイマー病のマウスに投与すると、認知障害を予防できたらしい。

ほんとかな。マウスでならそうなのかも。

https://doi.org/10.1038/s41586-025-09335-x
https://doi.org/10.1038/d41586-025-02255-w

2025/10/12

生成AIの定義

生成AIの分かりやすい定義をようやく見つけた。

https://www.stateof.ai/で公開されている スライドにこう書かれていた。

Generative AI: A family of AI systems that are capable of generating new content (e.g. text, images, audio, or 3D assets) based on 'prompts'.
つまり、プロンプト(指示文)が入力に必要ということ。そのため、単に入力データを変換するもの、例えば、
  • 画像を入力して何が写っているのかのラベルを出力する
  • 映像を入力して、写っている物体の動作に対してラベルを出力する
  • 映像を入力して、高解像度の映像を出力する
  • テキストを入れたらその内容をしゃべる
  • 音声を入れたらテキストを出力する
  • 日本語を入れたら英語を出力する
のようなものは、たとえTransformerベースのモデルを使っていたとしても、拡散モデルを使っていたとしても、この定義だと生成AIには該当しないことになる。

とても分かりやすい。

人間がLLMを使ってタスクをこなすときの倫理

人間が実行する場合は倫理的な行動をするけれど、同じタスクをLLMに指示して代わりに実行させる場合、直接実行する場合に比べて倫理的な行動が減るらしい。

https://doi.org/10.1038/d41586-025-02819-w
https://doi.org/10.1038/s41586-025-09505-x

2025/08/17

ECoGの信号から音声を合成

https://doi.org/10.1038/s41586-025-09127-3 によると、脳表面に設置した電極(ECoG)から取得したデータを使ってリアルタイムに音声を合成できるようになったらしい。Supplementary Videoを見る限り、速度はまだまだではあるものの、イントネーションも変えられるし、強調もできるような発声ができている。

ここまで出来るようになっているので、普通に発話できるようになるのも時間の問題だと思われる。

一方、ECoGではこのレベルで動くようになっているものの、EEGで同じことをするのはまだまだ難しいのだろう。