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

2009年12月15日

MaxMSP コーディングメモ(推敲中)

Max/MSPで大掛かりなパッチを効率的に作るときの覚え書き。
Max/MSP はver.4.6想定。

--------------------------------------------------------------------------------
・一つのサブパッチの中にreceiveをいくつも作らない
 ・receiveの名前は、そのサブパッチの名前と同じものを一つだけつくる
 ・receiveでは[タグ 数値]や[タグ リスト]の形式で受けて、適宜必要に応じてrouteする
 ・結果的に、サブパッチのinlet/outletは0〜1個にとどめることになる

・サブパッチに名前をつける時は、役割名で名前をつける。機能名ではなく

 例) [p movieDistributer]
   × [p distbuteMovie]

・複数インスタンスへのメッセージ送信を行う時は、forwardを使う。
   アペンディックス"00"はダミーとする

・ある程度内容がfixされたサブパッチは、パッチャーオブジェクト化する。
   patcherと地続きなファイル名にすると、後で修正が必要になったときに両ファイルの間を行き来しやすい。

  例)
 [p documentsender]    // サブパッチ
  → [p_documentsender] // パッチャーオブジェクト

・パッチ中でメッセージを編集・加工する必要がある時はshellオブジェクトを活用する。
  ・forループ書く場合、リストの要素を1個ずつ繰り返し処理する場合などはシェルスクリプトで済ませた方が、テストもメンテナンスも圧倒的に楽。

・maxカーネルメッセージを使って、ポリモーフィズムを実践する。
 ・詳細が決まってないときに、とりあえず動かす場合にも使える。

  例)
 [; allplayers read test.mov]   // 同じクラスのインスタンスすべてに送信
 [; player01   read test.mov] // インスタンスを指定して送信

  [; allplayers vol 0.] // すべてのメディア制御オブジェクトのボリュームを0に設定する
  // jit.qt.movieなど。@でオブジェクト内部指定するよりハンドリングが楽になる

--------
■メモ
・パッチを開く時に、commandキーとshiftキーの両方を押しておくと、loadbangを無効化できる
・パッチ最上位で何も選択せずGetInfoすると、インクルードしているオブジェクトをmaxウィンドウに出力する


2009年9月15日

RjDj Team @TMUG Bridge, 2009.09.13

RjDjTeamはiPhoneアプリ「RjDj」の開発チームで、イギリスはロンドンを本拠に、ソフトウェアのデザインを通じて新しい音楽の形態を探っている。

今回のプレゼンはRjDjTeamのメンバーの一人、Robertによるもの。
主な内容を覚書きとしてまとめておく。

-------------------------------
1. RjDjの紹介
 ・ソフトウェアそのものが音楽であり、楽譜や録音に定着されない音楽体験をもたらす
 ・Digital Drug, "Mushroom without mushroom" , Surreal Musicというような言及も
 ・iPhoneSDKの知識は不要。代わりにPureDataの知識を必要とする。
 ・デベロッパープログラムに加入せずとも、iPhoneで動くオーディオアプリを作成できる
 ・種々の入力情報をもとに、音、音楽、音響etc. を生成する
   ・マイクから音声入力
   ・スクリーンのタッチ検出
   ・加速度センサーによる運動の検出
   ・位置情報(GPS)
   ・ネットワーク: TCP,UDP,ゆくゆくはHTTPも。
 ・RjdjはPdパッチの実行環境
 ・Webサイトを経由で、自作パッチをiPhoneにインストールする
 ・パッチテンプレートや、高機能なライブラリが用意されている

-------------------------------
2. 反応音楽レーベル "Kids on DSP" の紹介
 ・RjDjを使って音楽流通の新しい形態を模索する進行中のプロジェクト
   ※どうやら開発チームがプロジェクトの主体らしい
 ・Carl CraigやAcid Pauliが制作したシーンをiTunesStoreで購入できるようになる。
 ・価格は1本 4〜5ドル程度 (※シーンだかアルバムだかは失念)
 ・ドッペルゲンガー、タイムクルージングなどのシーンを再生(※実行というべきかデモというべきか)

-------------------------------
3.シーンを作ってみるデモ
 ・制限時間10分のライブコーディング
 ・Pdでプログラムを実行しつつパッチング
   ※プログラムの詳細は割愛。後日サイトにアップされてシェアされるらしい
 ・RjDjライブラリのステップシーケンサー、リバーブなどをフル活用

-------------------------------
■個人的に気になったポイントなど
  ・大傑作シーン "あつけ"
  ・シーンの配布サイトがTumblrの一角
  ・RjDjライブラリが充実してる。Pdでオーディオしてる人はDLしてみるといいかも


イベントのリンク
TMUG presents Bridge

RjDjデモ
RjDj Sprint Tokyo_demo

