Mac OS X

2026年1月10日 (土)

macOS Tahoeでスキャナーを使う

新たに購入したMac mini 2024にはそれまでのメインマシンであるMacBook Pro 15" (2017)の環境を移行した。Mac mini 2024の初回起動時に移行元を尋ねられるので、MBP15を指定しようと思っていたら、移行元リストにいつまで経っても出てこない。Mac miniは有線でLAN接続、MBP15は無線LAN接続。こんなこともあろうかと直前に取っておいたMBP15のTimeMachineのバックアップディスクを接続し、これを移行元とした。ほぼ以前の環境のまま使い始めることができた。

そのせいだろうと思うが、環境移行後にインストールしたExcelが起動しないなどのトラブルがあったが、今回はスキャナーが使えないというトラッブル。

10年以上使っているBrother DCP-J957Nというスキャナー付きのプリンターをLANに繋いである。イメージキャプチャを立ち上げるとスキャナーに接続を試みるものの失敗して「Failed to open a connection to the device(-21345)」と表示される。

システム環境設定→プライバシーとセキュリティー→ローカルネットワークと開き、Brother Scannerのスイッチをオンにする。これでスキャナーを使えるようになった。

MBP15のmacOS 13 Venturaにはローカルネットワークという項目はなかったので、その後追加されたろだろう。Mac mini使用開始時に自分はスキャナーは使わなかったので、たぶん妻が使おうとしてセキュリティの確認が表示されて対応できなかったのだろう。

| | コメント (0)

2026年1月 1日 (木)

ファイルをmp3に変換するフォルダアクションのスクリプト

シェルスクリプトをいじるのはほぼ初めてなので、今後のために気づいたことをメモしておく。多分忘れるから。

シェルスクリプトからlameコマンドを呼び出すとき、ターミナルにタイピング入力する感覚で必要なオプションを書き並べていけばいいと思っていたら、Unixのシェルはすごく賢くてそんな単純なものではなかった。

Macを使っている気安さから(ファイルやフォルダが内部的なID番号で識別されていた時代が懐かしい=Mac OS 9以前)、ファイル名に空白文字が入ることがしょっちゅうある。今回lameに渡したいファイル名にも空白文字が入ることがある。Windowsのコマンドプロンプトの感覚で、空白文字は引数のセパレータだからファイルパスをダブルクォーテーションで囲わないといけないかな、と思って自分でダブルクオーテーションで囲ったパスの文字列を含んだlameを呼び出すコマンド行を色々作ってみるが全然動かない。どうやら、パスを変数に入れておいて変数をダブルクォーテーションで囲って与えてやれば、正しく動くらしい。

いつも使っているポータブルオーディオプレーヤーが安物なので、サンプリング周波数が44.1 kHz以外ではピーとかギャーとかいうノイズが混入する。ところが、最近使っているFMチューナーは48 kHzで出力してくる(他にはその倍数で)。そこで、lameのリサンプルオプションでサンプリング周波数の変換を行っている。ポータブルオーディオプレーヤー用には別途定位改善のための処理も行っている。このとき、AIFFで保存した元ファイルを処理後に原則的にWAVファイルで保存しているが、たまに間違ってAIFFで保存してしまうことがある。AIFFで保存するときはたいてい" HPL"という識別用の文字列を付加する。つまりポータブルオーディオプレーヤー用にリサンプルが必要なファイルは、ファイル名の末尾が" HPL"か拡張子が"WAV"ということになる。
そこで、ファイル名の末尾が"HPL"か"WAV"の場合はリサンプルオプションを設定することにした。具体的には"--resample  44.1"なのだが、これをひとつの変数にいれておくと動作せず、"--resample"と"44.1"を別々の引数に入れて渡す必要があった。

Automatorでフォルダーアクションに設定したシェルスクリプトを実行すると、どういうエラーなのかさっぱりわからないので、確認用のシェルスクリプトをターミナルで実行していたのだけど、echoで処理した文字列を表示させるだけだと、今回メモしたような内容は見た目は問題ないため確認できない。

結局作ったのは以下のスクリプト。面倒なので出力フォルダは固定で直打ち (^_^;)

