Apple の脅威の通知と金銭目当てのスパイウェアへの対策について

しばらく返答が寄せられていないようです。 再度ディスカッションを開始するには、新たに質問してください。

macの出力音量を制限することはできますか?

macの出力音量を制限しておくことはできますか?


内蔵出力であれば、音量MAXにしてもさほど大きな音が出ないので問題ないのですが、

大型のスピーカーにも接続しているため、サウンド出力を大型スピーカーへ変更した際に、

音量調節キーに物が触れたりして爆音を出してしまわないようにしたいと思っています。

(スピーカー側ではなるべく音量調節したくありません。)


例えば、音量調節キーでメモリが10個までしか上がらないようにする、

というような事ができればベストなのですが、

そのような方法、もしくは類似の機能をもったアプリ等ありますでしょうか?



以下の解答の方法を試しましたが、

これにしたがって音量バーを動かしても出力中の音量が増減するだけでした。


"アプリケーション - ユーティリティー - Audio MIDI設定を起動し、

内蔵出力—内蔵スピーカーを選択

音量バーを左右に調整します"


「mac pcを使っているのですが音量に最大制限を付ける事は出来ますか?」

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1432925459

iMac (21.5-inch Mid 2010), Mac OS X (10.7.5)

投稿日 2013/09/09 19:11

返信
返信: 19

2013/09/09 21:20 kurod への返信

私には有効な回答ができないかもですが、

kurod さんによる書き込み:


(スピーカー側ではなるべく音量調節したくありません。)

他の機器もつながっていて、そちら要に固定していると言う事でしょうか。


また、Macとスピーカーはどのようにつながっているのでしょうか。

2013/09/09 21:43 ni_ki への返信

ni_kiさん



お返事ありがとうございます。


Macとスピーカーの間にはオーディオインターフェイスが繋がっています。

スピーカーとオーディオインターフェイスでも音量調整が可能ですが、

今回Mac内での音量制限をしたいと思っています。


このような構成です↓


Mac → オーディオインターフェイス → スピーカー


ちなみに、以下を使用しています。

Mac:OS 10.7.5
オーディオインターフェイス:Fireface 400
スピーカー:YAMAHA MSP5

2013/09/09 21:59 kurod への返信

kurod さんによる書き込み:


Macとスピーカーの間にはオーディオインターフェイスが繋がっています。

了解です。

それで、あえてお聞きしたいのですが、

スピーカーとオーディオインターフェイスでも音量調整が可能ですが、今回Mac内での音量制限をしたいと思っています。

これは何かワケがあるのでしょうか。

オーディオインターフェースとスピーカー間はアナログ伝送ですよね。デジタル側で音量を調整しない方がよいと来たことがありますけど。

2013/09/09 23:09 ni_ki への返信

ni_kiさん


早速のご回答ありがとうございます。


はい、オーディオインターフェイスとスピーカー間はアナログ伝送です。


当方DAW用途でこれらの機器を使用しています。

そして、機器のポテンシャルを発揮するために、オーディオインターフェイスとスピーカーの音量はあまりしぼりたくないと思っています。


スピーカー(YAMAHA MSP5)のつまみは12時の方向
オーディオIF(Fireface 400)もソフトウェアのミキサーで±0にしています。

この状態だと、Macの音量調節キーがメモリ5つで十分に大きな音量が出ます。(85db前後)

メモリ6つ、7つまで上げると相当な音量が出ます。


そのため、音量調整というよりは、

誤動作やバグによる爆音防止のためにMac内での「音量制限」ができればと思っています。

2013/09/10 11:46 kurod への返信

誤動作やバグによる爆音防止のためにMac内での「音量制限」ができればと思っています。


これができるユーティリティはWinにはありますが、Macでは見当たりませんね。もっともこれを行うためにはオーディオ出力をリアルタイムで監視して抑制する必要がありますのでDAWとの共存はCPUに負荷をかなりかける事になるかもしれません。


回避方法としては二つ

1.Macのキーボードに割り当てられている音量調整機能を使用するときにFnキーを押さなければいけないように設定する。これによって人為的な誤動作をある程度防げます。

2.システムからの音声出力は内蔵スピーカーから出力して、オーディオインターフェースはDAW専用として使用する。こちらの方が現実的かもしれません。


またOSやアプリのバグを想定してそれを防ぐため為に別のユーティリティを導入するという考え方は避けた方がいいと思います。既知のバグで爆音が出てしまう事があるのであればそれを書いてもらえればヒントになるかも。

