日曜日, 6月 29, 2008

py-appscript

面白そうなのでやってみた。
py-appscriptでiTunesで再生中の曲を取得する

sh setuptools-0.6c8-py2.5.eggのとこでzlibがなくてinstallできない。ここで少しはまった。
zipimport.ZipImportError: can't decompress data; zlib not available

わざわざzlibをインストールしたけど、pythonをコンパイルし直すとかよくわからず。
もういいやと思ってpythonのバイナリ入れ直そうかと思ったけどエラーでインストールできない。

macportsでpythonを入れてあるのが原因ぽく、Python macports zlib で検索。
» ( ゚∀゚)o彡° Python! Python! easy_install! MacPorts! | ヲゾゾ wozozo blog

ということで、terminalから

sudo port install py25-zlib

すればうまくいって、

sh setuptools-0.6c8-py2.5.egg

も無事できた。

わからないことだらけ。

>>> import appscript
>>> itunes = appscript.app('iTunes')
>>> print itunes.current_track.album.get()
Baby cruising Love/マカロニ

でも安心できるの(一応動いたので)。
いまさらながらtwitter自動ポストとかもできるな。やらないけど。これとあれを組み合わせればできるなとか、別の言語でやる場合はこれに似た何かを探せば(できることなら作れば)いいんだなとかがわかれば収穫。やった気になって何もしないのは駄目だと思うけど。

これやりたい。
pachube :: connecting environments, patching the planet - Map of feeds

ipod、通勤中聴くけど、朝と夜ではあんまり意識してないけどボリュームが違ってて、朝に聴くと音量でかかったりして、前の日の夜の気分とかテンションみたいなものが音量として残ってる感じがして、何となく世界中の人々の音量を知りたいと思った。

bloggerの話だけど、preタグのline-heightとか日によって変わるの何で?

土曜日, 6月 14, 2008

20080620

東京で働き始めました。肩書きはデザイナーです。
まだ僕自身は何もできてないんだけど、今まで普通に目にしてたようなものを作ってる現場。
3週間経ってちょっとずつ仕事が回ってきて、楽しい。

仕事してて一番勉強になるのは制作中のものを見られることで、大体の場合においてラフの段階が一番かっこいい。というのはデザイナーの癖みたいな部分がやっぱりかなり出ていて、そこから色んな制約とかクライアントからの要求によってバランスがとられていく。最終的にはいい感じに落ち着いて、それはそれでいいものになる。

今まではデザイン好きだけどデザイナーになれるかどうかわからなかったのであんまり本気出してない風でいたし、実際プログラミングしたり音楽作ったりして心の中で「僕はデザイナーじゃないし」みたいな言い訳してた。

ありがたいことに今の職場ではそういう色々やってるところを買ってもらえた訳だけど、変な話、やっとデザインに対して本気出せると言うか、自分が生きていく上で本気を出すことが一番重要な手段になった。一口にデザイナーと言ってもまたこれはこれで細かく種類があるんだけど、とにかく「デザインの仕事」という枠の中でうまく機能するように、ある程度方向性を絞り込んで取り組むようになるだけで以前とは随分違う。

まぁ、偉そうなこと言ってても電話の受け答えから書類の作り方まで、うまくできない。コピー用紙の取り替えとかお弁当の買い出しとか、下っ端だからやるんじゃなくて、そういうのも仕事のうちってことに気づくため。

6年前くらいにネットラジオとして聴いてたプログラムが、今は作業中のbgmとして隣の隣から聴こえてくるっていう状況には人生の機微を感じる。

日曜日, 5月 25, 2008

adobe made some noise

BIT-101のコード試してもSamplesCallbackEventがどこにあるのかわからず発狂しかけた。
Astro Dynamic Sound! » BIT-101 Blog
Joa Ebertがフルコードをzipでくれ!てるからそれ参考にした。
Simple Astro synthesizer at blog.je2050.de - Blog of Joa Ebert

最新のsdkをダウンロードしてパスを通す。
Download Flex 3 - Flex SDK - Confluence

flex-config.xmlも書き換えておくこと。
Targeting Flash Player 10 Beta with Flex SDK 3.0.x
osxのスタンドアローンのflash playerはないのかな。
コンパイルしたらとりあえずブラウザにdrag & dropしてる。

SDKの中にruntime/playerフォルダがあって、各OS毎のflash playerインストーラーがある。

そのうち環境構築も含めてまとまった記事を書く。

(11/1)書き直しました。不要なimportをなくして、akihiro kamijo: Flash Player 10 の動的サウンド生成機能 (Sound クラス)を参考にサンプル数を増やした。
さて、イベントハンドラ内では 2048 以上 8192 以下のサンプルデータを書き込みます。パフォーマンス上はできるだけ多くのサンプルデータを (つまり 8192 個) 書くのが有利と考えられます。


package {
import flash.display.Sprite;
import flash.media.Sound;
import flash.events.Event;
import flash.events.SampleDataEvent;

public class SoundTest extends Sprite{
private var sound:Sound;
private var freq:Number = 440;
private var rate:Number = 44100;
private var phase:Number = 0;

public function SoundTest() {
init();
}

private function init():void {
sound = new Sound();
sound.addEventListener(SampleDataEvent.SAMPLE_DATA, sineWaveGenerator);
sound.play();
}

private function sineWaveGenerator(event:SampleDataEvent):void {
for(var i:int = 0; i < 8192; i++) {
phase += freq / rate;
var phaseAngle:Number = phase * Math.PI * 2;
var sample:Number = Math.sin(phaseAngle)*0.25;
event.data.writeFloat(sample);
event.data.writeFloat(sample);
}
}
}
}