for f in "${@}"
do
qo="-V4"
ffn="${f##*/}"
extstr="${ffn##*.}"
bfn="${ffn%.*}"
hpl="${bfn: -3}"
rso=
rsf=
addhpl=
if [ "${hpl}" = "HPL" ]; then
rso="--resample"
rsf="44.1"
elif [[ "${extstr}" = "WAV" || "${extstr}" = "wav" ]]; then
rso="--resample"
rsf="44.1"
addhpl=" HPL"
fi
ofn="出力ディレクトリのフルパス/${bfn}${addhpl}.mp3"
コマンドのインストールディレクトリ/lame "${qo}" "${rso}" "${rsf}" "${f}" "${ofn}"
done

続きを読む "ファイルをmp3に変換するフォルダアクションのスクリプト"

| | コメント (0)

2025年5月18日 (日)

MacBook Pro 15" 2017 macOS Ventura のファイル共有異常

3月にあったmacOS Ventura 13.7.6の更新を行ってから、これが入っているMacBook Pro 15" 2017のファイル共有が機能しなくなってしまった。更新を行うまではMacBook Pro 13" 2009のmacOS High Sierra 10.13.6とファイル共有ができていて、MBP 13のディスクにMBP 15から接続することもできたし、その逆も可能だった。3月の更新後はどちらのMacともに相手に接続しようとすると「接続できませんでした」と表示され、共有ディスクが表示されなくなった。

5月の更新をMBP 15に当てたところ、ファイル共有機能は復活した。

macOSのどこかが壊れているのかもしれない。このMBP 15はこの秋でmacOSのサポートが切れるので一線から退ける予定。そのときにmacOSの入れ直しをしたほうが良さそうだ。

| | コメント (0)

2025年2月16日 (日)

Excel for Macのアップデート失敗

macOS Ventura 13.7.3が入っているMacでMicrosoft Updateを実行したが、管理者権限がないユーザーだったせいか進捗バーが最初の位置から殆ど動かなかった。3分ぐらい待っても変化がなかったので、進捗バーのすぐ下にあったキャンセルボタンをクリックして終了させ、ユーザーを切り替えてMicrosoft Updateを実行したがアップデートすべき対象はないとのこと。しかし、Excelだけ立ち上がらなくなってしまった。

TimeMachineによる前日のバックアップからMicrosoft Excel.appをアプリケーションフォルダに戻すとExcelを起動できた。そのままMicrosoft Updateを実行してアップデート完了。アップデートには5分以上かかっていたようだったので、最初に失敗したときももっと待っていれば問題なかったのかもしれない。

| | コメント (0)

2021年5月 8日 (土)

Mac版LibreOffice 7.1の言語パックのインストールエラー

macOS 10.13 HighSierraでLibreOffice 7.1に日本語言語パックをインストールしようとしたら、アプリケーションを選ぶようにダイアログが出て、LibreOfficeを選択しても「有効なインストールではありません」と表示されてインストールされなかった。何台かあるMacのうち、2台だけこのエラーが出る。

Google検索すると、Finderの環境設定で拡張子を表示しているとだめらしいのだが、表示しない設定にしてある。

言語パックインストーラをパッケージの内容を表示として中身を見ると、AppleScriptのスクリプトを見つけることができる。これをスクリプトエディタで開いて読んでいくと、Spotlightがオフだとエラーになるよというようなことがコメントに書いてあった。

システム環境設定でSpotlightを見ると、起動ディスク全体をインデックス作成の対象から除外してあった。起動ディスクを除外対象から外したら、インストーラが正常に動作した。

| | コメント (0)

2021年5月 7日 (金)

macOS 11.x BigSurでウェルネスリンク通信ソフト

OMRONの活動量計のデータをウェルネスリンク通信ソフトで健康マイレージのサイトに上げている。

家の環境はmacOS 10.14 MojaveとmacOS 10.13 HighSierraで、どちらもウェルネスリンク通信ソフトを使うことができる。macOS 10.15 Catalinaにもインストールできた(と思う)。

さて、大幅に仕様が変わったmacOS 11 BigSurではWLSetup_1201.dmgのインストーラを実行するとエラーで終了してしまう。これは、システムのライブラリフォルダのExtensionsフォルダにOMUSBLoad.kextをインストールしようとするもののBigSurではフォルダが読出専用に設定されているため。そもそもBigSurからはkextは基本的に使わない方向になっていくらしい。