2013/09/10 15:45 やすどん への返信

やすどんさん


ご回答ありがとうございます。



1.Macのキーボードに割り当てられている音量調整機能を使用するときにFnキーを押さなければいけないように設定する。これによって人為的な誤動作をある程度防げます。



この機能は知りませんでした!

物理的な誤動作はこの方法でほぼ防ぐことができますね。



2.システムからの音声出力は内蔵スピーカーから出力して、オーディオインターフェースはDAW専用として使用する。こちらの方が現実的かもしれません。



基本的にはこの使い方ですが、itunesやブラウザ上の曲もオーディオインターフェイス経由で聞きたい場合がありますので、完全に用途を分けるのは難しいです。



既知のバグで爆音が出てしまう事があるのであればそれを書いてもらえればヒントになるかも。



以前macを再起動するたびに音量が最大になってしまうバグがあったので、
(現バージョン10.7.5では問題ないのですが。)
同じようなバグが出た際、つい気付かずにDAWとスピーカーを立ち上げてドンッ!ということを危惧しています。

(そのため、現在は出力装置をかえる際、音を出力する前に、念のため音量調整キーを押して音量を確認するという人為的な作業を必ずしています。)



どうやら現行のMac OSに音量制限を設定する機能はなさそうなので、

物理的な誤動作の予防策としては1の方法をとらせて頂きます。

有益なご回答ありがとうございます。


iphone、ipodではヘッドホン難聴を予防するために音量制限を設定する機能があるようなので、

是非とも類似の機能をMac OSにもつけてもらいたいところです。

2013/09/10 19:16 kurod への返信

AppleScriptです。


1秒ごとにボリュームを監視して、メモリが5以上の場合は5にします。


下記スクリプトをAppleScriptエディタの新規ファイルにペーストし、

アプリケーション形式で保存します。



repeat


seta1tooutput volumeof (get volume settings)

if a1 > 50 then set volume output volume 50


delay 1

endrepeat

2013/09/10 19:26 kurod への返信

kurod さんによる書き込み:


(そのため、現在は出力装置をかえる際、音を出力する前に、念のため音量調整キーを押して音量を確認するという人為的な作業を必ずしています。)

本格的な解決ではなくて小手先のワザですが、AppleScriptで出力装置の変更をするようにすると、運用でごまかしが効くようです。

私はスクリプトが組めないので、ネットで拾ってきてつぎはぎしたら何とかなりました。


ボリュームの変更と出力装置の変更をするスクリプトです。これなら常時監視より負荷が少ないと思われます。

「サウンドを出力する装置を選択:」の上から何番目に目的の出力装置があるかでsound_pref_output(x)の「x」変える必要があります。

音量はset volume yのyに数値を入れます。「0」が無音のようです、「1」とか入れてみて音量を試して見て下さい。いくつが最大化は調べておりません。


set volume y

sound_pref_output(x)


--システム環境設定 >> サウンド >> 出力 >> サウンドを出力する装置を選択

-- 1=内蔵スピーカー・ヘッドフォン

--

on sound_pref_output(n)

tell application "System Preferences"

set current pane to pane "com.apple.preference.sound"

tell application "System Events" to tell process "System Preferences" to tell window 1


clickradio button "出力" of tab group 1 -->タブ,1,missing value

delay 0.5


selectrown of table 1 of scroll area 1 of tab group 1 --

end tell

end tell

end sound_pref_output


tell application "System Preferences" to quit


以下のホームページを参考にさせて頂きました。

http://d.hatena.ne.jp/zariganitosh/20130228/join_audio_files

2013/09/10 20:38 uni-factory への返信

uni-factoryさん


ご回答ありがとうございます。


ご提案頂いたスクリプトを実行したところ、

ボリューム監視による音量制限ができました。


apple scriptを使ったことがなかったのですが、

スッキリとしたコードなので安心して使えそうです。

また、メモリもほとんど食わないようなので実用性がありそうです。


ただ、この場合全ての出力先にこのスクリプトが適用されてしまうのですが、

(内蔵スピーカーや、その他に接続しているオーディオインターフェイスにも適用されてしまう)
スクリプトの適用をひとつの出力装置に限定することは可能でしょうか?

2013/09/10 20:51 ni_ki への返信

ni_kiさん


度々ありがとうございます。


ご提案頂いたスクリプトを実行したところ、

