何?を/見?て-も何/か*思+い出*す

何を見ても何か思い出す

似てるものを 2 つずつ投稿して共有するだけのウェブサービスを作った。上記は納豆の風味とコーヒーの香りが微妙に似ているということを表現しようとしてるけど、伝わってなさそう。

「A を B に空目した」とか「C さんはこの写真に写ってる原住民に似てる」とかポストしておもしろい感じになればいいなと思っているが、単に何かを 2 つ並べたいときに使えばいい気もする。oEmbed に対応しているので Flickr の画像や YouTube の動画を埋め込むこともできたりします。

特にたいしたことやってないけど、興味あったら使ってみてもらえるとうれしいです。不具合とかあったら Twitter 等で教えてもらえると助かります。

ひまあったらスライドショーモードとか、編集距離を計算して表示するのとかやりたいと思ってます。あと、下記は参考にさせてもらった意見やコード、いつもありがとうございます。

追記 (2014/07/16)

dotcloud (http://ermos.dotcloud.com/) から heroku (http://everythingremindsmeofsomething.herokuapp.com/) に移行したので URL を更新しました。

最近作ったものや書いた文章のまとめ (2010/05 〜 2011/12)

年末らしくまとめてみた。前回が 2010/05 だったのでそれ以降のまとめです。時系列に並べたらものすごくまとまりのない感じになったのでカテゴリに分けた。

翻訳・文章

これだけ作ったのに翻訳した「サバクラ〜」が一番ブクマされてたりするんだけど、やっぱ翻訳するより作るほうがおもしろいのでもっと作りたい。

便利ツールに関しては、結構な数を作っているけどなかなか便利にならず、自分でも継続して使えているものがなくて残念。もっと既存のツールをたくさん使って便利さのセンスをよくしたい。あと、音声処理とか電子書籍の分野でいくつかアイデアがあるので必要な勉強をしてなるべく早く作りたい。

ちなみに今はなぜか Railsウェブアプリケーションを作るのがナウな tily にバカウケしていて、年明けあたりにいくつかリリースしたいと思ってたりします。来年もよろしくお願いします。

ブラウザ + WebSocket で電話する

電話というか音声チャットなんだけど、Flash のマイクでとった音声を WebSocket 経由で送信して、受け取った側では Web Audio API とか Audio Data API とかで再生するというのを作った。FirefoxChrome で動く。

はずなんだけど、no.de の SmartMachine のスペックが低いせいか、遅延のあるせいか相手側の音声がブツブツ切れて聴こえてしまう…。ローカルではちゃんと音声チャットっぽいことができているんだけど。

なんか色々他の人のコードを使ったり参考にしたりしたので書いておきます。

あとここらへんも。

日本語テキストから韻のふめる言葉を抜き出す

# Usage: ruby extract_rhyme.rb [-m (vowel|vowel_with_help|surface)] -n N /path/to/file.txt

カタカナまんま (デフォルト、-m surface)

$ ruby extract_rhyme.rb -n 3  夏目漱石_坊ちゃん.txt | head
アカリ: 月あかり | 灯 | 星明り
アガル: 上がる | 起き上がる | 飛び上がる | 揚がる
アゲル: 上げる | あげる | 取り上げる | 揚げる
アタリ: 辺 | 見当り | 大当り | 心当り | 中り | 突き当り | 辺り
アタル: 思い当る | あたる | 中る
アルイ: 歩い | あるい | ねりあるい
アワセ: 袷 | 不仕合せ | 申し合せ | 打ち合せ | 合せ | 待ち合せ | 仕合せ | 見合せ
イガイ: 以外 | 大概 | 例外
イサイ: 制裁 | 体裁 | 委細
イサツ: 挨拶 | 推察 | 警察

母音 (-m vowel)

$ ruby extract_rhyme.rb -n 4 -m vowel 夏目漱石_坊ちゃん.txt | tail
オオイア: 床板 | 木の下 | ここいら
オオイイ: 恐ろしい | 騒々しい | 明後日 | よろしい | 乏しい | 思い切っ | 思いきっ
オオイウ: よろしく | 落っこちる | 頼もしく | 騒々しくっ
オオイオ: 思い込ん | 面白 | ごろりと | 躍り込ん
オオエウ: 泳げる | 恐る | 求める | 覚える | 見届ける
オオオア: ところが | 及ぼさ | 床の間 | どころか
オオオイ: 驚 | 驚い | 心持ち | 試み | もとより | 横取り | 一昨日
オオオウ: ことごとく | 喜ぶ | 及ぼす | 驚く
オオオエ: 心得 | 整え | 物覚え | 懐手
オオオオ: のそのそ | ごろごろ | ホホホホ | 色男 | そろそろ | きょろきょろ | ぞろぞろ | ちょろちょろ | そこそこ | よろよろ | もともと | 所々

母音 (-m vowel_with_help, ッーンを含む)

$ ruby extract_rhyme.rb -n 4 -m vowel_with_help 夏目漱石_坊ちゃん.txt | egrep "ッ|ー|ン"
ウアアアッ: 済まなかっ | ぶら下がっ | ぶらさがっ
オイアアッ: 飛びかかっ | 飛び上がっ | 持ち上がっ | 躍り上がっ | 起き上がっ | 取りかかっ
オーアアイ: 大当り | 大騒ぎ | 遠廻し

手動で変換しなくてもいい日本語入力

そもそも「変換候補が表示されてそこから選ぶ」というのがめんどくさいから、ぜんぶ Google 日本語入力 API に任せたらどうなるかを試してみた。最後の入力から 0.5 秒経ったら自動で変換処理を開始する。IME を OFF にして "toukyoutokkyokyokakyoku" とかをキーボードから入力するとどういうことか分かる。JavaScript でテキストエリアの文字列を管理するのがむずかしくていろいろちゃんと動いてないけど、だいたい感じは掴めた。違うものを作ってたつもりなのに結局これ (変換操作を省いて自動的に変換・確定する:IME即効テクニック) の劣化版みたいな感じになったような…。

あと副産物として GlitchIMEJavaScript 版とかも作った。

大きな文字で hitode909 amen に合わせて青空文庫を読む Amen Reader

* http://amen-reader.heroku.com/http://www.aozora.gr.jp/cards/000035/files/275_13903.html
* http://amen-reader.heroku.com/[青空文庫HTMLページのURL]

漠然と文章とか音楽とか画像とかを組み合わせてスライドショーみたいのおもしろいと思っていて (YOUNG-HAE CHANG とか brazil さんの YHC とか)、3 月ぐらいに試しに作ってたやつ。

なんか読みづらいし、普通に読書するのよりいい体験になってる気がしなくて納得いかない。たぶんビート検出じゃなくてメロディ検出までいかないと YOUNG-HAE CHANG みたいな滑らかさは出せないんじゃないかなと思った。

あと Firefox でしかまともに動かなくて Chrome で動かすと重くなって落ちたりするかも…。なんかいろいろダメなんだけど、実験というか記録の意味でとりあえず出しておきます。

もっとベーシックに、どのくらいの文字量・どのくらいのスピードで読むのが一番読みやすいのか、実験するようなやつを作ったほうがいいような気がしてる。

参考:

* YOUNG-HAE CHANG HEAVY INDUSTRIES PRESENTS
* TinySegmenter: Javascriptだけで実装されたコンパクトな分かち書きソフトウェア
* スライドショーのようにテキストを読むGreasemonkeyスクリプト、YHC - はてなダイアリー
* 無限にAmen Breakを再生するウェブサービス - hitode909のダイアリー
* 最速インターフェース研究会 :: 高橋メソッドなプレゼンツール

Wiki に書いた URL のリストから青空文庫のミックス電子書籍を作れるようにする aozora-mix.rb

青空文庫に掲載されている作品はけっこう短いものが多いので、いくつかの作品をまとめて短編集かアンソロジーみたいな感じで読みたいなと思って、ある程度汎用的に使える仕組みを考えてみた。

Wiki (jottit) のページに書いた URL のリストから、いくつかの作品を詰め合わせた epub を作ることができる。たとえば青空文庫で読める日本古典SFから短い作品だけを抜粋してリンク集にした日本古典SF短編集というページを作ったとして、以下のように実行すると、

ruby aozora-mix.rb 日本古典SF短編集

こんな感じで処理が行われて、out.epub というファイルが生成される。

ダウンロードします (http://www.aozora.gr.jp/cards/000160/files/877_23846.html)
ダウンロードしました (海野十三 千年後の世界)
ダウンロードします (http://www.aozora.gr.jp/cards/000262/files/1458_14514.html)
ダウンロードしました (小酒井不木 恋愛曲線)
ダウンロードします (http://www.aozora.gr.jp/cards/000160/files/873_23287.html)
ダウンロードしました (海野十三 放送された遺言)

(中略)

epubファイルを作成しています (out.epub)
完了しました

自分の場合は Kindle で読むために kindlegen で mobi に変換した。残念ながら目次ページはうまく生成されなかったけど、作品ごとにジャンプできるのでそれなりに使えるっぽい。こんな感じで表示されている。

http://farm6.static.flickr.com/5186/5634859758_a15543ac04.jpg
http://farm6.static.flickr.com/5181/5634283297_d49610bbc6.jpg

細かい使い方については README に書いてある。Wiki は誰でも編集できるようにしてあるのでよかったら使ってみてください。

Ruby は敷居が高いのでjs-eeepub + グリモンとかにしたほうがよかったかも、画像の埋め込みとか縦書き対応とかやってみたい気もする。