今更ウェルネスリンク通信ソフトのBigSur対応版をOMRONが出してくれるとは思えない。Extensionsフォルダに書き込み属性を付けられるかどうかはまだ試していないが、インストール済みのウェルネスリンク通信ソフトがあれば、これをアプリケーションフォルダなどにコピーしておけばデータのアップロードは問題なくできることを確認した。データ転送中・終了の表示が画面に出なくなったが、OMUSBLoad.kextはこのために必要だったのかもしれない。データをアップ後、健康マイレージのサイトで歩数を同期して転送が無事に終わったことを確認した。

活動量計本体の方に転送中や終了の表示は出るし、終了時にブザーも鳴るのでBigSurでもこのやり方でしのげそうだ。

| | コメント (0)

2020年10月25日 (日)

MRTの暴走

ここ数日、MacBook Pro 13" (2009)のファンが全力で回転しっぱなしになっている。アクティビティモニタを見るとMRTというプロセスのCPU利用率が200%とかすごいことになっている。ただし、他のプログラムが動き始めるとMRTの使用率は下がるので、動作が遅くなるという感じはあまりしない。ただし、本体の発熱もすごいし、ファンの音もうるさいので、調べて対策を講じた。

2020/10/20にAppleがMRTのバージョン1.68をリリースしたらしいのだが、そのタイミングでいろいろな環境でMRTのCPU使用率が異常に高くなっているらしい。うちのMBP 13"(2009) High SierraとMBP 15"(2017) Mojaveも同様。MBP 15"の方はそれほど発熱やCPUファンの動作はひどくないのだが、アクティビティモニタを見ると使用率が高い。

対策は、TimeMachineでバックアップされた前のバージョン1.67への入れ換え。

手順

  1. Command + Rを押しながらMacをリカバリモードで起動する
    1. ターミナルで csrutil disable を実行(システムの保護の無効化)
    2. 再起動する
  2. 普通に起動してログインし、ターミナルを起動する
    1. sudo launchctl unload /System/Library/LaunchDaemons/com.apple.MRTd.plist を実行しMRTを止める
      1. Macの初期設定ではルートユーザが無効のためsudoを使えないらしいので、以下の手順で有効化しておく
      2. /システム/ライブラリ/CoreServices/Applicationsにあるディレクトリユーティリティーを起動
      3. 編集メニューの「ルートユーザを有効にする」を実行、「ルートユーザ用のパスワード設定」も行う(sudoを実行するときのパスワード)
  3. アクティビティモニタでMRTが止まっているのを確認し、MRT.appをTimeMachineのバックアップからコピーする
    1. コピー元:2020/10/19以前のバックアップ
    2. MRT.appのパス:/システム/ライブラリ/CoreServices
    3. コピーするときには管理者のパスワードが要求される
  4. リカバリーモードで起動し、ターミナルで csrutil enable を実行(システムの保護の有効化)、再起動
  5. 再起動・ログイン後しばらくはMRTのCPU使用率が高いが、数分で落ち着きMRTは終了する

 

MBP 13" 2009のメンテナンス用外部ディスク(月に1回ぐらい使う)はMRT.app 1.66だったが、このディスクで起動してしばらくおいていたら1.67に上がっていた。1.68になっていないのは、1.68に問題があることをAppleが認識しているということだろうか。

| | コメント (0)

2020年7月24日 (金)

4GB以上のaiffファイル

ffmpegでらじるらじるを保存すると、非常に大きいファイルでも保存できてしまう。

 

6時間半の番組をffmpegでaiff形式で保存したら、4.56 GBになった。Finderでは再生時間が23分10秒と表示される。ネットを検索したところ、どうやらaiffファイルはフォーマット上4GBが上限らしい。

 

このファイルを64 bit版Audacity 2.4.2で開くと、最初の23分10秒しか読み込まれない。

 

なんとかファイルを自由に編集できないかと試してみた。

 

ターミナルでlameを使ってmp3に変換すると、6時間半のmp3ファイルができた。Audacityはファイル内のヘッダーなどを読んでから処理しているのに対して、lameはデータを頭から順に処理していくだけなのかもしれない。出来上がったmp3ファイルをAudacityで読み込むと、全部読み込むことができた。

 

ocenaudioではaiff形式のファイルで6時間半全部を読み込み、編集できた。案外優秀なやつかも?

 

こういう長時間の番組は、わざわざaiffに変換しないでm4a形式のまま保存しておき、後からAudacityなどで適当なサイズにぶつ切りにしたほうが良さそうだ。

| | コメント (0)

2020年6月27日 (土)

ffmpegでらじるらじる