「指定したオーディオインターフェイスに出力先が切り替わり、

かつ、あらかじめ設定した値yに比例した音量に変更する」ということが実現できました。


音量はset volume yのyに数値を入れます。


yの値は音量バーのメモリの数ときっちり対応はしていないものの、

比例しているようですね。

(こちらで試した結果、yを1に設定すると音量バーが3、2に設定すると音量バーが5、
1.5と設定すると音量バーが4、という具合になりました。)


おっしゃる通り、単体で本格的な解決にはなりませんでしたが、
この方法と、やすどんさんの方法を組み合わせると、

出力装置変更の際にする音量確認の手間が省け、かつ、物理的な誤動作の予防ができますね。


有益なご回答ありがとうございます。

2013/09/10 21:38 kurod への返信

kurod さんによる書き込み:


「指定したオーディオインターフェイスに出力先が切り替わり、かつ、あらかじめ設定した値yに比例した音量に変更する」ということが実現できました。

先の書き込みで書き忘れておりました。ご存じかもですがAppleScriptはアプリケーションとして保存できます。スクリプトがそのままアプリケーションになるので、今回の様な場合は単一機能のアプリケーションとなります。アプリケーション化してそれをデスクトップやDockに置いておくとダブルクリックするだけでデバイスを変更できます。つまり外部デバイスと内蔵デバイスの二つを用意しておけば、変更が楽にできると思います。よろしければお試し下さい。


yの値は音量バーのメモリの数ときっちり対応はしていないものの、比例しているようですね。

(こちらで試した結果、yを1に設定すると音量バーが3、2に設定すると音量バーが5、1.5と設定すると音量バーが4、という具合になりました。)

その後、調べた0がMinで8がMaxのようです。試行錯誤で何とか対応するしかないです。

おっしゃる通り、単体で本格的な解決にはなりませんでしたが、

申し訳ない^^;


「役に立つ」等は時の運ですし、今回はリンク先の方のものを流用です。なので、リンク先の方に感謝して頂ければ幸いです。(先方に感謝の書き込みを強制、と言う意味ではないですよ。心の問題と言う事で^^)

2013/09/10 22:17 kurod への返信

ただ、この場合全ての出力先にこのスクリプトが適用されてしまうのですが、

(内蔵スピーカーや、その他に接続しているオーディオインターフェイスにも適用されてしまう)
スクリプトの適用をひとつの出力装置に限定することは可能でしょうか?

現在の出力装置を取得するコマンドがないのですよね。

色々入れればできるようになるのですが、中々面倒です。

手動でon offでしょうか。。



yの値は音量バーのメモリの数ときっちり対応はしていないものの、

比例しているようですね。

私のスクリプトを流用すれば0〜100で決まった数値にできるはずです。


select row n of table 1 of scroll area 1 of tab group 1 --

end tell

end tell

end sound_pref_output


この部分を


end tell

end tell

set volumeoutput volume n

end sound_pref_output


こうすればいいですね。



あと、出力装置などの変更は「メニューバーに音量を表示」のチェックが入っていれば、

オプションを押しながらメニューバーの音量をクリックすることでもできます。


今回のと関係ありませんが、

オブション+シフト+ボリュームキーで1メモリの1/4単位で音量を調整できたりとかの小技もあります。

2013/09/10 22:49 uni-factory への返信

uni-factoryさん

現在の出力装置を取得するコマンドがないのですよね。

色々入れればできるようになるのですが、中々面倒です。

手動でon offでしょうか。。


そうですよね。。

当面は手動操作で頑張ります><


私のスクリプトを流用すれば0〜100で決まった数値にできるはずです。


select row n of table 1 of scroll area 1 of tab group 1 --

end tell

end tell

end sound_pref_output


この部分を


end tell

end tell

set volumeoutput volume n

end sound_pref_output


こうすればいいですね。


これを試しましたが、うまくいきませんでした。

ただ、ni_kiさんのコードで動作するので問題はありません。


出力装置などの変更は「メニューバーに音量を表示」のチェックが入っていれば、

オプションを押しながらメニューバーの音量をクリックすることでもできます。


私の場合、「option+音量ボタン」のショートカットで出力装置の選択画面を出しており、

これも便利です。その後tabを押して矢印キーを使えばキーボードで動作が完結します。
(これはログを閲覧する人のための記述です。)

macの出力音量を制限することはできますか?

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple ID を使ってご参加ください。