2013年8月16日

サウンドファイルをコマンドラインで変則再生するplayとafplay

音声ファイルの変則再生をしたいなら、基本的にはQuickTimePlayerを使えばOK。
どうしてもコマンドラインで再生したい! という場合は、
以下のツールが候補となる。

・play (soxi; http://www.hcn.zaq.ne.jp/___/unix/sox-ja.html)
・afplay (Appleが標準で提供しているツール)

・普通に再生してみる
play sound.aiff

afplay sound.aiff


・逆再生してみる
play sound.aiff speed 0.5 reverse

※afplayでは逆再生機能なし

・再生範囲を指定する
play sound.aiff trim 30 20 // 30秒目から20秒間再生

play sound.aiff trim 0:30 0:20 // 30秒目から20秒間再生。コロンを利用した表記


・再生範囲の長さを指定しない場合、ファイルの終端まで再生する
play sound.aiff trim 30 // 30秒目からファイルの終わりまで


m4aファイルを扱う場合は、afplayコマンド一択になる。
高機能なplayを利用したい場合は、qt_exportなどでm4a->aiffなどに変換してから利用する。
qt_export sound.m4a sound.aiff



2013年6月23日

Syphon for QCのパッチがスクリーンセーバとして動かない(OS X 10.6)

2013.6.23 追記: こちらで議論されてる問題と類似のようで、bangnoise氏が添付しているSyphon.pluginを使うとエラー解消しました。
http://v002.info/forums/topic/syphon-qc-xcode/

MacOSX10.6.8でSyphon for QCのクラインアントパッチをスクリーンセーバとして起動すると何も表示されない件。

どうやらスクリーンセーバエンジンでエラーになっている模様。
プラグインが10.6.8と相性が悪いみたい。試しに同じことを10.8.2で試したところ問題なく動いたので。

$ /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine  -background 

2013-06-23 04:17:42.921 ScreenSaverEngine[43988:903] *** QCPlugIn: Cannot preflight plug-in at path "/System/Library/Graphics/Quartz Composer Plug-Ins/Syphon.plugin" (Error Domain=NSCocoaErrorDomain Code=3587 UserInfo=0x2000f66e0 "The bundle “Syphon” couldn’t be loaded because it is damaged or missing necessary resources." (dlopen_preflight(/System/Library/Graphics/Quartz Composer Plug-Ins/Syphon.plugin/Contents/MacOS/Syphon): Library not loaded: @loader_path/../Frameworks/Syphon.framework/Versions/A/Syphon

  Referenced from: /System/Library/Graphics/Quartz Composer Plug-Ins/Syphon.plugin/Contents/MacOS/Syphon

  Reason: no suitable image found.  Did find:

    /System/Library/Graphics/Quartz Composer Plug-Ins/Syphon.plugin/Contents/MacOS/../Frameworks/Syphon.framework/Versions/A/Syphon: GC capability mismatch

    /System/Library/Graphics/Quartz Composer Plug-Ins/Syphon.plugin/Contents/MacOS/../Frameworks/Syphon.framework/Versions/A/Syphon: GC capability mismatch))

2013-06-23 04:17:42.927 ScreenSaverEngine[43988:903] *** : Patch with name "QCPlugInPatch:SyphonClientQCPlugIn" is missing
2013-06-23 04:17:42.928 ScreenSaverEngine[43988:903] *** Message from :
Cannot create node of class "QCPlugInPatch" and identifier "SyphonClientQCPlugIn"
2013-06-23 04:17:42.931 ScreenSaverEngine[43988:903] *** : Patch with name "QCPlugInPatch:SyphonServerListQCPlugIn" is missing
2013-06-23 04:17:42.931 ScreenSaverEngine[43988:903] *** Message from :
Cannot create node of class "QCPlugInPatch" and identifier "SyphonServerListQCPlugIn"
2013-06-23 04:17:42.932 ScreenSaverEngine[43988:903] *** Message from :
Cannot create connection from ["outputImage" @ "PlugInPatch_SyphonClientQCPlugIn_1"] to ["inputImage" @ "Billboard_1"]
2013-06-23 04:17:42.933 ScreenSaverEngine[43988:903] *** Message from :
Cannot create connection from ["outputServers" @ "PlugInPatch_SyphonServerListQCPlugIn_1"] to ["inputStructure" @ "StructureMember_index_1"]
2013-06-23 04:17:42.934 ScreenSaverEngine[43988:903] *** Message from :
Cannot create connection from ["outputMember" @ "StructureMember_key_1"] to ["inputServerName" @ "PlugInPatch_SyphonClientQCPlugIn_1"]
2013-06-23 04:17:42.934 ScreenSaverEngine[43988:903] *** Message from :
Cannot create connection from ["outputMember" @ "StructureMember_key_2"] to ["inputServerApp" @ "PlugInPatch_SyphonClientQCPlugIn_1"]
2013-06-23 04:17:42.935 ScreenSaverEngine[43988:903] *** State restoration failed on 



ちなみに10.8の場合、作成したスクリーンセーバは、/Library ではなく、ユーザホーム下のLibrary下に置いてやらないと、システム環境設定で認識されない、というちょっとした罠があるので注意。


2012年8月20日

[Quicksilver]無効になったファイルを検索結果から除外する

ランチャとしてQuicksilverを常用しているが、マシンの移行を境に検索結果に?マークアイコンのファイルが混じるようになった。

経緯と事象としてはこうだ。
・旧マシンの内容をOSごとディスクイメージを介して新マシンに移行した。
・ディスクのパーティション構成を移行前後で変更した。(以前はUsers下を、OSとは別ドライブに配置していた)
・Quicksilverを使うと、過去利用していたドライブ下のファイルが検索結果に表示されてしまう

検索結果にノイズがまじると使い勝手がわるい、というかこの手のツールの存在意義に関わる。

"Quicksilverを再インストールする"、"メニューから初期化する"、という手段もあるが、
ことに検索パスは自環境に合わせて設定していることもあり、設定を復元するのは手間だ。

カタログだけ再構築する方法を調べてみたところ、下記記事がヒットした。

Outdated data - how do I reset the QS database?

記事によると、
QuicksilverのForceRescan機能を使って、ファイル実体と紐つかないカタログインデックスを削除してやればよいが、普段はこの機能は非表示になっている。

手順は次のとおり。
  1. Catalog  > 左ペインからQuickSilver > Sources: "Internal Objects and Commands" にチェック
  2. 右下のボタンでリスキャン開始
  3. Quicksilverメインメニューを起動して  "force rescan" とタイプ
  4. Quicksilverの内部コマンド "Force Catalog Rescan"が候補表示されるので、選択して実行

自分の環境では2,3秒ほどで検索結果が更新された。



2012年7月16日

MacBookAir(Late 2010)とSSD化したMacBook4.1(Early 2008)のベンチマーク比較

SnowLeopardが動く環境が必要だったので、中古のMacBookAir3.1(Late 2010)を入手した。
諸々移行を済ませて、さっそく前任のMacBook4.1(Early 2008)とベンチマークを比較してみる。

ディスクのスピードを比較してみると、APPLEのSSDがSequentialの読み書き、Randomの読みにおいて、C400に勝っている、という結果を得た。

■MacBookAir (APPLE SSD TS128C)
  Sequential  スコア: 175.06 
  -- Uncached Write  238.96  146.72 MB/sec [4K blocks]
  -- Uncached Write  285.50  161.54 MB/sec [256K blocks]
  -- Uncached Read    79.48   23.26 MB/sec [4K blocks]
  -- Uncached Read   387.79  194.90 MB/sec [256K blocks]
  Random      スコア: 490.99 
  -- Uncached Write  300.44   31.81 MB/sec [4K blocks]
  -- Uncached Write  384.56  123.11 MB/sec [256K blocks]
  -- Uncached Read  1446.93   10.25 MB/sec [4K blocks]
  -- Uncached Read   654.92  121.53 MB/sec [256K blocks]

■MacBook4.1 (Micron C400-MTFDDAC128MAM)
  Sequential  スコア: 132.85 
  -- Uncached Write  185.97  114.18 MB/sec [4K blocks]
  -- Uncached Write  177.17  100.24 MB/sec [256K blocks]
  -- Uncached Read    68.47   20.04 MB/sec [4K blocks]
  -- Uncached Read   223.11  112.13 MB/sec [256K blocks]
  Random      スコア: 584.18 
  -- Uncached Write  804.02   85.11 MB/sec [4K blocks]
  -- Uncached Write  323.43  103.54 MB/sec [256K blocks]
  -- Uncached Read  1340.36    9.50 MB/sec [4K blocks]
  -- Uncached Read   566.40  105.10 MB/sec [256K blocks] 

2012年3月31日

[applescript]QuickTimePlayer7をbashから音声パンさせる

QuickTimePlayer7で再生中のムービーのステレオ出力を、シェルから制御するサンプルです

コントローラ側(bash)
# bash引数によるQT7のパンニング
for i in {-128..128}; do 
echo $i;
~/script/QT_ChangeSoundBalanceArgvTest.scpt $i;
sleep 0.01;
done;

AppleScript側
-- QT7 の各種パラメータを変更するApplescript
--
-- osascriptから呼び出して使用
--   引数1: 音声パン. L - R で -128.. 128 

on run argv
 tell application "QuickTime Player 7"
  set targetMovie to the name of document 1
  tell document targetMovie
   set sound balance to item 1 of argv
  end tell
 end tell
end run

2012年1月28日

PDFファイルをMOVファイルに変換する

ghostscriptコマンドとQuickTimePlayer7を使って, PDFファイルをMOVファイルに変換します.
AdobeのAcrobatに同様な機能があるが, 出力ファイル名を指定できないもよう.
ghostscriptを使うと, 出力ファイル名をオプションで指定することができます.

1. ghostscript
gs -dSAFRE -dBATCH -dNOPAUSE -sDEVICE=jpeg -sOutputFile=test_%d.jpg test.pdf

一つのPDFファイルに対して, ページごとの画像ファイルが作られるので,これをQuickTimePlayerでムービー化する.
ファイルが大量に作られるので, あらかじめ作業フォルダにまとめておきましょう.


2. QuickTimePlayer
File  > Open Image Sequence..

作成したtest_1.jpgを指定.
フレームレートは適宜指定する.

2011年5月4日

MacBook(Early 2008)をSSD化する

MacBook 4.1(Early 2008)をSSD化してみた.

使用したのは Micron RealSSD c400.
SATAコントローラのLink Speedが1.5GBと旧規格なのが若干不安材料だったけれども,
それも杞憂だったと思わせる爆速っぷり.


以下, 交換前後のXbenchによるスコア.

■交換後 Micron C400-MTFDDAC128MAM
  Sequential  スコア: 132.85 
  -- Uncached Write  185.97  114.18 MB/sec [4K blocks]
  -- Uncached Write  177.17  100.24 MB/sec [256K blocks]
  -- Uncached Read    68.47   20.04 MB/sec [4K blocks]
  -- Uncached Read   223.11  112.13 MB/sec [256K blocks]
  Random      スコア: 584.18 
  -- Uncached Write  804.02   85.11 MB/sec [4K blocks]
  -- Uncached Write  323.43  103.54 MB/sec [256K blocks]
  -- Uncached Read  1340.36    9.50 MB/sec [4K blocks]
  -- Uncached Read   566.40  105.10 MB/sec [256K blocks]

■参考 交換前 [Seagate Momentus 7200 320GB SerialATA]
  Sequential  スコア: 88.48 
  -- Uncached Write  142.02   87.20 MB/sec [4K blocks]
  -- Uncached Write  143.23   81.04 MB/sec [256K blocks]
  -- Uncached Read    52.69   15.42 MB/sec [4K blocks]
  -- Uncached Read    81.91   41.17 MB/sec [256K blocks]
  Random      スコア: 32.67 
  -- Uncached Write   10.21    1.08 MB/sec [4K blocks]
  -- Uncached Write  156.93   50.24 MB/sec [256K blocks]
  -- Uncached Read    89.54    0.63 MB/sec [4K blocks]
  -- Uncached Read   144.81   26.87 MB/sec [256K blocks]
 

2011年3月20日

ファイルタイプ・クリエータ名を取得する

ファイルタイプもクリエータ名もMacOS9時代の産物で,
MacOSXではもはや使用されていないらしいのだが,
一応確認するためのコマンドがOS Xにもインストールされているっぽい.

使い方:
GetFileInfo file
結果サンプル:
~$ GetFileInfo /Users/boe/Desktop/track01.midi 
file: "/Users/boe/Desktop/track01.midi"
type: "\0\0\0\0"
creator: "\0\0\0\0"
attributes: avbstclinmedz
created: 03/19/2011 19:59:24
modified: 03/19/2011 19:59:24
~$ 

この場合, ファイルタイプ/クリエータともにnullってことですかね..

GUIだと, "iLikeYouMore" というちょっと素敵な感じのアプリがあります.
MOONGIFT - ファイルタイプとクリエイター変更「iLikeYouMore」

2011年3月19日

QuickTimePlayer 7で再生中のファイルの再生速度を変更するスクリプト

QuickTimePlayer 7で, 再生中のファイルの再生速度を変更するスクリプト.

Change the playback speed of a file playing on QuickTimePlayer 7

-- ムービーの再生速度を変更する
tell application "QuickTime Player 7"
  set targetMovie to "Kick"
  tell document targetMovie
    set preferred rate to 2.0
    play
  end tell
end tell

3行目のKickは, QuickTime上で見えているコンテンツタイトルに変更のこと.

キーワード"rate"ではなく, "preffered rate"を使うのがよいみたい.

動作検証:
OSX: 10.6.6
ScriptEditor: 2.3(118)

Finder ラベルを変更するAppleScript

選択したFinder項目のラベルを変更するスクリプト.
(ドロップレットにする場合)

Change the Label of Selected Finder Item
Using as a dropplet

-- Finder選択項目のラベルを変更する
on open theDrops
  tell application "Finder"
    if number of (selection as list) = 1 then
      set selectedItem to first item of (selection as list)
      set colVal to label index of selectedItem
      set colVal to (colVal + 1) mod 8
      set label index of selectedItem to colVal
    end if
  end tell
end open

動作検証:
OSX: 10.6.6
ScriptEditor: 2.3(118)

2010年12月12日

画像からコンタクトシート作成する時のメモ

同一のサイズの画像をマージして、一つのファイルにする際は、
GraphicConverterを使うと手間が少ない。

・Concat
  一列、一行あたりのファイル数を指定できる。

・Catalog
 コンタクトシートの作成を意識している。印刷する前提なら、Concatではなくこちらを使うとよい。余白の寸法、背景色、ファイル名の表示設定が可能。
 出力されるファイル形式がpict形式になる。

使用ソフト:
 GraphicConverter4.9
 Mac OSX 10.5.8

2010年5月30日

アプリの言語を切替えてみる

Macネタ。

OSを英語、一部アプリを日本語で、なんて使い方をする場合の、
かゆいところに手が届くツールの備忘録を上げておきます。

・アプリケーションごとに、使用する言語を切り替えたい
 LangSwitch
 OSは英語でインストールしてるけど、Safariは日本語で使いたい、
 なんてときにこれで設定してやる。

アプリケーションダウンロードしてくると、
日本語と英語以外のリソースは普通は使わないので、削除しましょう。

・システムの言語リソースを削除したい
 Monolingual
 システムに必要なリソースを削除する可能性があるので、使用の際はご注意を。

・アプリケーションごとの言語リソースを削除したい
 Xslimmer
 シェアウェアなのでフリーで使うときは上限制限があるみたい。

以上!

 

2010年3月31日

携帯メールをPCで閲覧できる1つのファイルに変換する

過去に使っていた携帯端末のメールを精査する必要があったので、メールのバックアップからテキストファイルを作ってみた。

ポイント
 ・メール(VMGファイル)は実体はテキスト
 ・1メッセージ=1ファイルなので、閲覧性を考慮して、適当に結合してやる
 ・携帯-PC間の、文字コード差異を考慮する必要あり

というわけで、メッセージファイルのあるディレクトリで
下記のコマンドを投げてやればOK
cat *VMG | nkf -w > hoge.txt

------
環境は下記のとおり
携帯: a5404s (au)
PC: MacOS X 10.5

2010年1月28日

Finderでtouchする

Finderのデフォルトのキーボードショートカットでは "Cmd+N"が「新規ウィンドウを開く」で、"Cmd+Shift+N"が「新規フォルダを作成する」

「新規テキストファイルを作成する」はショートカットがないし、そもそもメニューバー上にも用意されていない。

新規テキストファイルくらいは、ボタン一発で作りたいところ。
というので、Applescriptを書いて、Sparkから呼び出せるようにして対処してみた。

#Finderの選択場所に新規ファイルを作成する
tell application "Finder" to make new file at (the target of the front window) as alias