投稿

FreeBSDでUSBメモリに入れた音楽ファイルの再生順を元の順番に並び替える(曲順のバラバラを解消する)方法

イメージ
人気ブログランキング にほんブログ村 カーオーディオで音楽を聴くために、USBフラッシュドライブに音楽ファイル(mp3)を入れている。 しかし、USBフラッシュドライブのファイルシステムはfat32であるため、PCから音楽ファイルをコピー・貼付けすると、音楽ファイルの名前順ではなく、フラッシュドライブに書き込まれた順番で音楽ファイルが並べられてしまうため、そのままカーオーディオで再生するとアルバムの順番やアルバム内の曲順がバラバラになってしまう現象が発生する。 <写真01>曲順が数字の順番どおりに並んでいない。 バラバラになった曲順を元に戻す方法としては、アルバムのディレクトリや中のファイルを番号ないしアルファベット順に書き込んでいくしかないのだが、これは非常に面倒な作業だ。 そのためWindowsなど他のOSでは、この問題を解決するプログラムが色々と公開されている。 ちなみに、LinuxではFATSortというプログラムが有名だ。 しかし、Linuxにあるプログラムなら大抵存在しているであろうFreeBSDに、何故かこのFATSortが存在しない。 そこで、FATSortの代替となる別の手段を探してみたところ、以下のようなものを見つけた。 sort-fat https://sourceforge.net/projects/sortfat/ 説明文を読むと「sort-fatは小さなpythonスクリプトで、fatファイルシステム内のファイルやフォルダの順番を並び替える」とある。 これぞ、まさに自分が探していたFATSortの代替となるものだ。 早速、使ってみよう。 まずはウェブページ内の「Browse Code」をクリックする。 次に「sort-fat」と書かれたファイルのリンクをクリックする。 すると、sort-fatのスクリプトが表示されるので、スクリプトの上部にある「Download this file」のリンクをクリックすると、ファイルのダウンロードが開始される。 ダウンロードされたファイル名は「sort-fat」となっているはずだ。 もしくは、スクリプトそのものをテキストにコピー・貼り付けして保存しても良い。 ダウンロードしたファイルを開いてPATHを変更する。 #!/usr/bin/env python ↓以下のように変更する。 #!/usr...

FreeBSDでntpdateからntpdに変更し、期限切れの閏秒ファイルも更新した

人気ブログランキング にほんブログ村 ntpdateならびにntpdはインターネット標準時間サーバーと同期してシステム時刻を設定および維持するオペレーティングシステムのプログラムだ。 元々、何年も前に現在のPCにFreeBSDを初めてインストールした際にntpdateを選択していたのだが、近い将来にFreeBSDでntpdateが廃止されるとのことなので、ntpdに移行する。 # ee /etc/rc.conf 以下を追加する。 ntpd_enable="YES" ntpd_sync_on_start="YES" # ee /etc/ntp.conf FreeBSDでは初めから標準で以下のサーバーが設定されている。 pool 0.freebsd.pool.ntp.org iburst もし接続するサーバーをNetwork Time Protocolとする場合は以下を追加する。 driftfile /var/db/ntp/ntpd.drift server 0.pool.ntp.org server 1.pool.ntp.org server 2.pool.ntp.org server 3.pool.ntp.org サービスを再起動する。 # service ntpd restart 時間の同期を確認する。 % ntpq -p 以下のように表示される。      remote           refid      st t when poll reach   delay   offset  jitter ==============================================================================  0.freebsd.pool. .POOL.          16 p    -   64  ...

FreeBSDで音楽プレーヤーのcmusに通知機能を追加する

イメージ
人気ブログランキング にほんブログ村 cmusはコマンドを実行するときに使用するターミナル上で動作する音楽プレイヤーだ。 このターミナルが... この様に音楽プレーヤーとなる。 このプレーヤーで音楽を聴いている時、楽曲が変わる毎にアルバム名、曲名、演奏者などの通知がデスクトップ上に表示されるプログラムを追加する。 検索すると様々な通知プログラムが公開されているが、自分が特に気に入った通知プログラムは「cmus-notify」というもの。 https://pypi.org/project/cmus-notify/ ウェブページに設定方法が詳細に記されているが、FreeBSDではpipでインストールするので、予め以下のプログラムがインストールされていること。 py39-pip 「cmus-notify」をインストールする % pip install cmus-notify 新たにファイルを作って % ee cmus_notify.sh 以下のスクリプトを作成する。 #! /bin/sh cmus_notify "$*" & ファイルに実行権限を付与する。 % chmod +x /home/****/Desktop/cmus_notify.sh ファイルを以下の場所に配置する。 /usr/home/****/.config/cmus/cmus_notify.sh 次にcmusを起動する。 起動したらスクリプトファイルを読み込む。 以下のように入力してEnterを押下する。 :set status_display_program=/usr/home/****/.config/cmus/cmus_notify.sh そして楽曲を再生すると... 以下のように通知が表示される。 但し、この状態だと通知は標準の5秒間しか表示されないので、表示時間を10秒に変更する。 以下のファイルを編集する。 % ee /usr/home/****/.local/lib/python3.9/site-packages/cmus_notify/constants.py 5000を10000に変更する。 #: The default timeout for the notification to disappear DEFAULT_TIMEOUT = 5000 ↓...

FreeBSDでPublic DNSを設定する

人気ブログランキング にほんブログ村 一般的にはGoogle Public DNSが有名だけど、ここでは最速のCloudflare(1.1.1.1)を使用する。 Public DNSについては、以下を参照のこと。 https://en.wikipedia.org/wiki/Public_recursive_name_server またCloudflare(1.1.1.1)のウェブサイトでは設定方法が紹介してあるが、FreeBSDの場合は「Setup on Linux」の項を参照する。 https://1.1.1.1/dns/ 以下のファイルを編集する。 # ee /etc/resolv.conf IPv4の場合: nameserver 1.1.1.1 nameserver 1.0.0.1   IPv6の場合: nameserver 2606:4700:4700::1111 nameserver 2606:4700:4700::1001   起動時に上記「resolv.conf」が書き換えられないようにするべく、以下のファイルを作成して「resolvconf=NO」と設定しておく。 # ee /etc/resolvconf.conf resolvconf=NO 再起動する。 # shutdown -r now   起動後の以下の方法で確認できる。   1. resolv.confを確認する % cat /etc/resolv.conf # Generated by resolvconf search home nameserver 1.1.1.1 nameserver 1.0.0.1     2. drillコマンドで確認する % drill ;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 63738 ;; flags: qr tc rd ra ; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;; .    IN    NS ;; ANSWER SECTION: ;; AUTHOR...

FreeBSDのChromiumでMicrophoneを使用できるようにする方法

人気ブログランキング にほんブログ村 FreeBSDのChromiumでは、音声の出・入力はsndioを介して実行される。 そのため、Chromiumを介してビデオ通話を行う際にマイクを使用する場合、予め以下の設定が必要となる。 先ず、自身のPCで使用しているマイクデバイスを以下のコマンドで確認する。 % pacmd list-sources | grep -e 'index:' -e device.string -e 'name:' すると、以下のように表示される。     index: 0     name: <oss_output.dsp0.monitor>     index: 1     name: <oss_output.dsp1.monitor>     index: 2     name: <oss_input.dsp2>         device.string = "/dev/dsp2"     index: 3     name: <oss_output.dsp2.monitor>     index: 4     name: <oss_input.dsp3>         device.string = "/dev/dsp3"     index: 5     name: <oss_output.dsp3.monitor>     index: 6     name: <oss_output.dsp4.monitor>   * index: 7     name: <oss_inpu...