TMUG Sprintのサイト
http://rjdjtokyo.tumblr.com/

dNA@TMUG Bridge, 2009.09.13

アルスエレクトロニカでも受賞経歴のある、アンビルドな建築ユニット doubleNegativesArchitectureがプレゼンテーションを行い、その様子を見てきたので、備忘録がてら内容をまとめておく。

(建築系のプレゼンを受けるのに不慣れで、またつたない理解で書いてる点はご容赦を・・)

-------------------------------
トピックとしては2つ。
  1.  近作のインスタレーション事例紹介
  2.  空間表記法 SuperEye の説明
-------------------------------
1. 近作紹介
 ・リンツ、山口で会場を変えて行われたインスタレーション
 ・ユニット化されたセンサーを、対象の建物の各所に据えつけ
   ・センサー数のオーダーは20〜30
 ・センサーから収集される微所的な環境情報をリアルタイムに取得
 ・センサーは個々が計画的に配置されており、個々がネットワークのノードである
 ・取得した環境情報を、ネットワークにフィードバックさせて、ノード間の関係をリアルタイムに変化させる
 ・レンダリングした3次元の構造物と実際の建物を重ね合わせて提示

-------------------------------
2. SuperEye - 空間の知覚・表記の代替手法の提案
 ・客観的な視点から出発して構築されるのが従来の建築物
  →主観的な視点から出発して構築される構造は?
   ・蟻塚、蜂の巣、珊瑚
   ・boid, Flock  
  →いずれも構築の主体は、全体像を持っていない
 ・直交座標系 --- 立面図、平面図、パース
  → 極座標系 ---SuperEye, 飛行機や潜水艦のレーダ
 ・SuperEyeによる空間解析のケーススタディ
  ・サヴォワ邸スロープ前を平面に落とし込んでみる
  ・太陽の昇降運動を落とし込んでみる
-------------------------------

イベントのリンク
TMUG presents Bridge

2009年9月14日

ミシェル・ゴンドリーのビデオ術 2

youtubeから。
making of Star Guitar

Chemical Brothersのダンストラック"Star Guitar"のビデオは、音楽に合わせて車窓の風景が変化するという、シンプルだが奥の深いビデオ。

そのメイキングビデオがyoutube上にあがっており、観ると
奇才と呼ばれるミシェル・ゴンドリー監督の頭の中がちょっとだけ覗けたような気分になれる。


メイキングの内容は大きく2つで、新しいビデオのコンセプトを検証する行程が収められている。

 1. 机上でトラックを聴きながら、構造をメモしていく様子
 2. 屋外で撮影したプロトタイプ。フルーツやフォークなどがトラックに合わせたタイミングでフレームに入り続ける (7:20頃〜)

有名な、車窓の風景は登場しない。

  

ミシェル・ゴンドリーのビデオ術

White Stripes のミュージックビデオ"Fell In Love With A Girl"は、レゴを素材にしたストップモーションアニメで、ミシェル・ゴンドリー監督の代表作の一つ。

随所に映るバンドの動きや顔のアップの表情が、通常のアニメとはちょっと違うような気がしたので、その秘訣を掘ってみた。

以下は http://www.director-file.com から。
RES gives a full account of Gondry's process. "I really like the basic-ness of the music - one voice, one guitar, and one drum. I like this concept, and I thought it was very close to the primary color of the Lego blocks." On the video's creation: "We shot a very basic video of the band [in London], we edited it and then we had a program that pixelized the video, roughly the size of the Lego blocks and then we printed each frame [25 frames per second] on paper. Then we had an animation team building up Lego blocks to match each frame. Then we reshot each of those frames on a film camera. We didn't have enough Legos to do more than five frames at a time, so after five frames were shot [the Legos] were demolished to build the next five frames."


手順を簡単にまとめると、

1. 撮影と編集
バンドの演奏、プールに飛び込みなどのシーン。ここまでは普通。

2. ビデオをピクセラレート
各フレームをレゴで組める解像度までダウンサンプリングする。

3. 映像の各フレームを紙に出力する
25コマ/秒で!

4. 組立てチームが紙を元にレゴを組み立ててコマ撮り撮影
5フレーム分しかレゴの手持ちが無いので、5フレーム単位で組立て〜撮影を行ったとのこと。


できたビデオはこちら。(youtube)
Fell In Love With A Girl - White Stripes

2009年5月5日

テキストの中の単語数を調べる

テキストファイルにある単語の数を調べるコマンド。
「入門Unix for Mac OS X」から。
tr -cs "[:alpha:]" "\n" < sometext.txt | tr "[:upper:]" "[:lower:]" | sort | uniq | wc -l

考え方としては
 1. 改行を取り除く(?)
 2. 大文字を小文字に変換する
 3. アルファベット順に整列して、単語の重複を排除
 4. 行数カウント