我が家で受信できるNHK-FMの電波はマルチパスがひどく、人の音声のサ行が濁ったり、ピアノなどの音にフェージングがついたりする。ポップスだとフェージングは全然わからないのだが、クラシックやジャズなどの楽器の音がはっきりわかるものだと目立つ。

家から見て放送局と反対側に大きな建物があるので、マルチパスの主原因はこれだと思う。テレビがアナログの時代はゴーストがVHF帯でひどく、ゴーストリダクションチューナー付きのハードディスクレコーダーが必要だった。FMチューナーだとアキュフェーズの40万円のチューナーでも買ってこないとマルチパスリダクションは手に入らないので、チューナーでなんとかするのはお財布的に厳しい。

マルチパスなら前後比の大きい位相差給電式のアンテナだということで、2階の部屋のロフトの手摺にアンテナを設置してある。設置した当時(数年前)はたしかにマルチパスの影響は減ったのだが、2年ほど前からまた気になるようになった。たぶん放送局から家までの経路でビルなどができて反射の状況が変わったのだと思う。

FMアンテナの位置を1 mほどずらしたら、サ行の濁りやフェージングが少し減って聞きやすくなったので、今はこの位置で聞いているが、完全になくなったわけではない。

そこで、らじるらじるである。聞くだけならブラウザで再生すればいいのだが、メモリープレーヤーに転送したり、CD-RWに焼いて車で聞いたりしたい(車のオーディオが古くてMDか光学ディスクを使わないと音を持っていけない)ので、データで取りたい。

以下のサイトを参考にして、ffmpegで録音するようにした。ffmpegは、以前Macportsでgnumericをインストールしたときに入っていたのでこれを利用。
https://qiita.com/yuppejp/items/d0a49bb03be02c303e4d
https://riocampos-tech.hatenablog.com/entry/20170911/download_radiru_m3u8

上の方のサイトのシェルスクリプトをほぼ丸パクリで使わせてもらった(ただし第1や第2放送は聞かないので名古屋と大阪のFMを引数で選べるようにした)。

ターミナルでシェルスクリプトを直接実行すると問題なく動作した。

次にcrontabに書き込んでタイマー録音のテスト。ものぐさなのでCronniXを使って書き込み。crontabにはシェルスクリプトをフルパスで記述したので問題なく動くはず・・・なのだが録音されない。よく見ると、シェルスクリプトは実行されているのだが・・・ということはffmpegの呼び出しに問題が?

ffmpegはMacportsのものなので、/opt/local/binにインストールされている。ここにコマンドサーチパスを通すという手もあるのだが、今回は/usr/local/binにシンボリックリンクを置いてターミナルから簡単に使えるようにしていた。
ネットを検索すると、cronで実行するときは/bin, /sbin, /usr/binのコマンドは見るけど/usr/local/binは見ないとのこと。で、/usr/binにffmpegのシンボリックリンクを作るとcronでタイマー実行ができるようになった。

普段使っているHigh Sierraの入ったMBP13"(2009)でうまく行ったので、家族と共用のMBP15"(2017) Mojaveでも同じ設定をしようとしたら、こちらは/usr/binにシンボリックリンクを作れない。この症状は見覚えがあったので改めて検索すると、SierraだかHigh Sierraから導入されたシステム整合性保護(SIP)が働いているとのこと。そういえばMBP13"の方は、High Sierra patchを当てるためにSIPを解除してあったのだった。

MBP15"の方は、シェルスクリプト中のffmpegの呼出しをフルパスで行うことにして解決。

Mac本体はシステム環境設定の省エネルギーでスリープ解除のスケジュールをしておき、crontabの設定で自動タイマー録音ができる。設定したユーザでログインしていれば、画面表示がログイン画面であっても問題なく動作した。ひょっとしたらrootのcrontabに書いておけばログインしていなくても動作するかもしれないが、未確認。

| | コメント (0)

2020年6月13日 (土)

USB DACの音が変

これは前の話とは別の話。

前回のMacとは別のMacBook Pro 13" 2009にこれまた前回とは別機種のUSB DACをつないでいるのだが、ふと思い立ってUSB DACを2段につないだUSBハブの後段側(Macから遠いほう)につないでみた。

そうしたら、音がおかしくなった。まともな音にならない。流石にハブの2段接続は信号のタイミングがデタラメになってしまうのだろうか。

USBハブは1つずつ、MacのUSBポートに刺すことにした。これならUSB DACの出力もおかしくならない。

| | コメント (0)

より以前の記事一覧