甘味志向@はてな https://molokheiya.hatenadiary.org/ http://blogs.law.harvard.edu/tech/rss Hatena::Blog はてなブログに引っ越しました https://molokheiya.hatenadiary.org/entry/20130514/p1 <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Markdown">Markdown</a>記法でブログ書けるの楽でいいですね!</p><p><a href="http://moroya.hatenablog.jp/">http://moroya.hatenablog.jp/</a></p> Tue, 14 May 2013 00:00:00 +0900 hatenablog://entry/17680117127146811585 メモ メイキング「Birthday Song for ミク | miku-39.jp」こと技術解説 https://molokheiya.hatenadiary.org/entry/20120903/p1 <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120903191655" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120903/20120903191655.png" alt="f:id:Molokheiya:20120903191655p:image:w700" title="f:id:Molokheiya:20120903191655p:image:w700" class="hatena-fotolife" style="width:700px" itemprop="image"></a></span></p><p></p> <blockquote> <p>「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BD%E9%B2%BB%A5%DF%A5%AF">初音ミク</a>」というキャ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E9%A5%AF">ラク</a>ターが登場して5年。彼女の存在は世界中へと広がり、数の多くの人を魅了してきました。<br /> その驚きと感動を盛大に祝ってあげるためのパーティの準備、そんな気持ちでこのミュージックビデオを制作いたしました。</p><br /> <p><a href="http://miku-39.jp">http://miku-39.jp</a></p> </blockquote> <p><br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%BD%E9%B2%BB%A5%DF%A5%AF">初音ミク</a>生誕5周年おめでとう! ということで「Birthday Song for ミク | miku-39.jp」というサイトを作りました。<br /> せっかくなのでメイキングっぽい技術解説を書いてみたいと思います。</p><br /> <p>とりあえず miku-39.jp とはなんぞやってことなんですが、</p><p>Mitchie M ([<a class="keyword" href="http://d.hatena.ne.jp/keyword/twitter">twitter</a>:@Tukada])さんが作った「Birthday song for ミク」という曲にあわせて Tatsuro Ogata ([<a class="keyword" href="http://d.hatena.ne.jp/keyword/twitter">twitter</a>:@llcheesell])さんが作ったミュージックビデオに<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%BF%A5%E9%A5%AF%A5%C6%A5%A3%A5%D6">インタラクティブ</a>な感じの体感コンテンツを合わせたサイトです。</p><p><iframe width="312" height="176" src="http://ext.nicovideo.jp/thumb/sm18396337" scrolling="no" style="border:solid 1px #CCC;" frameborder="0"><a href="http://www.nicovideo.jp/watch/sm18396337">【ニコニコ動画】【ミクさんの生誕5周年をリンレン達5人と祝ってやる】Birthday Song for ミク</a></iframe></p><br /> <p>ミク5周年のお祝いにMitchie Mさんが作った、めちゃ素敵な曲にめちゃスタイリッシュなPVがついて、さらに加速サトウ ([<a class="keyword" href="http://d.hatena.ne.jp/keyword/twitter">twitter</a>:@ksk_st])さんの初公開ミク3Dモデルがめちゃかわいい。</p><p>で、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%BF%A5%E9%A5%AF%A5%C6%A5%A3%A5%D6">インタラクティブ</a>な感じのって具体的に何? ってことで以下に</p> <ul> <li>位置情報と連携して、現在地の航空地図がPVの中で使われたり</li> <li><a class="keyword" href="http://d.hatena.ne.jp/keyword/Twitter">Twitter</a>と連携して、各種アイコンとか投稿した写真なんかがPVの中で使われたり</li> <li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A1%BC%A5%C8%A5%D5%A5%A9%A5%F3">スマートフォン</a>と連携して、パソコンの画面と動きが連動したり、シンボルをパソコンに飛ばしたりできる</li> </ul><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120903191654" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120903/20120903191654.jpg" alt="f:id:Molokheiya:20120903191654j:image:w360" title="f:id:Molokheiya:20120903191654j:image:w360" class="hatena-fotolife" style="width:360px" itemprop="image"></a></span></p><p>位置情報とか<a class="keyword" href="http://d.hatena.ne.jp/keyword/Twitter">Twitter</a>と連携するアプリは色々あるんですが、<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A5%DB">スマホ</a>と連動するミュージックビデオは(たぶん)初なんじゃないかなーと思います。</p><p>では大まかに「サーバー」「パソコン」「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A5%DB">スマホ</a>」の3つに分けて解説していきますね!</p><p><hr></p><br /> <p><span class="deco" style="font-size:x-large;color:#CC0000;">サーバーサイド</span></p><p>基本的に環境として<a class="keyword" href="http://d.hatena.ne.jp/keyword/Amazon">Amazon</a> Web Service (<a class="keyword" href="http://d.hatena.ne.jp/keyword/AWS">AWS</a>) を使っています。<br /> 使ったのは EC2 & S3 & CloudWatch で、東京リージョンを利用しています。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/AWS">AWS</a>を選んだ理由は、キャンペーンサイトにありがちな急激な負荷の増加にも柔軟に対応できることや、<br /> 今回のように動画を配信しつつ低レイテンシを実現(後述)するのに適しているからです。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120903191656" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120903/20120903191656.png" alt="f:id:Molokheiya:20120903191656p:image:w360" title="f:id:Molokheiya:20120903191656p:image:w360" class="hatena-fotolife" style="width:360px" itemprop="image"></a></span></p><p>環境は Cent OS + <a class="keyword" href="http://d.hatena.ne.jp/keyword/Apache">Apache</a> + <a class="keyword" href="http://d.hatena.ne.jp/keyword/MySQL">MySQL</a> + <a class="keyword" href="http://d.hatena.ne.jp/keyword/PHP">PHP</a> の標準的な<a class="keyword" href="http://d.hatena.ne.jp/keyword/LAMP">LAMP</a>です。<br /> そして、お気づきの方も多いと思いますが Node.js を使っています。<br /> はい、Socket.IO ですね。</p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AF%A5%ED%A5%B9%A5%D6%A5%E9%A5%A6%A5%B6">クロスブラウザ</a>でリアルタイム通信を実現するための、Node.jsで動くやつです。<br /> これを使って、パソコンと<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A5%DB">スマホ</a>の連携処理をしています。</p><p>WebSocketは<a class="keyword" href="http://d.hatena.ne.jp/keyword/IE">IE</a>とか<a class="keyword" href="http://d.hatena.ne.jp/keyword/IE">IE</a>とか<a class="keyword" href="http://d.hatena.ne.jp/keyword/IE">IE</a>とかがまだ対応してないので<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B7%A5%E7%A5%DC%A1%BC%A5%F3">ショボーン</a>状態。<br /> そこでWebSocketが使えないなら<a class="keyword" href="http://d.hatena.ne.jp/keyword/Flash">Flash</a>のSocket使えばいいじゃない、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Flash">Flash</a>も使えないなら<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ajax">Ajax</a>でLong pollingすれば… それも使えないなら(ry</p><p>…とフォールバックしてくれるナイスガイです。安心してリアルタイムアプリが作れるよ、やったねたえちゃん!</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120903222222" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120903/20120903222222.jpg" alt="f:id:Molokheiya:20120903222222j:image:w640" title="f:id:Molokheiya:20120903222222j:image:w640" class="hatena-fotolife" style="width:640px" itemprop="image"></a></span></p><p>パソコンと<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A5%DB">スマホ</a>を接続するために、カラーコードを入力という方法をとっています。<br /> これを順番に入力すると、接続されるわけですね。</p><p>まずパソコンで miku-39.jp を開くと、ソケットサーバーに接続して認証キーを要求します。<br /> この時に返ってくる認証キーは「111111〜666666」の間となっていて、この1〜6 をそれぞれ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DC%A1%BC%A5%AB%A5%ED%A5%A4%A5%C9">ボーカロイド</a>カラーに当てはめて表示しています。</p><p>そして<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A5%DB">スマホ</a>で miku-39.jp を開きカラーコードを打ち込むと、コードを数字に変換した認証キーをソケットサーバーに送信します。<br /> それでパソコンで認証待ちをしているキーの中から一致すれば、相互に繋ぐブリッジとなります。</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120903191658" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120903/20120903191658.png" alt="f:id:Molokheiya:20120903191658p:image" title="f:id:Molokheiya:20120903191658p:image" class="hatena-fotolife" itemprop="image"></a></span></p><p>つまりパスコード認証なんですが、ただ数字を打ってもらうよりも雰囲気が出て良かったです!</p><p>あとはパソコン側のソケットIDと、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A5%DB">スマホ</a>側のソケットIDをサーバー側で認証キーを使って相互に送信出来るようにしておきます。<br /> これで準備はオッケー!</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Twitter">Twitter</a>認証はア<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%B3%A5%F3%B2%E8">イコン画</a>像とったり、最近の画像を取得したり、Followingとったり、壁紙つきツイートをpostしたりと、いろいろな部分で使っています。</p><p>あと <a class="keyword" href="http://d.hatena.ne.jp/keyword/Imagemagick">Imagemagick</a> を使って、サーバーで壁紙を合成して生成していますよ。</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120903191659" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120903/20120903191659.jpg" alt="f:id:Molokheiya:20120903191659j:image:w600" title="f:id:Molokheiya:20120903191659j:image:w600" class="hatena-fotolife" style="width:600px" itemprop="image"></a></span> 加速ミクやば。。</p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Imagemagick">Imagemagick</a> は突き詰めていくと<a class="keyword" href="http://d.hatena.ne.jp/keyword/Photoshop">Photoshop</a>並の処理が出来たりするので、他にも色々いじってみたいです。</p><p><span class="deco" style="font-size:x-large;color:#CC0000;"><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A1%BC%A5%C8%A5%D5%A5%A9%A5%F3">スマートフォン</a></span></p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A5%DB">スマホ</a>連携して再生開始すると、パソコンで再生されてる動画と連動した動画が流れます。</p><p>で。すっかり忘れてたんですが、videoタグってインライン再生が出来ないんですよね。<br /> videoタグを使うと、<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>なら<a class="keyword" href="http://d.hatena.ne.jp/keyword/QuickTime">QuickTime</a>でフルスクリーン表示になってしまうし、そもそも制御出来ない…</p><p>そこで巨大な<a class="keyword" href="http://d.hatena.ne.jp/keyword/CSS">CSS</a> Spriteを作成して、background-position をずらしてコマ送りで動画を表現するというゴリ押しをしています。</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120903191700" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120903/20120903191700.png" alt="f:id:Molokheiya:20120903191700p:image:w640" title="f:id:Molokheiya:20120903191700p:image:w640" class="hatena-fotolife" style="width:640px" itemprop="image"></a></span> 壮観</p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/CSS">CSS</a> Spriteや、background-image を切り替えてコマ送り動画を表現するのは結構あちこちで使っています。<br /> ( miku-39.jp を開いた時に、背景のケーキのろうそくがチラチラしてるのとか)</p><br /> <p>あとこれはパソコン側でも使ってるんですが、いろんな要素をアニメーションさせるのに<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>のanimateだとスムーズにならないので<a class="keyword" href="http://d.hatena.ne.jp/keyword/CSS">CSS</a> Transitionで描画しています。<br /> ここで直接書いてしまうと、コードがむちゃくちゃな感じになってしまうので、<a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a> Transit という素晴らしい<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3">プラグイン</a>を使います。</p><p><a href="http://ricostacruz.com/jquery.transit/">Transit - CSS transitions and transformations for jQuery</a></p><p>これを使えば<a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>のAnimateと同じように書いて、Transitionとかが直接書ける。<a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a> Transit is god... つまり神<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3">プラグイン</a>。</p><br /> <p>ただ<a class="keyword" href="http://d.hatena.ne.jp/keyword/IE">IE</a>が全然ダメなので、miku-39.jp では<a class="keyword" href="http://d.hatena.ne.jp/keyword/CSS">CSS</a> Transitionに対応していないブラウザの場合はAnimateに切り替えたり、<br /> Transform Y を Top に変えて計算する処理を加えるカスタマイズを加えています。</p><p><span class="deco" style="font-size:x-large;color:#CC0000;">パソコン</span></p><p>最初にGeolocation <a class="keyword" href="http://d.hatena.ne.jp/keyword/API">API</a> を使って位置情報をとっていて、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Google%20Maps%20API">Google Maps API</a> と連動して現在地の航空写真が出てきます。</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120903212940" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120903/20120903212940.png" alt="f:id:Molokheiya:20120903212940p:image:w640" title="f:id:Molokheiya:20120903212940p:image:w640" class="hatena-fotolife" style="width:640px" itemprop="image"></a></span></p><p>アイコンが出てくるところも、<a class="keyword" href="http://d.hatena.ne.jp/keyword/CSS">CSS</a> Spriteでアニメーションさせたパーティクルが飛びます。</p><p>動画の再生についてですが、まずウィンドウのリサイズイベントに紐づけて、ビデオが常にウィンドウいっぱいに表示されるようにしています。<br /> そして動画再生中のとき、おおまかに3つのレイヤーが存在しているような概念でロジックを仕込んでいきます。</p><p>少しややこしい話になるのですが、ちょっと説明しますと</p><p>1. 動画が再生されるレイヤー<br /> 2. 動画のサイズに合わせてスケールが変形されるレイヤー<br /> 3. 通常のブラウザと同じように等倍で表示されるレイヤー</p><p>と、3つのレイヤーがあります。</p><p>例えば、動画が1分30秒のときにX: 100px Y: 400px の位置にボックスを配置して動画の上に重ねる演出をしたいとします。<br /> しかしその時ブラウザの左上から100px, 400pxの位置に<a class="keyword" href="http://d.hatena.ne.jp/keyword/CSS">CSS</a>で配置しても、<br /> もともと1280x720の動画をブラウザサイズに合わせて伸ばしたり位置を変えたりしている為、座標が一致しなくなります。</p><br /> <p>そのため1280x720の動画のズーム比を取得して、そのズーム比でレイヤー全体のスケールを変形して、動画の座標と実際の座標を一致させています。<br /> ただ、動画中にバースデーメッセージが下から流れるシーンがあるのですが、ああいった文字が流れる部分は拡大縮小させる意味がないので等倍で表示しています。</p><br /> <p>そういうレイヤーというかDIV要素を用意して、その中に各演出用のDIV要素を作り、動画の再生に合わせて表示・非表示を切り替えて演出を発動させる感じです。</p><br /> <p>あと、<a class="keyword" href="http://d.hatena.ne.jp/keyword/HTML5">HTML5</a>のVideoタグは非常に残念ながらアルファ(透過情報)を持った動画を再生しても、対応していないので透けてくれません。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120903212938" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120903/20120903212938.png" alt="f:id:Molokheiya:20120903212938p:image:w360" title="f:id:Molokheiya:20120903212938p:image:w360" class="hatena-fotolife" style="width:360px" itemprop="image"></a></span></p><br /> <p>そこでまず、RGBとアルファを上下に分割した動画を用意してVideoタグで再生するのですが、このVideoタグは非表示にしておきます。<br /> そして<a class="keyword" href="http://d.hatena.ne.jp/keyword/canvas">canvas</a>を使って、VideoタグのRGBとアルファの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D4%A5%AF%A5%BB%A5%EB">ピクセル</a>を読み込み、<a class="keyword" href="http://d.hatena.ne.jp/keyword/canvas">canvas</a>上でアルファ情報を合成して書き出す。という処理を全フレームで実行します。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120903212939" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120903/20120903212939.png" alt="f:id:Molokheiya:20120903212939p:image:w800" title="f:id:Molokheiya:20120903212939p:image:w800" class="hatena-fotolife" style="width:800px" itemprop="image"></a></span> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DA%A5%E4%A5%F3%A5%B0">ペヤング</a></p><br /> <p>あとは<a class="keyword" href="http://d.hatena.ne.jp/keyword/Twitter">Twitter</a>連携されている場合は、投稿されている画像を取得してきて背景に並べて、<br /> その上に<a class="keyword" href="http://d.hatena.ne.jp/keyword/canvas">canvas</a>を乗せるとミクさんが歩いている感覚が得られる! ってな感じです。</p><br /> <p>iframeを下に敷いて、別のWebサイトの上をミクさんが歩いたりもします。</p><br /> <br /> <p>あとは、サビのシンボル飛ばし。</p><br /> <p>といってもサーバーサイドで説明した通りパソコンと<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A5%DB">スマホ</a>は既に連動しているので、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A5%DB">スマホ</a>でシンボルを飛ばした瞬間にインターネット経由で通知されます。<br /> 座標とシンボルの種類をそのタイミングで受け取って、画面に描画するだけです。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120903212941" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120903/20120903212941.jpg" alt="f:id:Molokheiya:20120903212941j:image" title="f:id:Molokheiya:20120903212941j:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p>シンボルが出るタイミングで中心から波紋が広がるんですが、ここは<a class="keyword" href="http://d.hatena.ne.jp/keyword/canvas">canvas</a>を使わずに実装してみました!<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>とCSS3のみで実装しています。</p><br /> <p><script src="http://gmodules.com/ig/ifr?url=http://gimite.net/rails/iframe_gadget/xml%3Fparams%3Dscrolling%3Dfalse%21url%3Dhttp://jsdo.it/blogparts/sVCU%253Fview%253Dplay&amp;synd=open&amp;w=465&amp;h=496&amp;title=&amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;output=js"></script></p><p><a href="http://jsdo.it/Molokheiya/sVCU">canvas&#x3092;&#x4F7F;&#x308F;&#x306A;&#x3044;&#x6CE2;&#x7D0B;&#x3063;&#x307D;&#x3044;&#x6F14;&#x51FA; - jsdo.it - Share JavaScript, HTML5 and CSS</a></p><br /> <p>jsdo.itにサンプルコードを載せてみました。クリックすると波紋が出ます。</p><br /> <p>飛ばされたシンボルはサーバーサイドでデータベースに記録していて、最新の数百件が再生される仕組みになっています。<br /> ちなみにシンボルを飛ばす部分はBroadcastでソケット通信していて、miku-39.jp を開いている全員にリアルタイムで送信しているため、<br /> 世界のどこかで同じ時間にシンボルを飛ばしている人がいると、その人の飛ばしたシンボルが同時に表示されます。</p><br /> <p>あとこれはミクの誕生日に追加した機能なんですが</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120903215911" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120903/20120903215911.jpg" alt="f:id:Molokheiya:20120903215911j:image" title="f:id:Molokheiya:20120903215911j:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/canvas">canvas</a>を使って<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A5%DB">スマホ</a>で一筆書きをすると、そのシンボルがパソコン上に転送されるようにしてみました。</p><br /> <p>タッチ座標を計算して、lineToでシンボルを描画。タッチ座標の軌跡を配列化して送信して、それをパソコン側で再描画することで実現しています。<br /> ちなみにこれもデータベースに保存されるので、他人の描いたシンボルが表示されるようにもなっています。</p><br /> <br /> <br /> <p><hr></p><br /> <p>miku-39.jp は<a class="keyword" href="http://d.hatena.ne.jp/keyword/Flash">Flash</a>を使わず、<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a> + <a class="keyword" href="http://d.hatena.ne.jp/keyword/CSS">CSS</a> オンリーで製作しました。<br /> その為、モダンブラウザでの再生を推奨しています。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Flash">Flash</a>を使うか、<a class="keyword" href="http://d.hatena.ne.jp/keyword/HTML5">HTML5</a>を使うか。<br /> 最初はかなり迷いましたが、<a class="keyword" href="http://d.hatena.ne.jp/keyword/HTML5">HTML5</a>を選択した理由は「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BD%E9%B2%BB%A5%DF%A5%AF">初音ミク</a>の5周年記念だから」です。</p><br /> <p>ミクの代表曲である、みくみくにしてあげる♪ には「科学の限界を超えて、私は来たんだよ」というフレーズがあったりします。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%B2%BB%C0%BC%B9%E7%C0%AE">音声合成</a>という技術が、曲だけにとどまらずに<a class="keyword" href="http://d.hatena.ne.jp/keyword/MikuMikuDance">MikuMikuDance</a>、透過スクリーンライブなど様々なジャンルで共鳴して広がっていきます。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%BD%E9%B2%BB%A5%DF%A5%AF">初音ミク</a>には、それがメインストリームになるかどうかに関わらず、<br /> 新しいことにチャレンジして未開の領域を切り拓いて行って欲しい。そういう想いを込めてこの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%BF%A5%E9%A5%AF%A5%C6%A5%A3%A5%D6">インタラクティブ</a>・サイトを製作しました。</p><br /> <br /> <p>もう誕生日は過ぎましたが、9月14日までの期間限定サイトとなっていますので、ぜひご覧になってみて下さい。<br /> そして、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%DE%A5%DB">スマホ</a>を持っている人は電子の世界でも、持ってない人は心の世界で、繋がってお祝いしてあげましょう。<br /> <br /> <br /> <br /> </p> <blockquote> <p>初めて君の 声の音聴いて 世界が変わる Happy Birthday!<br /> また新しい 歴史を歩む エンジェルに「おめでとう」</p> </blockquote> <p><br />  </p> Mon, 03 Sep 2012 00:00:00 +0900 hatenablog://entry/17680117127146811707 Web niconico zeroをちょっとスッキリさせるUser Style書いた https://molokheiya.hatenadiary.org/entry/20120504/p1 <p>こんな感じにする↓</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120504122646" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120504/20120504122646.png" alt="f:id:Molokheiya:20120504122646p:image:w640" title="f:id:Molokheiya:20120504122646p:image:w640" class="hatena-fotolife" style="width:640px" itemprop="image"></a></span></p><p></p> <ul> <li>動画タイトルサイズ縮小</li> <li>投稿者説明文の全文表示</li> <li>マイリスト追加など各種ボタンを初期表示</li> <li>コメント入力欄も初期表示</li> <li>いろいろ小さく</li> <li>ホバー系のエフェクト切った</li> <li>市場は下に、タブも消した</li> <li><a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a>使ってない</li> <li>広告とかはそのまま</li> </ul> <blockquote> <p>インストールはUserstyles.orgから</p><br /> <p><a href="http://userstyles.org/styles/65097/zero-watch-molofix">Website Themes &amp; Skins by Stylish | Userstyles.org</a></p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Stylish">Stylish</a>拡張を<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%B3">インスコ</a>してから</p> </blockquote> <p></p><p>Q. 不具合あるんだけど<br /> A. そっか〜^^</p><br /> <p>Q. バージョンアップで動かなくなったんだけど<br /> A. そう…(無関心</p><br /> <p>Q. ライセンスは?<br /> A. WTFPL (<a href="http://sam.zoy.org/wtfpl/COPYING">http://sam.zoy.org/wtfpl/COPYING</a>)</p><br /> <br /> <p>どうぞご利用下さい。</p> Fri, 04 May 2012 00:00:00 +0900 hatenablog://entry/17680117127146812427 ニコニコ ヨーロッパ周遊旅行 / パリ篇その1 https://molokheiya.hatenadiary.org/entry/20120223/p1 <blockquote> <p><br /> <a href="http://d.hatena.ne.jp/Molokheiya/20120222/p1">&#x524D;&#x56DE;&#xFF08;&#x4F01;&#x753B;&#x304B;&#x3089;&#x6210;&#x7530;&#x7BC7;&#xFF09;</a></p><p></p> </blockquote> <p><br /> 実はこの時、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A8%A1%BC%A5%EB%A5%D5%A5%E9%A5%F3%A5%B9">エールフランス</a>航空が<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%E9%A5%A4%A5%AD">ストライキ</a>を起こしていて、国際線が欠航になるかもしれないという事態が起きてました。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/H.I.S.">H.I.S.</a>のひとも「なにか起きても極力は対応します」とのことで、ヒヤヒヤしながら動向を見守ってたところ、なんとか俺の乗る便は飛んでくれることに決まって一安心。それでも、いくつかの便は欠航になったらしい。</p><br /> <br /> <p>ヨーロッパの方では、日常的に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%E9%A5%A4%A5%AD">ストライキ</a>が発生するらしいのですが、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%E9%A5%A4%A5%AD">ストライキ</a>は必ず予告されるので、きちんと下調べしておきましょう。</p><br /> <p>日本時間15時ごろに、成田空港を離陸。<br /> 飛行時間は12時間なので、着くのは夜中… ではなく、現地時間16時ごろ。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120206230855" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120206/20120206230855.jpg" alt="f:id:Molokheiya:20120206230855j:image:w640" title="f:id:Molokheiya:20120206230855j:image:w640" class="hatena-fotolife" style="width:640px" itemprop="image"></a></span><br /> 夜中になっても暗くはならなーい</p><br /> <p>ぐんぐん上がっていって、雲の上に。<br /> 数時間ほど飛んでいると、ディナータイムになるということでメニューを配られる。<br /> 洋食か和食が選べるらしいけど、せっかくなので洋食を選ぶ。<br /> 周りもだいたい洋食だった。そりゃ今からフランス行くもんね〜</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120206143422" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120206/20120206143422.jpg" alt="f:id:Molokheiya:20120206143422j:image:w640" title="f:id:Molokheiya:20120206143422j:image:w640" class="hatena-fotolife" style="width:640px" itemprop="image"></a></span><br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%C6%E2%BF%A9">機内食</a>は熱々になってるし意外と美味しい</p><br /> <p>時差ボケに備えて極力寝ておこうと思って、寝れる分は寝る。<br /> 目を閉じてりゃ結構眠れてしまう体質さんありがとう。</p><p>その他は<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPad">iPad</a>で本を読みながら過ごして、着陸の2時間ほど前に2回目の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%A1%C6%E2%BF%A9">機内食</a>の時間に。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120206232431" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120206/20120206232431.jpg" alt="f:id:Molokheiya:20120206232431j:image:w640" title="f:id:Molokheiya:20120206232431j:image:w640" class="hatena-fotolife" style="width:640px" itemprop="image"></a></span><br /> 朝食という扱いになってる</p><br /> <p>そんなこんなで、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B7%A5%E3%A5%EB%A5%EB%A1%A6%A5%C9%A1%A6%A5%B4%A1%BC%A5%EB">シャルル・ド・ゴール</a>国際空港に着陸。<br /> 日本語アナウンスとも、これでお別れ。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120206181311" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120206/20120206181311.jpg" alt="f:id:Molokheiya:20120206181311j:image:w640" title="f:id:Molokheiya:20120206181311j:image:w640" class="hatena-fotolife" style="width:640px" itemprop="image"></a></span><br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/SNCF">SNCF</a>は、フランス<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B9%F1%C5%B4">国鉄</a>なんですって</p><br /> <p>…さて、どうやってパリ市内まで移動しようか。</p><br /> <p>今回の旅に、ガイドブックは持参していない!!<br /> <span class="deco" style="color:#000066;">分からなかったら<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B0%A5%B0%A4%EB">ググる</a></span>! あとカン!</p><br /> <br /> <p>まぁとりあえず<span class="deco" style="font-weight:bold;">空港と市内を結ぶと言えば電車だろ的な発想</span>で駅っぽい表示に向かって進む。<br /> どうやらGare du Nord(パリ北駅)が一番大きな駅らしい。そっからなら、どこでも行けるだろうと思ってとりあえずRERでGare du Nordへ。<br /> ちなみに後から知ったんですが、RERはそんなに治安がよくないらしいので夜中や女性一人なんかは、鉄道じゃなく<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B7%A5%E3%A5%C8%A5%EB">シャトル</a>バスで移動したほうがいいと思います。まぁRERに乗ると、落書きだらけだわ薄暗いわで知らなくても大体わかっちゃいましたが。</p><br /> <p>そのあとチケットの買い方が意味不明とか、乗り方もよくわからないとか、どの駅がホテルの最寄りだとか、どこで乗り換えすればいいのかとか、そういうことを英語を振ってある看板をなんとか読みつつ、ホテルの最寄駅へ。</p><br /> <br /> <p>パリ市内にはメトロポリタン(通称メトロ)が縦横無尽に走りまわっていて、さらに地上ではBUSがこれまた隅々まで走っています。<br /> なので移動手段にはまず困りません。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120207100335" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120207/20120207100335.jpg" alt="f:id:Molokheiya:20120207100335j:image:w640" title="f:id:Molokheiya:20120207100335j:image:w640" class="hatena-fotolife" style="width:640px" itemprop="image"></a></span><br /> これがパリのメトロポリタン駅の入り口だ!</p><br /> <p>メトロのシステムは日本の電車とは全然違ってて面白いです。<br /> パリ中心から同心円状にゾーンが広がっていて、外側のゾーンまで行ける切符ほど値段が上がる仕組み。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120223214713" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120223/20120223214713.png" alt="f:id:Molokheiya:20120223214713p:image:w640" title="f:id:Molokheiya:20120223214713p:image:w640" class="hatena-fotolife" style="width:640px" itemprop="image"></a></span><br /> 観光スポットは、ほとんどZone1の中にある</p><br /> <p>パリのメトロは入り口しか改札がないので、チケットを通したら後は捨てても大丈夫。(乗り換えするとき以外は)<br /> 「切符なくした!!!」っていう焦りは起きないので良いシステムですね!</p><br /> <p>Ticket t+(Tチケット)&#8364;1.7(約180円)で、メトロ・市内RER・BUS・トラムなんでも乗れます。<br /> どこに行くときも、最初にこれを改札で通せばどこで降りてもOK。めっちゃ分かりやすい…!</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120208181108" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120208/20120208181108.jpg" alt="f:id:Molokheiya:20120208181108j:image:w640" title="f:id:Molokheiya:20120208181108j:image:w640" class="hatena-fotolife" style="width:640px" itemprop="image"></a></span><br /> 上が<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B7%A5%E3%A5%EB%A5%EB%A1%A6%A5%C9%A1%A6%A5%B4%A1%BC%A5%EB%B6%F5%B9%C1">シャルル・ド・ゴール空港</a>からパリ市内へ、下がTicket t+</p><br /> <p>RERは郊外と市内を結ぶ路線なので、RERを使って郊外に出るときは別料金が必要になります。<br /> ここは日本の鉄道と同じように、降りるときも改札がある。</p><br /> <p>あと、<span class="deco" style="color:#CC0000;font-weight:bold;">ボタンかレバーを操作しないとドアが開かない!</span><br /> これ地味につまづくポイントだった。</p><br /> <br /> <p>そういう訳で、お決まりの観光スポット。<del datetime="2012-02-23T22:18:35+09:00">特に言うことはないのでスルー。</del></p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120207102402" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120207/20120207102402.jpg" alt="f:id:Molokheiya:20120207102402j:image:w640" title="f:id:Molokheiya:20120207102402j:image:w640" class="hatena-fotolife" style="width:640px" itemprop="image"></a></span><br /> デデーン</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120207103351" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120207/20120207103351.jpg" alt="f:id:Molokheiya:20120207103351j:image:w640" title="f:id:Molokheiya:20120207103351j:image:w640" class="hatena-fotolife" style="width:640px" itemprop="image"></a></span><br /> ぶっちゃけガッカリ名所</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120207110201" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120207/20120207110201.jpg" alt="f:id:Molokheiya:20120207110201j:image:h480" title="f:id:Molokheiya:20120207110201j:image:h480" class="hatena-fotolife" style="height:480px" itemprop="image"></a></span><br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A8%A5%C3%A5%D5%A5%A7%A5%EB%C5%E3">エッフェル塔</a></p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120207110341" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120207/20120207110341.jpg" alt="f:id:Molokheiya:20120207110341j:image:w640" title="f:id:Molokheiya:20120207110341j:image:w640" class="hatena-fotolife" style="width:640px" itemprop="image"></a></span><br /> 階段コースと、エレベーターコースがある。もちろん値段違うよ!</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120207120720" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120207/20120207120720.jpg" alt="f:id:Molokheiya:20120207120720j:image:h480" title="f:id:Molokheiya:20120207120720j:image:h480" class="hatena-fotolife" style="height:480px" itemprop="image"></a></span><br /> エレベーターで登ればよかったと今でも後悔している</p><br /> <br /> <p>ヨーロッパはとにかく、誰もがタバコを吸ってる。しかも、路上喫煙。<br /> 路上喫煙ね、歩いてたらタバコの火が自分のすぐそばを通るのヤだね。<br /> しかも、誰もが当然の如く道に吸殻を捨てる。</p><br /> <p>そんなもんだから、道は吸殻だらけ。<br /> パリは街並みが本当に綺麗で、歩いているだけでも楽しかったんだけど、少しでも下を見てしまうと萎えること間違いなし。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120208235110" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120208/20120208235110.jpg" alt="f:id:Molokheiya:20120208235110j:image:w640" title="f:id:Molokheiya:20120208235110j:image:w640" class="hatena-fotolife" style="width:640px" itemprop="image"></a></span><br /> ヨーロッパにはコンビニ的な店が無い。代わりにこんなキオスクがあちこちにある</p><br /> <p>あと治安ほんとよくない。パリ治安悪い。<br /> スリはヨーロッパ中、どこにでも居るらしいんだけども、それ以上にひったくりやらクスリ的なアレやらが多い。</p><br /> <p>パリ郊外はスラムとなってるので、市内中心部から出来るだけ離れないほうがいいかもです。</p><br /> <p>ひったくり危ないな〜 と思いながらも、カメラをバッグから出してないと街並みが撮れないので、<br /> カメラのベルトとかしっかり持って歩いてたときに、突然地元民の人に怒られた。<br /> <br /> </p> <blockquote> <p>パリのひと「あんた! なにやってんの! カメラちゃんとバッグにしまいなさいよ! 盗られるわよ!!」<br /> おれ「あっ、すいません、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A1%BC%A5%BB%A5%F3">サーセン</a>」</p><br /> <p>(意訳)</p> </blockquote> <p><br /> パリのひと優しい。</p><br /> <p>レポの画像が<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>のカメラばっかなのはそのせいです。<br /> 観光名所では一眼使ったので、綺麗なのいくつかありますが、それはまた後ほど。</p><br /> <p>さて、パリの美しい名所いっぱいありました。ローカル的なことも。<br /> パリ篇その2に続く!</p> Thu, 23 Feb 2012 00:00:00 +0900 hatenablog://entry/17680117127146812772 旅行 ヨーロッパ周遊旅行 / 企画から成田篇 https://molokheiya.hatenadiary.org/entry/20120222/p1 <p>2月6日から21日まで、欧州を回る旅に行って来ました。<br /> 5カ国9都市を回る旅になりまして、その間の写真をアップしようとしたんですが、ついでに日記も兼ねて旅レポートなんてものを書いてみようと思います。</p><br /> <p>レポは都市ごとに分けて書いていくので、長くなりながらも、じわじわ思い出しながら書いてみたいと思います。</p><br /> <p>というわけで、まず企画篇から。</p><br /> <p>ふと思い返せばこの2年、東京から出たのが実家に帰るときだけ。<br /> 新幹線使って奈良まで帰って、たまに京都、大阪、名古屋に寄るだけ。</p><p>長期間の休みがあるのなんて、学生の時だけっていうことが、ようやくなんとなく分かってきた学年(これから3年)なので、ちょっと長期で旅行でも行っちゃう? 長期ならもう海外とか行っちゃう? パスポートってどこでもらえるの? ってレベルで企画開始。</p><br /> <p>何も考えずに、ただ漠然と思ったのが</p> <ul> <li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AB%A5%F3%A5%DC%A5%B8%A5%A2">カンボジア</a>とか<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E9%A5%AA%A5%B9">ラオス</a>とかで過ごしたい</li> <li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%F4%A5%A7%A5%CD%A5%C4%A5%A3%A5%A2">ヴェネツィア</a>行きたい、欧州とかあこがれる</li> <li>オーロラ見てみたい</li> <li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DC%A5%EA%A5%D3%A5%A2">ボリビア</a>のウユニ塩湖行ってみたい</li> </ul><p>最後だけやたらピンポイントなのは、画像を見て「ここ死ぬまでには一度は行きたいな!」と思ったから。</p><br /> <br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120219170747" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120219/20120219170747.png" alt="f:id:Molokheiya:20120219170747p:image:h480" title="f:id:Molokheiya:20120219170747p:image:h480" class="hatena-fotolife" style="height:480px" itemprop="image"></a></span><br /> 死ぬまでには一度は行きたいウユニ湖</p><br /> <br /> <p>しかし調べれば調べるほど、たどり着くまでの道が険しくて、海外初心者にはハードル高すぎ状態だったのでやめときました。でもいつか行きたい。<br /> とりあえず大学が休みの間だから、2〜3月。パラパラとネットで調べてみると、なんと<span class="deco" style="font-weight:bold;"><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%F4%A5%A7%A5%CD%A5%C4%A5%A3%A5%A2">ヴェネツィア</a>でカーニバルが開催される</span>というじゃありませんか。</p><br /> <p><span class="deco" style="font-weight:bold;color:#CC0000;">そうだ、イタリア行こう。</span></p><br /> <p>さっそく<a class="keyword" href="http://d.hatena.ne.jp/keyword/ANA">ANA</a>のサイトで航空券を検索!</p><br /> <br /> <br /> <br /> <br /> <br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120219170748" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120219/20120219170748.png" alt="f:id:Molokheiya:20120219170748p:image" title="f:id:Molokheiya:20120219170748p:image" class="hatena-fotolife" itemprop="image"></a></span><br /> なにこれ高い</p><br /> <br /> <p>割引? ホテル? え、結局どうすればええのん?</p><br /> <p>…<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C8%AC%B2%A6%BB%D2%B1%D8">八王子駅</a>前の<a class="keyword" href="http://d.hatena.ne.jp/keyword/H.I.S.">H.I.S.</a>に行きました。<br /> <br /> </p> <blockquote> <p>おれ「イタリア行きたいんですけど」<br /> HISのひと「あ〜 イタリアいいっすねぇ〜」<br /> おれ「そういえば<a class="keyword" href="http://d.hatena.ne.jp/keyword/EU">EU</a>内はどこでも行けるんですよね」<br /> HISのひと「<span class="deco" style="color:#CC0000;">鉄道で他の国行ったりとかいいっすよぉ〜</span>」<br /> おれ「<span class="deco" style="color:#000099;">あ〜 いいっすねぇ〜</span>」</p> </blockquote> <p><br /> という感じ(意訳)で<span class="deco" style="color:#000066;font-weight:bold;">ヨーロッパ各国を回ることになりました。</span></p><br /> <br /> <p>何度か<a class="keyword" href="http://d.hatena.ne.jp/keyword/H.I.S.">H.I.S.</a>に足を運んで、地図を見ながらあーでもない、こーでもない、こーすれば安いと言いながら旅行プランを決めていくのは非常に楽しかったです。とても親身にプラン考えてくれた<a class="keyword" href="http://d.hatena.ne.jp/keyword/H.I.S.">H.I.S.</a>の方々ありがとうございました(宣伝)</p><br /> <p>そんで立川でパスポート取ったり、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B3%A4%B3%B0%CE%B9%B9%D4%CA%DD%B8%B1">海外旅行保険</a>の説明受けたりしてあっという間に2月初頭。<br /> <br /> <br /> </p> <blockquote> <p>HISのひと「これが航空券のEチケットです、これが鉄道のチケットです、これがホテルのバウチャー(予約確認券)です、これが保険です、ではいってらっしゃい!」<br /> おれ「おお… 完璧、そこに痺れる憧れる」</p> </blockquote> <p></p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120206085924" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120206/20120206085924.jpg" alt="f:id:Molokheiya:20120206085924j:image:h480" title="f:id:Molokheiya:20120206085924j:image:h480" class="hatena-fotolife" style="height:480px" itemprop="image"></a></span><br /> 日暮里から京成スカイライナーで成田空港まで一直線</p><br /> <p>動く旅になると思って、かばんには着替えとパソコン、<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>と予備バッテリー、一眼レフしか入れずに出来るだけ軽装で。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120206105232" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120206/20120206105232.jpg" alt="f:id:Molokheiya:20120206105232j:image:h480" title="f:id:Molokheiya:20120206105232j:image:h480" class="hatena-fotolife" style="height:480px" itemprop="image"></a></span><br /> 明らかに非リアに対して喧嘩を売っている成田空港</p><br /> <p>空港内の<a class="keyword" href="http://d.hatena.ne.jp/keyword/UFJ%B6%E4%B9%D4">UFJ銀行</a>で日本円をユーロに両替し、海外でのネット通信用に、予約しておいたグローバルデータのMiFiを受け取る。</p><br /> <br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120206102808" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120206/20120206102808.jpg" alt="f:id:Molokheiya:20120206102808j:image:h480" title="f:id:Molokheiya:20120206102808j:image:h480" class="hatena-fotolife" style="height:480px" itemprop="image"></a></span><br /> パスポートを機械に入れるとチェックイン処理されて航空券がぺろっと出てくる</p><br /> <br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120206115419" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120206/20120206115419.jpg" alt="f:id:Molokheiya:20120206115419j:image:h480" title="f:id:Molokheiya:20120206115419j:image:h480" class="hatena-fotolife" style="height:480px" itemprop="image"></a></span><br /> これから乗る<a class="keyword" href="http://d.hatena.ne.jp/keyword/AIR">AIR</a> FRANCE(<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A8%A1%BC%A5%EB%A5%D5%A5%E9%A5%F3%A5%B9">エールフランス</a>)の飛行機</p><br /> <p>最初に目指すはフランス、パリ。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B7%A5%E3%A5%EB%A5%EB%A1%A6%A5%C9%A1%A6%A5%B4%A1%BC%A5%EB%B6%F5%B9%C1">シャルル・ド・ゴール空港</a>。</p><br /> <br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20120206192008" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20120206/20120206192008.jpg" alt="f:id:Molokheiya:20120206192008j:image:h480" title="f:id:Molokheiya:20120206192008j:image:h480" class="hatena-fotolife" style="height:480px" itemprop="image"></a></span><br /> 待ってろヨーロッパー!</p><br /> <br /> <p><a href="http://d.hatena.ne.jp/Molokheiya/20120223/p1">&#x6B21;&#x56DE;&#x3001;&#x30D1;&#x30EA;&#x7BC7;&#x306B;&#x7D9A;&#x304F;&#xFF01;</a></p> Wed, 22 Feb 2012 00:00:00 +0900 hatenablog://entry/17680117127146813160 旅行 2011年も、もう終わりですね https://molokheiya.hatenadiary.org/entry/20111231/p1 <p><br /> 今年は大きなことが2つありました。</p><br /> <p>1つめは、やはり東北大震災が与えた影響です。これは、とてもとても大きいものとなりました。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%C4%C5%C7%C8">津波</a>が家々を飲み込んでいく映像、押し流される車、人、そして<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B8%B6%C8%AF">原発</a>事故。今を生きるとはなんなのか。<br /> まず普段通りに生活が出来るということの有り難さ、そんな日常はいとも簡単に崩れ去る事実。<br /> それはエンターテイメントに関わりたいと願っていた人間として『娯楽』なんてやっている場合なのかという、<br /> 大きな課題を心に残して行きました。<br /> ドキュメンタリーというコンテンツに魅せられたのも、影響があったと思います。</p><br /> <p>2つめは、ようやく業界に少し携わることが出来たということです。<br /> 学生しか経験したことがなく、仕事といってもアルバイトしか今までやったことがありませんでしたが、<br /> はじめて会社という組織に所属して、お金を貰って仕事をこなし、それを社会に出す。<br /> 自分自身で仕事を請けて、お金を貰って技術を使い、それを社会に出す。<br /> それを経験することで、バイトでは分からなかったことを、たくさん知ることが出来ました。</p><br /> <p>まだ大学にて、技術の基礎や考え方などを学んでいる最中ではあります。<br /> しかし、自分の直感と考えで今年は生きました。そして、これからもこうありたいと思えます。</p><br /> <p>そして、来年からは、また新たに挑戦を始めたいと思っています。<br /> 大きく、大きく、真っ白なところに絵の具をぶちまけるように。<br /> 自分は1色しか持っていなくても、何人も何十人も集まれば、虹色になるのではないか。<br /> それはきっと、とても面白いものになると考えています。</p><br /> <br /> <p>2012年も、「やりたいこと」を失わずにいられる1年になればいいなあと思っています。</p> Sat, 31 Dec 2011 00:00:00 +0900 hatenablog://entry/17680117127146813437 雑記 jQueryを使ったアニメーションと、ユーザビリティの話。それとCSS3。 https://molokheiya.hatenadiary.org/entry/20111203/p1 <p><br /> <a href="http://atnd.org/events/21980">JavaScript Advent Calendar 2011 &#x30AA;&#x30EC;&#x6A19;&#x6E96;&#x30B3;&#x30FC;&#x30B9;</a>、2日目のもろへいやです。とても遅れてすいません…</p><br /> <p>私は技術的な話は得意ではないので、デザイン面から<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DE%A1%BC">プログラマー</a>に向けてのTipsを書きたいと思います。<br /> 今回は、アニメーションの話を書いてみます。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>は標準で、要素の表示・非表示を切り替えるときにフェードやスライドを使うことが出来ますよね。<br /> <br /> </p> <pre class="code lang-javascript" data-lang="javascript" data-unlink>$(<span class="synConstant">&quot;#box&quot;</span>).fadeIn(<span class="synConstant">&quot;fast&quot;</span>); </pre><p><br /> たった一行で、アニメーション効果を付加することができるので、<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DE%A1%BC">プログラマー</a>のみならずデザイナーの方でも<a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>を使っている人は多いんじゃないかと思います。</p><br /> <p>しかし、簡単なおかげで何をするにアニメーション効果をかけまくってしまったり。<br /> あるいはアニメーション効果なんて無駄! ということで、全然使っていない人もいると思います。<br /> ですが、アニメーションは効果的に使うと非常に使いやすいサイト・アプリケーションを作ることができます。</p><br /> <p><span class="deco" style="font-weight:bold;">フェードやスライドなど、こういった効果を「飾りつけ」に使おうとすると、いちいち要素が動く面倒くさいサイトになります。</span><br /> これはデザインの本質だと私が考えていることですが、<br /> <span class="deco" style="color:#FF0000;">デザイン・アニメーションというものは、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E6%A1%BC%A5%B6%A5%D3%A5%EA%A5%C6%A5%A3">ユーザビリティ</a>を向上させるために存在していると思います。</span></p><br /> <p>例えば、急に要素の表示・非表示を切り替えると、何も知らないユーザーは<span class="deco" style="font-weight:bold;">「あれ? いまどこが変わった?」</span>と混乱してしまいます。<br /> ここで0.5秒間でアニメーションするようにしてあげると、<span class="deco" style="color:#3300FF;">無意識にどこが変化しているのかを読み取ることができ、<br /> ステータスの変化をユーザーが意識的に感じることができます。</span></p><br /> <p>さらに、文字列を変更させたボックス要素を一瞬だけハイライトさせてあげることで、注目を引いたり、アクションを起こさせるきっかけとしても使えます。</p><br /> <p>どうも<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a>によるアニメーション! というと、<br /> <a href="http://d.hatena.ne.jp/kudakurage/20100609/1276054729">CSS3&#x306B;&#x3088;&#x308B;Transition Effects 30 - &#x304F;&#x3089;&#x3052;&#x3060;&#x3089;&#x3051;</a><br /> こういう感じの派手な効果が注目されてしまいがちですが、何気ないウェブサイトにも小さなアニメーションを仕込むことで、<br /> ユーザーが使いやすいサイトを作ることが出来ます。</p><br /> <p>デザイン面の話を<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a> Advent Calendarのようなイベントでするのは気がひけるのですが、<br /> サイトのデザインなどは、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A6%A5%A7%A5%D6%A5%C7%A5%B6%A5%A4%A5%CA%A1%BC">ウェブデザイナー</a>さんがすることが多くても、<br /> アニメーション効果までは関わってもらえないことほとんどだと思います。</p><br /> <p>そんな時に、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DE%A1%BC">プログラマー</a>側でこういった簡単な知識を持っているだけで、全体の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E6%A1%BC%A5%B6%A5%D3%A5%EA%A5%C6%A5%A3">ユーザビリティ</a>はかなり向上します。<br /> いくらロジックが良くても、最終的にユーザーさんが使いやすいと思ってくれなければ意味がないので、ぜひそういった部分にも意識を向けてもらえればと感じます。</p><br /> <br /> <p>とまぁ、ここまで<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a>なしなので、ここからは<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a>の話をしたいと思います!</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>のアニメーションは、タイマーを使って<a class="keyword" href="http://d.hatena.ne.jp/keyword/CSS">CSS</a>のパラメータを書き換えていく形で実装されているので、<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/IE">IE</a>などでも動作しますが、複雑なアニメーションになってくるとやっぱり重いです。</p><br /> <p>カクカクな動作になってしまってはやっぱりダサいので、CSS3のTransition(Animation)を使って、なめらかなアニメーション効果を付加しましょう!<br /> <br /> </p> <pre class="code lang-css" data-lang="css" data-unlink><span class="synIdentifier">#box</span> <span class="synIdentifier">{</span> <span class="synComment">-webkit-</span><span class="synType">transition</span>: <span class="synType">width</span> <span class="synConstant">1s</span> <span class="synConstant">linear</span>; <span class="synComment">-moz-</span><span class="synType">transition</span>: <span class="synType">width</span> <span class="synConstant">1s</span> <span class="synConstant">linear</span>; <span class="synComment">-o-</span><span class="synType">transition</span>: <span class="synType">width</span> <span class="synConstant">1s</span> <span class="synConstant">linear</span>; <span class="synComment">-ms-</span><span class="synType">transition</span>: <span class="synType">width</span> <span class="synConstant">1s</span> <span class="synConstant">linear</span>; <span class="synType">background-color</span>: <span class="synConstant">red</span>; <span class="synType">width</span>: <span class="synConstant">300px</span>; <span class="synIdentifier">}</span> <span class="synIdentifier">#box</span>:<span class="synPreProc">hover</span> <span class="synIdentifier">{</span> <span class="synType">width</span>: <span class="synConstant">500px</span>; <span class="synIdentifier">}</span> </pre><p></p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/CSS">CSS</a>だけでアニメーションさせるときは上記のように、まず接頭辞付きでtransitonプロパティを記述します。<br /> そしてアニメーションのトリガには、擬似<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BB%A5%EC%A5%AF%A5%BF">セレクタ</a>を使うのが一般的です。<br /> これを、<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a>でアニメーションを発火させるときは<br /> <br /> <br /> </p> <pre class="code lang-javascript" data-lang="javascript" data-unlink> $(<span class="synConstant">&quot;#box&quot;</span>).css(<span class="synConstant">&quot;width&quot;</span>, <span class="synConstant">&quot;500px&quot;</span>); </pre><p><br /> のように、普通に<a class="keyword" href="http://d.hatena.ne.jp/keyword/CSS">CSS</a>のプロパティを設定します。<br /> すると、既に#box要素にはtransitonの設定が記述されているので、<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a>側で何か設定することなくアニメーションを行うことが出来ます。</p><br /> <p>しかしこのままでは、簡単なフェードやサイズ変更のときはよくても、複雑なアニメーションになってくると使い勝手が悪いですよね。<br /> そこで、<a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3">プラグイン</a>を使うと便利です。</p><p> <br /> <a href="http://playground.benbarnett.net/jquery-animate-enhanced/">jQuery Animations with automatic CSS3 transitions when possible</a></p><br /> <p>これをロードすると、fade(In|Out)、slide(Up|Down)、animateメソッドを拡張してくれます。<br /> あとは普通に<a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>のAnimateを使う時と同じようにすれば、自動的にCSS3のTransitonを使ってくれます。便利ですね!!</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/CSS">CSS</a> Transitionは<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>デ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D0%A5%A4%A5%B9">バイス</a>で特に効果があります。<br /> 単純に非力なモバイルデ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D0%A5%A4%A5%B9">バイス</a>で、<a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>のアニメーションを使うとカクカクとした動作になってしまうんですが、<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>のMobile <a class="keyword" href="http://d.hatena.ne.jp/keyword/Safari">Safari</a>は<a class="keyword" href="http://d.hatena.ne.jp/keyword/GPU">GPU</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%AF%A5%BB%A5%E9">アクセラ</a>レータが搭載されているので、ネイティブアプリ並のフレームレートでアニメーションします。</p><br /> <p>ちなみに<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>シミュレータを使えば、画面上で<a class="keyword" href="http://d.hatena.ne.jp/keyword/GPU">GPU</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%AF%A5%BB%A5%E9">アクセラ</a>レータが適用されている部分を可視化することが出来ます。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20111203195317" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20111203/20111203195317.png" alt="f:id:Molokheiya:20111203195317p:image" title="f:id:Molokheiya:20111203195317p:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20111203195316" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20111203/20111203195316.png" alt="f:id:Molokheiya:20111203195316p:image:w200" title="f:id:Molokheiya:20111203195316p:image:w200" class="hatena-fotolife" style="width:200px" itemprop="image"></a></span><br /> 赤くなっている部分に、<a class="keyword" href="http://d.hatena.ne.jp/keyword/GPU">GPU</a>支援が効いている</p><br /> <br /> <p>と、こんな感じです。</p><br /> <p>プログラミングばかりしていると、どうしてもデザインには疎遠になってしまうことが多いと思いますが、<br /> せっかくウェブサイト・ウェブアプリを作るんだったら、ユーザーさんに使いやすいと感じてもらえたほうがいいはずです。</p><br /> <p>ちょっとした工夫で、使いやすさの向上に繋がるので、ぜひやってみてください!</p> Sat, 03 Dec 2011 00:00:00 +0900 hatenablog://entry/17680117127146813592 JavaScript CSS3 ラスベガスから学ぶ、カジノとエンタテイメント https://molokheiya.hatenadiary.org/entry/20111122/p1 <p>たまには、すこしまじめなメディアの話をしようかなと思い立ちました(迫真)</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20111122220052" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20111122/20111122220052.jpg" alt="f:id:Molokheiya:20111122220052j:image:w340" title="f:id:Molokheiya:20111122220052j:image:w340" class="hatena-fotolife" style="width:340px" itemprop="image"></a></span></p><br /> <p>唐突ですが、ラスベガスという場所で思い浮かべるものはなんですか?</p><br /> <p>夜通し明るいネオンが光る街並み、あちこちから聞こえる騒ぎ声、そしてカジノ。<br /> <span class="deco" style="color:#CC0000;">ラスベガスといえば賭博ですよ、ギャンブルです!</span></p><br /> <p>ところが日本では<span class="deco" style="font-weight:bold;">「カジノ = 目付きの悪い黒服のマフィアたちがウロウロしてるようなイメージ」</span>のような、悪どい黒いイメージが先行していることが多いようです。<br /> <s><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CB%A5%BB%A5%B3%A5%A4">ニセコイ</a>の千棘のようなマフィアなら略</s></p><br /> <p>でも実際のところ、<span class="deco" style="color:#0000CC;">現代のカジノはそういった犯罪が入り込む余地のないエンターテイメントとして成り立っています。</span><br /> では、ラスベガスの歴史を少しだけ紐解いてみましょう。</p><br /> <p><hr></p><br /> <p>ラスベガスの最初は、ゴールドラッシュが関係しています。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/1840%C7%AF">1840年</a>代にカリフォルニアでゴールドラッシュが起き、カリフォルニアへ向かう途中の経由地点として栄え、住み着く人々が現れました。</p><br /> <p>続いて、1929年に起きた<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C2%E7%B6%B2%B9%B2">大恐慌</a>を打開するための、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CB%A5%E5%A1%BC%A5%C7%A5%A3%A1%BC%A5%EB%C0%AF%BA%F6">ニューディール政策</a>の一環として<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D5%A1%BC%A5%D0%A1%BC%A5%C0%A5%E0">フーバーダム</a>が建設。<br /> さらに<span class="deco" style="font-weight:bold;">特徴のないのが特徴</span>の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CD%A5%D0%A5%C0">ネバダ</a>州では、ギャンブルを合法化してなんとかしようとします。</p><br /> <p>結局ゴールドラッシュから100年近く経っても田舎町だったラスベガスに、とある有名マフィアがフラミンゴ・ラスベガスというホテルを建設したのが1946年のこと。<br /> じわじわと儲かりはじめて、1950年代から本格的にマフィアたちが次々にホテルを建設。さらに有名人を使ってショーを行い、盛んな集客を行うようになりました。</p><br /> <p><span class="deco" style="font-weight:bold;color:#CC0000;">この頃のラスベガスは、合法的な売春と賭博の街でした。</span></p><br /> <p>これが変わってきたのは、カジノライセンス法が改正された1969年頃。<br /> カジノのライセンスを管理する「ゲーミング・コミッション」や「ゲーミング・コン<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C8%A5%ED%A1%BC%A5%EB">トロール</a>・ボード」等が設立されて、当局の取締りを強化。<br /> <span class="deco" style="font-weight:bold;color:#CC0000;">犯罪に関わる全てのものを排除し、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A5%CD%A1%BC%A5%ED%A5%F3%A5%C0%A5%EA%A5%F3%A5%B0">マネーロンダリング</a>などに対する厳しい処罰</span>を設けることで、マフィアにとってラスベガスは金儲けがしずらい土地となっていくわけです。<br /> そうして<span class="deco" style="font-weight:bold;">マフィアが自ら放棄したラスベガスに、大手企業がドカドカと参入してきます。</span></p><br /> <p>まずカーク・カーコリアンというスーパー富豪な<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%E1%A5%EA">アメリ</a>カの実業家。<br /> この方が1969年に「ラスベガス・インターナショナル」という、当時世界最大のホテルをおっ建てました。これが、現在のラスベガス・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D2%A5%EB">ヒル</a>トンです。</p><br /> <p><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/8/82/Las_Vegas_Hilton.jpg/320px-Las_Vegas_Hilton.jpg"></p><br /> <p>ここで最初に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A8%A5%EB%A5%F4%A5%A3%A5%B9%A1%A6%A5%D7%A5%EC%A5%B9%A5%EA%A1%BC">エルヴィス・プレスリー</a>と<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D0%A1%BC%A5%D6%A5%E9%A1%A6%A5%B9%A5%C8%A5%E9%A5%A4%A5%B5%A5%F3%A5%C9">バーブラ・ストライサンド</a>、2人の著名人を呼んでショーを行い、客をガンガン呼び込みました。</p><br /> <p>さらにス<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C6%A5%A3%A1%BC">ティー</a>ブ・ウィンが「ミラージュ」ホテルを建設、これがテーマホテルの草分けと言われています。</p><br /> <p><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mirage2010.JPG/320px-Mirage2010.JPG"></p><br /> <p>ミラージュではボクシング世界戦を集中興行するなどして、さらに人を集めます。<br /> ラスベガスで興行すると一定のフィーが入るような仕組みにもなっていたそうな。</p><br /> <p>対するカーコリアンは1993年に、のちにプロレスやボクシングなどの格闘技界の殿堂とも呼ばれるようになる「<a class="keyword" href="http://d.hatena.ne.jp/keyword/MGM%A5%B0%A5%E9%A5%F3%A5%C9">MGMグランド</a>・ガーデン・アリーナ」を建設。</p><br /> <p><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/67/MGMGRANDGARDEN1.JPG/320px-MGMGRANDGARDEN1.JPG"></p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D6%A5%EA%A5%C8%A5%CB%A1%BC%A1%A6%A5%B9%A5%D4%A5%A2%A1%BC%A5%BA">ブリトニー・スピアーズ</a>なんかもコンサートに使うなど、かなりの盛り上がりを見せます。</p><br /> <p>それをみたウィンは「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%E9%A1%BC%A5%B8%A5%AA">ベラージオ</a>」ホテルを建設。<br /> 目玉アト<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E9%A5%AF">ラク</a>ションとして、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B7%A5%EB%A5%AF%A1%A6%A5%C9%A5%A5%A1%A6%A5%BD%A5%EC%A5%A4%A5%E6">シルク・ドゥ・ソレイユ</a>のショーを興行。</p><br /> <p><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/19/Bellagio-front.jpg/320px-Bellagio-front.jpg"> <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/17/Dralion-Vienna.jpg/313px-Dralion-Vienna.jpg"></p><br /> <p><span style="color: #666666"><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%EC%B5%FE%A5%C7%A5%A3%A5%BA%A5%CB%A1%BC%A5%EA%A5%BE%A1%BC%A5%C8">東京ディズニーリゾート</a>の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B7%A5%EB%A5%AF%A1%A6%A5%C9%A5%A5%A1%A6%A5%BD%A5%EC%A5%A4%A5%E6">シルク・ドゥ・ソレイユ</a>は、今年いっぱいで公演終了らしいですね(´・ω・`)</span></p><br /> <br /> <p>ていうか<span class="deco" style="font-weight:bold;">実業家さん、ポコポコとホテル建てすぎですね…</span>(遠い目)</p><br /> <p>それだけカジノを中心にエンターテイメントを集めた娯楽施設(テーマホテル)は儲かったということなんです。</p><br /> <br /> <p>つまり、<span class="deco" style="font-weight:bold;color:#0000CC;">ラスベガスはカジノだけで収益をあげているのではなく、複合施設コンセプトが必須条件</span>ということですね。</p><br /> <p>まずカジノ、そして大型のホテル。そこに常設のライブ・エンタテイメントが備えられ、さらにブランドショップからコンベンションまでが施設内で営業。さらにスパやフィットネスが充実していく… という集合娯楽施設です。<br /> ちなみに<span class="deco" style="font-weight:bold;">今のラスベガスは、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%E1%A5%EA">アメリ</a>カでどこよりも治安の良い観光地といわれています。</span></p><br /> <br /> <p>そして、この勢いは<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A5%AB%A5%AA">マカオ</a>へと移ります。</p><br /> <p>2004年に「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E9%A5%B9%A5%D9%A5%AC%A5%B9%A1%A6%A5%B5%A5%F3%A5%BA">ラスベガス・サンズ</a>」社が「サンズ・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A5%AB%A5%AA">マカオ</a>」というカジノリゾートを建設。</p><br /> <p><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Sands.JPG/320px-Sands.JPG"></p><br /> <p>建設には<span class="deco" style="color:#003333;font-weight:bold;">2.4億米ドルの資金が注ぎ込まれたものの、なんとわずか半年で回収してしまう</span>という化物っぷり。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A5%AB%A5%AA">マカオ</a>でカジノリゾートは儲かる! と分かった実業家たちが次々に資金を投入。<br /> 2010年までに120億米ドルを上回る投資で、20の新しいカジノリゾートホテルが建設されたそうな。</p><br /> <p>観光客は2000年の900万人から、2007年には2,700万人に増加。<br /> 2006年の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A5%AB%A5%AA">マカオ</a>でのカジノ総売上は72億米ドルを記録し、ラスベガス・ストリップの65億米ドル超え。<br /> <span class="deco" style="color:#990000;">2008年には、137億米ドル</span>の売上を記録。<br /> <span class="deco" style="color:#990000;">2010年には、235億米ドル</span>に。前年比58%増、規模は<span class="deco" style="font-weight:bold;">ラスベガスの4倍</span>。どういうことなの…</p><br /> <p>現在は、未開発のCotal Strip地域だけで2012年までに新たに3万を超える客室が建設され、Cotalの商業スペースは10万坪以上、世界最大規模になるとかで破竹の勢い。</p><br /> <p><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/bb/Cotai_Strip_Buildings_200907.jpg/320px-Cotai_Strip_Buildings_200907.jpg"></p><br /> <p>既に観光客の数では、3,500万人とラスベガスと渡り合っている<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A5%AB%A5%AA">マカオ</a>。<br /> 成長しつづける<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A5%AB%A5%AA">マカオ</a>のほうは、2020年には7,000万人になるだろうと予測が出ているらしい。</p><br /> <br /> <p><span class="deco" style="font-size:medium;">ただし!</span></p><br /> <p>ラスベガスはカジノ売上が65億米ドル、カジノ以外の売上は90億米ドル。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A5%AB%A5%AA">マカオ</a>はカジノ売上が235億米ドル、カジノ以外の売上は20億米ドルに留まる。</p><br /> <p>この数字は「ギャンブル好き」とされる中国人観光客の勢いをきれいに表しているとも言えますな。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A5%AB%A5%AA">マカオ</a>以外でも、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B7%A5%F3%A5%AC%A5%DD%A1%BC%A5%EB">シンガポール</a>でも開発が行われ、<span class="deco" style="font-weight:bold;"><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B7%A5%F3%A5%AC%A5%DD%A1%BC%A5%EB">シンガポール</a>でのカジノ売上は65億米ドル</span>まで成長。<br /> もうラスベガスと同規模になっています。</p><br /> <br /> <p>まとめると、<span class="deco" style="color:#CC0000;">カジノは単体で収益を上げるものではなく、カジノリゾートとして複合施設コンセプト。<br /> そこに大型のライブエンタテイメントの土壌が生まれる。<br /> つまり、カジノの開発に連動してアジアのライブエンタテイメントは活性化する</span>と考えられます。</p><p>アジア市場にカジノ施設が加わることで、欧米に匹敵するエンタテイメント市場が構築されるのは、ほぼ間違いないんじゃないかと。</p><br /> <p><hr></p><br /> <p>さて、日本では「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B9%F1%BA%DD%B4%D1%B8%F7%BB%BA%B6%C8%BF%B6%B6%BD%B5%C4%B0%F7%CF%A2%CC%C1">国際観光産業振興議員連盟</a>(通称:カジノ議連)」が、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%EC%C6%FC%CB%DC%C2%E7%BF%CC%BA%D2">東日本大震災</a>を受けて一気に動き始めています。<br /> 保守的な日本では賛否両論、どちらかというと否定派が多かった賭博の合法化ですが、<span class="deco" style="color:#000099;">震災復興・観光立国の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%AF%C7%FA%BA%DE">起爆剤</a>としてカジノ区域整備推進法案</span>が8月に正式決定され、収益を復興財源に充てられるとして注目を集めています。<br /> <br /> </p> <blockquote> <p><br /> <a href="http://www.sankeibiz.jp/macro/news/111119/mca1111190500000-n1.htm">http://www.sankeibiz.jp/macro/news/111119/mca1111190500000-n1.htm</a><br /> <span class="deco" style="font-size:small;">(今月19日の記事)</span></p><p></p> </blockquote> <p><br /> 具体的には、仙台にカジノを作る計画。<br /> 長崎の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CF%A5%A6%A5%B9%A5%C6%A5%F3%A5%DC%A5%B9">ハウステンボス</a>や東京ドームでも、成長戦略の研究開発としてカジノ事業をあげはじめ、ラスベガスなどの米国企業も日本に照準を合わせ始めて、事業が本格化しそうな雰囲気を出しています。</p><br /> <p>まだ日本では、冒頭で述べたような「カジノ=闇社会への関係」というイメージが根強く、合法化への抵抗が強いんですが、ここまでで書いたように「危険性が強いからこそ取り締まりを普通より数倍強化するから、逆に最も安全」となっているのが実情ではないかと。</p><br /> <p>またギャンブル中毒について。<br /> <span class="deco" style="font-weight:bold;"><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B7%A5%F3%A5%AC%A5%DD%A1%BC%A5%EB">シンガポール</a>では外国人観光客がカジノに入るのは無料ですが、国民は入場料を100ドル支払う必要があります。</span>高い!<br /> 持ち物検査から本人確認が隅々に渡って行われ、親族は政府に申請することでギャンブル中毒になった人がまたカジノに行っていないか確認することが出来るような制度もあります。(入場拒否も出来るのかな? このへんは不明)</p><br /> <p>これからの<span class="deco" style="color:#000099;">日本のエンタテイメント市場を、アジア全体で通用するレベルに押し上げるためには、現実解として大型カジノ開発が必要不可欠なのではないかと思います。</span></p><br /> <p>特に不振が続く音楽業界。<br /> 音楽コンテンツで売り上げるのではなく、アーティストのライブ、コンサート、ツアーなど本人稼働のビジネスモデルにせざるを得ないことが明白になっている今、その土壌を育てることは絶対なのではないかと。</p><p>さらにゲーム業界を牽引する日本だからこそ生み出せる、新たなビジネスやエンタテイメントがカジノリゾートと連動して生まれることも十分に有り得るのではないか、そう思わざるをえない国際状況になっています。</p><br /> <br /> <p>エンタテイメントを国内だけで消費する時代は終焉を迎えています。<br /> アジアの、そして日本のカジノリゾートはどうなるのか。<br /> そしてエンタテイメント市場はどのように変化していくのか、引き続き見守っていこうと思います。</p> Tue, 22 Nov 2011 00:00:00 +0900 hatenablog://entry/17680117127146814040 メディア 総合エンタテイメント創作集団「S-TRIBE」の代表に就任しました https://molokheiya.hatenadiary.org/entry/20111121/p1 <blockquote> <p>2011年11月22日 追記</p><br /> <p><a href="http://www.s-tribe.net/archives/1765">http://www.s-tribe.net/archives/1765</a></p><br /> <p>がんばります</p> </blockquote> <p><br /> 近頃、朝が寒くて昼間が暖かいお陰で服装に困っているもろへいやです。</p><br /> <p>昨日、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ustream">Ustream</a>にも少しゲストで出させてもらいまして発表という形になったんですが、<br /> このたび、<span class="deco" style="font-weight:bold;color:#CC0000;">サークル S-TRIBE(<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A8%A5%B9">エス</a>トライブ)の代表に就任させていただくことになりました。</span></p><p></p> <blockquote> <p><br /> <a href="http://www.s-tribe.net/"><img src="http://www.s-tribe.net/image/parts/bn001.png"></a><br /> <a href="http://www.s-tribe.net/">Home - Skin Care Tribe</a></p><p></p> </blockquote> <p><br /> S-TRIBEは<a href="http://dic.nicovideo.jp/id/509914">&#x305D;&#x305D;&#x305D;P</a>こと<a href="http://ja.wikipedia.org/wiki/%E6%B4%A5%E4%B9%85%E4%BA%95%E7%AE%87%E4%BA%BA">&#x6D25;&#x4E45;&#x4E95;&#x7B87;&#x4EBA;</a>氏が主宰する個人サークルなのですが、私が以前から考えていて設立しようと思っていたサークルのコンセプトと方針が合致したため、私がS-TRIBEに入って、代表という立場で<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B9%BD%C2%A4%B2%FE%B3%D7">構造改革</a>を行うことになりました。(といっても、もちろん普通にスタッフとして働きますよ!)</p><br /> <br /> <p><span class="deco" style="color:#CC0000;">「いろんな才能持った人がたくさんいるのに、この世の中には火種が足りない」</span>というのは、私が前々から思っていたことで、<br /> 文字を書いたり、絵を描いたり、デザインを起こしたり、世の中にはいろんなことが出来る人がいますよね。</p><p>でも、それを全力で発揮する方法・場所はそんなに多くないのが現状だと思います。</p><p>そこで、<span class="deco" style="font-weight:bold;">新生S-TRIBEでは、それぞれの力を組み合わせてさらに面白いものを作っていくためのスタッフをこれから募集します!</span></p><br /> <p>「<a class="keyword" href="http://d.hatena.ne.jp/keyword/MMD">MMD</a>のモーションつけるのは得意だぜ!」<br /> 「ゲーム作りたいけど、なにから覚えればいいのか分からん…」<br /> 「小説かけるけど、これってなにかコラボの種になるの?」</p><br /> <p>絵・音楽・動画のみならず、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DE%A1%BC">プログラマー</a>から番組撮影、ネット生放送から3DCGデザイナに脚本・構成まで、ものづくりに関することならなんでもやります!</p><p>そして、<span class="deco" style="font-weight:bold;">今できることよりも、これから何をやりたいのか。その意志を強く持っている方を募集します。</span></p><br /> <p>技術や実力なんぞ、やる気があればいくらでもこれから伸びます。<br /> むしろ知っていることならスタッフ同士で教えあえますし、知らないことでも助けになることは必ずあります。<br /> <br /> <br /> </p> <ul> <li>やる気がある人が集まって、共に協力しつつスキルを上げていく</li> </ul> <ul> <li>スタッフ個人の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C3%CE%CC%BE%C5%D9">知名度</a>を上げて、最終的にS-TRIBEに頼らない繋がりを作る</li> </ul> <ul> <li>人材・費用不足でクオリティを上げられない個人・他サークルの企画をワンランク上に押し上げる</li> </ul> <ul> <li>世の中のエンタテイメントを、もっと面白いものにする</li> </ul><p><br /> <span class="deco" style="color:#0000CC;">一緒に頑張って面白いもの作ってスキルも上げてこうじゃん?</span> というサークルにするつもりです。</p><br /> <br /> <p>またS-TRIBE単体でも活動はもちろん行いますが、<span class="deco" style="color:#990000;">個人や他サークルさんと積極的にコラボレーションを行います。</span></p><br /> <p>例えば「同人誌作ったけど、表紙デザインやら装丁はわかんねー!」という時に、一緒に良い作品を作るためのコラボを出来ればいいんじゃないかなぁと思っています。</p><br /> <br /> <p>新生S-TRIBEには、来年1月1日から切り替わる予定ですが、募集の詳細については年内にお伝え出来るように調整していますので、もうしばらくお待ちください!</p><br /> <br /> <p>S-TRIBEでひとりじゃ出来ないモノづくりの面白さと、大変さを一緒に経験しませんか?<br /> そして世の中の面白いものが、少しでも増えればいいなぁと思っています。</p> Mon, 21 Nov 2011 00:00:00 +0900 hatenablog://entry/17680117127146814292 S-TRIBE 細けぇことは別のブログでいいんだよ! https://molokheiya.hatenadiary.org/entry/20111118/p1 <p><br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%D6%A5%ED%A5%B0">はてなブログ</a>をこっそり始めました。<del datetime="2011-11-19T01:39:18+09:00">びっくりするほど低機能で驚愕を隠せません。</del></p><br /> <p><a href="http://molo.hateblo.jp/">http://molo.hateblo.jp/</a><br /> <a href="http://molo.hateblo.jp/">http://molo.hateblo.jp/</a></p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%C0%A5%A4%A5%A2%A5%EA%A1%BC">はてなダイアリー</a>は、作ったものとか色々載せる感じで今まで通りメインで使います。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%D6%A5%ED%A5%B0">はてなブログ</a>は、適当に技術ネタとか考えを書きなぐります。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/Twitter">Twitter</a>は、日々の適当な発言を垂れ流すだけ。</p><br /> <p>という使い分けをしておりますので、どうぞよろしく。</p><br /> <br /> <p>あと、やっぱ<a class="keyword" href="http://d.hatena.ne.jp/keyword/Twitter">Twitter</a>に慣れすぎてて、改めて考えをしっかりまとめようと思ったら全然書けなくてびっくり。<br /> 頭の体操がてら考えてることを書いていけたらいいんじゃないかなぁと!</p> Fri, 18 Nov 2011 00:00:00 +0900 hatenablog://entry/17680117127146815462 雑記 大学生なら新聞必須だけどiPadでいい https://molokheiya.hatenadiary.org/entry/20111015/p1 <p><br /> たまには雑記でも…</p><br /> <p>まぁ大学生やってたら、どこでも「新聞読め」は言われると思う。</p><br /> <p>うちはメディア学部なんていう学部に入ってるので、そこから新聞・テレビ・ラジオ・インターネットなんていう様々なメディアの特性理解から必要性の討論とかあったりするんだけれども、まぁ大体<span class="deco" style="font-weight:bold;">「やっぱり新聞なくならないよね」</span>という結論になる。</p><br /> <p>理由はいろいろあるけど、やっぱりまとめる情報の広さから信頼性まで。<br /> 速報性という点では他メディアに劣るけど、ザッと社会を見渡して知りたい、もしくは重要なニュースや情報をそのまま細かく読むことの出来る部分はWebよりまだ上手かなと感じる。</p><br /> <p>ただ… <span class="deco" style="font-weight:bold;color:#990033;">新聞かさばる。めっちゃかさばる。</span></p><br /> <br /> <br /> <p>そこで<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPad">iPad</a>で代替してみた。</p><br /> <br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20111015231151" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20111015/20111015231151.jpg" alt="f:id:Molokheiya:20111015231151j:image:h480" title="f:id:Molokheiya:20111015231151j:image:h480" class="hatena-fotolife" style="height:480px" itemprop="image"></a></span></p><br /> <p>うず高く積まれた3ヶ月分の新聞。<br /> 新聞捨てる日って月に2回しかないから忘れやすいよね〜 で溜めすぎた結果がこれだよ!!</p><br /> <br /> <p>で、今更だけど<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BB%BA%B7%D0%BF%B7%CA%B9">産経新聞</a>HD。</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20111015231405" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20111015/20111015231405.png" alt="f:id:Molokheiya:20111015231405p:image:h340" title="f:id:Molokheiya:20111015231405p:image:h340" class="hatena-fotolife" style="height:340px" itemprop="image"></a></span></p><br /> <p>月に1,500円で朝刊と夕刊読める。しかも3ヶ月分のバックナンバーも読める。<br /> 月額3,000円超えの紙の新聞とは一体何だったのか。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>の時から見てたけど、<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPad">iPad</a>じゃないと読む気にならんね。やっぱり。<br /> まぁそれはいいとして、こうなると欲が出て各社の社説とコラムが読みたくなる。</p><br /> <p>そこでFlipboardっていう、有名なアプリを使うことに。</p><br /> <p>いろんな情報を雑誌風にレイアウトして表示してくれるアプリなんだけど、<br /> 最初は見てくれだけのアプリかと思ってたんだけども全然違う。読みやすいし実用性抜群。</p><br /> <p>これを使うために<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPad">iPad</a>買ったといってもいい。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20111015231403" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20111015/20111015231403.png" alt="f:id:Molokheiya:20111015231403p:image:w480" title="f:id:Molokheiya:20111015231403p:image:w480" class="hatena-fotolife" style="width:480px" itemprop="image"></a></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20111015231404" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20111015/20111015231404.png" alt="f:id:Molokheiya:20111015231404p:image:w480" title="f:id:Molokheiya:20111015231404p:image:w480" class="hatena-fotolife" style="width:480px" itemprop="image"></a></span></p><br /> <p>各社の社説とコラムをFlipboardに追加するには<a class="keyword" href="http://d.hatena.ne.jp/keyword/Google%20Reader">Google Reader</a>を使う。<br /> 直接Flipboardに<a class="keyword" href="http://d.hatena.ne.jp/keyword/RSS">RSS</a>を追加は出来ないので、ちょっとだけ遠回りする。</p><br /> <p>まず<a class="keyword" href="http://d.hatena.ne.jp/keyword/RSS">RSS</a>がいるんだけども、その辺りは<a class="keyword" href="http://d.hatena.ne.jp/keyword/Yahoo%21%20Pipes">Yahoo! Pipes</a>で<a class="keyword" href="http://d.hatena.ne.jp/keyword/RSS">RSS</a>吐いてるサイトとか<br /> 社説を<a class="keyword" href="http://d.hatena.ne.jp/keyword/RSS">RSS</a>で吐いてるサイトがあるのでその辺りを、一旦<a class="keyword" href="http://d.hatena.ne.jp/keyword/Google%20Reader">Google Reader</a>に登録。</p><p><a href="http://d.hatena.ne.jp/amatanoyo/20100705/1278309513">&#x793E;&#x8AAC;&#x3092;&#x8AAD;&#x3080;&#x3002; - &#x3042;&#x307E;&#x305F;&#x306E;&#x4F55;&#x304B;&#x3057;&#x3089;&#x3002;</a><br /> <a href="http://pipes.yahoo.com/pipes/pipe.info?_id=d061f94e5efbb703d80bf53496e4fbea">http://pipes.yahoo.com/pipes/pipe.info?_id=d061f94e5efbb703d80bf53496e4fbea</a></p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Google%20Reader">Google Reader</a>に登録したら、Flipboardのmoreから<a class="keyword" href="http://d.hatena.ne.jp/keyword/Google%20Reader">Google Reader</a>のソースをたどって<br /> Folderから<a class="keyword" href="http://d.hatena.ne.jp/keyword/RSS">RSS</a>を選択すれば個別に追加出来る。</p><br /> <p>ちなみに他には、ほぼ日の「<a href="http://www.1101.com/home.html">&#x4ECA;&#x65E5;&#x306E;&#x30C0;&#x30FC;&#x30EA;&#x30F3;</a>」とかRead it laterとか。<br /> 毎日更新系のコラムとか、後で読むサービスとかと相性良すぎる。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/iPad">iPad</a>すぐ飽きるかなーと思ってたけど、作業を<a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>でやって、休憩を<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPad">iPad</a>でやるからメリハリがつく。</p><br /> <p>あと普段モバイルデ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D0%A5%A4%A5%B9">バイス</a>は容量使わないので最小容量のを買うんだけど、<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPad">iPad</a>は32GBにした。<br /> これが正解で、<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPad">iPad</a>は<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%C5%BB%D2%BD%F1%C0%D2">電子書籍</a>からムービーからアプリから書類まで、なんでもかんでも突っ込むから大きめじゃないとダメだった。</p><br /> <br /> <p>自分は情報系の大学にいるけど、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>持ってる人は多くても<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPad">iPad</a>はあんまり見ないので、<br /> 大学生は<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPad">iPad</a>検討してもいいと思ったので書いてみた。</p><br /> <p>ノート取ったりPDF見て注釈入れる程度なら<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPad">iPad</a>で全然いけるで!</p><br /> <p><hr></p><br /> <br /> <p>P.S.</p><br /> <p>秋は四季の中で一番好きな季節だけども、気をつけて見ないと一番気づかない季節。<br /> 少しずつ近づいてくる秋を観察しながら歩くのが、たのしいと思う今日この頃。</p> Sat, 15 Oct 2011 00:00:00 +0900 hatenablog://entry/17680117127146815553 iPad 雑記 Titanium Mobileでアプリ開発するときに気をつけること(+インターンの話) https://molokheiya.hatenadiary.org/entry/20111004/p1 <p>こんにちは、もろへいやです!</p><p>8月から1ヶ月半ほど、同人<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9%C8%CE%C7%E4">ダウンロード販売</a>最大手の<a href="http://www.dlsite.com/home/">DLsite.com</a>を運営する<a href="http://www.eisys.co.jp/">&#x682A;&#x5F0F;&#x4F1A;&#x793E;&#x30A8;&#x30A4;&#x30B7;&#x30B9;</a>に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%BF%A1%BC%A5%F3%A5%B7%A5%C3%A5%D7">インターンシップ</a>に行ってました!</p><br /> <p>この話は最後に書くとして、そこでTitanium mobileを使った<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>・<a class="keyword" href="http://d.hatena.ne.jp/keyword/Android">Android</a>アプリケーションの開発をしました。<br /> 最近、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C3%CE%CC%BE%C5%D9">知名度</a>がじわじわ上がってきてるTitanium mobileですが、まだまだ発展途上で悩まされることも多いです。</p><p>Titaniumでの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%D7%A5%EA%B3%AB%C8%AF">アプリ開発</a>の方法は、各ブログや書籍で解説されていますので、ここでは細かいノウハウを書いてみます。<br /> <br /> </p> <div class="section"> <h4><span class="deco" style="font-weight:bold;color:#CC0000;">作ったアプリ</span></h4> <p></p><p><span class="deco" style="font-size:large;color:#003399;font-weight:bold;">DLsite 壁紙</span></p><br /> <p><a href="http://www.dlsite.com/home-touch/">DLsite.com&#x306E;&#x30B9;&#x30DE;&#x30FC;&#x30C8;&#x30D5;&#x30A9;&#x30F3;&#x5BFE;&#x5FDC;</a>にあわせて、毎月更新される壁紙アプリをリリース</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20111004154217" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20111004/20111004154217.jpg" alt="f:id:Molokheiya:20111004154217j:image:w320" title="f:id:Molokheiya:20111004154217j:image:w320" class="hatena-fotolife" style="width:320px" itemprop="image"></a></span></p><br /> <p><span class="deco" style="font-size:large;"><a href="https://market.android.com/details?id=com.dlsite.wallpaper">Android Market&#x3067;&#x30C0;&#x30A6;&#x30F3;&#x30ED;&#x30FC;&#x30C9;</a></span></p><br /> <p><span class="deco" style="font-size:large;"><a href="http://itunes.apple.com/jp/app/id462056431?mt=8">App Store&#x3067;&#x30C0;&#x30A6;&#x30F3;&#x30ED;&#x30FC;&#x30C9;</a></span></p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20111004154221" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20111004/20111004154221_120.jpg" alt="f:id:Molokheiya:20111004154221j:image:medium:left" title="f:id:Molokheiya:20111004154221j:image:medium:left" class="hatena-fotolife hatena-image-left" itemprop="image"></a></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20111004154220" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20111004/20111004154220_120.jpg" alt="f:id:Molokheiya:20111004154220j:image:medium:left" title="f:id:Molokheiya:20111004154220j:image:medium:left" class="hatena-fotolife hatena-image-left" itemprop="image"></a></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20111004154219" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20111004/20111004154219_120.jpg" alt="f:id:Molokheiya:20111004154219j:image:medium:left" title="f:id:Molokheiya:20111004154219j:image:medium:left" class="hatena-fotolife hatena-image-left" itemprop="image"></a></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20111004154218" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20111004/20111004154218_120.jpg" alt="f:id:Molokheiya:20111004154218j:image:medium" title="f:id:Molokheiya:20111004154218j:image:medium" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p>トップ絵の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%E9%A5%B9%A5%C8%A5%EC%A1%BC%A5%BF">イラストレータ</a>ー<a class="keyword" href="http://d.hatena.ne.jp/keyword/refeia">refeia</a>さんをはじめ、複数の作家さんの書きおろしイラストを毎月更新するアプリです。<br /> ほのぼのイラストから、ちょっとエッチなイラスト(この苦労はあとで…)さらに<a href="http://info.nicovideo.jp/seiga/dlsite/">&#x30CB;&#x30B3;&#x30CB;&#x30B3;&#x9759;&#x753B;&#x3068;&#x306E;&#x30B3;&#x30E9;&#x30DC;&#x30A4;&#x30E9;&#x30B9;&#x30C8;</a>なども多数掲載されています!</p><br /> <p>ちなみに、今回はTitanium mobile初挑戦で約2週間ほどで完成までこぎつけました。<br /> <br /> <br /> </p> </div> <div class="section"> <h4><span class="deco" style="font-weight:bold;color:#CC0000;">企画段階</span></h4> <p><br /> <span class="deco" style="font-weight:bold;">前提条件として、ざっと以下のものがありました。</span><br /> </p> <blockquote> <ul> <li><a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>にも<a class="keyword" href="http://d.hatena.ne.jp/keyword/Android">Android</a>にも対応するアプリ</li> </ul> <ul> <li>機種ごとに解像度の違う<a class="keyword" href="http://d.hatena.ne.jp/keyword/Android">Android</a>にも、ちょうどいい大きさで壁紙を設定させる</li> </ul> <ul> <li><a class="keyword" href="http://d.hatena.ne.jp/keyword/Android">Android</a>のスクロール壁紙にも対応させる</li> </ul> <ul> <li>イラストギャラリーは、1枚1枚が大きく見れるものを</li> </ul> <ul> <li>イラストは更新するためアプリ内に含めない(でも、3G回線でも大丈夫なようにする)</li> </ul> </blockquote> <p><br /> まず<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>でも<a class="keyword" href="http://d.hatena.ne.jp/keyword/Android">Android</a>でも使えるアプリということで、簡単なアプリをサクッと作れるというTitanium mobileを利用することになりました。<br /> 壁紙の解像度の差は、サーバーサイドで吸収することに。(端末解像度情報を送信して、ちょうどいいサイズの画像を取得する)</p><br /> <p>しかしまぁTitanium mobileを使ってアプリを開発するのは初めてだったので、最初は手探りな部分がありました。<br /> 特に今まではTitanium Developerというソフトでの開発だったのですが、<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/Aptana">Aptana</a>と統合されたTitanium Studioという<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%FD%B9%E7%B3%AB%C8%AF%B4%C4%B6%AD">統合開発環境</a>になったので、細かいノウハウが少ないので要注意です。<br /> <br /> <br /> </p> </div> <div class="section"> <h4><span class="deco" style="font-weight:bold;color:#CC0000;">設計について</span></h4> <p><br /> まず、Titanium mobileでどこまでのことができるのかを把握したほうが良いです。<br /> そのために、Kitchen Sinkというテストアプリをビルドしてください。</p><br /> <p><a href="https://github.com/appcelerator/KitchenSink">GitHub - appcelerator/KitchenSink: Titanium Mobile Kitchen Sink Demo</a></p><br /> <p>これで、Titaniumでできることが感覚的に分かります。<br /> おおよそ標準UIはほぼ全て対応しているのですが、逆にそれ以外のことをしようとすると重くなる傾向があるようです。</p><br /> <p>ちなみにDLsite壁紙アプリは、Titanium mobileが苦手とする特殊なUIを採用してしまったため、チューニングに難航したり<br /> パフォーマンスに影響が出ることになってしまいました。<br /> (もちろん、ありきたりなUIでは表現出来ない「美術館のギャラリーのような」ものは実現できたのですが)</p><br /> <p>特に<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>でなんとかなっても、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Android">Android</a>ではうまくいかないことが本当によくあります。<br /> もし本当に<span class="deco" style="color:#FF3300;"><a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>でも<a class="keyword" href="http://d.hatena.ne.jp/keyword/Android">Android</a>でも最高のアプリをつくろうと考える場合は、<a class="keyword" href="http://d.hatena.ne.jp/keyword/MVC">MVC</a>モデルのようにUIの表示部分は分離すべき</span>だと思います。</p><br /> <p>どちらにしてもワンソースで両方に対応というのは難しく、あちこちに「if(<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>==true)」のような分岐が入ることになるので、<br /> コードの量は増えますがUIデザインから分けてしまい、ロジックだけ使いまわすようにした方が上手く出来るように思います!<br /> <br /> <br /> <br /> </p> </div> <div class="section"> <h4><span class="deco" style="font-weight:bold;color:#CC0000;">エラーの対処について</span></h4> <p><br /> Titaniumはじゃじゃ馬なので、意味の分からないエラーがガンガン出ます。<br /> でもここで瞬時にTitaniumたんは<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C9%A5%B8%A4%C3%CC%BC">ドジっ娘</a>なんだろうな… という想像をすると心が落ち着きます。<br /> <br /> <br /> </p> <pre class="code" data-lang="" data-unlink>[ERROR] Error: Traceback (most recent call last): File &#34;/Library/Application Support/Titanium/mobilesdk/osx/1.7.2/iphone/builder.py&#34;, line 691, in main provisioning_profile = read_provisioning_profile(pp,o) File &#34;/Library/Application Support/Titanium/mobilesdk/osx/1.7.2/iphone/builder.py&#34;, line 216, in read_provisioning_profile f = open(f,&#39;rb&#39;).read() IOError: [Errno 2] No such file or directory: u&#39;/Users/Minami/Library/MobileDevice/Provisioning Profiles/9090CD12-8984-4597-8A1D-14D9C4E*****.mobileprovision&#39;</pre><p><br /> テストビルドや、デプロイ時にたまに発生するエラー。<br /> 見ての通り「No such file or directory」なので、このパスに指定されたファイル名にリネームしたprovisionファイルを配置すれば通ります。<br /> なんらかの理由で、自動でコピーされてないみたいですね。</p><p>このあたり、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Xcode">Xcode</a>にきちんと登録していなからとかいろいろ理由はあるっぽいですが手動でコピーしたほうが早いです。</p><br /> <p>これに近い問題として、</p> <pre class="code" data-lang="" data-unlink>Traceback (most recent call last): (省略) File &#34;/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/codecs.py&#34;, line 865, in open file = __builtin__.open(filename, mode, buffering) IOError: [Errno 2] No such file or directory: u&#39;/Users/Minami/Documents/Titanium Studio Workspace/DLsite/build/iphone/tiapp.xml&#39;</pre><p><br /> というエラーもあります。これも同じく「tiapp.<a class="keyword" href="http://d.hatena.ne.jp/keyword/xml">xml</a>」を所定の場所にコピーすれば通ります。<br /> <br /> </p> <pre class="code" data-lang="" data-unlink>[ERROR] Error: Traceback (most recent call last): File &#34;/Library/Application Support/Titanium/mobilesdk/osx/1.7.2/iphone/builder.py&#34;, line 1305, in main execute_xcode(&#34;iphoneos%s&#34; % iphone_version,args,False) File &#34;/Library/Application Support/Titanium/mobilesdk/osx/1.7.2/iphone/builder.py&#34;, line 1066, in execute_xcode output = run.run(args,False,False,o) File &#34;/Library/Application Support/Titanium/mobilesdk/osx/1.7.2/iphone/run.py&#34;, line 39, in run sys.exit(rc) SystemExit: 65</pre><p><br /> エラーログを見ても、よくわかりませんね…<br /> こういうときは、詳細なビルドエラーをbuild.logから確認して対処します。<br /> <br /> </p> <pre class="code" data-lang="" data-unlink>Traceback (most recent call last): (省略) File &#34;/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/codecs.py&#34;, line 351, in write data, consumed = self.encode(object, self.errors) UnicodeDecodeError: &#39;ascii&#39; codec can&#39;t decode byte 0xe3 in position 106: ordinal not in range(128) Command /bin/sh failed with exit code 1</pre><p><br /> UnicodeDecodeErrorが発生しています。<br /> つまり「ファイル名に日本語を利用しているとビルドエラー」というのがわかるわけですね。</p><br /> <p>コンソールに意味不明なエラーログが出てきた場合は、とりあえずbuild.logを確認してみましょう。</p><br /> <br /> <p>まぁTitaniumはエラーログも<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%BF%A5%C3%A5%AF%A5%C8%A5%EC%A1%BC%A5%B9">スタックトレース</a>すら吐かずに落ちることがよくあるんですが…</p><br /> <br /> <p>とにかくおかしくなったら、まずbuildフォルダを削除してビルドし直します。<br /> これでキャッシュビルドではなく、フルビルドになります。<br /> <br /> <br /> <br /> </p> </div> <div class="section"> <h4><span class="deco" style="font-weight:bold;color:#CC0000;"><a class="keyword" href="http://d.hatena.ne.jp/keyword/Apple">Apple</a>の審査はまだまだ厳しい</span></h4> <p><br /> すっごいリジェクトされました。2回や3回じゃない程度には…</p><br /> <p>どうやら、露出がアウトというよりも「性的な部分を連想させるような」ものがアウトっぽいです。<br /> まぁこのあたりは、レビュアーがどういう風に判断しているかどうかということも関係するんでしょうが…</p><br /> <p>おかげで<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>は、リジェクトされればアウトな画像をひたすら削除して、またリジェクト。と繰り返しがあったので、<br /> 制限のない<a class="keyword" href="http://d.hatena.ne.jp/keyword/Android">Android</a>版と掲載されている画像を比較すると、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Apple">Apple</a>の審査基準を実際に体感することが出来るかも? ですw</p><br /> <br /> <p>ちなみに<a class="keyword" href="http://d.hatena.ne.jp/keyword/Android">Android</a>のスクロール壁紙に対応させるためには<a class="keyword" href="http://d.hatena.ne.jp/keyword/Android">Android</a>の横幅2倍の画像が必要で、<br /> あらゆる解像度に対応して画像を吐き出す為には既存の壁紙のフォーマットを、横幅を広く取った画像に変える必要がありました。</p><br /> <p>そこでpsdファイルを編集してレイヤーだけ移動させようと思っていたんですが、かなり結合されてしまっていたので、ほとんど作り直しています。<br /> 既存の壁紙のデザインに沿うように何十枚もの画像をデザインし直したんですが、それぞれ違う技やノウハウが勉強できて楽しかったです。<br /> どのイラストもかわいいので目が疲れませんね!</p><br /> <p><hr></p><p></p> </div> <div class="section"> <h4><span class="deco" style="font-weight:bold;color:#CC0000;">最後に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%BF%A1%BC%A5%F3">インターン</a>の小話</span></h4> <p></p><p>エイシス社の入り口では、等身大のディルちゃん(右)エルちゃん(左)が出迎えてくれます。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110929000956" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110929/20110929000956.jpg" alt="f:id:Molokheiya:20110929000956j:image:w320" title="f:id:Molokheiya:20110929000956j:image:w320" class="hatena-fotolife" style="width:320px" itemprop="image"></a></span></p><br /> <p>エンジニアのSさん曰く「等身大POPがあると毎朝の出勤で癒される」とのことですので、<br /> かわいい二人に出迎えられたい方は社員・アルバイトに<a href="http://www.eisys.co.jp/recruit.html">&#x5FDC;&#x52DF;&#x3057;&#x3066;&#x307F;&#x305F;&#x3089;&#x3044;&#x3044;&#x3093;&#x3058;&#x3083;&#x306A;&#x3044;&#x304B;</a>と思います!!</p><br /> <p>最後に、まず<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%BF%A1%BC%A5%F3">インターン</a>にお誘い下さった開発マネージャーのMさん、<del datetime="2011-09-29T00:42:20+09:00">イジら</del>愛されキャラのSさん、最初から全力全開だったKさん(餞別は、いま半分くらいです)、最初と最後の印象が一番違ったFさん。<br /> また、エイシス社員の皆さまに、この場を借りてお礼申し上げます。ありがとうございました!!</p> </div> Tue, 04 Oct 2011 00:00:00 +0900 hatenablog://entry/17680117127146815711 プログラミング バン脳感とかウェブリアルとか近況報告 https://molokheiya.hatenadiary.org/entry/20110809/p1 <p>ひと月に1回くらいブログ書こうって思ってたんだけど、<br /> 先月サボっちゃったことにたった今気がついたもろへいやです。こんにちは。</p><p>でも書くネタも特に思いつかなかったので近況でも書いておこうかと。</p><p><hr></p><br /> <p><span class="deco" style="font-size:large;color:#CC3333;">・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B3%A5%DF%A5%B1">コミケ</a>が近づいてきましたね</span></p><br /> <p>今年の夏もこっそり行く予定。2日目と3日目行くかな?</p><br /> <p>今回は一般参加なんですが、サークル みかん牧場の「フォント情報がバンバン脳に飛び込んでくる感じ!」こと「バン脳感 Vol.2」の記事を書いてます。</p><br /> <p><a href="http://banban-font.com/books/vol2/" target="_blank"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110809/20110809204457.jpg" width="640" /></a></p><p>クリックで特設サイトに飛びます。</p><br /> <br /> <p>なんと、あちこちの出版で使われていて<a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>の標準フォントにもなっている、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D2%A5%E9%A5%AE%A5%CE">ヒラギノ</a>書体を生んだ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BB%FA%DE%E2%B9%A9%CB%BC">字游工房</a>の鳥海修さんへインタビューに行ってきた記録が掲載されています!!</p><br /> <p>鳥海さんは書籍とか雑誌のインタビュー取材を結構受けられてますが、ぶちぬき13ページも仮名や書体への思いを熱く語ってる本とかそうそう無いので、再販のメドがそこまで立てられない同人で出すのがもったいないレベルだと思います。</p><br /> <p>表紙の絵(ひびきちゃん)はぜっぺるさんが書いたものですが、写真にものすごく合ってて深夜3時前の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C7%A5%CB%A1%BC">デニー</a>ズで「すげー!!」と声を上げてしまいました。和服ひびきちゃん世界一かわいいよ!!</p><br /> <p>さらにグラフィックデザイナーのちーずさんが、「デザインコーデ2011 文字とデザインの着こなし術」ということで超ファッショナブルでカッコいい記事を書いてますので、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%EC%B5%FE%A5%A6%A5%A9%A1%BC%A5%AB%A1%BC">東京ウォーカー</a>買う金でこちらをGETした方がいいと思います。</p><br /> <p>あと私が「フォントを選ぶだけじゃない、文字を組まなきゃダメなんだ。」という文字組みのイロハについて解説した記事と「街にあふれる文字のカケラ」というバン脳感を養うためのTipsのようなものを書いています。</p><p>紙面サンプルはこんな感じ↓</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110809204458" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110809/20110809204458.png" alt="f:id:Molokheiya:20110809204458p:image:w480" title="f:id:Molokheiya:20110809204458p:image:w480" class="hatena-fotolife" style="width:480px" itemprop="image"></a></span></p><br /> <p>最後にゲストとして、22世紀さんが「MSゴシックのない生活」というコラムを寄稿してくれています。<br /> 独特のくせになる言い回しが面白いので是非読んでほしいです。</p><br /> <p>ちなみにおれが一番面白かったのは、裏表紙です。</p><br /> <p>裏表紙は…… 当日手にとってご覧下さいね!</p><br /> <br /> <br /> <p><hr></p><br /> <p><span class="deco" style="font-size:large;color:#CC3333;">・ウェブリアル 第1回でました</span></p><br /> <p><a href="http://moloten.com/webreal/next.html" target="_blank"><img src="http://moloten.com/webreal/image/file01.jpg" width="640" /></a></p><p>クリックで特設サイトに飛びます。</p><br /> <p>ウェブとリアルのつながりを描くWebドキュメンタリー番組として立ち上げた「ウェブリアル 〜画面の向こう〜」の第1回「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BD%E9%B2%BB%A5%DF%A5%AF">初音ミク</a>から広がる世界」が公開されました!!</p><br /> <p>ウェブリアルには、どれだけ長くとも13分以内に収めるという方針があります。</p><p>だらだらと長くするのは簡単なんですが、この界隈の動きを13分という時間にまとめ上げてこそ、伝えたいことを明確に出来たと思っています。</p><br /> <p>細かいことは制作ブログの方に、おれと合わせて2人しかいないサークル「もろてん」の相方、てんじゅ君と合わせてあとがきがあるのでそっちを読んでみてください。</p><br /> <p><a href="http://blog.moloten.com/post/8257470105/webreal-03">&#x5236;&#x4F5C;&#x30D6;&#x30ED;&#x30B0;&#x300C;AD&#x306E;&#x3066;&#x3093;&#x3058;&#x3085;&#x3088;&#x308A;&#x300C;&#x30A6;&#x30A7;&#x30D6;&#x30EA;&#x30A2;&#x30EB;&#x300D;&#x7B2C;1&#x56DE;&#x300D;</a></p><br /> <p><a href="http://blog.moloten.com/post/8258592056/webreal-04">&#x5236;&#x4F5C;&#x30D6;&#x30ED;&#x30B0;&#x300C;&#x30C7;&#x30A3;&#x30EC;&#x30AF;&#x30BF;&#x30FC;&#x306E;&#x3082;&#x308D;&#x3078;&#x3044;&#x3084;&#x3088;&#x308A;&#x7B2C;1&#x56DE;&#x3092;&#x7D42;&#x3048;&#x3066;&#x300D;</a></p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Twitter">Twitter</a>やブログ、公式サイトのご意見コーナーから様々な意見を頂きましたので、それらを活かしつつ第2回へ向けてAD てんじゅ君と共々に頑張っていこうと思っています。</p><br /> <br /> <br /> <p><hr></p><br /> <p><span class="deco" style="font-size:large;color:#CC3333;">・学会でます</span></p><br /> <p>9月3日から5日にかけて<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B9%A9%B3%D8%B1%A1%C2%E7%B3%D8">工学院大学</a> 新宿キャンパスにて開催される、第13回 日本感性工学会大会に出ます。</p><br /> <p><a href="http://www.jske.org/taikai/5/">&#x7B2C;13&#x56DE;&#x65E5;&#x672C;&#x611F;&#x6027;&#x5DE5;&#x5B66;&#x4F1A;&#x5927;&#x4F1A; - &#x65E5;&#x672C;&#x611F;&#x6027;&#x5DE5;&#x5B66;&#x4F1A;</a></p><br /> <p>お題は「発話の感性研究のための<a class="keyword" href="http://d.hatena.ne.jp/keyword/VOCALOID">VOCALOID</a>を用いたワークベンチ」ということで、前にブログで話題にしてた<a href="http://d.hatena.ne.jp/Molokheiya/20101215/p1">&#x300C;&#x521D;&#x97F3;&#x30DF;&#x30AF;&#x304C;&#x81EA;&#x52D5;&#x3067;&#x558B;&#x308B;&#x30C4;&#x30FC;&#x30EB;&#x300D;&#x3092;VY1&#x3067;&#x4F5C;&#x3063;&#x3066;&#x307F;&#x305F;</a>の仕組みや考え方を論文にしたもので、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B9%AD%C5%E7%B9%F1%BA%DD%C2%E7%B3%D8">広島国際大学</a>の石原茂和先生と一緒に書きました。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110809204459" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110809/20110809204459.png" alt="f:id:Molokheiya:20110809204459p:image:w420" title="f:id:Molokheiya:20110809204459p:image:w420" class="hatena-fotolife" style="width:420px" itemprop="image"></a></span></p><br /> <p>9月5日(月)の朝9:00からのセッションになってます。論文もあとから公開される? はずですのでよかったらどうぞ!</p><br /> <br /> <br /> <p><hr></p><br /> <p><span class="deco" style="font-size:large;color:#CC3333;">・その他</span></p><br /> <p>まだ形に出来てないんですが、色々やってます。モノが出来ればまた書けると思いますが、いまは煮詰める作業…</p><p>3Dとかプログラミングとか絵とか番組とか楽器とか、その辺りです。</p><br /> <p>あと<a class="keyword" href="http://d.hatena.ne.jp/keyword/3DS">3DS</a>買いました、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CE%A1%BC%A5%E9%A4%C8%B9%EF%A4%CE%B9%A9%CB%BC">ノーラと刻の工房</a>がやりこみゲーすぎて生きるのが辛いです。あと<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C6%A5%A4%A5%EB%A5%BA%A5%AA%A5%D6%A5%B8%A5%A2%A5%D3%A5%B9">テイルズオブジアビス</a>でルークがお子ちゃますぎるのでイライラして壁を蹴りそうになるのでさっさとアレしてほしいです。(<a class="keyword" href="http://d.hatena.ne.jp/keyword/PS2">PS2</a>は全クリした)</p><br /> <p>トルネめっちゃいいです。アニメライフが変わりました。<a class="keyword" href="http://d.hatena.ne.jp/keyword/PSP">PSP</a>のリモートプレイで録画した番組とかテレビ番組を<a class="keyword" href="http://d.hatena.ne.jp/keyword/PSP">PSP</a>で流せるんで、作業しながらやるのめっちゃ捗らない。ていうか<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E1%A5%EB%A5%EB%A4%CE%A5%A2%A5%C8%A5%EA%A5%A8">メルルのアトリエ</a>まだ全クリしてないのでやりたくて仕方ないです。2日くらい丸々休みがとれたら30時間位やろうと思ってますがまだ出来てません。あとさっきひびきちゃんを世界一かわいいと言いましたがトトリちゃんの方が可愛いと思う。ミクさんはもはや別格だよ言わせんな恥ずかしい。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac%20OS%20X">Mac OS X</a> Lionにアップデート掛けてから、OSがマウスを排除する気まんまんだったので<a class="keyword" href="http://d.hatena.ne.jp/keyword/Magic%20Mouse">Magic Mouse</a>はモバイル専用にして、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DA%A5%F3%A5%BF%A5%D6%A5%EC%A5%C3%A5%C8">ペンタブレット</a>をインプットデ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D0%A5%A4%A5%B9">バイス</a>に変えました。今までペンタブって絵を描く道具だと思ってたんですが、普通に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D6%A5%E9%A5%A6%A5%B8%A5%F3%A5%B0">ブラウジング</a>もパンスクロールで楽だし、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Photoshop">Photoshop</a>とか<a class="keyword" href="http://d.hatena.ne.jp/keyword/Illustrator">Illustrator</a>とか3DCGはもっと使いやすくなるしイイコトだらけです。ついでにMagic Trackpadも導入しましたがペンタブのランチャーで十分だったかも。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%A6%A4%B5%A4%AE%A5%C9%A5%ED%A5%C3%A5%D7">うさぎドロップ</a>がたいへん面白いです。原作を9巻まで一気に買いましたが最後ウオオオオアアアアアアーーー!!!って言いながら壁に頭を打ち付けてしまいました。最近まんがが面白くてやばいので、個人的に<a class="keyword" href="http://d.hatena.ne.jp/keyword/Amazon">Amazon</a>使用率を30%削減する条例を作っています。</p><br /> <p>あと、ここで言ってもあんま意味ないんでしょうが。最近お仕事のお誘いをメールでよく頂きます。個別で返事はしてますが、当方まだ大学生で中退する気は今のところないので、その辺を踏まえて頂けるとお返事しやすいので助かります。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D5%A5%EA%A1%BC%A5%E9%A5%F3%A5%B9">フリーランス</a>ちがいます。在宅で出来るようなこととか、長期休暇中の話や、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%BF%A1%BC%A5%F3%A5%B7%A5%C3%A5%D7">インターンシップ</a>に関してはお話頂けると予定に合わせて喜んで行きます。</p><br /> <p>自宅のマンションで、大家さんのご好意で光インターネットが無料で使えるようになりました。地デジのケーブルテレビも無料で引いてくれたし、大家さんには足を向けて寝られません。そして<a class="keyword" href="http://d.hatena.ne.jp/keyword/WiMAX">WiMAX</a>最強伝説が始まった。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Subsonic">Subsonic</a>素晴らしいと言ったけど、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Google">Google</a> Musicが20,000曲まで無料で曲をアップさせてくれるサーバーに加えて<a class="keyword" href="http://d.hatena.ne.jp/keyword/HTML5">HTML5</a>で軽量なWebプレイヤーとモバイルアプリを提供していて<a class="keyword" href="http://d.hatena.ne.jp/keyword/Subsonic">Subsonic</a>をゴミ箱にダンクシュートしそうな勢いです。<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone%A5%A2%A5%D7%A5%EA">iPhoneアプリ</a>はまだないっぽいけど、実はモバイル<a class="keyword" href="http://d.hatena.ne.jp/keyword/Safari">Safari</a>から直接再生してプレイヤーに出来る。</p><br /> <br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B3%A5%DF%A5%B1">コミケ</a>の原稿を脱稿した数時間後に<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPod%20touch">iPod touch</a>を歩道とキスさせて液晶ガラスが粉々になった。<br /> アキバでガラスだけ安く修理出来る店あるよって教えてもらったけど、もうすぐ<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>の新しいの出そうだしなー でも<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone%203G">iPhone 3G</a>重すぎて死ぬからなー ってことで、しばらく<a class="keyword" href="http://d.hatena.ne.jp/keyword/Android">Android</a>(HTC Desire)使おうかなと思う。</p><br /> <br /> <p>そんな感じ!!</p> Tue, 09 Aug 2011 00:00:00 +0900 hatenablog://entry/17680117127146816060 日常 さくらのVPSとSubsonicでiTunesをゴミ箱にダンクシュートした https://molokheiya.hatenadiary.org/entry/20110628/p1 <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110628111940" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110628/20110628111940.png" alt="f:id:Molokheiya:20110628111940p:image:w400" title="f:id:Molokheiya:20110628111940p:image:w400" class="hatena-fotolife" style="width:400px" itemprop="image"></a></span></p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/VPS">VPS</a>界に革命をもたらした、さくらの<a class="keyword" href="http://d.hatena.ne.jp/keyword/VPS">VPS</a>。<br /> 月々980円という値段で、どこのご家庭でも<a class="keyword" href="http://d.hatena.ne.jp/keyword/VPS">VPS</a>でlsを叩く生活を過ごしてらっしゃると思います。</p><br /> <p>そんな<del datetime="2011-06-28T12:56:56+09:00">持て余しがちな</del>楽しい<a class="keyword" href="http://d.hatena.ne.jp/keyword/VPS">VPS</a>を使ってメディアストリーミングサーバーを作ったら超快適だったのでご紹介です。</p><br /> <p><a href="http://www.subsonic.org/">Subsonic</a></p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>製でWin,<a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>,<a class="keyword" href="http://d.hatena.ne.jp/keyword/Linux">Linux</a>等<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A5%EB%A5%C1%A5%D7%A5%E9%A5%C3%A5%C8%A5%D5%A5%A9%A1%BC%A5%E0">マルチプラットフォーム</a>で動作します。</p><br /> <p><a href="http://www.subsonic.org/pages/demo.jsp">&#x3068;&#x308A;&#x3042;&#x3048;&#x305A;&#x30C7;&#x30E2;&#x3092;&#x898B;&#x3066;&#x304F;&#x3060;&#x3055;&#x3044;</a>、いい音でしょう? 余裕の操作性だ、快適さが違いますよ。</p><br /> <p>デザインはテーマで変えられますし、英語はダメっていう人も上の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%EA%A1%BC%A5%F3%A5%B7%A5%E7%A5%C3%A5%C8">スクリーンショット</a>のように設定で日本語に出来ます。プレイリストから<a class="keyword" href="http://d.hatena.ne.jp/keyword/Podcast">Podcast</a>まで何でも対応してるので、特に困ることは無かったですよ。</p><br /> <p>とりあえず<a class="keyword" href="http://d.hatena.ne.jp/keyword/Subsonic">Subsonic</a>のイイトコは、さくら<a class="keyword" href="http://d.hatena.ne.jp/keyword/VPS">VPS</a>に曲をガンガン入れるとPCだろうがモバイルだろうがどこでもプレイリスト共有して曲を聴けるってことなんですね。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110628111941" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110628/20110628111941.png" alt="f:id:Molokheiya:20110628111941p:image:w400" title="f:id:Molokheiya:20110628111941p:image:w400" class="hatena-fotolife" style="width:400px" itemprop="image"></a></span></p><p>ちなみにAudioGalaxyという似た<a class="keyword" href="http://d.hatena.ne.jp/keyword/Web%A5%B5%A1%BC%A5%D3%A5%B9">Webサービス</a>もあります。<br /> こっちはクライアントをインストールすると、PCの中の曲をスキャンして同時にサーバーとなってどこでも聴けるという凄いサービスなんですけど、自宅回線が<a class="keyword" href="http://d.hatena.ne.jp/keyword/WiMAX">WiMAX</a>で固定回線がない私とか<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BC%AB%C2%F0%A5%B5%A1%BC%A5%D0">自宅サーバ</a>ーの管理が面倒だし夏は熱いので捨ててしまった私とかには使えなかったわけです。</p><br /> <p>なので自宅PCをサーバーにして24時間起動しててもいいならAudioGalaxy使ってもいいんですが、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Subsonic">Subsonic</a>も<a class="keyword" href="http://d.hatena.ne.jp/keyword/Windows">Windows</a>, <a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>両方のクライアントもあるのでそれを使うと<a class="keyword" href="http://d.hatena.ne.jp/keyword/GUI">GUI</a>でもっと簡単にセットアップが完了しますよ!<br /> 個人的にAudioGalaxyは良いんだけど、インターフェースが使いにくいなーと思ってたので!</p><br /> <p>さて、というわけでとりあえずセットアップの手順をメモ程度に。</p><p><hr></p><p><span class="deco" style="color:#FF0000;">※さくら<a class="keyword" href="http://d.hatena.ne.jp/keyword/VPS">VPS</a>はサーバーとしての基本セットアップが終わっている前提です。<br />  良く分からないひとは、<a href="http://sourceforge.jp/magazine/10/10/04/0020218">&#x3053;&#x306E;&#x3042;&#x305F;&#x308A;&#x306E;&#x8A18;&#x4E8B;</a>を参考にしてください。</span><br />  基本的なセキュリティも設定してないサーバーは一瞬で乗っ取られて<a class="keyword" href="http://d.hatena.ne.jp/keyword/spam">spam</a>やウイルス発信基地にされるので迷惑にすらなっちゃいます。</p><br /> <p>まず<a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>の<a class="keyword" href="http://d.hatena.ne.jp/keyword/SDK">SDK</a>をインストールします。</p> <pre class="code" data-lang="" data-unlink>[molo@www****u ~]$ sudo yum install java-1.6.0-openjdk [sudo] password for molo: // パスワードを入力 (インストール作業)</pre><p>次に<a class="keyword" href="http://d.hatena.ne.jp/keyword/Subsonic">Subsonic</a>のDownloadページから<a class="keyword" href="http://d.hatena.ne.jp/keyword/rpm">rpm</a>パッケージをダウンロードします。</p><p><a href="http://www.subsonic.org/pages/download.jsp">Subsonic</a><br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/Red%20Hat">Red Hat</a>/<a class="keyword" href="http://d.hatena.ne.jp/keyword/Fedora">Fedora</a> installer というのが<a class="keyword" href="http://d.hatena.ne.jp/keyword/rpm">rpm</a>版です。</p><br /> <p>面倒なので<a class="keyword" href="http://d.hatena.ne.jp/keyword/wget">wget</a>します。</p> <pre class="code" data-lang="" data-unlink>[molo@www****u ~]$ wget http://downloads.sourceforge.net/project/subsonic/subsonic/4.4/subsonic-4.4.rpm</pre><p>解説では4.4入れてますが、私はなんとなくbeta版入れました。</p><br /> <p>そして普通にインストール。</p> <pre class="code" data-lang="" data-unlink>[molo@www****u ~]$ rpm -ivh subsonic-4.4.rpm</pre><p><br /> さらに自動<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A8%A5%F3%A5%B3%A1%BC%A5%C7%A5%A3%A5%F3%A5%B0">エンコーディング</a>機能を使うために<a class="keyword" href="http://d.hatena.ne.jp/keyword/ffmpeg">ffmpeg</a>等ライブラリも入れます。<br /> <br /> </p> <pre class="code" data-lang="" data-unlink>[molo@www****u ~]$ sudo yum install lame flac faad2 vorbis-tools ffmpeg</pre><p><br /> 標準ではポートは4040になっています。変更するなら /etc/sysconfig/<a class="keyword" href="http://d.hatena.ne.jp/keyword/subsonic">subsonic</a> を編集。そんでもって再起動します。</p> <pre class="code" data-lang="" data-unlink>[molo@www****u ~]$ sudo /etc/rc.d/init.d/subsonic restart</pre><p><br /> そして<a class="keyword" href="http://d.hatena.ne.jp/keyword/iptables">iptables</a>の設定も変えておきましょう。<br /> あと、プレイリスト保存用に「/var/playlists/」フォルダをmkdirしておきます。</p><br /> <p>基本的にはこれだけです、インストールするだけなので簡単ですね。<br /> ただ、このままだと日本語のファイル名のファイルが上手く読み取れません。</p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Java">Java</a>の言語設定が<a class="keyword" href="http://d.hatena.ne.jp/keyword/utf-8">utf-8</a>になっていないのが問題のようなのですが、<a class="keyword" href="http://d.hatena.ne.jp/keyword/rpm">rpm</a>版はJettyを使っているのでよく分からず、とりあえず<a class="keyword" href="http://d.hatena.ne.jp/keyword/CentOS">CentOS</a>の言語設定を変えると直りました。<br /> 詳しい人だれか教えてください。</p><br /> <p>とりあえず<a class="keyword" href="http://d.hatena.ne.jp/keyword/CentOS">CentOS</a>のLANGは /etc/sysconfig/<a class="keyword" href="http://d.hatena.ne.jp/keyword/i18n">i18n</a> です。</p> <pre class="code" data-lang="" data-unlink>[molo@www****u ~]$ sudo vi /etc/sysconfig/i18n</pre><p>ここのLANGを「LANG="ja_JP.<a class="keyword" href="http://d.hatena.ne.jp/keyword/UTF-8">UTF-8</a>"」にしてOSをrebootしました。</p><p><hr></p><p>これでブラウザから4040番にアクセスすると、管理画面が出てきますのでユーザーやパスワードを設定して完了です。</p><br /> <p>早速、曲をアップロードします。ブラウザからでも出来るようですが、面倒くさいので普通にアップします。</p><p>/home/molo(ユーザ名)/music フォルダにsftpでアップしておきます。<br /> この時、フォルダ構成がそのまま左のサイドバーに反映されます。</p><br /> <p>私は /music/(アーティスト名)/(アルバム名)/曲.<a class="keyword" href="http://d.hatena.ne.jp/keyword/aac">aac</a> という構成です。<br /> このへんは自由に探ってみてください。</p><br /> <p>「music/<a class="keyword" href="http://d.hatena.ne.jp/keyword/supercell">supercell</a>/<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B7%AF%A4%CE%C3%CE%A4%E9%A4%CA%A4%A4%CA%AA%B8%EC">君の知らない物語</a>」だとこうなる<br /> <span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110628111942" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110628/20110628111942.png" alt="f:id:Molokheiya:20110628111942p:image:w360" title="f:id:Molokheiya:20110628111942p:image:w360" class="hatena-fotolife" style="width:360px" itemprop="image"></a></span></p><p>アルバムアートは<a class="keyword" href="http://d.hatena.ne.jp/keyword/iTunes">iTunes</a>とかで設定してるとそのまま表示されますし、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Google">Google</a>画像検索から数クリックで直接設定できたりするので便利です。</p><br /> <p>回線が細いときは、トランスコーディング機能で逐一<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D3%A5%C3%A5%C8%A5%EC%A1%BC%A5%C8">ビットレート</a>を落として再生とかも出来ますよ。設定画面で色々と探ると結構なんでも出来ます。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/API">API</a>が豊富なので各OS向けクライアントから<a class="keyword" href="http://d.hatena.ne.jp/keyword/AIR">AIR</a>アプリ、モバイルアプリまでなんでもあります。</p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>用だと「iSub」と「Z-<a class="keyword" href="http://d.hatena.ne.jp/keyword/Subsonic">Subsonic</a>」になってくるんですが、iSubの方が使いやすいです。</p><br /> <p><a href="http://itunes.apple.com/jp/app/isub-music-streamer/id362920532?mt=8">&lrm;&#x300C;iSub Music Streamer&#x300D;&#x3092;App Store&#x3067;</a></p><br /> <p>再生中に自動的に次の曲まで取得してくれるような優秀なキャッシュ機能があるので、この手のサービスが苦手なインターネット圏外でも余裕で使えます。キャッシュの大きさは自由に設定できますよ。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110628124202" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110628/20110628124202.png" alt="f:id:Molokheiya:20110628124202p:image:w300" title="f:id:Molokheiya:20110628124202p:image:w300" class="hatena-fotolife" style="width:300px" itemprop="image"></a></span> <span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110628124201" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110628/20110628124201.png" alt="f:id:Molokheiya:20110628124201p:image:w300" title="f:id:Molokheiya:20110628124201p:image:w300" class="hatena-fotolife" style="width:300px" itemprop="image"></a></span></p><br /> <p>プレイリストも、サーバーに保存できるのでそのままPCでプレイリストを聴いたり。<br /> 細い回線ではトランスコーディングで<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D3%A5%C3%A5%C8%A5%EC%A1%BC%A5%C8">ビットレート</a>を落として再生出来ます。私は<a class="keyword" href="http://d.hatena.ne.jp/keyword/WiMAX">WiMAX</a>なので無縁ですが(宣伝)。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS5">iOS5</a>ではPC Freeで<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>のみで何でもセットアップ出来るようになりますし、AppStoreも強化されて使いやすくなります。<br /> 現時点でもアプリは<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>でダウンロードすればいいし、<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS5">iOS5</a>が出たらバックアップも<a class="keyword" href="http://d.hatena.ne.jp/keyword/iCloud">iCloud</a>にすればいいのでリソースは一箇所、さくら<a class="keyword" href="http://d.hatena.ne.jp/keyword/VPS">VPS</a>にまとめて置いておけばPC, <a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>, <a class="keyword" href="http://d.hatena.ne.jp/keyword/Android">Android</a>, <a class="keyword" href="http://d.hatena.ne.jp/keyword/iPad">iPad</a>どこでも同じのが使えるので超おすすめです。</p><br /> <p>しかし、さくらの512プランでは容量が20GBなので、派手に使っていく人は別の<a class="keyword" href="http://d.hatena.ne.jp/keyword/VPS">VPS</a>か上位プランなのかなーとは思います。</p><br /> <p>ただ20GBも使わないよーって人とか、さくら<a class="keyword" href="http://d.hatena.ne.jp/keyword/VPS">VPS</a>を契約したはいいけどホコリかぶらせてる人はいかがでしょうか?</p><br /> <br /> <p>P.S.<br /> ワンクリックでニコ動とか<a class="keyword" href="http://d.hatena.ne.jp/keyword/YouTube">YouTube</a>の曲をダウンロードする<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8">スクリプト</a>を書くと、自動でフォルダがスキャンされて<a class="keyword" href="http://d.hatena.ne.jp/keyword/Subsonic">Subsonic</a>に登録されるので「あとで聴く」的な使い方も出来て最強伝説はじまった</p> Tue, 28 Jun 2011 00:00:00 +0900 hatenablog://entry/17680117127146816199 個人だけど番組作って放送出来る時代が来たからやる。 https://molokheiya.hatenadiary.org/entry/20110519/p1 <p><br /> <span class="deco" style="color:#3300CC;">同人サークル立ち上げました。</span>と言っても2人しかいませんが!</p><br /> <p><span class="deco" style="font-weight:bold;color:#CC0000;">「番組制作サークル もろてん」</span>です。<br /> <a href="http://blog.moloten.com/">http://blog.moloten.com/</a></p><br /> <p>サークルメンバーが、「もろへいや」と「天寿」なのでもろてんです。安直ですね(棒</p><br /> <br /> <p>…疑問符がいくつか浮かびますがとりあえずスルーしましょう。<br /> 番組企画も、公式サイトを公開しました。</p><br /> <br /> <p><span class="deco" style="font-weight:bold;color:#CC0000;">「ウェブリアル 〜画面の向こう〜」</span>といいます。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110519231841" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110519/20110519231841.png" alt="f:id:Molokheiya:20110519231841p:image" title="f:id:Molokheiya:20110519231841p:image" class="hatena-fotolife" itemprop="image"></a></span><br /> <a href="http://moloten.com/webreal/">http://moloten.com/webreal/</a></p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110519231842" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110519/20110519231842.jpg" alt="f:id:Molokheiya:20110519231842j:image:w400" title="f:id:Molokheiya:20110519231842j:image:w400" class="hatena-fotolife" style="width:400px" itemprop="image"></a></span><br /> 第1回は、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BD%E9%B2%BB%A5%DF%A5%AF">初音ミク</a>特集です。</p><p><hr></p><br /> <p>日本でカラーテレビ放送が始まったのが1960年、もう50年も経つんですな。<br /> その50年の中でも、ここ5年は<a class="keyword" href="http://d.hatena.ne.jp/keyword/YouTube">YouTube</a>だの<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ustream">Ustream</a>だの「映像」というメディアが個人で使える環境が急激に整えられたわけです。<br /> 数十年前はウン百万したビデオカメラも、今のケータ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%AB">イカ</a>メラの画質に劣るくらいですよ。</p><br /> <p>編集環境も、Avidの数百万するスタジオで出来ることが、パソコン1台で出来てしまうわけです。</p><br /> <p>実際に、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ustream">Ustream</a>生放送を使ってライブ番組を作っている人が居たりしますが、<br /> 生放送はリアルタイム性が出て面白くなるんですけども、垂れ流しなので長時間だらだら観る形になる。<br /> (テレビの生放送は台本・構成が秒刻みで決まっているのでそうはならないですが)<br /> だからやっぱり、面白いところだけギュッと詰まった「番組」というものに惹かれるのでして。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/NHK%A5%AA%A5%F3%A5%C7%A5%DE%A5%F3%A5%C9">NHKオンデマンド</a>で、テレビの番組を再配信! じゃなくて、最初からネットでの配信だけに絞れば、<br /> 個人でも番組を放送することは出来ると。</p><br /> <p>そして個人で映像を扱えるほど、機材が安価になってきている。</p><br /> <p>じゃあ、個人で番組を制作してそれを配信したらどうなるだろうか。<br /> たくさんの人が番組を製作して、番組<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C6%B0%B2%E8%B6%A6%CD%AD%A5%B5%A5%A4%A5%C8">動画共有サイト</a>のようなものができたらどうなるだろうか。</p><br /> <p>そう考えると、面白くありませんか?</p><br /> <br /> <p>今まで個人で発信できる情報はパーソナルメディアに留まってきましたが、インターネットと技術の発達によって、気軽にネットワークメディアを利用出来ます。<br /> そうなると、とても個人という領域では扱えなかった、テレビ・新聞・音楽・映画・出版等のマスメディアが近づいてきます。</p><br /> <p>音楽は、もっともそれが早く始まっているものだと思います。</p><br /> <p>ということで、テレビ。挑戦してみます。</p><br /> <br /> <p><hr></p><p></p> <blockquote> <p><br /> <span class="deco" style="color:#003366;">番組制作サークル もろてんでは「プロ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%B4%A4%C3%A4%B3">ごっこ</a>」をとことんまで突き詰めることを目的とし、 </span><br /> <span class="deco" style="color:#003366;">現代のコストダウン化した様々な機材を用いて、どこまでプロと同じことが可能かどうか追求しています。</span></p><br /> <p><span class="deco" style="color:#003366;">個人サークルならではの機動力と柔軟性に加え、</span><br /> <span class="deco" style="color:#003366;">作品のクオリティを高めることで、 新たなWebにおける表現を模索していきます。</span></p><br /> <p><a href="http://blog.moloten.com/">http://blog.moloten.com/</a> より引用</p> </blockquote> <p><br /> <span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110520000139" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110520/20110520000139.jpg" alt="f:id:Molokheiya:20110520000139j:image:w360" title="f:id:Molokheiya:20110520000139j:image:w360" class="hatena-fotolife" style="width:360px" itemprop="image"></a></span></p> Thu, 19 May 2011 00:00:00 +0900 hatenablog://entry/17680117127146816539 メディア メイキング「NERV極秘資料 - 電力使用状況」こと技術解説 https://molokheiya.hatenadiary.org/entry/20110330/p1 <p><br /> <span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110331002552" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110331/20110331002552.png" alt="f:id:Molokheiya:20110331002552p:image:w300" title="f:id:Molokheiya:20110331002552p:image:w300" class="hatena-fotolife" style="width:300px" itemprop="image"></a></span><br /> <a href="http://kanmisikou.net/lab/power/">NERV&#x6975;&#x79D8;&#x8CC7;&#x6599; - &#x96FB;&#x529B;&#x4F7F;&#x7528;&#x72B6;&#x6CC1;</a> <a href="http://b.hatena.ne.jp/entry/http://kanmisikou.net/lab/power/" class="http-bookmark"><img src="//b.hatena.ne.jp/entry/image/http://kanmisikou.net/lab/power/" alt="" class="http-bookmark" /></a></p><br /> <p>先日、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%EC%B5%FE%C5%C5%CE%CF">東京電力</a>の電力使用状況を<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A8%A5%F4%A5%A1%A5%F3%A5%B2%A5%EA%A5%AA%A5%F3">エヴァンゲリオン</a>風デザインで表示するWebサイトを作ったものが、あちこちで反響を頂きました。</p><br /> <br /> <p><a href="http://www.itmedia.co.jp/news/articles/1103/23/news053.html">&#x306D;&#x3068;&#x3089;&#x307C;&#xFF1A;&#x300C;NERV&#x5C02;&#x7528;&#x76E3;&#x8996;&#x88C5;&#x7F6E;&#x300D;&#x3067;&#x6771;&#x96FB;&#x306E;&#x96FB;&#x529B;&#x72B6;&#x6CC1;&#x3092;&#x30C1;&#x30A7;&#x30C3;&#x30AF; &#x30A8;&#x30F4;&#x30A1;&#x98A8;&#x30B5;&#x30A4;&#x30C8;&#x767B;&#x5834; - ITmedia NEWS</a></p><br /> <p><a href="http://www.gizmodo.jp/2011/03/nerv.html">NERV&#x306E;&#x4E00;&#x54E1;&#x306B;&#x306A;&#x3063;&#x305F;&#x3064;&#x3082;&#x308A;&#x3067;&#x7BC0;&#x96FB;&#xFF01; &#x30A8;&#x30F4;&#x30A1;&#x98A8;&#x96FB;&#x529B;&#x4F7F;&#x7528;&#x72B6;&#x6CC1;&#x30E1;&#x30FC;&#x30BF;&#x30FC; | &#x30AE;&#x30BA;&#x30E2;&#x30FC;&#x30C9;&#x30FB;&#x30B8;&#x30E3;&#x30D1;&#x30F3;</a></p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Twitter">Twitter</a>では16000以上ツイート頂けたようです。<br /> <a href="http://topsy.com/kanmisikou.net/lab/power/">http://topsy.com/kanmisikou.net/lab/power/</a></p><br /> <p>こちらの、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%D6%A5%C3%A5%AF%A5%DE%A1%BC%A5%AF">はてなブックマーク</a>週間ランキングでもIT・コンピュータカテゴリ2位を頂きました。ありがとうございます。<br /> <a href="http://b.hatena.ne.jp/ranking/weekly/20110321/it">http://b.hatena.ne.jp/ranking/weekly/20110321/it</a></p><br /> <br /> <p>これだけの反響を頂きましたし、せっかくなのでWebアプリを作る工程を解説します。<br /> <span style="color:#CCCCCC;"><del datetime="2011-03-31T00:29:09+09:00">最近メイキング映像色々見てて、自分もやりたくなったとか言えない</del></span></p><br /> <p>とりあえず作ろうと思ったキッカケは、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Twitter">Twitter</a>見てたときに<a href="http://blog.hatena.ne.jp/TERRAZI/">id:TERRAZI</a>さんが</p> <blockquote> <p><script> window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs); t._e = []; t.ready = function(f) { t._e.push(f); }; return t; }(document, "script", "twitter-wjs"));</script><script> twttr.ready(function (twttr) { var el = document.getElementsByClassName('twitter-syntax-tweet-id-50007450056790017'); for (var i=0;i<el.length;i++) { if (!!el[i].getAttribute('data-is-tweet-loaded')){ continue; } el[i].setAttribute('data-is-tweet-loaded', '1'); twttr.widgets.createTweet('50007450056790017',el[i],{}); } });</script><div class="twitter-syntax-tweet-id-50007450056790017"></div></p> </blockquote> <p>とか言ってたのを見て、そういえば<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E4%A5%B7%A5%DE%BA%EE%C0%EF">ヤシマ作戦</a>発動時のコンソールとか画面めっちゃカッコ良かったし<br /> 結構グラフィカルで分かりやすいから、これくらい単純に表示出来たら面白いかもなー と思ったからです。単純ですね(棒</p><br /> <br /> <br /> <p><span style="color:#CC0000;font-weight:bold;">1. とりあえず数値データを手に入れる</span></p><br /> <p>今では東電さんが<a class="keyword" href="http://d.hatena.ne.jp/keyword/CSV">CSV</a>データを公開してくれてますが、<br /> 3/22当時はグラフだけの表示だったので数値データは自分でグラフを解析して手に入れるほかありませんでした。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110330223340" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110330/20110330223340.png" alt="f:id:Molokheiya:20110330223340p:image" title="f:id:Molokheiya:20110330223340p:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p>ちなみにその翌日から、あちこちで同じような<a class="keyword" href="http://d.hatena.ne.jp/keyword/API">API</a>が公開されてて、うおおおこっち使いたかったあああとか思ってました。<del datetime="2011-03-31T00:29:09+09:00">極力サボります。</del></p><br /> <p>さて、解析には<a class="keyword" href="http://d.hatena.ne.jp/keyword/PHP">PHP</a>を使いました。<br /> とりあえずグラフから数値を取る、簡単な方法としては色を識別して高さの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D4%A5%AF%A5%BB%A5%EB">ピクセル</a>を取得する方法です。</p><p><a class="keyword" href="http://d.hatena.ne.jp/keyword/JPEG">JPEG</a>なら画像を圧縮する際にノイズが載って、微妙に色が変わってくるので揺らぎを吸収する必要がありますが、<br /> 幸い提供されていたグラフ画像はGIFだったので、色の違いがなかったのでその方法でいきました。</p><br /> <br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110330223338" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110330/20110330223338.jpg" alt="f:id:Molokheiya:20110330223338j:image" title="f:id:Molokheiya:20110330223338j:image" class="hatena-fotolife" itemprop="image"></a></span></p><p>こんな感じで、24回。下から上へと1pxずつナメていきます。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/PHP">PHP</a>にはGDがありますので、簡単に処理可能です。<br /> 以下にGDを使って<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D4%A5%AF%A5%BB%A5%EB">ピクセル</a>を取得する部分のコードを載せてコメントで解説します。<br /> <br /> </p> <pre class="code lang-php" data-lang="php" data-unlink><span class="synSpecial">&lt;?php</span> <span class="synComment">// GIF画像を取得してイメージリソースとする</span> <span class="synStatement">$</span><span class="synIdentifier">image</span><span class="synStatement">=</span><span class="synIdentifier">ImageCreateFromGIF</span><span class="synSpecial">(</span>&quot;<span class="synConstant">http://www.tepco.co.jp/forecast/html/images/juyo-j.gif</span>&quot;<span class="synSpecial">)</span>; <span class="synStatement">$</span><span class="synIdentifier">x</span><span class="synStatement">=</span><span class="synConstant">46</span>; <span class="synComment">// X軸のカーソルを置くピクセルの初期値</span> <span class="synComment">// 24時間分、繰り返す</span> <span class="synStatement">for</span><span class="synSpecial">(</span><span class="synStatement">$</span><span class="synIdentifier">j</span><span class="synStatement">=</span><span class="synConstant">0</span>;<span class="synStatement">$</span><span class="synIdentifier">j</span><span class="synStatement">&lt;</span><span class="synConstant">24</span>;<span class="synStatement">$</span><span class="synIdentifier">j</span><span class="synStatement">++</span><span class="synSpecial">)</span> <span class="synSpecial">{</span> <span class="synStatement">$</span><span class="synIdentifier">x</span><span class="synStatement">+=</span><span class="synConstant">22</span>; <span class="synComment">// グラフ軸を1つずらす(px数はPhotoshopなどで測る)</span> <span class="synComment">// 棒グラフの高さ分、繰り返す</span> <span class="synStatement">for</span><span class="synSpecial">(</span><span class="synStatement">$</span><span class="synIdentifier">i</span><span class="synStatement">=</span><span class="synConstant">225</span>;<span class="synStatement">$</span><span class="synIdentifier">i</span><span class="synStatement">&gt;=</span><span class="synConstant">0</span>;<span class="synStatement">$</span><span class="synIdentifier">i</span><span class="synStatement">--</span><span class="synSpecial">)</span> <span class="synSpecial">{</span> <span class="synStatement">$</span><span class="synIdentifier">y</span><span class="synStatement">=</span><span class="synConstant">60</span><span class="synStatement">+$</span><span class="synIdentifier">i</span>; <span class="synComment">// 下から順番になめていく</span> <span class="synStatement">$</span><span class="synIdentifier">rgb</span><span class="synStatement">=</span><span class="synIdentifier">imagecolorat</span><span class="synSpecial">(</span><span class="synStatement">$</span><span class="synIdentifier">image</span>,<span class="synStatement">$</span><span class="synIdentifier">x</span>,<span class="synStatement">$</span><span class="synIdentifier">y</span><span class="synSpecial">)</span>; <span class="synComment">// X軸、Y軸のピクセルを取得</span> <span class="synStatement">$</span><span class="synIdentifier">colors</span><span class="synStatement">=</span><span class="synIdentifier">imagecolorsforindex</span><span class="synSpecial">(</span><span class="synStatement">$</span><span class="synIdentifier">image</span>, <span class="synStatement">$</span><span class="synIdentifier">rgb</span><span class="synSpecial">)</span>; <span class="synComment">// RGB値を連想配列に格納</span> <span class="synStatement">if</span><span class="synSpecial">(</span> <span class="synSpecial">(</span><span class="synStatement">$</span><span class="synIdentifier">colors</span><span class="synSpecial">[</span>&quot;<span class="synConstant">red</span>&quot;<span class="synSpecial">]</span><span class="synStatement">==</span><span class="synConstant">0</span><span class="synSpecial">)</span> <span class="synStatement">&amp;&amp;</span> <span class="synSpecial">(</span><span class="synStatement">$</span><span class="synIdentifier">colors</span><span class="synSpecial">[</span>&quot;<span class="synConstant">green</span>&quot;<span class="synSpecial">]</span><span class="synStatement">==</span><span class="synConstant">0</span><span class="synSpecial">)</span> <span class="synStatement">&amp;&amp;</span> <span class="synSpecial">(</span><span class="synStatement">$</span><span class="synIdentifier">colors</span><span class="synSpecial">[</span>&quot;<span class="synConstant">blue</span>&quot;<span class="synSpecial">]</span><span class="synStatement">==</span><span class="synConstant">255</span><span class="synSpecial">)</span> <span class="synSpecial">)</span> <span class="synSpecial">{</span> <span class="synComment">// 〜 R:0 G:0 B:255 (ブルー)のピクセルが見つかったときの処理 〜</span> <span class="synSpecial">}</span> <span class="synSpecial">}</span> <span class="synSpecial">}</span> </pre><p><br /> あとは、各色が見つかった時の処理を書いていくだけです。<br /> ただ、あまり確実なものではないので、フェイルセーフ設計で例外に対処出来るようにするべきでしょう。</p><p>また、これを毎回叩くとサーバーの負荷になるだけではなく、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%EC%B5%FE%C5%C5%CE%CF">東京電力</a>のサーバーにも毎回画像を取りに行って大変迷惑をかけてしまうので<br /> キャッシュ処理は確実に行うようにしましょう。</p><br /> <p>さらに、セキュリティも気にしましょう。<a class="keyword" href="http://d.hatena.ne.jp/keyword/Yahoo%21">Yahoo!</a>のエンジニアさんも言っていました。「何も信じるな」と。</p><p>(参考:<a href="http://techblog.yahoo.co.jp/cat207/security/post_40/">&#x30E4;&#x30D5;&#x30FC;&#x306B;&#x304A;&#x3051;&#x308B;&#x30A4;&#x30F3;&#x30D7;&#x30C3;&#x30C8;&#x30D0;&#x30EA;&#x30C7;&#x30FC;&#x30B7;&#x30E7;&#x30F3;&#x300C;&#x4F55;&#x3082;&#x4FE1;&#x3058;&#x308B;&#x306A;&#x300D; - Yahoo! JAPAN Tech Blog</a> <a href="http://b.hatena.ne.jp/entry/http://techblog.yahoo.co.jp/cat207/security/post_40/" class="http-bookmark"><img src="//b.hatena.ne.jp/entry/image/http://techblog.yahoo.co.jp/cat207/security/post_40/" alt="" class="http-bookmark" /></a>)</p><br /> <p>このブログでも以前に解説していますので、参考にしてみてください。<br /> (<a href="http://d.hatena.ne.jp/Molokheiya/20100219/p1">PHP&#x3067;&#x8AB0;&#x3067;&#x3082;&#x7C21;&#x5358;Web&#x30B5;&#x30FC;&#x30D3;&#x30B9;&#x88FD;&#x4F5C;&#xFF01;&#x3067;&#x306A;&#x3093;&#x304B;&#x4F5C;&#x3063;&#x3066;&#x516C;&#x958B;&#x3057;&#x305F;&#x5974;&#x3061;&#x3087;&#x3063;&#x3068;&#x6765;&#x3044; - &#x7518;&#x5473;&#x5FD7;&#x5411;&#xFF20;&#x306F;&#x3066;&#x306A;</a> <a href="http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/Molokheiya/20100219/p1" class="http-bookmark"><img src="//b.hatena.ne.jp/entry/image/http://d.hatena.ne.jp/Molokheiya/20100219/p1" alt="" class="http-bookmark" /></a>)</p><br /> <br /> <p>さて。これで以下のようなデータが取れました。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110330225435" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110330/20110330225435.png" alt="f:id:Molokheiya:20110330225435p:image" title="f:id:Molokheiya:20110330225435p:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p>余談ですが<a class="keyword" href="http://d.hatena.ne.jp/keyword/PHP">PHP</a>は「<a href="http://php.net/manual/en/function.json-encode.php">json_encode()</a>」という関数を使えば、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%CF%A2%C1%DB%C7%DB%CE%F3">連想配列</a>を一発で<a class="keyword" href="http://d.hatena.ne.jp/keyword/JSON">JSON</a>に変換出来ます。<br /> ただ今回は<a class="keyword" href="http://d.hatena.ne.jp/keyword/XML">XML</a>に整形して出力することにしました。</p><br /> <p>それがこちらです。</p><br /> <p><a href="http://kanmisikou.net/lab/power/today.xml">http://kanmisikou.net/lab/power/today.xml</a></p><br /> <p>こちらは<a class="keyword" href="http://d.hatena.ne.jp/keyword/API">API</a>として開放していますので、自由に使ってくださいね。<br /> (ただ他のところの方が、色々使いやすいと思います-^)</p><br /> <br /> <br /> <p><span style="color:#CC0000;font-weight:bold;">2. デザインをこねる</span></p><br /> <p>とりあえず<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E4%A5%B7%A5%DE%BA%EE%C0%EF">ヤシマ作戦</a>を流れるように一回見て(気分転換とも言う)<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A8%A5%F4%A5%A1">エヴァ</a>を堪能したあと、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Illustrator">Illustrator</a>を起動します。<br /> <br /> </p> <blockquote> <p><div class="hatena-asin-detail"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001VNCVTI/kx9hsri1-22/"><img src="https://images-fe.ssl-images-amazon.com/images/I/41XpUcVOelL._SL160_.jpg" class="hatena-asin-detail-image" alt="ヱヴァンゲリヲン新劇場版:序 (EVANGELION:1.11) [Blu-ray]" title="ヱヴァンゲリヲン新劇場版:序 (EVANGELION:1.11) [Blu-ray]"></a><div class="hatena-asin-detail-info"><p class="hatena-asin-detail-title"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B001VNCVTI/kx9hsri1-22/">ヱヴァンゲリヲン新劇場版:序 (EVANGELION:1.11) [Blu-ray]</a></p><ul><li><span class="hatena-asin-detail-label">出版社/メーカー:</span> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AD%A5%F3%A5%B0%A5%EC%A5%B3%A1%BC%A5%C9">キングレコード</a></li><li><span class="hatena-asin-detail-label">発売日:</span> 2009/05/27</li><li><span class="hatena-asin-detail-label">メディア:</span> <a class="keyword" href="http://d.hatena.ne.jp/keyword/Blu-ray">Blu-ray</a></li><li><span class="hatena-asin-detail-label">購入</span>: 61人 <span class="hatena-asin-detail-label">クリック</span>: 525回</li><li><a href="http://d.hatena.ne.jp/asin/B001VNCVTI/kx9hsri1-22" target="_blank">この商品を含むブログ (247件) を見る</a></li></ul></div><div class="hatena-asin-detail-foot"></div></div></p> </blockquote> <p><br /> そしてゴリゴリとデザインを起こします。ゴリゴリ。</p><br /> <p>この時、円形メーターの盤をどうやって描こうかなーと思ってたんですが、<br /> ちょっと調べてみたらすごくスマートなやり方がありました。</p><br /> <p><a href="http://www.designioustimes.com/tutorials/5-steps-for-drawing-complex-vector-sun-rays.html">http://www.designioustimes.com/tutorials/5-steps-for-drawing-complex-vector-sun-rays.html</a><br /> (円を描いて、円の幅と線の太さを設定して、破線を設定するだけで<a class="keyword" href="http://d.hatena.ne.jp/keyword/%CA%FC%BC%CD%C0%FE">放射線</a>が描ける)</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110330231615" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110330/20110330231615.png" alt="f:id:Molokheiya:20110330231615p:image" title="f:id:Molokheiya:20110330231615p:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p>これ考えた人はホント頭いい。<br /> ちなみに破線は「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%D4%A5%A2%A5%E9%A5%F3%A5%B9">アピアランス</a>を分割」ではパスに出来ないので「透明部分を分割・統合」でベクトル側に振ってパス化すればOKです。</p><br /> <p>デザインしながら、HTMLでどうやって実装するか考えていきます。<br /> メーターを動かす程度の動きなら<a class="keyword" href="http://d.hatena.ne.jp/keyword/Flash">Flash</a>を使うよりも<a class="keyword" href="http://d.hatena.ne.jp/keyword/HTML5">HTML5</a>を利用した方が楽だと思ったので、<br /> Text-ShadowやWeb Fontsなどを使うことを意識してデザインします。</p><br /> <br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110330232454" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110330/20110330232454.png" alt="f:id:Molokheiya:20110330232454p:image" title="f:id:Molokheiya:20110330232454p:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <br /> <p>たとえば、Text-Shadowで再現出来ないようなシャドウを使わないようにしたり、<br /> シャドウが画像の裏側に回らないと行けないようなデザインはしないようにします。</p><br /> <p>またWeb Fontsは基本的にフォントファイルを読み込まないといけないので、1つか2つまでには抑えたいところです。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/Opera">Opera</a>等ではフォントファイルの読み込みが完了するまではローカルの通常フォントで表示されますが、<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/Chrome">Chrome</a>等ではロードが完了するまで文字が表示されないので極力ロード時間は減らすべきです。<br /> そういう意味でも、日本語フォントをWeb Fontsで利用するのはオススメ出来ませんね。</p><br /> <br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110330232624" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110330/20110330232624.png" alt="f:id:Molokheiya:20110330232624p:image" title="f:id:Molokheiya:20110330232624p:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p>デザインが出来ました。</p><br /> <br /> <br /> <p><span style="color:#CC0000;font-weight:bold;">3. HTMLに起こす</span></p><br /> <p>さて、まずHTMLで表示出来るようにデザインを起こす必要があります。<br /> 先ほど作った<a class="keyword" href="http://d.hatena.ne.jp/keyword/Illustrator">Illustrator</a>ファイル(.ai)を<a class="keyword" href="http://d.hatena.ne.jp/keyword/PNG">PNG</a>形式で書き出し、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Photoshop">Photoshop</a>に突っ込みます。</p><br /> <p>今回は文字やギミックを入れないといけないので、imgタグを使って表示させるよりも、<br /> ボックス要素のbackground-imageとして表示させた方が、あとから入れやすそうです。</p><br /> <p>なので、ボックス要素ごとに背景として配置出来るように画像を分割します。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110330233345" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110330/20110330233345.png" alt="f:id:Molokheiya:20110330233345p:image" title="f:id:Molokheiya:20110330233345p:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p>スライスツールで画像をサクサクっと切ったら「Webおよびデ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D0%A5%A4%A5%B9">バイス</a>用に画像を書き出し」ダイアログを使ってファイルサイズを調整しつつ書き出し。<br /> 色が変わらないように、プロファイルもチェックしましょう。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110330233534" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110330/20110330233534.png" alt="f:id:Molokheiya:20110330233534p:image" title="f:id:Molokheiya:20110330233534p:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p>あと、必要な画像をそれぞれ作って切り分けます。(メーターの針とか、ロゴとかその他色々)<br /> これで大体画像が揃ったので、いよいよコーディングです。</p><br /> <p>ちなみに先程の<a class="keyword" href="http://d.hatena.ne.jp/keyword/PHP">PHP</a>のプログラミングもそうですが、Codaというエディタを使っています。<br /> なかなか小奇麗なのに多機能で便利なやつで、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Dreamweaver">Dreamweaver</a>から乗り換えて使っています。</p> <blockquote> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/App%20Store">App Store</a>で買えますよ↓<br /> <a href="http://itunes.apple.com/jp/app/coda/id406001464?mt=12">http://itunes.apple.com/jp/app/coda/id406001464?mt=12</a></p> </blockquote> <p></p><p>とりあえずdiv要素をfloatで組み上げて、カカカッと段組みを作ります。<br /> そして、それぞれのdiv要素にbackground-imageを設定して、一枚の画像になるように組みます。</p><br /> <p>それが出来たら、各ボックスに突っ込むギミックを色々入れます。<br /> テキストを動かすときはspan要素、メーターの針は<a class="keyword" href="http://d.hatena.ne.jp/keyword/canvas">canvas</a>要素ですね。<br /> 画像を入れ替えるだけのようなギミックは、そのままimg要素を入れます。</p> <pre class="code lang-html" data-lang="html" data-unlink> <span class="synIdentifier">&lt;</span><span class="synStatement">div</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;container&quot;</span><span class="synIdentifier">&gt;</span> <span class="synIdentifier">&lt;</span><span class="synStatement">div</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;mater1&quot;</span><span class="synIdentifier">&gt;&lt;/</span><span class="synStatement">div</span><span class="synIdentifier">&gt;</span> <span class="synIdentifier">&lt;</span><span class="synStatement">div</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;mater2&quot;</span><span class="synIdentifier">&gt;&lt;</span><span class="synStatement">span</span><span class="synIdentifier"> </span><span class="synType">class</span><span class="synIdentifier">=</span><span class="synConstant">&quot;count&quot;</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;count1&quot;</span><span class="synIdentifier">&gt;</span>0<span class="synIdentifier">&lt;/</span><span class="synStatement">span</span><span class="synIdentifier">&gt;&lt;</span>canvas<span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;pw1&quot;</span><span class="synIdentifier"> </span><span class="synType">width</span><span class="synIdentifier">=</span><span class="synConstant">&quot;400&quot;</span><span class="synIdentifier"> </span><span class="synType">height</span><span class="synIdentifier">=</span><span class="synConstant">&quot;400&quot;</span><span class="synIdentifier">&gt;&lt;/</span>canvas<span class="synIdentifier">&gt;&lt;/</span><span class="synStatement">div</span><span class="synIdentifier">&gt;</span> <span class="synIdentifier">&lt;</span><span class="synStatement">div</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;mater3&quot;</span><span class="synIdentifier">&gt;&lt;</span><span class="synStatement">span</span><span class="synIdentifier"> </span><span class="synType">class</span><span class="synIdentifier">=</span><span class="synConstant">&quot;count&quot;</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;count2&quot;</span><span class="synIdentifier">&gt;</span>0<span class="synIdentifier">&lt;/</span><span class="synStatement">span</span><span class="synIdentifier">&gt;&lt;</span>canvas<span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;pw2&quot;</span><span class="synIdentifier"> </span><span class="synType">width</span><span class="synIdentifier">=</span><span class="synConstant">&quot;400&quot;</span><span class="synIdentifier"> </span><span class="synType">height</span><span class="synIdentifier">=</span><span class="synConstant">&quot;400&quot;</span><span class="synIdentifier">&gt;&lt;/</span>canvas<span class="synIdentifier">&gt;&lt;/</span><span class="synStatement">div</span><span class="synIdentifier">&gt;</span> <span class="synIdentifier">&lt;</span><span class="synStatement">div</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;mater4&quot;</span><span class="synIdentifier">&gt;&lt;</span><span class="synStatement">span</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;gettime&quot;</span><span class="synIdentifier"> </span><span class="synType">class</span><span class="synIdentifier">=</span><span class="synConstant">&quot;number&quot;</span><span class="synIdentifier">&gt;</span>0000-00-00 00:00:00<span class="synIdentifier">&lt;/</span><span class="synStatement">span</span><span class="synIdentifier">&gt;&lt;</span><span class="synStatement">span</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;jst&quot;</span><span class="synIdentifier"> </span><span class="synType">class</span><span class="synIdentifier">=</span><span class="synConstant">&quot;number&quot;</span><span class="synIdentifier">&gt;</span>0000-00-00 00:00:00<span class="synIdentifier">&lt;/</span><span class="synStatement">span</span><span class="synIdentifier">&gt;&lt;/</span><span class="synStatement">div</span><span class="synIdentifier">&gt;</span> <span class="synIdentifier">&lt;</span><span class="synStatement">div</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;mater5&quot;</span><span class="synIdentifier">&gt;&lt;</span><span class="synStatement">img</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;blackout&quot;</span><span class="synIdentifier"> </span><span class="synType">src</span><span class="synIdentifier">=</span><span class="synConstant">&quot;images/blackout.png&quot;</span><span class="synIdentifier"> </span><span class="synType">alt</span><span class="synIdentifier">=</span><span class="synConstant">&quot;&quot;</span><span class="synIdentifier"> </span><span class="synType">width</span><span class="synIdentifier">=</span><span class="synConstant">&quot;148&quot;</span><span class="synIdentifier"> </span><span class="synType">height</span><span class="synIdentifier">=</span><span class="synConstant">&quot;259&quot;</span><span class="synIdentifier"> /&gt;&lt;/</span><span class="synStatement">div</span><span class="synIdentifier">&gt;</span> <span class="synIdentifier">&lt;</span><span class="synStatement">div</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;mater6&quot;</span><span class="synIdentifier">&gt;&lt;</span><span class="synStatement">span</span><span class="synIdentifier"> </span><span class="synType">class</span><span class="synIdentifier">=</span><span class="synConstant">&quot;number&quot;</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;rs1&quot;</span><span class="synIdentifier">&gt;</span>0<span class="synIdentifier">&lt;/</span><span class="synStatement">span</span><span class="synIdentifier">&gt;&lt;</span><span class="synStatement">span</span><span class="synIdentifier"> </span><span class="synType">class</span><span class="synIdentifier">=</span><span class="synConstant">&quot;number&quot;</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;rs2&quot;</span><span class="synIdentifier">&gt;</span>0<span class="synIdentifier">&lt;/</span><span class="synStatement">span</span><span class="synIdentifier">&gt;&lt;</span><span class="synStatement">span</span><span class="synIdentifier"> </span><span class="synType">class</span><span class="synIdentifier">=</span><span class="synConstant">&quot;number&quot;</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;rs3&quot;</span><span class="synIdentifier">&gt;</span>0<span class="synIdentifier">&lt;/</span><span class="synStatement">span</span><span class="synIdentifier">&gt;&lt;/</span><span class="synStatement">div</span><span class="synIdentifier">&gt;</span> <span class="synIdentifier">&lt;</span><span class="synStatement">div</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;mater7&quot;</span><span class="synIdentifier">&gt;&lt;/</span><span class="synStatement">div</span><span class="synIdentifier">&gt;</span> <span class="synIdentifier">&lt;</span><span class="synStatement">div</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;mater8&quot;</span><span class="synIdentifier">&gt;&lt;</span><span class="synStatement">iframe</span><span class="synIdentifier"> </span><span class="synType">src</span><span class="synIdentifier">=</span><span class="synConstant">&quot;http://110chang.com/rinban/&quot;</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;rinban&quot;</span><span class="synIdentifier">&gt;&lt;/</span><span class="synStatement">iframe</span><span class="synIdentifier">&gt;&lt;</span><span class="synStatement">div</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;rinban_txt&quot;</span><span class="synIdentifier">&gt;</span>情報提供元 : http://110chang.com/rinban/<span class="synIdentifier">&lt;/</span><span class="synStatement">div</span><span class="synIdentifier">&gt;&lt;/</span><span class="synStatement">div</span><span class="synIdentifier">&gt;</span> <span class="synIdentifier">&lt;</span><span class="synStatement">div</span><span class="synIdentifier"> </span><span class="synType">id</span><span class="synIdentifier">=</span><span class="synConstant">&quot;mater9&quot;</span><span class="synIdentifier">&gt;&lt;/</span><span class="synStatement">div</span><span class="synIdentifier">&gt;</span> <span class="synIdentifier">&lt;/</span><span class="synStatement">div</span><span class="synIdentifier">&gt;</span> </pre><p><br /> また、110changさんの「<a href="http://110chang.com/rinban/">&#x8F2A;&#x756A;&#x505C;&#x96FB;&#xFF5C;&#x95A2;&#x6771;</a>」を埋めこまさせていただいているので、そこにはiframe要素を設定しておきました。</p><br /> <p>さて、ここからは飾り付けです。</p><br /> <br /> <br /> <p><span style="color:#CC0000;font-weight:bold;">4. CSS3でデザイン</span></p><br /> <p>CSS3で追加された様々なプロパティを使うと、かなーり豪華に彩ることができます。<br /> といっても、処理が重いものが多々あるので、多様は厳禁。<br /> 見た目もダサくなるし、何にでも使えばいいってもんじゃないですね。</p><br /> <br /> <p>今回使ったのは、Web fontsとText-Shadow。</p><br /> <p>まずWeb fontsは「@font-face」というものを最初に記述して、フォント名とURLを紐付けます。<br /> 以降は、font-familyに普段どおりフォント名を記述するだけ。ね、簡単でしょ?</p> <pre class="code lang-css" data-lang="css" data-unlink><span class="synSpecial">@font-face</span> <span class="synIdentifier">{</span> <span class="synType">font-family</span>: yourname; <span class="synType">src</span>: <span class="synIdentifier">url(</span><span class="synConstant">YournameD7UltimateCondensed.ttf</span><span class="synIdentifier">)</span>; <span class="synIdentifier">}</span> <span class="synIdentifier">.count</span> <span class="synIdentifier">{</span> <span class="synType">font-size</span>:<span class="synConstant">110px</span>; <span class="synType">text-shadow</span>: <span class="synConstant">0px</span> <span class="synConstant">0px</span> <span class="synConstant">20px</span> <span class="synIdentifier">rgba(</span><span class="synConstant">148</span><span class="synIdentifier">,</span><span class="synConstant">219</span><span class="synIdentifier">,</span><span class="synConstant">119</span><span class="synIdentifier">,</span><span class="synConstant">1</span><span class="synIdentifier">)</span>; <span class="synType">text-align</span>: <span class="synConstant">right</span>; <span class="synType">color</span>: <span class="synConstant">#dcf0dc</span>; <span class="synType">font-family</span>:yourname; <span class="synIdentifier">}</span> </pre><p><br /> ちなみに、フォントファイルとして指定できるものは種類があって、ブラウザごとに処理が異なってきます。<br /> 上記コードは省略しているものですが、興味があれば「Webfonts WOFF」などでググッてみてください。</p><br /> <br /> <p>text-shadowは解説サイトが大量にあるので割愛します(棒</p><br /> <br /> <br /> <br /> <p><span style="color:#CC0000;font-weight:bold;">5. <a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a>でギミックを作る</span></p><br /> <p>さて、最終段階ですね!</p><br /> <p>ぼくは<a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>ラブなので<a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>を使います。<br /> (もちろん要件ごとに得意不得意あるのですが、今回はDOM操作が多いので適していると思います)</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>の「The Write Less, Do More.」という考え方は結構好きです。<br /> というか、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DE">プログラマ</a>ならシンプルでスマートかつ、セキュアなコードは好物だと思いますw</p><br /> <br /> <p>そんなことはさておき、まずページがロードされて<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a>が呼び出される部分からです。<br /> <br /> </p> <pre class="code lang-javascript" data-lang="javascript" data-unlink>$(<span class="synStatement">document</span>).ready(<span class="synIdentifier">function</span>()<span class="synIdentifier">{</span> $.ajax(<span class="synIdentifier">{</span> url: <span class="synConstant">&quot;today.xml&quot;</span>, type: <span class="synConstant">&quot;GET&quot;</span>, dataType: <span class="synConstant">&quot;xml&quot;</span>, cache: <span class="synConstant">false</span>, success: init <span class="synIdentifier">}</span>); <span class="synIdentifier">}</span>); </pre><p><br /> ページがロードされて、<a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>がreadyを叩いたら最初に<a class="keyword" href="http://d.hatena.ne.jp/keyword/XML">XML</a>データを<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ajax">Ajax</a>で取得します。<br /> どうでもいいですが、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ajax">Ajax</a>と言われる度に洗剤が頭の中で浮かぶのは何とかならないんでしょうか。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110330235610" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110330/20110330235610.jpg" alt="f:id:Molokheiya:20110330235610j:image" title="f:id:Molokheiya:20110330235610j:image" class="hatena-fotolife" itemprop="image"></a></span><br /> どうでもいい</p><br /> <br /> <p>ロードが成功したら、init関数が呼び出されます。<br /> init関数では、読み込んだ<a class="keyword" href="http://d.hatena.ne.jp/keyword/XML">XML</a>の数値をHTMLに入れて数値を表示させたり、画像を入れ替えたりします。<br /> ここでメーターを操作してもいいんですが、<span style="color:#CC0000;">「メーターの針がぐいーんって上がっていくのがカッコイイんだろ!!」</span>という<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C3%E6%C6%F3%C9%C2">中二病</a>精神を遺憾なく発揮したため、その処理を開始します。<br /> <br /> <br /> </p> <pre class="code lang-javascript" data-lang="javascript" data-unlink><span class="synComment">// メーターの針は先に読み込んでおきます</span> <span class="synIdentifier">var</span> arrow = <span class="synStatement">new</span> Image(); arrow.src = <span class="synConstant">&quot;images/m.png&quot;</span>; <span class="synIdentifier">function</span> drawImage () <span class="synIdentifier">{</span> <span class="synComment">// canvas要素を取得します。</span> <span class="synComment">// ちなみに以下の1文はjQueryを使っている場合「var c=$(&quot;#pw1&quot;)[0];」または「var c=$(&quot;#pw1&quot;).get();]でも可能。これ豆な。</span> <span class="synIdentifier">var</span> c=<span class="synStatement">document</span>.getElementById(<span class="synConstant">&quot;pw1&quot;</span>); <span class="synComment">// canvas要素の2D描画コンテキストにアクセスします</span> <span class="synIdentifier">var</span> cnt=c.getContext(<span class="synConstant">&quot;2d&quot;</span>); <span class="synComment">// 描画されている内容を全消しします</span> cnt.clearRect(0,0,c.width,c.height); <span class="synComment">// 描画位置を中心にします</span> cnt.translate(c.width/2, c.height/2); <span class="synComment">// ぐいーんと数値を上げていく部分です。指定された数値になるまで5ずつ上げていきます</span> <span class="synStatement">if</span>(nowrot&lt;rot) nowrot+=5; <span class="synStatement">else</span> nowrot=rot; <span class="synComment">// ランダムな数値を加算して、針をぶらします</span> base=nowrot+(Math.floor(Math.random()*5)/10); <span class="synComment">// 円周率で角度からアングルを算出します</span> base=base*Math.PI/180; <span class="synComment">// 描画コンテキストを回転させます</span> cnt.rotate(base); <span class="synComment">// 針は画像中央よりも上部にあるので、ピクセル数を計算してその位置に描画します</span> cnt.drawImage(arrow,-17,-203); <span class="synComment">// 描画コンテキストを元の角度に戻します</span> cnt.rotate(-base); <span class="synComment">// 描画コンテキストを元の位置に戻します</span> cnt.translate(-c.width/2, -c.height/2); <span class="synComment">// 50ミリ秒後に再度呼び出します</span> setTimeout(drawImage,50); <span class="synIdentifier">}</span> </pre><p><br /> 結構簡単なのが分かりますでしょうか。<br /> イメージとしては、セル画(描画したい画像)を用意して、透明なセルを移動&回転させて、その位置に焼き込む。という感じ。</p><br /> <p>あと、きちんと元の位置に描画コンテキストを戻さないと、次に呼び出されたときにどんどんおかしくなっていきます。</p><br /> <br /> <p>さて、これで完成です!</p><br /> <br /> <br /> <br /> <p><span style="color:#CC0000;font-weight:bold;">6. おわりに</span></p><br /> <p>面白かったのが、海外からの反応でした。<br /> <br /> </p> <blockquote> <p><script> window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs); t._e = []; t.ready = function(f) { t._e.push(f); }; return t; }(document, "script", "twitter-wjs"));</script><script> twttr.ready(function (twttr) { var el = document.getElementsByClassName('twitter-syntax-tweet-id-50380348672061440'); for (var i=0;i<el.length;i++) { if (!!el[i].getAttribute('data-is-tweet-loaded')){ continue; } el[i].setAttribute('data-is-tweet-loaded', '1'); twttr.widgets.createTweet('50380348672061440',el[i],{}); } });</script><div class="twitter-syntax-tweet-id-50380348672061440"></div></p> </blockquote> <p>そのときは、単純にnew Date()で取っていたので、なるほど! と思いましたw(すぐなおしました)</p><br /> <br /> <p>あと驚いたのは、みなさん結構<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9">ソースコード</a>見るんですね…<br /> いたずら心で入れたコメントの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A2%A5%B9%A5%AD%A1%BC%A5%A2%A1%BC%A5%C8">アスキーアート</a>が話題になっててびっくりしましたw</p><br /> <br /> <p>いまはそれぞれが自分に出来る日常を生きるのが一番だと思っています。<br /> ぼくは面白いものを作って他人に見せて、笑わせたり楽しませたりするのが好きなので、そんな日常を目指してみました。</p><br /> <p>適度に節電して、適度に買い物にでかけ、適度に募金して、そういうふうに過ごせればいいなぁと思いました。</p><br /> <br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B5%C1%B1%E7%B6%E2">義援金</a>など、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Google">Google</a>さんのところがまとまっていてみやすかったです<br /> <a href="http://www.google.co.jp/intl/ja/crisisresponse/japanquake2011.html">http://www.google.co.jp/intl/ja/crisisresponse/japanquake2011.html</a></p> Wed, 30 Mar 2011 00:00:00 +0900 hatenablog://entry/17680117127146816646 Web Titanium Desktopを数日いじったので要点メモ https://molokheiya.hatenadiary.org/entry/20110319/p1 <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110319233256" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110319/20110319233256.jpg" alt="f:id:Molokheiya:20110319233256j:image" title="f:id:Molokheiya:20110319233256j:image" class="hatena-fotolife" itemprop="image"></a></span></p><p></p> <blockquote> <p><span style="color:#0066CC;">Titanium is Native</span></p><p>Titanium provides native performance, native UI & native capabilities, with over 1,000 APIs and growing. If you can dream it, you can build it.</p> </blockquote> <p><br /> タイタニウムではありません、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C1%A5%BF%A5%CB%A5%A6%A5%E0">チタニウム</a>です。</p><br /> <br /> <p>AppceleratorのTitaniumをいじってます。<br /> 巷ではTitanium Mobileばかりが持てはやされていますが、実はDesktopもあります。</p><br /> <p><a href="http://www.appcelerator.com/products/titanium-desktop-application-development/">Products</a></p><br /> <p>ただあんまり知られてないのと注目されてないので、実際どのレベルなのか分からなかったので<br /> ここ数日間で触りだけいじってみました。</p><br /> <p>基本的に<a class="keyword" href="http://d.hatena.ne.jp/keyword/HTML5">HTML5</a>+CSS3+<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a>で書くわけで、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Adobe%20AIR">Adobe AIR</a>のようなRIAですな。<br /> (Desktopは<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a>以外にも<a class="keyword" href="http://d.hatena.ne.jp/keyword/Python">Python</a>・<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ruby">Ruby</a>・<a class="keyword" href="http://d.hatena.ne.jp/keyword/PHP">PHP</a>なども織り交ぜて使うことが出来ます)</p><p>Titanium Developer自体も、Titanium Desktopで出来ています。<br /> なんとなく、オモチャ以上という感じはしますね。</p><br /> <p>まぁ出来ることは、以下のサイトあたりで細かく説明されてるので省略。</p> <blockquote> <p><a href="http://d.hatena.ne.jp/yuichi_katahira/20100219/1266592521">Ruby,Python,PHP,JavaScript&#x3067;&#x30DE;&#x30EB;&#x30C1;&#x30D7;&#x30E9;&#x30C3;&#x30C8;&#x30D5;&#x30A9;&#x30FC;&#x30E0;&#x306A;&#x30C7;&#x30B9;&#x30AF;&#x30C8;&#x30C3;&#x30D7;&#x30A2;&#x30D7;&#x30EA;&#x3092;&#x7C21;&#x5358;&#x306B;&#x4F5C;&#x6210;&#x3059;&#x308B; Appcelerator Titanium Desktop - &#x4ED9;&#x53F0; Ruby Vim JavaScript &#x30D5;&#x30EA;&#x30FC;&#x30E9;&#x30F3;&#x30B9;&#x30D7;&#x30ED;&#x30B0;&#x30E9;&#x30DE;</a></p><br /> <p><a href="http://code.google.com/p/titanium-desktop-doc-ja/">Google Code Archive - Long-term storage for Google Code Project Hosting.</a></p> </blockquote> <p></p><p><span style="font-weight:bold;color:#FF0000;">〜 情報源は<a class="keyword" href="http://d.hatena.ne.jp/keyword/API">API</a> Reference, Q&A Community 〜</span> </p><br /> <p><a href="http://developer.appcelerator.com/documentation">http://developer.appcelerator.com/documentation</a></p><p><a href="http://developer.appcelerator.com/apidoc/desktop/latest">http://developer.appcelerator.com/apidoc/desktop/latest</a></p><p><a href="http://developer.appcelerator.com/questions/created">http://developer.appcelerator.com/questions/created</a></p><br /> <p>ホンッッッッットに情報が少ないので、既存コードを参考にするより<a class="keyword" href="http://d.hatena.ne.jp/keyword/API">API</a> Doc見たほうが早い。<br /> ただ<a class="keyword" href="http://d.hatena.ne.jp/keyword/API">API</a> Docも結構謎なポイントが多くて、しかもSampleがあんまりない為結構しんどい。</p><br /> <p>分からねぇ! と思ったときは、Q&Aを探す。聞いてもいいと思うけど、大体ある。<br /> よって、英語がある程度分かった方が楽だし、英語とか見たくもない! って人はやめといた方が無難です。</p><br /> <br /> <p><span style="font-weight:bold;color:#FF0000;">〜 以下、コード群 〜</span></p><br /> <p>・<a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>はガンガン使っていいけど、$.<a class="keyword" href="http://d.hatena.ne.jp/keyword/ajax">ajax</a>は使わないほうがいい</p><p>Ti.<a class="keyword" href="http://d.hatena.ne.jp/keyword/API">API</a>に用意されてるHTTPClientと<a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>の<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ajax">Ajax</a>。<br /> てっきり内部で吸収してHTTPClientに統一してるのかと思ったんだけど、どうやら違うみたい。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>の方は、どうやら<a class="keyword" href="http://d.hatena.ne.jp/keyword/Cookie">Cookie</a>の扱いが<a class="keyword" href="http://d.hatena.ne.jp/keyword/Safari">Safari</a>と同じになるっぽい(要出典)<br /> HTTPClientを使うと「/Users/Molokheiya/USERNAME/Application Support/Titanium/appdata/com.<a class="keyword" href="http://d.hatena.ne.jp/keyword/hoge">hoge</a>.huga/cookies.dat」に保存される模様。<br /> <br /> </p> <pre class="code lang-javascript" data-lang="javascript" data-unlink> <span class="synIdentifier">var</span> xhr = Titanium.Network.createHTTPClient(); xhr.onload = <span class="synIdentifier">function</span>(e)<span class="synIdentifier">{</span> console.log(e); <span class="synIdentifier">}</span>; xhr.open(<span class="synConstant">&quot;GET&quot;</span>,<span class="synConstant">&quot;http://example.com/&quot;</span>); xhr.send(<span class="synIdentifier">{</span>param:value<span class="synIdentifier">}</span>); </pre><p>こうする。<br /> まぁ見ての通り、<a class="keyword" href="http://d.hatena.ne.jp/keyword/XMLHttpRequest">XMLHttpRequest</a>なので超簡単ですね。</p><br /> <p>・バイナリのダウンロード</p> <pre class="code lang-javascript" data-lang="javascript" data-unlink> <span class="synIdentifier">var</span> url = <span class="synConstant">&quot;http://example.com/hoge.jpg&quot;</span>; <span class="synComment">// 画像ファイルのURL</span> <span class="synIdentifier">var</span> fileName = url.substring(url.lastIndexOf(<span class="synConstant">&quot;/&quot;</span>)+1); <span class="synComment">// 画像ファイルの名前</span> <span class="synIdentifier">var</span> localFile = Titanium.Filesystem.getApplicationDataDirectory().toString()+Titanium.Filesystem.getSeparator()+fileName; <span class="synComment">// AppDataフォルダのパス</span> <span class="synIdentifier">var</span> remoteFile = url; <span class="synIdentifier">var</span> httpClient = Titanium.Network.createHTTPClient(); httpClient.onload = <span class="synIdentifier">function</span>(e) <span class="synIdentifier">{</span> <span class="synIdentifier">var</span> writeFile = Titanium.Filesystem.getFile(localFile); <span class="synIdentifier">var</span> writeStream = Titanium.Filesystem.getFileStream(writeFile); writeStream.open(Titanium.Filesystem.MODE_WRITE); writeStream.write(<span class="synIdentifier">this</span>.responseData); writeStream.close(); <span class="synIdentifier">}</span>; xhr.onreadystatechange = <span class="synIdentifier">function</span>(e) <span class="synIdentifier">{</span> <span class="synStatement">if</span> (e.readyState == 4) <span class="synIdentifier">{</span> <span class="synComment">// ダウンロード完了</span> <span class="synIdentifier">}</span> <span class="synIdentifier">}</span>; httpClient.onerror = <span class="synIdentifier">function</span>(e) <span class="synIdentifier">{</span> console.log(<span class="synConstant">'エラー'</span>); <span class="synIdentifier">}</span>; httpClient.open(<span class="synConstant">'GET'</span>, remoteFile); httpClient.send(); </pre><p><br /> ・バイナリのアップロード<br /> <br /> </p> <pre class="code lang-javascript" data-lang="javascript" data-unlink><span class="synComment">//(略)</span> xhr.open(<span class="synConstant">&quot;POST&quot;</span>,<span class="synConstant">&quot;http://example.com/post/&quot;</span>); xhr.sendFile(<span class="synIdentifier">{</span>image:Titanium.Filesystem.getFile(file), title:<span class="synConstant">&quot;TITLE&quot;</span><span class="synIdentifier">}</span>); </pre><p>sendFile(); を使うと、いちいちHeaderを細かく作りこまなくてもいいです。<br /> ちなみに私はこれの存在を知らなくて、全部書いてやってましたウォオオウッ</p><br /> <br /> <p>・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C7%A5%A3%A5%EC%A5%AF%A5%C8">ディレクト</a>リの有無をチェック、無い場合は作る<br /> <br /> </p> <pre class="code lang-javascript" data-lang="javascript" data-unlink> <span class="synIdentifier">var</span> d = Titanium.Filesystem.getFile(Titanium.Filesystem.getApplicationDataDirectory(),<span class="synConstant">&quot;testFolder&quot;</span>); <span class="synStatement">if</span>(!d.exists()) <span class="synIdentifier">{</span> d.createDirectory(); <span class="synIdentifier">}</span> </pre><p></p><p>・Notificationをつかうと、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>なら(入っている場合)<a class="keyword" href="http://d.hatena.ne.jp/keyword/Growl">Growl</a>が使える</p><br /> <p>Winなら独自の通知が出ます。<br /> <br /> </p> <pre class="code lang-javascript" data-lang="javascript" data-unlink> <span class="synIdentifier">var</span> wnd=Titanium.Notification.createNotification(<span class="synStatement">window</span>); wnd.setTitle(<span class="synConstant">&quot;タイトル&quot;</span>); wnd.setMessage(<span class="synConstant">&quot;メッセージ&quot;</span>); wnd.setIcon(path); wnd.setCallback(<span class="synIdentifier">function</span> () <span class="synIdentifier">{</span> <span class="synStatement">alert</span>(<span class="synConstant">&quot;callback!&quot;</span>); <span class="synIdentifier">}</span>); wnd.show(); </pre><p><br /> ・ウィンドウを開く<br /> <br /> </p> <pre class="code lang-javascript" data-lang="javascript" data-unlink> <span class="synIdentifier">var</span> win=Titanium.UI.createWindow(<span class="synIdentifier">{</span> id: <span class="synConstant">&quot;testWindow&quot;</span>, title: <span class="synConstant">&quot;Test Window&quot;</span>, width: 400, height: 600, maximizable: <span class="synConstant">false</span>, minimizable: <span class="synConstant">false</span>, closeable: <span class="synConstant">true</span>, resizable: <span class="synConstant">false</span>, maximized: <span class="synConstant">false</span>, minimized: <span class="synConstant">false</span> <span class="synIdentifier">}</span>); win.open(); win.setContents(<span class="synConstant">&quot;&lt;html&gt;Hello World!&lt;/html&gt;&quot;</span>); </pre><p><br /> createWindowで作ったあと、openしないといけないのが分からず1時間ほど悩みました。<br /> 妻が家に帰ると必ず死んだふりをしているのと同じくらい辛かったです。</p><br /> <br /> <p>・Terminalを叩く<br /> <br /> </p> <pre class="code lang-javascript" data-lang="javascript" data-unlink> <span class="synIdentifier">var</span> q = Titanium.Process.createProcess(<span class="synIdentifier">[</span>path,<span class="synConstant">'-arg'</span><span class="synIdentifier">]</span>); q.launch(); </pre><p><br /> 大体なんでもできますね。</p> Sat, 19 Mar 2011 00:00:00 +0900 hatenablog://entry/17680117127146817271 メモ プログラミング 「Adobe Digital Publishing フォーラム 2011」に見る、電子出版の流れ https://molokheiya.hatenadiary.org/entry/20110202/p1 <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110203002823" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110203/20110203002823.png" alt="f:id:Molokheiya:20110203002823p:image" title="f:id:Molokheiya:20110203002823p:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <br /> <p>2/1(火)に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D9%A5%EB%A5%B5%A1%BC%A5%EB">ベルサール</a>六本木にて開催された、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Adobe">Adobe</a> Digital Publishing フォーラム 2011に参加していたので、忘れる前に感じたことをメモ。<br /> 700人以上が収容できる会場でしたが、あっという間に満員になるほどの盛況ぶりで、出版業界の意識の高さが伺えました。</p><br /> <p>とりあえず内容を軽く。</p><br /> <p><a href="http://adobe-digipub.jp/">&#x30C7;&#x30EA;&#x30B1;&#x30FC;&#x30C8;&#x30BE;&#x30FC;&#x30F3;&#x81ED;&#x3044;&#x30B1;&#x30A2;&#x77F3;&#x9E78;&#x306E;&#x304A;&#x3059;&#x3059;&#x3081;&#x30E9;&#x30F3;&#x30AD;&#x30F3;&#x30B0;</a></p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Keynote">Keynote</a>は<a href="http://www.adobe.com/jp/products/digitalpublishingsuite/">Adobe Digital Publishing Suite</a>の紹介で、主にWIREDのデジタル版を成功例として、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Ricky">Ricky</a> Liversidge氏が解説。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DE%A5%A4%A5%B3%A5%DF%A5%B8%A5%E3%A1%BC%A5%CA%A5%EB">マイコミジャーナル</a>がそこそこ詳しい。<br /> <a href="http://journal.mycom.co.jp/articles/2011/02/02/adpsrep/">http://journal.mycom.co.jp/articles/2011/02/02/adpsrep/</a></p><br /> <p>この動画がオープニングに使われてました。</p><br /> <p><iframe title="YouTube video player" class="youtube-player" type="text/html" width="640" height="390" src="http://www.youtube.com/embed/sokJfTv6BCU" frameborder="0" allowFullScreen></iframe></p><br /> <p>そして同じくDigital Publishing Suiteを使った国内作例の紹介。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%C6%CC%C8%C7%B0%F5%BA%FE">凸版印刷</a>とか出てきたりして、もうすぐそこまで来てるんだなという実感。</p><br /> <p>間を置いて、使用策定中でドラフトの<a class="keyword" href="http://d.hatena.ne.jp/keyword/EPUB">EPUB</a> 3.0詳細技術解説。<br /> 現在最新版の<a class="keyword" href="http://d.hatena.ne.jp/keyword/EPUB">EPUB</a> 2.0.1は縦書きが非サポートなので、日本では3.0に否応なく期待が高まる。</p><br /> <p>最後に株式会社G2010から、ワクワクする<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%C5%BB%D2%BD%F1%C0%D2">電子書籍</a>と題して実際の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%C5%BB%D2%BD%F1%C0%D2">電子書籍</a>化についての制作プロセスやフューチャーを対談形式で。</p><br /> <p><hr></p><br /> <p>イベントのその他詳細は他で紹介されているので置いておいて。</p><br /> <p>とりあえず感じるのは、これからの電子出版はハードウェア・ソフトウェア(コンテンツ)において二極化していくのではないかということ。</p><br /> <br /> <p>ビーワークスさんと<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BB%B0%B1%C9%BD%F1%CB%BC">三栄書房</a>さんが作った、雑誌「ゴルフトゥデイ」のデジタル版は完成度がとにかく高くて、使える技術を丁度いいバランスで有効活用していた印象。</p><br /> <p><iframe title="YouTube video player" class="youtube-player" type="text/html" width="640" height="390" src="http://www.youtube.com/embed/mg7-enBwCYc" frameborder="0" allowFullScreen></iframe></p><br /> <br /> <p>G2010さんが作った、書籍「歌うクジラ - <a class="keyword" href="http://d.hatena.ne.jp/keyword/%C2%BC%BE%E5%CE%B6">村上龍</a>」は、試みはとても面白いけど果たして実用的に使えて日常に溶け込むの? という印象。</p><br /> <p><iframe title="YouTube video player" class="youtube-player" type="text/html" width="640" height="390" src="http://www.youtube.com/embed/RDeCWo88Gy0" frameborder="0" allowFullScreen></iframe></p><br /> <p>前者は、もはや雑誌ではないという認識に思えるのですね。映画や、テレビやゲームのようでいて、それとは違う新しいメディア。<br /> だから「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%C5%BB%D2%BD%F1%C0%D2">電子書籍</a>っていうけど<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPad">iPad</a>の雑誌ってもはや書籍じゃないよね」っていう声はすごくよく分かる。書籍とは別の情報媒体だと思うので。<br /> ちなみに電子出版と言うことも出来るけど、電子出版だと小説とかも含めてしまうので、何か新しい単語が必要なのかもですね。</p><p>さて、そう考えるとパソコンの前に座るわけでもなく、仲間同士で集まって<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPad">iPad</a>を見ながら<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C0%D0%C0%EE%CE%CB">石川遼</a>のフォームを見て歓談するっていうのはありじゃないかなーと思えてくる。<br /> Webは情報が雑多に溢れててノイ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B8%A1%BC">ジー</a>だけど、雑誌は編集でコンテンツがまとめられてるというメリットに、音や映像という<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%BF%A5%E9%A5%AF%A5%C6%A5%A3%A5%D6">インタラクティブ</a>メディアを統合した感じで楽しい。</p><br /> <br /> <p>ただ後者の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C2%BC%BE%E5%CE%B6">村上龍</a>さんの本は、メインコンテンツは作家の書いた文章であって、読者が主に望んでいるのはそれだと思うんですね。<br /> そうなると文庫の持つ携帯性だとか、文章の読みやすさであるとか、そういった部分に主軸が置かれるはずです。<br /> 表紙が動くだとか、特定のシーンでBGMが流れるだとか、確かにあったら面白いかもしれない。でも実用的に使えるか考えるとどうなのかな、と。<br /> そういう部分はあくまでサブであって、あってもなくてもいい。BGMも、オンオフ出来るように作られているわけですし。<br /> 選択肢が増えるのはいいことだけど、最大の障壁は『<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPad">iPad</a>に何時間もかじりついて、集中して読書出来るか』という話。</p><p>一日中モニターを見つめて、外出時でも<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>を使いまくる自分でも「読みにくい・目が痛い・重い・机においたらやっぱり読みにくい」と思うのに、これが果たして普段から読書している人々に受け入れられるかどうか。</p><br /> <p>こういう書き方をすると、じゃあ<a class="keyword" href="http://d.hatena.ne.jp/keyword/Sony">Sony</a> Readerや<a class="keyword" href="http://d.hatena.ne.jp/keyword/Kindle">Kindle</a>はどうなんだ。ということになってくると思います。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%C5%BB%D2%A5%DA%A1%BC%A5%D1%A1%BC">電子ペーパー</a>は軽くて、バックライトがなく性質がほとんど紙と同じなので目も疲れない(体感済み)<br /> でも現状、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%C5%BB%D2%A5%DA%A1%BC%A5%D1%A1%BC">電子ペーパー</a>は画面のリフレッシュに0.5秒ほど掛かるため、動画の再生は当然不可能。<br /> 特定のシーンでBGMというのも、そういった<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DE%A5%D6%A5%EB">プログラマブル</a>な仕様は使えません。</p><br /> <br /> <p>つまりこれからのデジタルパブリッシングは「新しいメディアとして捉えられる、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%BF%A5%E9%A5%AF%A5%C6%A5%A3%A5%D6">インタラクティブ</a>な動きを持てる電子出版」と「単に文章がコンテンツである、小説やエッセイ等」で全くの別物になっていくのではないかと。<br /> そして制作サイドとしても、ツールが変わってくる。</p><br /> <p>長いので「デジタル雑誌」と「デジタル文庫」と適当に略します。</p><br /> <p><span style="font-size:large;color:#CC0000;">デジタル雑誌</span></p><br /> <p><span style="color:#0000CC;"> - デ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D0%A5%A4%A5%B9">バイス</a>(ハードウェア) -</span><br /> ・<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPad">iPad</a>&<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a><br /> ・<a class="keyword" href="http://d.hatena.ne.jp/keyword/Android">Android</a>(<a class="keyword" href="http://d.hatena.ne.jp/keyword/GALAXY%20Tab">GALAXY Tab</a>とか)<br /> ・つまり液晶画面</p><br /> <p><span style="color:#0000CC;"> - コンテンツ(ソフトウェア) -</span><br /> ・音や映像<br /> ・切り替えできる画像<br /> ・読者のインプットに応じた、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%BF%A5%E9%A5%AF%A5%C6%A5%A3%A5%D6">インタラクティブ</a>コンテンツ</p><br /> <p><span style="color:#0000CC;"> - 制作サイド -</span><br /> ・<a class="keyword" href="http://d.hatena.ne.jp/keyword/InDesign">InDesign</a> CS5<br /> ・<a class="keyword" href="http://d.hatena.ne.jp/keyword/Adobe">Adobe</a> Digital Publishing Suite<br /> ・自社開発App<br /> ・配信先デ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D0%A5%A4%A5%B9">バイス</a>によってメディアタイプは様々</p><br /> <br /> <p><span style="font-size:large;color:#CC0000;">デジタル文庫</span></p><br /> <p><span style="color:#0000CC;"> - デ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D0%A5%A4%A5%B9">バイス</a>(ハードウェア) -</span><br /> ・<a class="keyword" href="http://d.hatena.ne.jp/keyword/Kindle">Kindle</a><br /> ・<a class="keyword" href="http://d.hatena.ne.jp/keyword/Sony">Sony</a> Reader<br /> ・つまり<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%C5%BB%D2%A5%DA%A1%BC%A5%D1%A1%BC">電子ペーパー</a>(E Ink)</p><br /> <p><span style="color:#0000CC;"> - コンテンツ(ソフトウェア) -</span><br /> ・文章<br /> ・簡単な挿絵など</p><br /> <p><span style="color:#0000CC;"> - 制作サイド -</span><br /> ・(現在は<a class="keyword" href="http://d.hatena.ne.jp/keyword/InDesign">InDesign</a> CS5にて<a class="keyword" href="http://d.hatena.ne.jp/keyword/EPUB">EPUB</a>書き出しだけど、どちらかというと<a class="keyword" href="http://d.hatena.ne.jp/keyword/Dreamweaver">Dreamweaver</a>っぽい動きになる気がする)<br /> ・<a class="keyword" href="http://d.hatena.ne.jp/keyword/EPUB">EPUB</a>(そもそも<a class="keyword" href="http://d.hatena.ne.jp/keyword/EPUB">EPUB</a>はHTML+<a class="keyword" href="http://d.hatena.ne.jp/keyword/CSS">CSS</a>+その他をzipで固めたもの)<br /> ・PDF</p><br /> <p>こんな感じかなあ。<br /> 少なくとも『現時点で』『実際に使われるとしたら』という前提ですが。</p><br /> <p>あと、そもそも閲覧デ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D0%A5%A4%A5%B9">バイス</a>の普及率が低すぎるので一般的に実際に普及するかというとコンテンツ以前の問題でもありますね。<br /> ただ確実に新しいメディアが形成されていく実感があり、これはビジネスになる予感です。</p><br /> <br /> <p>デジタル雑誌は、各社色々手探りながらも前向きな姿勢が見えますね。<br /> <del datetime="2011-02-03T00:27:39+09:00"><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C6%CC%C8%C7%B0%F5%BA%FE">凸版印刷</a>さんの<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E4%A5%F3%A5%B0%A5%B8%A5%E3%A5%F3%A5%D7">ヤングジャンプ</a>・グラビア紹介がヤバかった</del></p><p>デジタル文庫のほうは、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B3%D1%C0%EE%BD%F1%C5%B9">角川書店</a>さんなんかも、有名書籍(<a class="keyword" href="http://d.hatena.ne.jp/keyword/%CE%C3%B5%DC%A5%CF%A5%EB%A5%D2%A4%CE%CD%AB%DD%B5">涼宮ハルヒの憂鬱</a>とか)を<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>で見られるように販売してたりしますが(BookWalker)、先述のとおり<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>・<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPad">iPad</a>では辛いので是非<a class="keyword" href="http://d.hatena.ne.jp/keyword/Kindle">Kindle</a>等で配信して頂ければ… と思うところです。<br /> でも現状<a class="keyword" href="http://d.hatena.ne.jp/keyword/EPUB">EPUB</a> 2.0.1は横書きのみなので、<a class="keyword" href="http://d.hatena.ne.jp/keyword/EPUB">EPUB</a> 3.0で縦書きが対応して、デ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D0%A5%A4%A5%B9">バイス</a>も追従して対応したときに動きがある可能性があります。</p><br /> <p>しかし<a class="keyword" href="http://d.hatena.ne.jp/keyword/EPUB">EPUB</a> 3.0が標準的に使われるようになり、さらに最新コンテンツだけではなく過去コンテンツも配信されるというのは、まだまだ先のことになると思います。<br /> しかも過去に買ったコンテンツを再度買い直すというのもアレです。</p><br /> <p>俺は今すぐ<a class="keyword" href="http://d.hatena.ne.jp/keyword/Kindle">Kindle</a>で文庫が読みてぇんだよ! という人は、そうです。自炊しかないです。</p><br /> <p>ということで、明日は「ドキュ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E1%A5%F3%A5%C8%A5%B9">メントス</a>キャナーとKindle3で快適デジタル文庫生活(仮)」のノウハウをお送りします。たぶん。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110125140134" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110125/20110125140134.jpg" alt="f:id:Molokheiya:20110125140134j:image:h300" title="f:id:Molokheiya:20110125140134j:image:h300" class="hatena-fotolife" style="height:300px" itemprop="image"></a></span></p><br /> <br /> <br /> <p>え、<a class="keyword" href="http://d.hatena.ne.jp/keyword/GALAPAGOS">GALAPAGOS</a>? そういえばそういうのもあったなぁ(遠い目</p> Wed, 02 Feb 2011 00:00:00 +0900 hatenablog://entry/17680117127146817945 雑記 再生中のボカロ曲の歌詞を取得してiTunesで埋め込むMac用アプリ「Vocalo Lyric」 https://molokheiya.hatenadiary.org/entry/20110126/p1 <blockquote> <p><span class="deco" style="color:#990000;">2011年11月22日 追記</span><br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/Windows">Windows</a>版を作られた方がいらっしゃるようですので、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Windows">Windows</a>ユーザーの方はこちらがいいんじゃないかなぁと思います。</p><br /> <p><a href="http://starsme.blog.fc2.com/blog-entry-104.html">iMyrics - &#x7F6E;&#x304D;&#x53BB;&#x308A;&#x306E;&#x661F;&#x6761;&#x65D7;&#x3002;&#x30FC;&#x3042;&#x308B;&#x9AD8;&#x6821;&#x751F;&#x306E;&#x8A18;&#x9332;&#x30FC;</a></p> </blockquote> <p><br /> <a href="http://cl.ly/4CLM" target="_blank"><img src="http://cdn.f.st-hatena.com/images/fotolife/M/Molokheiya/20110126/20110126163557.png"></a></p><br /> <p><a href="http://cl.ly/4CLM" target="_blank"><span style="font-size:large;">Download</span></a></p><br /> <p><hr></p><br /> <p>以前からデスクトップに<a class="keyword" href="http://d.hatena.ne.jp/keyword/iTunes">iTunes</a>で再生中の曲の歌詞を表示するDesktop Lyricsというソフトを使っていて、これがいい感じなんです。</p><p><a href="http://www.corecode.at/desktoplyrics/index.html">Mac DesktopLyrics - display current song lyrics on your desktop</a></p><br /> <p>そんでもって、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Dashboard">Dashboard</a>の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A6%A5%A3%A5%B8%A5%A7%A5%C3%A5%C8">ウィジェット</a>にTunesTEXTというのがありまして、自動で曲の歌詞を取っては埋め込んでくれていい感じなんです。</p><p><a href="http://www.cyanworks.net/dboardTunesTEXT.html">Cyan&#39;s Image Chamber : Macintosh : TunesTEXT (discontinued)</a></p><br /> <p>でもボカロ曲はやっぱりというか当たり前なんですが取得してくれないので作りました。</p><p><hr></p><br /> <p><span style="font-size:large;color:#CC0000;">【使い方】</span></p><br /> <p>1.<a class="keyword" href="http://d.hatena.ne.jp/keyword/iTunes">iTunes</a>で<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DC%A1%BC%A5%AB%A5%ED%A5%A4%A5%C9">ボーカロイド</a>オリジナル曲を再生します</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110126163558" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110126/20110126163558.png" alt="f:id:Molokheiya:20110126163558p:image" title="f:id:Molokheiya:20110126163558p:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p>2.Vocalo Lyricを起動します</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110126163559" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110126/20110126163559.png" alt="f:id:Molokheiya:20110126163559p:image" title="f:id:Molokheiya:20110126163559p:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p>3.自動で歌詞が取得されて表示されるので、正しいか確認します(編集も可能)</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20110126163600" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20110126/20110126163600.png" alt="f:id:Molokheiya:20110126163600p:image" title="f:id:Molokheiya:20110126163600p:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p>4.OKをクリックすると歌詞が埋めこまれます</p><br /> <p><hr></p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%BD%E9%B2%BB%A5%DF%A5%AF">初音ミク</a> <a class="keyword" href="http://d.hatena.ne.jp/keyword/Wiki">Wiki</a>から取得しているので、ここにない歌詞は取得できません。</p><br /> <p><a href="http://www5.atwiki.jp/hmiku/">&#x521D;&#x97F3;&#x30DF;&#x30AF; Wiki - &#x30A2;&#x30C3;&#x30C8;&#x30A6;&#x30A3;&#x30AD;</a></p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Wiki">Wiki</a>の編集をしてくださっている皆様ありがとうございます。</p><br /> <br /> <br /> <p>なお、コンピレーションアルバム「大人の都合!」収録曲。えろあきPのBIN☆BIN☆BINをお借りしました。<br /> ここに謹んで感謝と御礼を申し上げます(キリッ</p><br /> <p><iframe width="312" height="176" src="http://ext.nicovideo.jp/thumb/sm13116555" scrolling="no" style="border:solid 1px #CCC;" frameborder="0"><a href="http://www.nicovideo.jp/watch/sm13116555">【ニコニコ動画】【鏡音レン】BIN☆BIN☆BIN【オリジナル曲】</a></iframe></p><br /> <p><a href="http://www.creazuma.com/otonanotsugou/">http://www.creazuma.com/otonanotsugou/</a></p><br /> <br /> <p>ライセンスはMIT License<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9">ソースコード</a>は<a class="keyword" href="http://d.hatena.ne.jp/keyword/AppleScript">AppleScript</a>で<a href="http://cl.ly/4Dj0">&#x3053;&#x3061;&#x3089;</a>です</p> Wed, 26 Jan 2011 00:00:00 +0900 hatenablog://entry/17680117127146818137 VOCALOID Mac 「ボカロが自動で喋るツール」途中経過 https://molokheiya.hatenadiary.org/entry/20101227/p1 <p><br /> 最近寒くなってきて、暖かいコーヒーが美味しいです。<br /> とかいいつつキャラメル<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A8%A5%AF%A5%EC%A1%BC%A5%EB">エクレール</a>ラテが美味しいです。</p><br /> <p>さて、先日の記事<br /> <a href="http://d.hatena.ne.jp/Molokheiya/20101215/p1">&#x300C;&#x521D;&#x97F3;&#x30DF;&#x30AF;&#x304C;&#x81EA;&#x52D5;&#x3067;&#x558B;&#x308B;&#x30C4;&#x30FC;&#x30EB;&#x300D;&#x3092;VY1&#x3067;&#x4F5C;&#x3063;&#x3066;&#x307F;&#x305F; - &#x7518;&#x5473;&#x5FD7;&#x5411;&#xFF20;&#x306F;&#x3066;&#x306A;</a><br /> なんですが、進展が幾つかあったので報告です。</p><br /> <p>まず<a class="keyword" href="http://d.hatena.ne.jp/keyword/YAMAHA">YAMAHA</a>さんとNetVOCALOID-Flexの無償利用期間延長の契約を行いました。これで6月頃までは大丈夫です。</p><br /> <p><del datetime="2010-12-27T18:14:52+09:00">ちなみにその時「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BD%E9%B2%BB%A5%DF%A5%AF">初音ミク</a>じゃなくてVY1なので…」と言われてタイトルを変え</del></p><br /> <p>そして、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BD%E9%B2%BB%A5%DF%A5%AF">初音ミク</a>みくさんにも取り上げられていた、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B9%AD%C5%E7%B9%F1%BA%DD%C2%E7%B3%D8">広島国際大学</a>心理科学部感性デザイン学科の石原茂和先生([<a class="keyword" href="http://d.hatena.ne.jp/keyword/twitter">twitter</a>:@shigekzishihara])に協力して頂けることになりました。<br /> <a href="http://vocaloid.blog120.fc2.com/blog-entry-7464.html">&#x521D;&#x97F3;&#x30DF;&#x30AF;&#x307F;&#x304F; &#x300C;&#x521D;&#x97F3;&#x30DF;&#x30AF;&#x304C;&#x81EA;&#x52D5;&#x3067;&#x558B;&#x308B;&#x30C4;&#x30FC;&#x30EB;&#x300D;&#x3067;&#x91E3;&#x3089;&#x308C;&#x305F;&#x4EBA;&#x304C;&#x5999;&#x306B;&#x5B09;&#x3057;&#x305D;&#x3046;&#x306A;&#x4EF6;</a></p><br /> <br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%BF%CD%B4%D6%CA%B8%B2%BD%B8%A6%B5%E6%B5%A1%B9%BD">人間文化研究機構</a> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%B9%F1%CE%A9%B9%F1%B8%EC%B8%A6%B5%E6%BD%EA">国立国語研究所</a>の「日本語<a class="keyword" href="http://d.hatena.ne.jp/keyword/%CF%C3%A4%B7%B8%C0%CD%D5">話し言葉</a><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B3%A1%BC%A5%D1%A5%B9">コーパス</a>」を紹介して頂き、提供までもして下さることになりました。本当にありがとうございます!</p><br /> <p><a href="http://www.ninjal.ac.jp/products-k/katsudo/seika/corpus/releaseinfo/">http://www.ninjal.ac.jp/products-k/katsudo/seika/corpus/releaseinfo/</a></p><br /> <br /> <p>データベースが届くのが正月明けになるらしいので、それから色々試してみて形にしていきたいと思います。<br /> ということで、公開はもうしばらくお待ち下さいませ!</p> Mon, 27 Dec 2010 00:00:00 +0900 hatenablog://entry/17680117127146819375 ボカロ 「ミクさんと街中をデートしてきた in 八王子」公開&冬コミにてVdN再販のお知らせ https://molokheiya.hatenadiary.org/entry/20101225/p1 <p>先日の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DC%A1%BC%A5%AB%A5%ED%A5%A4%A5%C9">ボーカロイド</a>マスター14にて頒布いたしました「<a class="keyword" href="http://d.hatena.ne.jp/keyword/Vocaloid">Vocaloid</a> Design Note」が、<br /> <span style="color:#000099;"><a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%DF%A5%B3%A5%DF">冬コミ</a>(<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B3%A5%DF%A5%C3%A5%AF%A5%DE%A1%BC%A5%B1%A5%C3%A5%C8">コミックマーケット</a>79)にて委託再販</span>させていただけることになりました!</p><br /> <p>詳細ページ</p><p><a href="http://kanmisikou.net/vomas14/" target="_blank"><img src="http://f.hatena.ne.jp/images/fotolife/M/Molokheiya/20101225/20101225213639.jpg"></a><br /> <a href="http://kanmisikou.net/vomas14/">kanmisikou.net&nbsp;-&nbsp;&#x3053;&#x306E;&#x30A6;&#x30A7;&#x30D6;&#x30B5;&#x30A4;&#x30C8;&#x306F;&#x8CA9;&#x58F2;&#x7528;&#x3067;&#x3059;&#xFF01;&nbsp;-&nbsp;&#x521D;&#x97F3;&#x30DF;&#x30AF; &#x30D5;&#x30A9;&#x30F3;&#x30C8; &#x5236;&#x4F5C; &#x5FD7;&#x5411; &#x7518;&#x5473; &#x30CB;&#x30B3;&#x30CB;&#x30B3; &#x611F;&#x6027; &#x72B6;&#x6CC1; &#x30EA;&#x30BD;&#x30FC;&#x30B9;&#x304A;&#x3088;&#x3073;&#x60C5;&#x5831;</a></p><br /> <p>委託先はK4U RECORDSさまで、場所は「<span style="font-weight:bold;color:#CC0000;">3日目 東 リ-22a</span>」です!</p><br /> <p><a href="http://www.k4u-records.info/">http://www.k4u-records.info/</a></p><br /> <p>そんなに数はありませんが、よろしければお立ち寄りください!</p><br /> <p><hr></p><br /> <p>また、ここに収録されている「ミクさんと街中をデートしてきた in 八王子」で使用したフォトジェニックならぬ、フォトジェミックを公開します!<br /> 本のほうには簡単なデートのストーリーなんかもくっついてたりします。こっちでは実際の八王子と撮影時の話をしてみたいと思います。</p><br /> <p><a href="http://dic.nicovideo.jp/id/2865549">&#x30D5;&#x30A9;&#x30C8;&#x30B8;&#x30A7;&#x30DF;&#x30C3;&#x30AF;&#x3068;&#x306F; (&#x30D5;&#x30A9;&#x30C8;&#x30B8;&#x30A7;&#x30DF;&#x30C3;&#x30AF;&#x3068;&#x306F;) [&#x5358;&#x8A9E;&#x8A18;&#x4E8B;] - &#x30CB;&#x30B3;&#x30CB;&#x30B3;&#x5927;&#x767E;&#x79D1;</a></p><br /> <br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101107161353" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101107/20101107161353.jpg" alt="f:id:Molokheiya:20101107161353j:image" title="f:id:Molokheiya:20101107161353j:image" class="hatena-fotolife" itemprop="image"></a></span><br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%C8%AC%B2%A6%BB%D2%B1%D8">八王子駅</a>北口を出て、歩道橋を越えて左。<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%E9%A5%F3">スクラン</a>ブル交差点を抜けると、西<a class="keyword" href="http://d.hatena.ne.jp/keyword/%CA%FC%BC%CD%C0%FE">放射線</a>ユーロードがあります。<br /> 店が立ち並び、買い物客でいつも賑わっています。</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101107161630" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101107/20101107161630.jpg" alt="f:id:Molokheiya:20101107161630j:image" title="f:id:Molokheiya:20101107161630j:image" class="hatena-fotolife" itemprop="image"></a></span><br /> もちろん散歩をしている人もいて、おじさんがワンちゃんを連れて散歩なんてこともあるわけです。<br /> 道のど真ん中にふてぶてしく居座るワンコくん。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101107164818" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101107/20101107164818.jpg" alt="f:id:Molokheiya:20101107164818j:image" title="f:id:Molokheiya:20101107164818j:image" class="hatena-fotolife" itemprop="image"></a></span><br /> ネギです。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%C8%AC%B2%A6%BB%D2%B1%D8">八王子駅</a>北口、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%EC%B5%DE%A5%B9%A5%AF%A5%A8%A5%A2">東急スクエア</a>の地下には食品スーパーがあります。<br /> 他にも輸入雑貨の店などがあって楽しいです。<br /> ネギを持ってボーッと突っ立つ自分と、その様子を一眼レフでバシャバシャ撮影する様子は完全に周りから浮いてました。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101107165928" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101107/20101107165928.jpg" alt="f:id:Molokheiya:20101107165928j:image" title="f:id:Molokheiya:20101107165928j:image" class="hatena-fotolife" itemprop="image"></a></span><br /> 同じく<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%EC%B5%DE%A5%B9%A5%AF%A5%A8%A5%A2">東急スクエア</a>内の、5FにはPLAZAがあります。<br /> まもなくクリスマスシーズンということで、様々なデコレーションが綺麗でした。<br /> っていうか、今日がクリスマスですね。どんだけ気が早いんでしょう…</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101107164423" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101107/20101107164423.jpg" alt="f:id:Molokheiya:20101107164423j:image" title="f:id:Molokheiya:20101107164423j:image" class="hatena-fotolife" itemprop="image"></a></span><br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%EC%B5%DE%A5%B9%A5%AF%A5%A8%A5%A2">東急スクエア</a>の入り口には<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%BF%A1%BC%A5%D0%A5%C3%A5%AF%A5%B9">スターバックス</a>があるのですが、その近くに大きなクリスマスツリーがありました。<br /> もう陽が落ちるのが早く、イルミネーションが輝いて美しかったです。<br /> 撮影している時から合成後のイメージを頭の中で決めながら撮っていたのですが、このカットは難しかったです。<br /> ツリーの前で空中と握手!</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101107173712" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101107/20101107173712.jpg" alt="f:id:Molokheiya:20101107173712j:image" title="f:id:Molokheiya:20101107173712j:image" class="hatena-fotolife" itemprop="image"></a></span><br /> スタバのテラス席。<br /> この時、スタバ専用の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%C5%BB%D2%A5%DE%A5%CD%A1%BC">電子マネー</a>があることを知ってを教えてもらってびっくりしました。<br /> 注文したのはクリスマスのキャラメル<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A8%A5%AF%A5%EC%A1%BC%A5%EB">エクレール</a>ラテです。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101107173721" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101107/20101107173721.jpg" alt="f:id:Molokheiya:20101107173721j:image" title="f:id:Molokheiya:20101107173721j:image" class="hatena-fotolife" itemprop="image"></a></span><br /> この合成は、あんまり原型を留めてない割に時間が掛からなかったような覚えがあります。<br /> 右の<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone%203G">iPhone 3G</a>が私のもので、周囲からは「<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C5%DA%BF%CD">土人</a>Phone」と言われていじめられています。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone%204">iPhone 4</a>は撮影してくれたちーずさんのもので、<a class="keyword" href="http://d.hatena.ne.jp/keyword/HDR">HDR</a>撮影の自慢をドヤ顔でされました。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101107180242" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101107/20101107180242.jpg" alt="f:id:Molokheiya:20101107180242j:image" title="f:id:Molokheiya:20101107180242j:image" class="hatena-fotolife" itemprop="image"></a></span><br /> さて、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C8%AC%B2%A6%BB%D2%B1%D8">八王子駅</a>に帰ってきました。<br /> こっちは<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C8%AC%B2%A6%BB%D2%B1%D8">八王子駅</a>南口で、この時<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D3%A5%C3%A5%AF%A5%AB%A5%E1%A5%E9">ビックカメラ</a>のオープン数日前でした。<br /> またサザンスカイタワー八王子もまもなくオープンという時で、本当はそっちも撮りたかったんですが…<br /> ちなみに今はオープンしています。スイーツパラダイスとか入ってるよ!</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101107183405" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101107/20101107183405.jpg" alt="f:id:Molokheiya:20101107183405j:image" title="f:id:Molokheiya:20101107183405j:image" class="hatena-fotolife" itemprop="image"></a></span><br /> ミクさん一体どこに帰って行くんでしょう。<br /> せめて<a class="keyword" href="http://d.hatena.ne.jp/keyword/%B2%A3%C9%CD%C0%FE">横浜線</a>なのか中央線なのかだけでも知りたいですね。<br /> ここで改札を撮りたいと言った時、ちょうど誰かがバイバーイと手を振ってて「ちょっと手振ってきてよ」と言われてやりました。<br /> 周りから見てる分には違和感なかったらしいですが、やってる身としては一番恥ずかしかったです。</p><br /> <br /> <br /> <p>写真の撮影自体はかなりたくさんやって(4GBくらいあったよ!)その中からティンときたものをピックアップして合成しました。<br /> 手順は<a class="keyword" href="http://d.hatena.ne.jp/keyword/MMD">MMD</a>でポーズを取ってそれを撮影し、あとはひたすら<a class="keyword" href="http://d.hatena.ne.jp/keyword/Photoshop">Photoshop</a>でいじりまくるだけです。大体1枚仕上げるのに約1時間くらいでした。</p><br /> <br /> <p>使用させていただいた<a class="keyword" href="http://d.hatena.ne.jp/keyword/MMD">MMD</a>モデルは、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BD%E9%B2%BB%A5%DF%A5%AF">初音ミク</a>XSです。<br /> <a href="http://dic.nicovideo.jp/id/4483555">&#x521D;&#x97F3;&#x30DF;&#x30AF;XS&#x3068;&#x306F; (&#x30CF;&#x30C4;&#x30CD;&#x30DF;&#x30AF;&#x30A8;&#x30C3;&#x30AF;&#x30B9;&#x30A8;&#x30B9;&#x3068;&#x306F;) [&#x5358;&#x8A9E;&#x8A18;&#x4E8B;] - &#x30CB;&#x30B3;&#x30CB;&#x30B3;&#x5927;&#x767E;&#x79D1;</a></p><br /> <p>撮影は[<a class="keyword" href="http://d.hatena.ne.jp/keyword/twitter">twitter</a>:@llcheesell]さんにお願いしました。<br /> <a href="http://vilvo.net/">Vilvo Designworks - llcheesell</a></p><br /> <br /> <p>それでは!</p> Sat, 25 Dec 2010 00:00:00 +0900 hatenablog://entry/17680117127146819574 ボカロ 「初音ミクが自動で喋るツール」をVY1で作ってみた https://molokheiya.hatenadiary.org/entry/20101215/p1 <p><br /> おとつい、<a class="keyword" href="http://d.hatena.ne.jp/keyword/Skype">Skype</a>で「これ見てみろ!」と送られてきた動画がありましたとさ。</p><br /> <p><script type="text/javascript" src="https://embed.nicovideo.jp/watch/sm13013900/script"></script></p><br /> <p>「うおおおなにこれっべー! っべーわこれ!」とか言って華麗に釣られました。<br /> <del datetime="2010-12-15T13:10:49+09:00">こんちくしょう</del>ネタの仕込みが上手いよね!</p><br /> <p>というわけで釣られたのがすげー悔しかったので、正攻法で対抗することにした。<br /> <br /> </p> <blockquote> <p><span style="color:#CC0000;">脳内会議</span><br /> </p> <ul> <li><a class="keyword" href="http://d.hatena.ne.jp/keyword/VOCALOID">VOCALOID</a>が喋るといえば<a class="keyword" href="http://d.hatena.ne.jp/keyword/VOCALOID-flex">VOCALOID-flex</a></li> <li><a class="keyword" href="http://d.hatena.ne.jp/keyword/Softalk">Softalk</a>と同じくらい誰でも汎用的に使えるなら<a class="keyword" href="http://d.hatena.ne.jp/keyword/VOCALOID2">VOCALOID2</a>持ってなくてもOKにしたい</li> <li>じゃあNetVOCALOID-flexか</li> <li>幸いにもMashupAward6の時に<a class="keyword" href="http://d.hatena.ne.jp/keyword/YAMAHA">YAMAHA</a>に申し込んでた<a class="keyword" href="http://d.hatena.ne.jp/keyword/API">API</a>がまだ使える</li> <li>MA6は急遽同人誌を作ることになったので作れなかった</li> <li>今こそ作るチャンスでは</li> <li>やるかーやるしかないかー</li> </ul> </blockquote> <p><br /> 仕様案まず考えたけど、あの釣り動画の解説って割と現実味を帯びてるんだよね。(だからこそ釣られた)<br /> というわけで、それに近しい形で試しに実装してみる。<br /> <br /> </p> <blockquote> <ol> <li>日本語を入力する</li> <li><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B7%C1%C2%D6%C1%C7%B2%F2%C0%CF">形態素解析</a>器にかける</li> <li>文章の文節・品詞・よみがなを取得</li> <li>ひらがなの文章からミク語に翻訳</li> <li>単語のアクセントを生成</li> <li><del datetime="2010-12-15T13:10:49+09:00">意味辞書からイントネーションを生成</del>(未定)</li> <li>それらの情報から発話のピッチを演算して生成</li> <li>Voice Synthesis <a class="keyword" href="http://d.hatena.ne.jp/keyword/XML">XML</a>を生成</li> <li><a class="keyword" href="http://d.hatena.ne.jp/keyword/YAMAHA">YAMAHA</a>のNetVOCALOID-flexサーバに投げる</li> <li>しゃべる!</li> </ol> </blockquote> <p><br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%B7%C1%C2%D6%C1%C7%B2%F2%C0%CF">形態素解析</a>器は<a class="keyword" href="http://d.hatena.ne.jp/keyword/MeCab">MeCab</a>使うかなーと思ったけど、面倒だったので<a class="keyword" href="http://d.hatena.ne.jp/keyword/Yahoo%21">Yahoo!</a> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C7%A5%D9%A5%ED%A5%C3%A5%D1">デベロッパ</a>ーネットワークのテキスト解析<a class="keyword" href="http://d.hatena.ne.jp/keyword/API">API</a>を使った。<br /> ミク語変換だけど、これは普通の<a class="keyword" href="http://d.hatena.ne.jp/keyword/VOCALOID2">VOCALOID2</a>の場合と違っているため独自に実装した。</p><br /> <p>例えば動画中で出てくる「家に帰ると妻が必ず死んだふりをしています」は</p> <pre class="code lang-ruby" data-lang="ruby" data-unlink> array(<span class="synConstant">3</span>) { [<span class="synSpecial">&quot;</span><span class="synConstant">str</span><span class="synSpecial">&quot;</span>]=&gt; string(<span class="synConstant">60</span>) <span class="synSpecial">&quot;</span><span class="synConstant">家に帰ると妻が必ず死んだふりをしています</span><span class="synSpecial">&quot;</span> [<span class="synSpecial">&quot;</span><span class="synConstant">kana</span><span class="synSpecial">&quot;</span>]=&gt; string(<span class="synConstant">75</span>) <span class="synSpecial">&quot;</span><span class="synConstant">いえにかえるとつまがかならずしんだふりをしています</span><span class="synSpecial">&quot;</span> [<span class="synSpecial">&quot;</span><span class="synConstant">speak</span><span class="synSpecial">&quot;</span>]=&gt; string(<span class="synConstant">49</span>) <span class="synSpecial">&quot;</span><span class="synConstant">ieJikae4MtotsMmagakana4adzMSiN\dap\M4'ioSiteimasM</span><span class="synSpecial">&quot;</span> } </pre><p>こうなる。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%B7%C1%C2%D6%C1%C7%B2%F2%C0%CF">形態素解析</a>で単語を得られたら、その情報からアクセントを取得した。<br /> 日本語のアクセントは、ネット辞書からアクセント表示を<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B9%A5%AF%A5%EC%A5%A4%A5%D4%A5%F3%A5%B0">スクレイピング</a>した。<br /> <br /> </p> <blockquote> <p><br /> 【11.この辞書のアクセント表示】</p><p>・日本語のアクセントは、単語を発音するさいに、その単語の中に含まれる個々の「拍」を高く発音するか低く発音するかによって決まる。拍とは日本語の音の長さの単位をいい、「キャ・シュ・チョ」などの拗音はカナ2字で1拍である。<br /> ・共通語では、1拍目と2拍目との間に必ず音の高低の変化がある。<br /> ・1拍目が高で2拍目以降が低である語は「頭高型」と言い、この辞典では [1] で示した。<br /> ・1拍目が低で、あとに続く助詞を含め高から低に移る箇所のない語は「平板式」と言い [0] で示した。<br /> ・1拍目が低で、2拍目以降が高になり、語中、語末に高から低に移る箇所のある語は「中高型」または「尾高型」と言い、低に移る直前の音の位置が2拍目であれば [2]、3拍目であれば [3]… のように示した。その位置が語中にあるものを「中高型」、語末にあるものを「尾高型」と言う。<br /> ・以上のうち、平板式を除く「頭高型」「中高型」「尾高型」を総称して「起伏式」と言う。</p><br /> <p><a href="http://www.excite.co.jp/dictionary/japanese/?menu=true">&#x30A8;&#x30AD;&#x30B5;&#x30A4;&#x30C8; &#x7FFB;&#x8A33;</a></p> </blockquote> <p><br /> イントネーションの辞書は現在未定。<br /> ただこれがあるとないとでは精度に大きな違いが現れるのは間違いないと思う。</p><br /> <p>ここからピッチ(声の高低)を生成する。<br /> 演算式には、かの有名なRobert Penner氏のイージングを使った。</p><br /> <p><a href="http://www.robertpenner.com/easing/">Robert Penner&#39;s Easing Functions</a></p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/Tweener">Tweener</a>等のEasingと同じもの。</p> <pre class="code lang-php" data-lang="php" data-unlink><span class="synSpecial">&lt;?php</span> <span class="synComment">/**</span> <span class="synComment"> * Easing equation function for a quadratic (t^2) easing in: accelerating from zero velocity.</span> <span class="synComment"> *</span> <span class="synComment"> * </span><span class="synPreProc">@param </span><span class="synComment">t Current time (in frames or seconds).</span> <span class="synComment"> * </span><span class="synPreProc">@param </span><span class="synComment">b Starting value.</span> <span class="synComment"> * </span><span class="synPreProc">@param </span><span class="synComment">c Change needed in value.</span> <span class="synComment"> * </span><span class="synPreProc">@param </span><span class="synComment">d Expected easing duration (in frames or seconds).</span> <span class="synComment"> * </span><span class="synPreProc">@return </span><span class="synComment">The correct value.</span> <span class="synComment"> */</span> <span class="synPreProc">function</span> easeNone <span class="synSpecial">(</span><span class="synStatement">$</span><span class="synIdentifier">t</span>,<span class="synStatement">$</span><span class="synIdentifier">b</span>,<span class="synStatement">$</span><span class="synIdentifier">c</span>,<span class="synStatement">$</span><span class="synIdentifier">d</span><span class="synSpecial">)</span> <span class="synSpecial">{</span> <span class="synStatement">return</span> <span class="synStatement">$</span><span class="synIdentifier">c</span><span class="synStatement">*$</span><span class="synIdentifier">t</span><span class="synStatement">/$</span><span class="synIdentifier">d</span> <span class="synStatement">+</span> <span class="synStatement">$</span><span class="synIdentifier">b</span>; <span class="synSpecial">}</span> <span class="synPreProc">function</span> easeInQuad <span class="synSpecial">(</span><span class="synStatement">$</span><span class="synIdentifier">t</span>,<span class="synStatement">$</span><span class="synIdentifier">b</span>,<span class="synStatement">$</span><span class="synIdentifier">c</span>,<span class="synStatement">$</span><span class="synIdentifier">d</span><span class="synSpecial">)</span> <span class="synSpecial">{</span> <span class="synStatement">return</span> <span class="synStatement">$</span><span class="synIdentifier">c</span><span class="synStatement">*</span><span class="synSpecial">(</span><span class="synStatement">$</span><span class="synIdentifier">t</span><span class="synStatement">/=$</span><span class="synIdentifier">d</span><span class="synSpecial">)</span><span class="synStatement">*$</span><span class="synIdentifier">t</span><span class="synStatement">*$</span><span class="synIdentifier">t</span><span class="synStatement">*$</span><span class="synIdentifier">t</span> <span class="synStatement">+</span> <span class="synStatement">$</span><span class="synIdentifier">b</span>; <span class="synSpecial">}</span> <span class="synPreProc">function</span> easeOutQuad <span class="synSpecial">(</span><span class="synStatement">$</span><span class="synIdentifier">t</span>,<span class="synStatement">$</span><span class="synIdentifier">b</span>,<span class="synStatement">$</span><span class="synIdentifier">c</span>,<span class="synStatement">$</span><span class="synIdentifier">d</span><span class="synSpecial">)</span> <span class="synSpecial">{</span> <span class="synStatement">return</span> <span class="synStatement">-$</span><span class="synIdentifier">c</span> <span class="synStatement">*</span><span class="synSpecial">(</span><span class="synStatement">$</span><span class="synIdentifier">t</span><span class="synStatement">/=$</span><span class="synIdentifier">d</span><span class="synSpecial">)</span><span class="synStatement">*</span><span class="synSpecial">(</span><span class="synStatement">$</span><span class="synIdentifier">t</span><span class="synConstant">-2</span><span class="synSpecial">)</span> <span class="synStatement">+</span> <span class="synStatement">$</span><span class="synIdentifier">b</span>; <span class="synSpecial">}</span> <span class="synComment">// 続きを読むには(ry</span> <span class="synSpecial">?&gt;</span> </pre><p><br /> ここから<a class="keyword" href="http://d.hatena.ne.jp/keyword/YAMAHA">YAMAHA</a>が定義した、VSXML (Voice Synthesis <a class="keyword" href="http://d.hatena.ne.jp/keyword/XML">XML</a>)ファイルを生成する。<br /> これには「せりふ(発音記号)・発音位置・長さ・韻律ハ&#12442;ラメーター(音量、音高)」が含まれる。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101215130520" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101215/20101215130520.png" alt="f:id:Molokheiya:20101215130520p:image" title="f:id:Molokheiya:20101215130520p:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p>というわけで「こんにちは <a class="keyword" href="http://d.hatena.ne.jp/keyword/%BD%E9%B2%BB%A5%DF%A5%AF">初音ミク</a>です」と喋る<a class="keyword" href="http://d.hatena.ne.jp/keyword/XML">XML</a>を生成してみた。<br /> ちなみにこの一文だけで300行近い<a class="keyword" href="http://d.hatena.ne.jp/keyword/XML">XML</a>が必要。現在はピッチ情報のみなので、さらに改良していったら3倍にはなりそう。</p><br /> <p>基本発話データ</p> <pre class="code lang-ruby" data-lang="ruby" data-unlink> [<span class="synConstant">0</span>]=&gt; array(<span class="synConstant">3</span>) { [<span class="synSpecial">&quot;</span><span class="synConstant">str</span><span class="synSpecial">&quot;</span>]=&gt; string(<span class="synConstant">34</span>) <span class="synSpecial">&quot;</span><span class="synConstant">こんにちわ 初音ミクです</span><span class="synSpecial">&quot;</span> [<span class="synSpecial">&quot;</span><span class="synConstant">kana</span><span class="synSpecial">&quot;</span>]=&gt; string(<span class="synConstant">37</span>) <span class="synSpecial">&quot;</span><span class="synConstant">こんにちわ はつねみくです</span><span class="synSpecial">&quot;</span> [<span class="synSpecial">&quot;</span><span class="synConstant">speak</span><span class="synSpecial">&quot;</span>]=&gt; string(<span class="synConstant">27</span>) <span class="synSpecial">&quot;</span><span class="synConstant">koN\JitSiwahatsMnem'ikMdesM</span><span class="synSpecial">&quot;</span> } </pre><p></p><p>例の動画にならって、棒読みモードと並べてみる。<br /> <br /> </p> <blockquote> <p><br /> <span style="font-size:large;color:#CC0000;">棒読みモード</span></p><br /> <p><span style="vertical-align:middle;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="220" height="25" id="mp3_3" align="middle" style="vertical-align:bottom"><param name="flashVars" value="mp3Url=http://kanmisikou.net/files/vocaloid_flex_test_1.mp3"><param name="allowScriptAccess" value="sameDomain"><param name="movie" value="http://g.hatena.ne.jp/tools/mp3_3.swf"><param name="quality" value="high"><param name="bgcolor" value="#ffffff"><param name="wmode" value="transparent"><embed src="http://g.hatena.ne.jp/tools/mp3_3.swf" flashvars="mp3Url=http://kanmisikou.net/files/vocaloid_flex_test_1.mp3" quality="high" wmode="transparent" bgcolor="#ffffff" width="220" height="25" name="mp3_3" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" style="vertical-align:bottom"></object><a href="http://kanmisikou.net/files/vocaloid_flex_test_1.mp3"><img src="http://g.hatena.ne.jp/images/podcasting.gif" title="Download" alt="Download" border="0" style="border:0px;vertical-align:bottom;"></a></span><br /> </p> </blockquote> <blockquote> <p><br /> <span style="font-size:large;color:#CC0000;">感情モード</span></p><br /> <p><span style="vertical-align:middle;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="220" height="25" id="mp3_3" align="middle" style="vertical-align:bottom"><param name="flashVars" value="mp3Url=http://kanmisikou.net/files/vocaloid_flex_test_2.mp3"><param name="allowScriptAccess" value="sameDomain"><param name="movie" value="http://g.hatena.ne.jp/tools/mp3_3.swf"><param name="quality" value="high"><param name="bgcolor" value="#ffffff"><param name="wmode" value="transparent"><embed src="http://g.hatena.ne.jp/tools/mp3_3.swf" flashvars="mp3Url=http://kanmisikou.net/files/vocaloid_flex_test_2.mp3" quality="high" wmode="transparent" bgcolor="#ffffff" width="220" height="25" name="mp3_3" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" style="vertical-align:bottom"></object><a href="http://kanmisikou.net/files/vocaloid_flex_test_2.mp3"><img src="http://g.hatena.ne.jp/images/podcasting.gif" title="Download" alt="Download" border="0" style="border:0px;vertical-align:bottom;"></a></span><br /> </p> </blockquote> <p></p><p>とりあえずアクセントが自動でついたよ! やったねたえちゃん!!</p><br /> <br /> <p>だが現状、完成度はまだまだと言わざるを得ないので、時間が空いたらまたボチボチ改良していこうかなとかなんとか。<br /> あと公開は別に構わないんですが、<a class="keyword" href="http://d.hatena.ne.jp/keyword/YAMAHA">YAMAHA</a>のY2 Projectから承認もらわないといけないので、声が多ければ聞いてみます。</p><br /> <p>そして重要なことが一つ。</p><br /> <br /> <p><span style="font-size:large;">現在NetVOCALOID-flexではVY1しか使えないので</span></p><br /> <p><span style="font-size:large;">実はミクさんじゃないんだなコレHAHAHAHA!!</span></p><br /> <br /> <p>みんなが<a class="keyword" href="http://d.hatena.ne.jp/keyword/YAMAHA">YAMAHA</a>とクリプトンに要望すれば、データベース使わせてくれるかもね!!!11</p><br /> <br /> <p>んではでは!w</p><br /> <br /> <p>(C)<a class="keyword" href="http://d.hatena.ne.jp/keyword/Yamaha">Yamaha</a> Corporation / Molokheiya</p> Wed, 15 Dec 2010 00:00:00 +0900 hatenablog://entry/17680117127146819849 VOCALOID iPhoneアプリをMobile Safariで作る https://molokheiya.hatenadiary.org/entry/20101212/p1 <p></p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101212171549" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101212/20101212171549.png" alt="f:id:Molokheiya:20101212171549p:image" title="f:id:Molokheiya:20101212171549p:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <br /> <p>こんにちは! <a href="http://atnd.org/events/10497">JavaScript Advent Calendar</a>、12日目の<a href="http://blog.hatena.ne.jp/Molokheiya/">id:Molokheiya</a>です!<br /> ちょっとターゲットが絞られてしまうのですが、私は<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>に搭載されている<a class="keyword" href="http://d.hatena.ne.jp/keyword/Safari">Safari</a>の<a class="keyword" href="http://d.hatena.ne.jp/keyword/Webkit">Webkit</a>を使って<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a>で<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone%A5%A2%A5%D7%A5%EA">iPhoneアプリ</a>を開発するHow-Toを書いてみたいと思います。<br /> <br /> <br /> </p> <blockquote> <p>ちなみにAdvent Calenderとは<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D7%A5%ED%A5%B0%A5%E9%A5%DE">プログラマ</a>有志が12/1から12/25までの間、毎日ブログ記事を書いていくという企画で師走の風物詩みたいなものです!<br /> 今年の各言語のカレンダー一覧はこちらにまとめられているので要チェック!<br /> <a href="http://gihyo.jp/news/info/2010/12/0102">&#x672C;&#x65E5;12&#x6708;1&#x65E5;&#x3088;&#x308A;&#xFF0C;&#x30D7;&#x30ED;&#x30B0;&#x30E9;&#x30DE;&#x6709;&#x5FD7;&#x306B;&#x3088;&#x308B;&#x6280;&#x8853;&#x7CFB;Advent Calendar&#x304C;&#x5404;&#x6240;&#x3067;&#x306F;&#x3058;&#x307E;&#x308B;&#xFF1A;&#x30A4;&#x30F3;&#x30D5;&#x30A9;&#x30E1;&#x30FC;&#x30B7;&#x30E7;&#x30F3;&#xFF5C;gihyo.jp &hellip; &#x6280;&#x8853;&#x8A55;&#x8AD6;&#x793E;</a></p> </blockquote> <p></p><p>さて、まず<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>アプリの開発は何よりも敷居が高いのが特徴です。技術的な意味ではなく。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a> <a class="keyword" href="http://d.hatena.ne.jp/keyword/SDK">SDK</a>は<a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac%20OS">Mac OS</a>でしか動かないため<a class="keyword" href="http://d.hatena.ne.jp/keyword/Mac">Mac</a>を購入しないといけません。<br /> 以前は<a class="keyword" href="http://d.hatena.ne.jp/keyword/Apple">Apple</a>の最凶規約により開発ツールどころか開発言語まで縛られていました。</p><br /> <p>これは、今年の9月に規約が緩和され<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A1%BC%A5%C9%A5%D1%A1%BC%A5%C6%A5%A3">サードパーティ</a>製の開発ツールでも開発が可能になっています。<br /> 例えば<a class="keyword" href="http://d.hatena.ne.jp/keyword/Adobe">Adobe</a> <a class="keyword" href="http://d.hatena.ne.jp/keyword/Flash">Flash</a> Professional CS5のPackager for <a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>やMonoTouchなどですね。</p><br /> <p>ただ、ここまで頑張ってアプリを開発しても、<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a> Developer Programに年間99ドルも払って登録しないと無料配布すら出来ません。なんてこったい!</p><br /> <p>本気で俺は<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone%A5%A2%A5%D7%A5%EA">iPhoneアプリ</a>を作りたいんだよ! って感じじゃないとき。<br /> パッとコード書いて実機で動いて適当に動いてくれるアプリが書きたい、そんなときは<a class="keyword" href="http://d.hatena.ne.jp/keyword/Safari">Safari</a>の<a class="keyword" href="http://d.hatena.ne.jp/keyword/Webkit">Webkit</a>を使いましょう!<br /> <br /> </p> <ul> <li>-</li> </ul> <div class="section"> <h4>とりあえず面倒な機能を切る</h4> <p><br /> headに以下のView Portメタタグを挿入することで抑制します。</p> <pre class="code lang-html" data-lang="html" data-unlink><span class="synIdentifier">&lt;</span><span class="synStatement">meta</span><span class="synIdentifier"> </span><span class="synType">content</span><span class="synIdentifier">=</span><span class="synConstant">&quot;minimum-scale=1.0, width=device-width, maximum-scale=0.6667, user-scalable=no&quot;</span><span class="synIdentifier"> </span><span class="synType">name</span><span class="synIdentifier">=</span><span class="synConstant">&quot;viewport&quot;</span> <span class="synIdentifier">&lt;</span><span class="synStatement">meta</span><span class="synIdentifier"> </span><span class="synType">name</span><span class="synIdentifier">=</span><span class="synConstant">&quot;format-detection&quot;</span><span class="synIdentifier"> </span><span class="synType">content</span><span class="synIdentifier">=</span><span class="synConstant">&quot;telephone=no&quot;</span><span class="synIdentifier">&gt;</span> </pre><p></p><p>Viewportは仮想的なウィンドウサイズの指定で、最初にページを開いたときの拡大縮小率を指定できます。<br /> この"width=480, maximum-scale=0.6667"という指定は"Holy Grail"と呼ばれており、<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>画面を回転させても文字サイズが変わらない指定方法です。<br /> もちろん自分の作成するアプリケーションによって変更してかまいません。</p><p>ユーザーに拡大縮小を許可するかどうかは"user-scalable"で指定します。<br /> "format-detection"は、数字が勝手に電話番号として認識されてしまってリンクを貼られたりする機能を抑制します。<br /> <br /> <br /> </p> </div> <div class="section"> <h4><a class="keyword" href="http://d.hatena.ne.jp/keyword/Safari">Safari</a>っぽさを消す</h4> <p><br /> Webアプリってあれでしょ、上下にアドレスバーとか<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C4%A1%BC%A5%EB%A5%D0%A1%BC">ツールバー</a>出てるんでしょ。ダサーイ(笑)というのを避けるために<a class="keyword" href="http://d.hatena.ne.jp/keyword/Safari">Safari</a>っぽさを消します。<br /> といってもコレには条件があって、一度<a class="keyword" href="http://d.hatena.ne.jp/keyword/Safari">Safari</a>でページを開いたあとに<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C4%A1%BC%A5%EB%A5%D0%A1%BC">ツールバー</a>から<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>のホーム画面にアイコンを登録して、そこから開いたときのみです。<br /> 最初にページを開いたとき、ユーザーに登録を促すように誘導しないといけません。(もちろん見栄えだけの問題なので登録しなくても問題はないのですが)<br /> <br /> </p> <pre class="code lang-html" data-lang="html" data-unlink><span class="synIdentifier">&lt;</span><span class="synStatement">meta</span><span class="synIdentifier"> </span><span class="synType">name</span><span class="synIdentifier">=</span><span class="synConstant">&quot;apple-mobile-web-app-capable&quot;</span><span class="synIdentifier"> </span><span class="synType">content</span><span class="synIdentifier">=</span><span class="synConstant">&quot;yes&quot;</span><span class="synIdentifier">&gt;</span> <span class="synIdentifier">&lt;</span><span class="synStatement">meta</span><span class="synIdentifier"> </span><span class="synType">name</span><span class="synIdentifier">=</span><span class="synConstant">&quot;apple-mobile-web-app-status-bar-style&quot;</span><span class="synIdentifier"> </span><span class="synType">content</span><span class="synIdentifier">=</span><span class="synConstant">&quot;black&quot;</span><span class="synIdentifier">&gt;</span> <span class="synIdentifier">&lt;</span><span class="synStatement">link</span><span class="synIdentifier"> </span><span class="synType">rel</span><span class="synIdentifier">=</span><span class="synConstant">&quot;apple-touch-icon&quot;</span><span class="synIdentifier"> </span><span class="synType">href</span><span class="synIdentifier">=</span><span class="synConstant">&quot;images/icon.png&quot;</span><span class="synIdentifier">&gt;</span> <span class="synIdentifier">&lt;</span><span class="synStatement">link</span><span class="synIdentifier"> </span><span class="synType">rel</span><span class="synIdentifier">=</span><span class="synConstant">&quot;apple-touch-startup-image&quot;</span><span class="synIdentifier"> </span><span class="synType">href</span><span class="synIdentifier">=</span><span class="synConstant">&quot;images/nowloading.jpg&quot;</span><span class="synIdentifier">&gt;</span> </pre><p><br /> "<a class="keyword" href="http://d.hatena.ne.jp/keyword/apple">apple</a>-mobile-web-app-capable"をyesにすると、ページを全画面で表示します。<br /> これでアドレスバーなどが表示されなくなります。</p><br /> <p>"<a class="keyword" href="http://d.hatena.ne.jp/keyword/apple">apple</a>-mobile-web-app-status-bar-style"は、ステータスバーの色を指定できます。<br /> "default"(デフォルト) "black"(黒) "black-translucent"(黒半透明)です。</p><br /> <p>"<a class="keyword" href="http://d.hatena.ne.jp/keyword/apple">apple</a>-touch-icon"で、ホーム画面に表示するアプリのアイコンを指定します。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone%A5%A2%A5%D7%A5%EA">iPhoneアプリ</a>のアイコンはガラスがきらっと反射した感じになってますが、ここで指定した画像に自動的にオーバーレイで効果が掛かるので気にしなくて大丈夫。</p><br /> <p>"<a class="keyword" href="http://d.hatena.ne.jp/keyword/apple">apple</a>-touch-startup-image"を使えば、アプリをロードしている時間のスタートアップ画像を指定できます。</p><br /> <br /> <p>これをやると、見た目はほとんどネイティブアプリと変わらないところまで行きます。<br /> <br /> <br /> </p> </div> <div class="section"> <h4>やっと<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a>です</h4> <p><br /> さて、ここからは中身です。<br /> せっかくの<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>アプリなのでインターフェースもそれっぽくしたいですし、<br /> 何より自分でつくっていくのは面倒なのでライブラリを使わせていただきましょう。</p><br /> <p>いまぼちぼち使われているライブラリは<br /> <br /> </p> <ul> <li>iUi - <a href="http://code.google.com/p/iui/">Google Code Archive - Long-term storage for Google Code Project Hosting.</a></li> </ul> <ul> <li>iWebKit - <a href="http://iwebkit.net/">http://iwebkit.net/</a></li> </ul> <ul> <li>jQTouch - <a href="http://jqtouch.com/">jQT (formerly jQTouch) &mdash; Zepto/jQuery plugin for mobile web development</a></li> </ul> <ul> <li><a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a> Mobile - <a href="http://jquerymobile.com/">jQuery Mobile</a></li> </ul><p><br /> あたりでしょうか。<br /> iUiやiWebKit等は<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a> <a class="keyword" href="http://d.hatena.ne.jp/keyword/SDK">SDK</a>のUIに似せたデザインで、jQTouchや<a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a> Mobile等は独自にUIをデザインしている感じです。<br /> この辺りは好みで。ただ、個人的には初心者はUIが統一されてるほうが分かりやすいんじゃないかなと思います。</p><p>私が以前アプリを作成したときはiUiを利用しました。<br /> <br /> <br /> </p> </div> <div class="section"> <h4><a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a> <a class="keyword" href="http://d.hatena.ne.jp/keyword/Webkit">Webkit</a>での開発</h4> <p><br /> まず「設定 → <a class="keyword" href="http://d.hatena.ne.jp/keyword/Safari">Safari</a> → <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C7%A5%D9%A5%ED%A5%C3%A5%D1">デベロッパ</a> → <a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C7%A5%D0%A5%C3%A5%B0">デバッグ</a>コンソール」で開発ツールをオンにしときましょう。<br /> これでエラーの詳細が実機上で見られるようになります。</p><br /> <p>また<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>の<a class="keyword" href="http://d.hatena.ne.jp/keyword/Webkit">Webkit</a>では<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a>に独自イベントがたくさんあります。<br /> せっかくタッチ出来る画面なんだから、addEventListenerでリッスンしておくとタッチ情報がバンバン飛び込んでくる感じになりますのでやりましょう。<br /> <br /> </p> <pre class="code lang-javascript" data-lang="javascript" data-unlink><span class="synStatement">document</span>.body.addEventListener(<span class="synConstant">&quot;touchstart&quot;</span>,touchHandler,<span class="synConstant">false</span>); <span class="synIdentifier">function</span> touchHandler(<span class="synStatement">event</span>) <span class="synIdentifier">{</span> num=<span class="synStatement">event</span>.touches<span class="synIdentifier">[</span>0<span class="synIdentifier">]</span>; x=touch.pageX; <span class="synIdentifier">}</span> </pre><p><br /> 独自のイベントや属性等はあちこちに書いてあるので割愛しますが、タッチしている指の本数や座標・端末が回転したときなど、さまざまな情報が取得可能です。</p><p><a href="https://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariHTMLRef/index.html">Safari HTML Reference: Introduction</a></p><br /> <p>ダイアログが表示されますが、<a class="keyword" href="http://d.hatena.ne.jp/keyword/GPS">GPS</a>とGeolocation <a class="keyword" href="http://d.hatena.ne.jp/keyword/API">API</a>で現在位置も取れます(navigator.geolocation.getCurrentPosition)まあダイアログが出るのはネイティブアプリでも同じですね。</p><br /> <p>さらに<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS4">iOS4</a>.2から加速度センサーの値まで取れるようになったので、<a class="keyword" href="http://d.hatena.ne.jp/keyword/canvas">canvas</a>やCSS3と組み合わせれば普通にゲーム作れると思います。すごいですね。<br /> <br /> </p> <blockquote> <p><span style="color:#CC0000;font-weight:bold;"><a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>を使って開発する場合の注意点</span></p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>使ってるし、せっかくだから俺は「$("body").bind("touchstart",touchHandler);」を選ぶぜ! という方。</p><p>touchHandlerは</p> <pre class="code lang-javascript" data-lang="javascript" data-unlink> <span class="synIdentifier">function</span> touchHandler(<span class="synStatement">event</span>) <span class="synIdentifier">{</span> <span class="synStatement">alert</span>(<span class="synStatement">event</span>.touches<span class="synIdentifier">[</span>0<span class="synIdentifier">]</span>); <span class="synIdentifier">}</span> </pre><p>と書きたくなるところですが、このままだと取れません。<br /> <br /> </p> <pre class="code lang-javascript" data-lang="javascript" data-unlink> <span class="synIdentifier">function</span> touchHandler(<span class="synStatement">event</span>) <span class="synIdentifier">{</span> <span class="synStatement">alert</span>(<span class="synStatement">event</span>.originalEvent.touches<span class="synIdentifier">[</span>0<span class="synIdentifier">]</span>); <span class="synIdentifier">}</span> </pre><p>これならOK!</p> </blockquote> <ul> <li>-</li> </ul><p><br /> とまあ、<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>の<a class="keyword" href="http://d.hatena.ne.jp/keyword/WebKit">WebKit</a>はかなり強力です。<br /> ちょちょっと独自属性を追加してやるだけで<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E6%A1%BC%A5%B6%A5%D3%A5%EA%A5%C6%A5%A3">ユーザビリティ</a>が簡単に確保出来ますし、簡単なアプリならネイティブで開発するより楽チンだと思います。</p><br /> <p>また最近、<a class="keyword" href="http://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a>で<a class="keyword" href="http://d.hatena.ne.jp/keyword/iOS">iOS</a>/<a class="keyword" href="http://d.hatena.ne.jp/keyword/Android">Android</a>アプリが開発出来るTitaniumも話題になっていますので、そちらの動向も目が離せません!</p><p><a href="http://www.appcelerator.com/">Home - Appcelerator | The Mobile First Platform</a></p><br /> <br /> <br /> <br /> <p>それでは、良い12月を!</p> </div> Sun, 12 Dec 2010 00:00:00 +0900 hatenablog://entry/17680117127146820068 JavaScript ニコニコ動画で自分のマイリストを全検索するブックマークレット(原宿) https://molokheiya.hatenadiary.org/entry/20101207/p1 <blockquote> <p><span style="font-weight:bold;color:#CC0000;">現在は、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CB%A5%B3%A5%CB%A5%B3%C6%B0%B2%E8">ニコニコ動画</a>(GINZA)対応版をご利用下さい</span></p><br /> <p><a href="http://moroya.hatenablog.jp/entry/2013/10/18/001831">&#x30CB;&#x30B3;&#x30CB;&#x30B3;&#x52D5;&#x753B;&#x3067;&#x81EA;&#x5206;&#x306E;&#x30DE;&#x30A4;&#x30EA;&#x30B9;&#x30C8;&#x3092;&#x5168;&#x691C;&#x7D22;&#x3059;&#x308B;&#x30D6;&#x30C3;&#x30AF;&#x30DE;&#x30FC;&#x30AF;&#x30EC;&#x30C3;&#x30C8;(GINZA) - &#x30E2;&#x30ED;&#x5C4B;</a></p> </blockquote> <p><br /> 『原宿になったのに実装されなかった…』<br /> ーニコ・チュウ(2007〜2010)</p><br /> <p>というわけで<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CB%A5%B3%A5%CB%A5%B3%C6%B0%B2%E8">ニコニコ動画</a>(9)用に作った<a href="http://d.hatena.ne.jp/Molokheiya/20100218/p1">&#x524D;&#x306E;&#x30D6;&#x30C3;&#x30AF;&#x30DE;&#x30FC;&#x30AF;&#x30EC;&#x30C3;&#x30C8;</a>が動かなくなってたので(原宿)に対応させました。<br /> 適当ですけどね!</p><br /> <p>動画のタイトルと、マイリスト時につけたコメントを検索します。<br /> あとブラウザ側で検索処理をするので、早く運営さんはマイリスト検索を是非実装してやってください。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101207160831" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101207/20101207160831.png" alt="f:id:Molokheiya:20101207160831p:image" title="f:id:Molokheiya:20101207160831p:image" class="hatena-fotolife" itemprop="image"></a></span></p><p></p> <blockquote> <pre class="code lang-javascript" data-lang="javascript" data-unlink>javascript:(<span class="synIdentifier">function</span>()<span class="synIdentifier">{var</span>%20d=(<span class="synStatement">new</span>%20Date)/1;<span class="synIdentifier">var</span>%20s=<span class="synStatement">document</span>.createElement(<span class="synConstant">'script'</span>);s.charset=<span class="synConstant">'UTF-8'</span>;s.src=<span class="synConstant">'http://kanmisikou.net/files/nico_mylist_search.js?'</span>+d;(<span class="synStatement">document</span>.getElementsByTagName(<span class="synConstant">'head'</span>)<span class="synIdentifier">[</span>0<span class="synIdentifier">]</span>||<span class="synStatement">document</span>.body).appendChild(s);<span class="synIdentifier">}</span>)(); </pre> </blockquote> <p>これをコピペして、ニコ動のマイリストページでアドレスバーに貼り付けてエンター!<br /> マイリスページじゃなかった時は、移動確認のダイアログが出ますよ。</p><br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%C0%A5%A4%A5%A2%A5%EA%A1%BC">はてなダイアリー</a>の仕様で、この<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D6%A5%C3%A5%AF%A5%DE%A1%BC%A5%AF%A5%EC%A5%C3%A5%C8">ブックマークレット</a>へのリンクが貼れません。<br /> もしブラウザにブクマして使う時は、適当なページをブクマして編集→アドレスを上の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D6%A5%C3%A5%AF%A5%DE%A1%BC%A5%AF%A5%EC%A5%C3%A5%C8">ブックマークレット</a>に書き換えて使って下さいな。</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20100218174519" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20100218/20100218174519.png" alt="f:id:Molokheiya:20100218174519p:image" title="f:id:Molokheiya:20100218174519p:image" class="hatena-fotolife" itemprop="image"></a></span></p><p>ライセンスはMIT Licenseで。</p><br /> <p>Have a nice <a class="keyword" href="http://d.hatena.ne.jp/keyword/Niconico">Niconico</a> Life ;)</p><br /> <br /> <p><script src="http://www.gmodules.com/ig/ifr?url=http://ido.nu/ayaya/like.xml&amp;up_layout=standard&amp;up_show_faces=false&amp;up_action=like&amp;up_font=&amp;up_colorscheme=light&amp;synd=open&amp;w=450&amp;h=25&amp;title=facebook_like_button&amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;output=js"></script></p> Tue, 07 Dec 2010 00:00:00 +0900 hatenablog://entry/17680117127146820799 ニコニコ Deep Sea Girlシリーズが素敵すぎる件 https://molokheiya.hatenadiary.org/entry/20101123/p1 <p><iframe width="312" height="176" src="http://ext.nicovideo.jp/thumb/sm11956364" scrolling="no" style="border:solid 1px #CCC;" frameborder="0"><a href="http://www.nicovideo.jp/watch/sm11956364">【ニコニコ動画】【初音ミク】 深海少女 【オリジナル】</a></iframe></p><br /> <br /> <p><a href="http://immuze.deviantart.com/art/Miku-Deep-Sea-Girl-Preview-181445540" class="http-image" target="_blank"><img src="http://fc05.deviantart.net/fs71/f/2010/276/1/d/miku___deep_sea_girl___preview_by_immuze-d30109w.jpg" class="http-image" alt="http://immuze.deviantart.com/art/Miku-Deep-Sea-Girl-Preview-181445540" width="600"></a><br /> <a href="http://immuze.deviantart.com/art/Miku-Deep-Sea-Girl-Preview-181445540">Miku - Deep Sea Girl - Preview by ImMuze on DeviantArt</a></p><br /> <br /> <br /> <p><a href="http://immuze.deviantart.com/art/Miku-Deep-Sea-Girl-1-181507050" class="http-image" target="_blank"><img src="http://fc06.deviantart.net/fs71/f/2010/277/4/f/miku___deep_sea_girl___1_by_immuze-d302bqi.jpg" class="http-image" alt="http://immuze.deviantart.com/art/Miku-Deep-Sea-Girl-1-181507050" width="600"></a><br /> <a href="http://immuze.deviantart.com/art/Miku-Deep-Sea-Girl-1-181507050">Miku - Deep Sea Girl - 1 by ImMuze on DeviantArt</a></p><br /> <br /> <br /> <p><a href="http://immuze.deviantart.com/art/Miku-Deep-Sea-Girl-2-181679225" class="http-image" target="_blank"><img src="http://fc02.deviantart.net/fs71/f/2010/278/d/3/miku___deep_sea_girl___2_by_immuze-d3060l5.jpg" class="http-image" alt="http://immuze.deviantart.com/art/Miku-Deep-Sea-Girl-2-181679225" width="600"></a><br /> <a href="http://immuze.deviantart.com/art/Miku-Deep-Sea-Girl-2-181679225">Miku - Deep Sea Girl - 2 by ImMuze on DeviantArt</a></p><br /> <br /> <br /> <p><a href="http://immuze.deviantart.com/art/Miku-Deep-Sea-Girl-3-181782977" class="http-image" target="_blank"><img src="http://fc03.deviantart.net/fs70/i/2010/279/1/b/miku___deep_sea_girl___3_by_immuze-d3088n5.jpg" class="http-image" alt="http://immuze.deviantart.com/art/Miku-Deep-Sea-Girl-3-181782977" width="600"></a><br /> <a href="http://immuze.deviantart.com/art/Miku-Deep-Sea-Girl-3-181782977">Miku - Deep Sea Girl - 3 by ImMuze on DeviantArt</a></p><br /> <br /> <br /> <p><a href="http://immuze.deviantart.com/art/Miku-Deep-Sea-Girl-4-181883259" class="http-image" target="_blank"><img src="http://fc06.deviantart.net/fs70/f/2010/280/a/0/miku___deep_sea_girl___4_by_immuze-d30ae0r.jpg" class="http-image" alt="http://immuze.deviantart.com/art/Miku-Deep-Sea-Girl-4-181883259" width="600"></a><br /> <a href="http://immuze.deviantart.com/art/Miku-Deep-Sea-Girl-4-181883259">Miku - Deep Sea Girl - 4 by ImMuze on DeviantArt</a></p><br /> <br /> <br /> <p><a href="http://immuze.deviantart.com/art/Deep-Sea-Girl-5-187049221" class="http-image" target="_blank"><img src="http://th05.deviantart.net/fs70/PRE/f/2010/326/a/9/deep_sea_girl___5_by_immuze-d33d43p.jpg" class="http-image" alt="http://immuze.deviantart.com/art/Deep-Sea-Girl-5-187049221" width="600"></a><br /> <a href="http://immuze.deviantart.com/art/Deep-Sea-Girl-5-187049221">Deep Sea Girl - 5 by ImMuze on DeviantArt</a></p><br /> <br /> <br /> <p><a href="http://immuze.deviantart.com/art/Title-pending-185657291" class="http-image" target="_blank"><img src="http://fc00.deviantart.net/fs70/f/2010/313/a/9/title_pending_by_immuze-d32ja2z.jpg" class="http-image" alt="http://immuze.deviantart.com/art/Title-pending-185657291" width="600"></a><br /> <a href="http://immuze.deviantart.com/art/Title-pending-185657291">Title pending by ImMuze on DeviantArt</a></p><br /> <br /> <br /> <p><a href="http://immuze.deviantart.com/art/Title-pending-2-186283936" class="http-image" target="_blank"><img src="http://fc00.deviantart.net/fs71/f/2010/319/d/b/title_pending___2_by_immuze-d32wpls.jpg" class="http-image" alt="http://immuze.deviantart.com/art/Title-pending-2-186283936" width="600"></a><br /> <a href="http://immuze.deviantart.com/art/Title-pending-2-186283936">http://immuze.deviantart.com/art/Title-pending-2-186283936</a></p><br /> <br /> <p><a href="http://immuze.deviantart.com/">http://immuze.deviantart.com/</a></p> Tue, 23 Nov 2010 00:00:00 +0900 hatenablog://entry/17680117127146820844 VOCALOID クリスマスVOCALOIDソング5選を紹介するよ! https://molokheiya.hatenadiary.org/entry/20101117/p1 <p><br /> めっきり寒くなってきましたね。<br /> <br /> </p> <blockquote> <p><br /> <script type="text/javascript" src="https://embed.nicovideo.jp/watch/sm9829617/script"></script></p><br /> <p>雪の結晶のようなキラキラ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%A6%A5%F3%A5%C9">サウンド</a>が耳に心地よく響いて気持ちいい。</p><br /> <p><a href="http://www5.atwiki.jp/hmiku/pages/8861.html">&#x30B9;&#x30CE;&#x30FC;&#x30C8;&#x30EA;&#x30C3;&#x30AF; - &#x521D;&#x97F3;&#x30DF;&#x30AF; Wiki - &#x30A2;&#x30C3;&#x30C8;&#x30A6;&#x30A3;&#x30AD;</a></p> </blockquote> <blockquote> <p><br /> <script type="text/javascript" src="https://embed.nicovideo.jp/watch/sm9105813/script"></script></p><br /> <p>ミクさんがひとりきりなら、俺もひとりきりのメリーデイ。</p><br /> <p><a href="http://www5.atwiki.jp/hmiku/pages/7726.html">&#x3072;&#x3068;&#x308A;&#x304D;&#x308A;&#x306E;&#x30E1;&#x30EA;&#x30FC;&#x30C7;&#x30A4; - &#x521D;&#x97F3;&#x30DF;&#x30AF; Wiki - &#x30A2;&#x30C3;&#x30C8;&#x30A6;&#x30A3;&#x30AD;</a></p> </blockquote> <blockquote> <p><br /> <script type="text/javascript" src="https://embed.nicovideo.jp/watch/sm5597746/script"></script></p><br /> <p>【ネタバレ】サンタクロースは両親</p><br /> <p><a href="http://www5.atwiki.jp/hmiku/pages/3433.html">&#x767D;&#x591C;&#x306E;&#x30A4;&#x30F4;&#x3092;&#x8D8A;&#x3048;&#x3066; - &#x521D;&#x97F3;&#x30DF;&#x30AF; Wiki - &#x30A2;&#x30C3;&#x30C8;&#x30A6;&#x30A3;&#x30AD;</a></p> </blockquote> <blockquote> <p><br /> <script type="text/javascript" src="https://embed.nicovideo.jp/watch/sm9001262/script"></script></p><br /> <p>四畳半って二人だと狭いように思えて一番良い距離なんだよね。</p><br /> <p><a href="http://www5.atwiki.jp/hmiku/pages/605.html">&#x5B50;&#x732B;&#x306F;&#x72EC;&#x308A;&#x9065;&#x304B;&#x96EA;&#x306B;&#x57CB;&#x3082;&#x308C;&#x3066;&#x308F;&#x305F;&#x3057;&#x3092;&#x898B;&#x3064;&#x3081;&#x308B; - &#x521D;&#x97F3;&#x30DF;&#x30AF; Wiki - &#x30A2;&#x30C3;&#x30C8;&#x30A6;&#x30A3;&#x30AD;</a></p> </blockquote> <blockquote> <p><br /> <script type="text/javascript" src="https://embed.nicovideo.jp/watch/sm1807929/script"></script></p><br /> <p>なにがめでたいかって、そりゃケーキが食べられるからだよ。</p><br /> <p><a href="http://www5.atwiki.jp/hmiku/pages/95.html">&#x91D1;&#x306E;&#x8056;&#x591C;&#x971C;&#x96EA;&#x306B;&#x673D;&#x3061;&#x3066; - &#x521D;&#x97F3;&#x30DF;&#x30AF; Wiki - &#x30A2;&#x30C3;&#x30C8;&#x30A6;&#x30A3;&#x30AD;</a></p> </blockquote> <p></p><p>クリスマスというか冬を堪能できるボカロ曲があったら、@<a href="http://twitter.com/Molokheiya/">Molokheiya</a>までぜひ教えてください。<br /> 春夏秋冬を楽しめるのは日本だけだけど、音楽なら世界中どこでも楽しめるよ!</p> Wed, 17 Nov 2010 00:00:00 +0900 hatenablog://entry/17680117127146821527 VOCALOID ボーマス14でエゴな本を出します https://molokheiya.hatenadiary.org/entry/20101112/p1 <p><br /> ミクさん「そうよね、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%C3%CF%B5%E5%B2%B9%C3%C8%B2%BD">地球温暖化</a>とか深刻だもんね」<br /> おれ「エコだよ、それは!」</p><br /> <br /> <p>というわけで、11月14日に池袋で開催される<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%DC%A1%BC%A5%AB%A5%ED%A5%A4%A5%C9">ボーカロイド</a>マスター14で本を出します。</p><br /> <p>詳しくはこちら<br /> <a href="http://kanmisikou.net/vomas14/">kanmisikou.net&nbsp;-&nbsp;&#x3053;&#x306E;&#x30A6;&#x30A7;&#x30D6;&#x30B5;&#x30A4;&#x30C8;&#x306F;&#x8CA9;&#x58F2;&#x7528;&#x3067;&#x3059;&#xFF01;&nbsp;-&nbsp;&#x521D;&#x97F3;&#x30DF;&#x30AF; &#x30D5;&#x30A9;&#x30F3;&#x30C8; &#x5236;&#x4F5C; &#x5FD7;&#x5411; &#x7518;&#x5473; &#x30CB;&#x30B3;&#x30CB;&#x30B3; &#x611F;&#x6027; &#x72B6;&#x6CC1; &#x30EA;&#x30BD;&#x30FC;&#x30B9;&#x304A;&#x3088;&#x3073;&#x60C5;&#x5831;</a></p><br /> <br /> <p>なんというか入稿後に凡ミスを見つけちゃったり、周りから浮きまくっちゃったりしてますが、頑張って白い目線から耐えてこようかと思いますので参加される方は良かったら寄っていって下さると喜びます。<br /> あ、出来れば白い目線じゃない方が嬉しいです。</p> Fri, 12 Nov 2010 00:00:00 +0900 hatenablog://entry/17680117127146821603 VOCALOID さくらVPSにffmpegをいれる https://molokheiya.hatenadiary.org/entry/20101104/p1 <pre class="code" data-lang="" data-unlink>SAKURA Internet [Virtual Private Server SERVICE] [molo@www3274u ~]$ su - [root@www3274u ~]# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm [root@www3274u ~]# rpm -Uhv rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm [root@www3274u ~]# yum update [root@www3274u ~]# yum -y install automake libtool libogg-devel livtheora-devel [root@www3274u ~]# yum -y install ffmpeg</pre><p><br /> てきとうに。<br /> <br /> </p> <pre class="code" data-lang="" data-unlink>Transaction Summary ================================================================================ Install 14 Package(s) Upgrade 0 Package(s) Total download size: 9.6 M Downloading Packages: (1/14): ffmpeg-libpostproc-0.5.2-2.el5.rf.x86_64.rpm | 36 kB 00:00 (2/14): giflib-4.1.3-7.1.el5_3.1.x86_64.rpm | 39 kB 00:00 (3/14): libid3tag-0.15.1b-5.el5.x86_64.rpm | 47 kB 00:00 (4/14): a52dec-0.7.4-8.el5.rf.x86_64.rpm | 82 kB 00:00 (5/14): faac-1.26-1.el5.rf.x86_64.rpm | 154 kB 00:00 (6/14): cppunit-1.12.0-4.el5.1.x86_64.rpm | 188 kB 00:00 (7/14): SDL-1.2.10-8.el5.x86_64.rpm | 214 kB 00:00 (8/14): opencore-amr-0.1.2-1.el5.rf.x86_64.rpm | 381 kB 00:02 (9/14): lame-3.98.4-1.el5.rf.x86_64.rpm | 587 kB 00:01 (10/14): libtheora-1.0alpha7-1.x86_64.rpm | 706 kB 00:00 (11/14): x264-0.0.0-0.4.20090708.el5.rf.x86_64.rpm | 884 kB 00:02 (12/14): imlib2-1.4.4-1.el5.rf.x86_64.rpm | 968 kB 00:02 (13/14): ffmpeg-0.5.2-2.el5.rf.x86_64.rpm | 2.4 MB 00:03 (14/14): dirac-1.0.2-1.el5.rf.x86_64.rpm | 3.1 MB 00:03 -------------------------------------------------------------------------------- Total 432 kB/s | 9.6 MB 00:22 Running rpm_check_debug</pre><p><br /> と思ったら<a class="keyword" href="http://d.hatena.ne.jp/keyword/ffmpeg">ffmpeg</a>だけでいけるっぽい?<br /> <br /> </p> <pre class="code" data-lang="" data-unlink>[root@www3274u ~]# ffmpeg FFmpeg version 0.5.2, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC --enable-avfilter --enable-avfilter-lavf --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab libavutil 49.15. 0 / 49.15. 0 libavcodec 52.20. 1 / 52.20. 1 libavformat 52.31. 0 / 52.31. 0 libavdevice 52. 1. 0 / 52. 1. 0 libavfilter 0. 4. 0 / 0. 4. 0 libswscale 0. 7. 1 / 0. 7. 1 libpostproc 51. 2. 0 / 51. 2. 0 built on Jun 13 2010 23:44:18, gcc: 4.1.2 20080704 (Red Hat 4.1.2-48) At least one output file must be specified</pre><p><br /> oh.</p> Thu, 04 Nov 2010 00:00:00 +0900 hatenablog://entry/17680117127146821638 メモ CentOS CEATECでYAMAHAとかMMDAgentを見てきたよー https://molokheiya.hatenadiary.org/entry/20101006/p1 <p>以前申し込んでいた<a class="keyword" href="http://d.hatena.ne.jp/keyword/CEATEC">CEATEC</a>の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%D5%A5%A1%A5%B9%A5%C8%A5%D1%A5%B9">ファストパス</a>が届いていたので、せっかくなので行ってきました。</p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101007001955" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101007/20101007001955.jpg" alt="f:id:Molokheiya:20101007001955j:image" title="f:id:Molokheiya:20101007001955j:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p>ブースを見回って、本当に業界は3Dになっているなと思いつつ<br /> そのへんはとりあえず置いておいてボカロ関連だけ取り上げてみました。</p><br /> <p><hr></p><br /> <p>まず<a class="keyword" href="http://d.hatena.ne.jp/keyword/YAMAHA">YAMAHA</a>ブース。<br /> あちこち企業ブース回ってから行ったので、一瞬ここがなんのイベント会場か分からなくなる。</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101006131837" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101006/20101006131837.jpg" alt="f:id:Molokheiya:20101006131837j:image" title="f:id:Molokheiya:20101006131837j:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <br /> <p>ワールドイズマインのミクコスと、<a class="keyword" href="http://d.hatena.ne.jp/keyword/SF-A2%20%B3%AB%C8%AF%A5%B3%A1%BC%A5%C9%20miki">SF-A2 開発コード miki</a>の<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B3%A5%B9%A5%D7%A5%EC%A5%A4%A5%E4%A1%BC">コスプレイヤー</a>さん。</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101006132849" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101006/20101006132849.jpg" alt="f:id:Molokheiya:20101006132849j:image" title="f:id:Molokheiya:20101006132849j:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <br /> <p>超薄型スピーカー「TLF-SP」</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101006132201" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101006/20101006132201.jpg" alt="f:id:Molokheiya:20101006132201j:image" title="f:id:Molokheiya:20101006132201j:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <br /> <p>音質はそれほど良くないですが、実際に音が全体から鳴ります。<br /> 触ってみたところ、薄く針金のような感触がありました。</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101006140816" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101006/20101006140816.jpg" alt="f:id:Molokheiya:20101006140816j:image" title="f:id:Molokheiya:20101006140816j:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <br /> <br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone">iPhone</a>を活用した<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%A6%A5%F3%A5%C9">サウンド</a>スタンプラリー。<br /> 私もやろうとしたのですが、<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone%203G">iPhone 3G</a>は非対応とのこと…</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101006185403" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101006/20101006185403.jpg" alt="f:id:Molokheiya:20101006185403j:image" title="f:id:Molokheiya:20101006185403j:image" class="hatena-fotolife" itemprop="image"></a></span></p><p>ちなみに技術者の方に聞いたところ、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%A6%A5%F3%A5%C9">サウンド</a>を解析するのにかなりの計算量を要するので<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPhone%203G">iPhone 3G</a>では厳しいとのこと。<br /> 出来ないわけではないが自己責任でと言われたので、今回は引き下がっておく。</p><br /> <p>アプリはここからダウンロードできます。</p><p><a href="http://itunes.apple.com/jp/app/id382401107" target="_blank"><img src="http://f.hatena.ne.jp/images/fotolife/M/Molokheiya/20101007/20101007000509.png" alt="f:id:Molokheiya:20101007000509p:image" class="hatena-fotolife"></a></p><br /> <br /> <p><hr></p><br /> <p>さて、次は話題のMMDAgent。<br /> <a class="keyword" href="http://d.hatena.ne.jp/keyword/%CC%BE%B8%C5%B2%B0%B9%A9%B6%C8%C2%E7%B3%D8">名古屋工業大学</a>のブースです。</p><br /> <p><script type="text/javascript" src="https://embed.nicovideo.jp/watch/sm12181530/script"></script></p><br /> <p>ブースには<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C7%A5%B8%A5%BF%A5%EB%A5%B5%A5%A4%A5%CD%A1%BC%A5%B8">デジタルサイネージ</a>用のディスプレイが設置され、そこに放映されていました。<br /> ほぼ等身大です。</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101006153749" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101006/20101006153749.jpg" alt="f:id:Molokheiya:20101006153749j:image" title="f:id:Molokheiya:20101006153749j:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p>3Dデータは<a class="keyword" href="http://d.hatena.ne.jp/keyword/MMD">MMD</a>(pmdデータ)と互換性を持っている。<br /> (というかおそらくそのまま読み込んでいると思う)</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101006153821" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101006/20101006153821.jpg" alt="f:id:Molokheiya:20101006153821j:image" title="f:id:Molokheiya:20101006153821j:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p>いらっしゃいませーと、おじぎするミクさん。</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101006153819" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101006/20101006153819.jpg" alt="f:id:Molokheiya:20101006153819j:image" title="f:id:Molokheiya:20101006153819j:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p>司会者 「得意なものは?」<br /> ミクさん「歌とダンスかなー」<br /> 司会者 「ちょっと見せてよ」<br /> ミクさん「それじゃあ、歌います。教えて!魔法のLyric」<br /> 踊り始めるミクさん。画面にはエフェクト効果も追加。</p><p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101006153922" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101006/20101006153922.jpg" alt="f:id:Molokheiya:20101006153922j:image" title="f:id:Molokheiya:20101006153922j:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <p>非常に、非常に可愛らしかったです!(大事なことなので2回言いました)</p><br /> <p><hr></p><br /> <p><span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101006154122" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101006/20101006154122.jpg" alt="f:id:Molokheiya:20101006154122j:image" title="f:id:Molokheiya:20101006154122j:image" class="hatena-fotolife" itemprop="image"></a></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101006154116" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101006/20101006154116.jpg" alt="f:id:Molokheiya:20101006154116j:image" title="f:id:Molokheiya:20101006154116j:image" class="hatena-fotolife" itemprop="image"></a></span><br /> <span itemscope itemtype="http://schema.org/Photograph"><a href="http://f.hatena.ne.jp/Molokheiya/20101006154112" class="hatena-fotolife" itemprop="url"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/M/Molokheiya/20101006/20101006154112.jpg" alt="f:id:Molokheiya:20101006154112j:image" title="f:id:Molokheiya:20101006154112j:image" class="hatena-fotolife" itemprop="image"></a></span></p><br /> <br /> <br /> <p>あと開発スタッフから細かい部分も聞いてきましたよ。</p><br /> <p>最初MMDAgentはそれ単体で動くAIのようなものかと思っていたんですが、<br /> その実態は4つのモジュールを組み合わせた対話型エージェントらしいです。<br /> 所謂、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BB%C7%A4%AB">伺か</a>のようなもの。</p><br /> <p>しかし会話の開始タイミング、同調速度などかなり工夫されていて、<br /> 人間らしい動きを行うための調整が随所に盛り込まれていた感じでした。</p><br /> <p>余談ですが、先日わたしが取材していた論文の内容と組み合わせるとかなり面白い世界が広がりそうだと思ったので少し紹介。</p><br /> <p><a href="http://ci.nii.ac.jp/naid/110006862951">CiNii &#x8AD6;&#x6587;&nbsp;-&nbsp; &#x5BFE;&#x8A71;&#x578B;&#x6559;&#x793A;&#x30A8;&#x30FC;&#x30B8;&#x30A7;&#x30F3;&#x30C8;&#x30E2;&#x30C7;&#x30EB;&#x69CB;&#x7BC9;&#x306B;&#x5411;&#x3051;&#x305F;&#x6F2B;&#x624D;&#x5BFE;&#x8A71;&#x306E;&#x30DE;&#x30EB;&#x30C1;&#x30E2;&#x30FC;&#x30C0;&#x30EB;&#x5206;&#x6790;</a> CiNiiです。</p><br /> <p>発話・視線・姿勢などのマルチモーダルな要素間の相互作用の分析を行って<br /> ユーザーに効果的にインスト<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%E9%A5%AF">ラク</a>ションを行う対話型教示エージェントモデルを構築する研究です。<br /> モデル化がうまくいけば、さらに人間らしさを追求することが可能かもしれませんね。</p><br /> <br /> <p>開発言語は<a class="keyword" href="http://d.hatena.ne.jp/keyword/C%2B%2B">C++</a>。主要ライブラリとしてHTS、Open JTalk、Juliusを使用。<br /> Juliusは使ったことがありますが、こわいくらい精度が良いライブラリです。<br /> よほど早口でない限り、誰が喋っても正確に認識されます。こちらも<a class="keyword" href="http://d.hatena.ne.jp/keyword/%CC%BE%B8%C5%B2%B0%B9%A9%B6%C8%C2%E7%B3%D8">名古屋工業大学</a>の開発。</p><br /> <p>シナリオファイルの構造なども知りたかったんですが、<br /> そこは今年冬に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%AA%A1%BC%A5%D7%A5%F3%A5%BD%A1%BC%A5%B9">オープンソース</a>ソフトウェアとしてのリリースが検討されているらしいので待ち。</p><br /> <p><del datetime="2010-10-07T00:49:56+09:00">誰かAI開発して組み込んだらいいんじゃねマジで</del></p><br /> <br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/CEATEC">CEATEC</a>で出展されている他企業ブースと比較して技術的に優れているという訳ではないですが、尻Pが言っていた<br /> 『等身大ミクが置かれた場所は、そこだけ現実が切り取られ、架空世界に置き換わる。これは二つの世界を橋渡しするインターフェース装置なのである。』<br /> これが見事に実現されていました。</p><p><a href="http://d.hatena.ne.jp/nojiri_h/20100329/1269849768">&#x4EAC;&#x90FD;&#x3067;&#x7B49;&#x8EAB;&#x5927;&#x521D;&#x97F3;&#x30DF;&#x30AF;&#x306B;&#x4F1A;&#x3063;&#x3066;&#x304D;&#x305F; - &#x91CE;&#x5C3B;blog</a></p><br /> <p>それこそ会場内のあちこちで耳にした3D映像として放映されれば、<br /> さらに人間らしさが深まるかもしれませんねー。</p><br /> <br /> <p><hr></p><br /> <br /> <p><a class="keyword" href="http://d.hatena.ne.jp/keyword/YAMAHA">YAMAHA</a>ブースのそばを歩いている時に後ろの方が<br /> 「社会人向けのイベントでこういうこと(コスプレかイラスト展示かな?)やっちゃうんだねぇ。時代だなあ」と話していたのが耳に入りましたが<br /> 技術なんてのは興味を持たれて使ってもらわないと何の役にも立たないもので、だからこそ<a class="keyword" href="http://d.hatena.ne.jp/keyword/Sony">Sony</a>は派手なパフォーマンスをするし、照明もバンバン焚くわけです。<br /> ただこれらも一過性なものなので、毎年驚くようなものが出てきてほしいですね。</p><br /> <p>と、来年の<a class="keyword" href="http://d.hatena.ne.jp/keyword/CEATEC">CEATEC</a>に向けて。</p> Wed, 06 Oct 2010 00:00:00 +0900 hatenablog://entry/17680117127146821677 イベント VOCALOID なんでCD買うの? https://molokheiya.hatenadiary.org/entry/20100830/p1 <p>先日、<a href="http://d.hatena.ne.jp/xxJulexx/">&#x3058;&#x3085;&#x308B;P</a>と<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%DE%A5%EB%A5%AF">サンマルク</a>カフェで話していた時に上がってきた話題。<br /> 個人的に興味深い話だったので、忘れる前にメモしておく。<br /> <br /> <br /> <br /> </p> <div class="section"> <h4>CDをわざわざ買う理由</h4> <p><br /> ・<a class="keyword" href="http://d.hatena.ne.jp/keyword/VOCALOID">VOCALOID</a>楽曲は基本的に<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CB%A5%B3%A5%CB%A5%B3%C6%B0%B2%E8">ニコニコ動画</a>で聴くことが出来る<br /> ・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CB%A5%B3%A5%CB%A5%B3%C6%B0%B2%E8">ニコニコ動画</a>で公開されている曲は、にこさうんど等のサイトやその他ソフトウェアを使って比較的簡単に<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPod">iPod</a>などに入れられる<br /> ・それなら何故CDをわざわざ買うのか</p><br /> <p>・基本的に一般レーベルからのCD売上は年々落ちている<br /> ・収入モデルはライブパフォーマンスに移行しつつある<br />  (参考:<a href="http://www.su-gomori.com/2010/05/post-492.html">http://www.su-gomori.com/2010/05/post-492.html</a>)<br /> ・なぜプロミュージシャンのCDよりも、<a class="keyword" href="http://d.hatena.ne.jp/keyword/VOCALOID">VOCALOID</a>同人CDは売れるのか</p><br /> <p>・曲自体を求めるのではなく、それに<span style="font-weight:bold;">並行して得られる付加価値を求めている</span><br /> ・CDケース,ジャケット,ブックレット,円盤全てが<span style="font-weight:bold;">ある種の「グッズ」</span><br /> ・曲が公開されている状況で<a class="keyword" href="http://d.hatena.ne.jp/keyword/iTunes%20Store">iTunes Store</a>販売(<a href="http://karent.jp/">KarenT</a>等)しても、付加価値が無いためまず売れない<br /> ・つまりCDはグッズ化している。だから買う<br /> ・新曲入ってても、大多数はニコ動で有名な曲が入ってないと買わない<br /> ・EXIT TUNESさん、MOERさんお仕事お疲れ様です</p><br /> <p>・<a class="keyword" href="http://d.hatena.ne.jp/keyword/USB%A5%E1%A5%E2%A5%EA">USBメモリ</a>やらSDカードで販売というのは、試算の結果ではそこまで悪くない<br /> ・でもCDをインポートするのと同じように、最終的にはmp3で<a class="keyword" href="http://d.hatena.ne.jp/keyword/iPod">iPod</a>に入るんだから意味ないよねー<br /> ・しかもROM欠損とかあってデータ破損してたとき、本当に元々そうだったのか書き換えたのか分からないし、その辺が面倒<br /> (追記:CDは書き換え出来ないからデータ破損してたらすぐに新品と交換って出来るけど、メモリだと自由に書き換えられるからイチャモンをつけられたら困るよなー的な意味で)<br /> ・そう考えるとやっぱりCDのままでいい<br /> <br /> <br /> <br /> </p> </div> <div class="section"> <h4>インターネットモデル特有の潜在意識</h4> <p><br /> ・<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%CB%A5%B3%A5%CB%A5%B3%C6%B0%B2%E8">ニコニコ動画</a>で公開されている楽曲は「誰でも無料で」聴ける<br /> ・自分が買ってきたCDは「自分だけが(買った人が)」聴ける<br /> ・しかし、買ってきたCDを不法アップロードされる<br /> ・結局「誰でも無料で」聴けるんなら、買った私は損だ。という考え<br /> ・買わない</p><p>・「自分のものになった」という優越感が必要<br /> ・紙質にこだわったブックレット等の付加価値は、ネット上で同じように共有出来ないため購買意識が強い</p><br /> <p>・企業の皆さん、ユーザーからア<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%A4%A5%C7%A5%A2">イデア</a>を募集すること=<a class="keyword" href="http://d.hatena.ne.jp/keyword/CGM">CGM</a>だと思ってますよね<br /> <del datetime="2010-08-30T18:51:07+09:00">・あとお前らとりあえず<a class="keyword" href="http://d.hatena.ne.jp/keyword/CGM">CGM</a>って言っておけば、クオリティ低い企画出しても「<a class="keyword" href="http://d.hatena.ne.jp/keyword/CGM">CGM</a>ですから(キリッ」って言えると思ってるだろ<br /> ・そもそも企業が一枚噛んでる時点で<a class="keyword" href="http://d.hatena.ne.jp/keyword/CGM">CGM</a>(<a class="keyword" href="http://d.hatena.ne.jp/keyword/%BE%C3%C8%F1%BC%D4%C0%B8%C0%AE%A5%E1%A5%C7%A5%A3%A5%A2">消費者生成メディア</a>)じゃないよね</del></p><br /> <br /> <p></p> </div> <div class="section"> <h4>音楽をカテゴライズするのは悪いことか</h4> <p><br /> ・カテゴリ分けするのってdisられることなのかね<br /> ・そもそもなんでカテゴリで分けるか<br /> ・莫大な数が存在する音楽を全て聴くことは不可能<br /> ・すべて聴けないなら、自分が好きそうな雰囲気の曲を重点的に聴くしか無い<br /> ・そこでカテゴリ分けですよ</p><br /> <p>・ロックとクラシックを同じカテゴリって言う人はいないだろう<br /> ・じゃあ<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%C6%A5%AF%A5%CE%A5%DD%A5%C3%A5%D7">テクノポップ</a>とテクノとエレクトロとファンクの違いは?<br /> ・えっ</p><br /> <p>・ジャンルに詳しい、いわゆる評論家がいなくなった<br /> ・ネットの発達で、誰でも評論まがいのことが出来るようになったから<br /> ・そもそも評論家って、基本的に世間から批判しかされない<br /> ・今じゃ音楽雑誌の片隅にしか存在してないよね<br /> ・作曲した人がジャンルを付ければいんだけど、作ってる側も最近はジャンル分からない<br /> ・そして評論家まがいの人が、間違ったタグを付ける</p><br /> <p>・やっぱ好きな曲を見つけるためにはカテゴリ分けは要るよ<br /> ・玉石混淆の<a class="keyword" href="http://d.hatena.ne.jp/keyword/VOCALOID">VOCALOID</a>楽曲には尚更だろうに<br /> ・こういう音楽知識もった評論出来る人いたら面白いのにね<br /> ・もっと良いところ悪いところをどんどん指摘したら世界が広がるのに<br /> <br /> <br /> </p> </div> <div class="section"> <h4><a class="keyword" href="http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%D6%A5%C3%A5%AF%A5%DE%A1%BC%A5%AF">はてなブックマーク</a>から追記</h4> <p><br /> ・部屋に飾りたいからCD買う<br /> ・気に入った曲はモノとして手元に置いておかないと気が済まないから買う<br /> ・いい曲は物理媒体で欲しい<br /> ・未発表曲を含むCDだと、それも含めて集める<br /> ・ボカロPへの応援という意味もある<br /> ・付加価値しか買えなくなってるとも言える。なのでCDを買ったって楽曲にお金を払う意識はないという見方もある<br /> ・購買者がアーティストにコミットする機会があまりない<br /> ・同人CDは買わないとすぐ廃盤になるので急いで買うところがあると思うんだけど<br /> ・聴けなかったジャンルを聴けるようになる過程がむしろ楽しかったり</p><br /> <br /> <br /> <p>あと、<a class="keyword" href="http://d.hatena.ne.jp/keyword/%A5%B5%A5%F3%A5%DE%A5%EB%A5%AF">サンマルク</a>カフェは椅子がすごく良いです。</p> </div> Mon, 30 Aug 2010 00:00:00 +0900 hatenablog://entry/17680117127146821761 音楽 VOCALOID