#june29jp

Twitterのタイムラインを可聴化するChirp sound playerを作った

2010-06-06

皆さん、Chirp していますか!ボクは相変わらず Chirp のある日々を楽しんでいます。Chirp がなければ出会わなかったであろう tweet ってのがけっこうあって、API の設計ひとつでユーザの行動にも影響があるなぁと考えると面白いです。

このまま Chirp がまっとうに進化していけば、あらゆる Twitter クライアントが既存の API から Chirp に移行し、誰もが即座に自分の tweet に対する反応等を知れるようになるでしょう。これに対してボクは何か働きかけようとは思いませんでした。

他に Chirp の可能性はないだろうか。模索していました。タイムラインに流れる tweet を数十秒遅れではなくリアルタイムに受け取れるようになったとき、何が変わるでしょうか。考えてたどりついたひとつの答えが「音」です。「つぶやき」とも呼ばれる tweet が人々の「おしゃべり」だとしたら、数十秒おきにまとめて、ではなく、リアルタイムに感じられるべきでしょう。

というわけで、Twitter のタイムラインを可聴化する Chirp sound player を作ってみました。

ChirpUserStreams => WebSocket にリンクがあります。

JavaScript で audio タグを生成して音を鳴らしている実装の都合から、Firefox の上でしか動きません。前回のエントリで ChirpUsersStream を WebSocket で閲覧するアプリを紹介したときには「Google Chrome でしか動かない」と書きましたが、今回は swf を間に噛ませて Firefox でも WebSocket が動くようにしています。

Chirp を毎日眺めていると、ユーザの行動習慣のようなものが見えてくるときがあります。「また○○○さんのハイパー follow タイムが始まった」「□□□選手の fav 無双だー!!」といった具合です。しかし、これを見つけるためには訓練が必要です。もっというと「目」が必要です。ところがボクの目はふたつしかなく、そのふたつを常に Chirp に割り当てていては職を失ってしまうでしょう。そこで「耳」を使います。

Chirp sound player では、Twitter ユーザの screen_name を用いて音階を決めています。screen_name が変わらない限り、ユーザの音階は固定となります。これにより、優れた耳があれば、ある程度、音だけでタイムラインの様子を知ることができるようになります。screen_name から単一の音階ではなくメロディを作るようにすれば、ユニーク性が増してもっと楽しくなるかも知れませんね。

そもそも「可聴化」という言葉は @negipo さんの2年前のエントリで出会い、書かれていることにも大きく納得させられたのでした。今になって読み返してみてもやはり面白い。

LDR上ではてブ数を可聴化するgreasemonkey、LDRHatebuCountListenableを書いた (polog)

実装について少し

JavaScriptで波をつくろう。リアルタイム波形生成&再生 – Yanagi Entertainment

@yanagia さんの上記エントリが素晴らしくて、刺激を受けた背景があります。今回は「JavaScript から任意の音階の任意の長さの音を出したい」が要望だったので、公開されているソースコードを大いに参考にして関数を作りました。

june29’s jsaudio at master – GitHub

HTML5 に触れたい!と思い、WebSocket と audio タグで遊んでみる、というところまできました。どんな工夫を取り入れたらもっと可愛らしく面白くなるだろうかなー。

今回分かったこと

音を扱う作業をしていると、作業中に BGM をかけることができなくて悲しい。

おもしろかったら、シェアやブックマークや送金などぜひぜひお願いします。サイト運営の励みになります!

シェアや送金などお待ちしています!