2014年6月4日水曜日

Mac OS X の Terminal で wav ファイルを m4a ファイルに 変換する


コマンドラインでwavファイルをm4aファイルに変換する


sayコマンドでwavを作る
$ say -v kyoko "こんにちは" -o ~/Music/hi.wav --data-format=LEF32@8000
出力フォーマットを指定しない場合は、aiffになる

wavファイルを mp4 audioファイルに変換する
$ afconvert ~/Music/hi.wav -f 'mp4f' -d 'aac' ~/Music/hi.m4a

コマンドラインで、変換済みのファイルを再生する
$ afplay ~/Music/hi.m4a &

コマンドラインで mp3 に変換する

brew install lame してある場合
$ /usr/local/bin/lame --alt-preset cbr 128 ~/Music/say_talk.wav

brew install ffmpegしてある場合
$ /usr/local/bin/ffmpeg -i ~/Music/hi.wav  -f mp3 -acodec libmp3lame ~/Music/hi.mp3

Mac OS X の command line で spotlight


command line で spotlight

コマンドラインで spotlight

rubyという単語を含むファイルを探す
$ mdfind "ruby"

rubyとrailstを含むファイルを探す
$ mdfind "ruby && rails "
mdfind "ruby  rails "

rubyとrailstまたはpythonとdjangoを含むファイルを探す
$ mdfind "(ruby && rails)||(python && django) "

rubyという単語を含み、かつ、pythonまたはperlという単語を含まないファイルを探す
$ mdfind "ruby -python -perl"


rubyという文字を含んだファイル名、かつ、pdfファイルを探す
$ mdfind "(kMDItemDisplayName = *ruby*) && (kMDItemContentType = com.adobe.pdf)"


mdls コマンドで、ファイルやフォルダのメタデータ属性の詳細を確認できる。


kMDItemKind = "Portable Document Format(PDF)"
kMDItemContentType = "com.adobe.pdf"
kMDItemNumberOfPages = 40
kMDItemFSSize = 840659
kMDItemLogicalSize = 840659
kMDItemFSName = "scheme-in-ruby.pdf"
kMDItemDisplayName = "scheme-in-ruby.pdf"

kMDItemKind = "電子出版物(ePub)"
kMDItemContentType = "org.idpf.epub-container"

kMDItemKind = "Video Media"
kMDItemContentType = "public.mpeg-4"
kMDItemDurationSeconds = 343.3983333333333
kMDItemPixelHeight = 720
kMDItemPixelWidth = 1280


kMDItemFSCreationDate = 2013-04-16 07:46:24 +0000
kMDItemContentCreationDate = 2013-04-16 07:46:24 +0000
kMDItemContentModificationDate = 2013-04-16 07:46:24 +0000


kMDItemKind = "Apple MPEG-4 オーディオ"
kMDItemContentType = "com.apple.m4a-audio"

kMDItemKind = "MP3 オーディオ"
kMDItemContentType = "public.mp3"
kMDItemAudioBitRate = 266000
kMDItemAudioChannelCount = 2
kMDItemAudioSampleRate = 44100
kMDItemDurationSeconds = 341.0808163265306


kMDItemKind = "JPEG イメージ"
kMDItemContentType = "public.jpeg"
kMDItemProfileName = "sRGB IEC61966-2.1"
kMDItemPixelHeight = 1244
kMDItemPixelWidth = 2122
kMDItemResolutionHeightDPI = 72
kMDItemResolutionWidthDPI = 72
kMDItemCreator = "Adobe Photoshop CS2 Windows"

kMDItemKind = "PNG イメージ"
kMDItemContentType = "public.png"
kMDItemResolutionHeightDPI = 300
kMDItemResolutionWidthDPI = 300
kMDItemCreator = "Adobe ImageReady"

kMDItemKind = "RAR Archive"
kMDItemContentType = "com.rarlab.rar-archive"

kMDItemKind = "ZIP アーカイブ"
kMDItemContentType = "public.zip-archive"

Mac OS X ターミナルから screenshot を 撮る

したいこと・しりたいこと・目標

Mac OS X の ターミナルから screenshot を 撮る
Mac OS X のTerminal から screenshot を 撮る
Mac OS X のCommand line から screenshot を 撮る
command line から screen caputre

実行サンプル
$screencapture ~/Pictures/screenshot_`date +%Y-%m-%d_%H%M%S`.jpg

実行サンプル カーソル付き
$screencapture -C ~/Pictures/screenshot_`date +%Y-%m-%d_%H%M%S`.jpg

実行サンプル カーソル付き、消音
$screencapture -xC ~/Pictures/screenshot_`date +%Y-%m-%d_%H%M%S`.jpg 

Mac OS X の コマンドラインから iSight で 撮影

Mac OS X の コマンドラインから iSight で 撮影

Mac OS X の コマンドラインから iSight で 撮影
Mac OS X の command line から iSight で 撮影

前提

Homebrewがインストール済みである

コマンドをインストール
$ brew install imagesnap

実行
$ imagesnap ~/Pictures/camera_`date +%Y-%m-%d_%H%M%S`.jpg

コマンドラインにメッセージを出さずに実行
$ imagesnap -q ~/Pictures/camera_`date +%Y-%m-%d_%H%M%S`.jpg

コマンドラインにメッセージを出さずに、かつ、3.5秒のウェイトをつけて実行
$ imagesnap -q -w 3.5 ~/Pictures/camera_`date +%Y-%m-%d_%H%M%S`.jpg

参考

http://iharder.sourceforge.net/current/macosx/imagesnap/
http://iharder.sourceforge.net/current/macosx/imagesnap/

Ruby から Mac OS X の Notification Center に通知を送る

rubyからMac OS XのNotification Centerに通知を送る


gemのインストール
$ gem install terminal-notifier      

サンプルファイル notification.rb
TerminalNotifier.notify('Hello World', :title => 'Terminal', :subtitle => 'Programming Language Ruby', :sound => 'Hero')     

実行
$ ruby notification.rb     

参考

https://github.com/alloy/terminal-notifier/
https://github.com/alloy/terminal-notifier/

コマンドラインで誤って大事なファイルを削除しないために rmtrash を使う


コマンドラインで誤って大事なファイルを削除しないためにrmtrashを使う


前提

Homebrewがインストールされている
Homebrew
http://brew.sh

rmtrashコマンドをインストール
$ brew install rmtrash

~/.bash_profile に 以下追記
alias rm="echo Use del, or full path name for rm"
alias del="rmtrash" #del is shorter as rmtrash, or simply use rmtrash directly

使い方

$ rm foo.txt
Use del, or full path name for rm foo.txt
警告される

$ del foo.txt
としても、
foo.txtは削除されず、~/.Trash/foo.txtに移動されるだけ。

ゴミ箱の中に移動されるだけなので、間違えたら戻すことができる。
ゴミ箱を空にした場合は、戻せない。

参考

http://apple.stackexchange.com/questions/17622/how-can-i-make-rm-move-files-to-the-trash-can
http://apple.stackexchange.com/questions/17622/how-can-i-make-rm-move-files-to-the-trash-can