2007年6月 Archives

« 2007年5月 2007年7月 »

SVN(Subversion)クライアント

TortoiseSVN

WindowsのSVNクライアントを探していてTortoise(トータス)SVNを選ばないテは無いと思う。 多分よほどの変わり者かFinderとの一体化を嫌がる人ぐらいだろう。 Finderとの一体化を嫌がる気持ちはそれなりに理解できるが、TortoiseSVNの機能の高さはそれでも特筆すべきだと思う。 バージョンも着実に重ね進化・安定化を計り続けているし、何よりも日本語環境に困らない。 svn://プロトコル以外にhttp://、https:// 更にsvn+ssh://にも対応している。 おそらくwindowsだけでなく、Mac、Linuxを含めてSVNクライアントの中で最も優秀なクライアントじゃないだろうか。 因みにバンドルされているマージアプリがDreamweaverの「ファイルの比較」機能として登録出来る。これもオイシイ。

参考URIhttp://www.gside.org/Gentoo/subversion/subversion_client.html


eSVN

結構いろんなところで名前を見かけた物の、使い勝手はあまり良くなかった。バージョンが未だ1.0未満だから今後に期待するしかないかもしれない。多様なプラットフォームに対応している(windows、Mac、Linuxなど)ようだが、IntelMac上では動作しなかった。今のところMacはPPCでしか動かない様子。

参考URI:http://www.versiontracker.com/dyn/moreinfo/macosx/27001


Subcommander

Finderとは一体化しないファイルブラウザベースのSVNクライアント。クロスプラットフォームなので、Win32, Unix, MacOSXで使える様子。以前IntelMac上で使用していたがかなり使いやすかった。
若干バギーな部分や独特のGUI、英語環境に悩まされつつも(recursiveとか耳慣れない言葉だった)
慣れればかなり強力な管理ツールだと実感できた。
現在2.0.0betaがリリースされたようで、活発に開発が行われている様子。イマイチ地味なSubversion開発コミュニティーの中では貴重な存在だと思う。
因みにSubcommanderにもSubmargeというマージアプリがバンドルされているが、こちらはDreamweaverの「ファイルの比較」機能として利用できなかった。残念。

参考URI:http://subcommander.tigris.org/


SCPlugin

Mac版のTortoiseSVNと呼ばれるべきSCPlugin。Finderに一体化出来るので、デザイナーでも使いやすいのが良い(らしい)。実際に使ってみたところ、IntelMacだったせいかイマイチ安定しなかった。
2007年1月末にアップデートされたようだが、やはり開発が停滞した観が否めない様子。

参考URI:
http://scplugin.tigris.org/servlets/ProjectDocumentList


Flash で音声合成

以前にFlashで音声合成をしたときのメモ。結構お役立ち。(のはず)

Flashアプリにかかわらず、音声を合成したいと言うニーズは結構多いはず。こんなニュースもあるし。

上記で報じている内容はかなり汎用的かつ複雑な開発が必要だろうし、ターゲットもかなり大規模な市場に向けられていると思う。ココではそんな大仰な内容ではなく、もう少し簡単かつ即効性の有るtipsを話したい。

先ず、音声合成の内容とシチュエーションは簡単なもので以下のような感じ。
--------------------------------------------
ユーザーが入力した数値を読み上げる装置
桁数は4桁
言語は日本語
--------------------------------------------
最も簡単な方法は4桁分の音源を全て用意すること。スタジオで9999まで読み上げてもらって、録音する。その後エディターを使って切り出す。さらに音源内容と同様のファイル名を振り分けて、Flashからは入力された数値を確認してファイルを呼び出し、再生する。これで完成。
この方法(仮にシンプルプランとしておく)は音源再生のクオリティを最も高く保つことが出来る。しかし、物理的な限界がいずれ生じる。
現状では4桁だが、それ以上、例えば10桁とかになると音入れが大変な上、切り出しも大変。それからデータの容量もかなりの物になる。特にwebで公開を考えた場合、データの大きさは深刻な懸念材料になる。


従って、やはりここで音声を合成する方法をとる(合成プラン)。合成することによって、データ容量の肥大化と音入れ・切り出しによる時間的な問題を一気にクリアすることが出来る。
ここで録音する音源は以下の通り
--------------------------------------------
1桁:1-9まで
2桁:10,20,30,40,50,60,70,80,90
3桁:100,200,300,400,500,600,700,800,900
4桁:1000,2000,3000,4000,5000,6000,7000,8000,9000
--------------------------------------------
とすると9999個必要だった音源が僅か40個程度で良いことになる。
音源を40個に絞って組み合わせることによって再現する場合、例えば「1234(sen-nihyaku-sanjyu-yon)」を再生したい場合、必要な音源は次の4つ。「1000」「200」「30」「4」だ。
Flashは「1234」を解析して「1000」「200」「30」「4」の4つの音源を選択して順に再生する。
当然のことながら、この場合音源のとぎれが気になる。これから書いていく部分はまさにそこだが、いくら頑張ったところで前述のシンプルプランには後一歩及ばず妥協が必要になることをあらかじめ断っておきたい。また、Flashの解析ロジックはまた次の機会に。

さて、前置きが長くなったが、ここからが本題。
取り上げたいのはここで使用する音源の長さと扱いについてだ。

Flashで音源を扱う場合、やはりmp3を使用することになる。因みに圧縮率は標準的なレベルで問題ない。ただ、音源の長さ(デュレーション)を極限まで切りつめる必要がある。音源の前後に無駄な無音データが残っていると、音源同士の繋がりが悪くなりスムーズに聞こえなくなる。かといって、誤って必要な音源まで切り取ってしまうと当然だが千切れた不自然な再生になる。音源を切り出す際はこの点をかなりシビアにコントロールしなければならない。

しかし、ここでmp3の仕様上の限界に衝突することになる。mp3は圧縮する際のアルゴリズムのために完全に意図した長さ(デュレーション)に調整できない。出典は忘れたが、周波数に依存するため、その倍率でしか音源を作成できないそうだ。端的にいうと60secジャスト、と言う音源は作成不可能であって、60.xxxxsecにならざるを得ないらしい。

こうなると、いくらシビアに切り出しをしたところで意味がないな、と諦めかけたが、FlashのAPIのおかげで解決することが出来た。AS2.0のSoundクラスでは音源再生時に1/1000sec単位でディレイを掛けることが出来る。
スクリプトは次の通り

mySound.start(0.025);

たったこれだけだけど、大幅に改善することが出来る。因みに0.025secというのはこの時経験からなので、ケースバイケースだと思う。また、mp3を切り出すとき、音源の末尾ではなく先頭に無音部分が付加されるように設定する必要が有ることを忘れずに付け加えておく。

iPhone !

ついに、iPhoneが出るみたい。

おなじみのテレビCMで発表するあたり、Apple は流石だ。

ただ、当然日本市場ではまだまだ先になりそう。「その時」がやってきたとき、キャリアは何処になるだろうか。既にdocomoとかに内定していたりするなら、がっかりだ。

個人的にはウィルコムとかからリリースされると愉快だと思う。

Macの噂

maclalalaさんのエントリーには頻繁にMac関連の噂話が出てきて楽しい。色々と妄想をかき立てられる。しかも今度の噂は事実だったようで、CNETが報じている。色々的中している様で、Macユーザーの予知能力はスゴい。

一方、windowsの噂を耳にしたことはまだ、無い。有るのかもしれないけど、ない。

都市伝説や神話的な噂話の有無は両者ではきっぱり別れている。

Leopard次世代ファイルシステム

Leopardから、Macのファイルシステムが大きく変わるみたい

Time Machineもそうだけど、Appleはファイルシステムに注力しているんだと思う。
新システムZFSは自動バックアップやRAID対応、ファイルのスナップショット機能など、てんこ盛りで単純に安定化と最大容量の拡張だけじゃない事はよくわかる。

巷ではLeopardのUIの部分に注目が集まっているようだけど、もしこれらファイルシステムの恩恵で画期的にファイル管理(特にバージョニング)が向上するとCVSやSubversionはもう要らなくなってしまうかもしれない。

個人的にはOSレベルでバージョニングが可能になることはとても嬉しい。CVSやSVNを使ったバージョニングはデベロッパーには大した事でなくてもデザイナーや、ましてクライアントと一緒に運営するのは難しいからだ。コミットやアップデート、マージと言った言葉が一般的になるのはそう遠くないかもしれない。(だといいな)

WWDC ! Safari for Windows

WWDCが始まった。ここ一ヶ月の間、色んな噂やDの対談に興奮したりと、Appleに関する情報収集は楽しかった。色んな夢と妄想に満ちあふれたひと月だ。

そんな訳で、勝手に盛り上がるだけ盛り上がってしまった為にWWDCの内容は些か寂しかった。それが正直な感想だ。

“One more thing”ではやっぱり新モデルを発表して欲しかった。多くの人がそう思ったんじゃ無いかな。

勿論Windows版Safariの話題性は十分だ。むしろiTunesがWindows版をリリースしていたことを考えると、今まで存在していなかったことが不思議だ。
そして、未だにCSSの再現性が改善されないIE7に対してAcidテストをパスしているSafariが勝負を仕掛けるなら大歓迎だ。

当然、Windows版SafariがMac版と同じ仕様・動作を確保しつつ、固有のバグを孕んでいないことが条件だけど。ブラウザチェックの現状を後退させて欲しくない。

Fireworks のbug ?

随分前から気になっていたけどあまり耳にしなかったので未だに「ひょっとして俺だけ?」と思っているバグについて。

Windows XP上でFireworksを立ち上げるとタスクバーの挙動がおかしくなる。
具体的には「タスクバーを自動的に隠す」を有効にしている場合、隠れたタスクバーが隠れたままになって、どれだけマウスを持って行っても表示されない。

はっきり言って困る。けどパッチも何も出ないのはやはり他に例がないのだろうか。

ところで、消えてしまうと思っていたFireworksがImageReadyを抑えて生き延びたのは意外だったけど少し嬉しかった。でも、Photoshopに3D機能をExtendで付けるより、Fireworks的な機能をExtendしてくれた方が皆嬉しかったんじゃないかな

SVN+WebDAV+SSLをポートを分けて設定

SVNリポジトリをwebDAVベースで構築する場合、Apacheのconfを新たに作成する方法を以前にメモしておいたけど、今回は既存のhttpd-ssl.confに記述する方法をメモ。今回の方が合理的な運営ポリーシーだと思う。
更にポートの分離も導入。

構築環境は以下の通り
--------------
FreeBSD 6.2.x
Apache 2.2.x
*SVN、webDAV、SSLは設定済み

リポジトリPath
/home/svn/repos/

URI
https://example.co.jp:10001/
--------------


1.まずListenするポートを記述(30~40行目あたり)
----------------
Listen 10001
----------------

2.<VirtualHost>ディレクティブを加筆
---------------------------------------------
<VirtualHost _default_:10001>
ServerName example.co.jp
DocumentRoot /home/svn/
<Directory "/home/svn/www">
AuthType Basic
AuthUserFile /home/svn/etc/.htpasswd_admin
AuthName "Subversion Authentication"
Require valid-user
AllowOverride None
Order allow,deny
Allow from all
</Directory>

<Location /projectA/plan1>
DAV svn
SVNAutoversioning on
SVNPath /home/svn/projectA/plan1
AuthType Basic
AuthUserFile /home/svn/etc/.htpasswd_admin
AuthName "Subversion Authentication"
Require valid-user
</Location>

SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCertificateFile /usr/local/etc/apache22/server.crt
SSLCertificateKeyFile /usr/local/etc/apache22/server.key


</VirtualHost>
---------------------------------------------
最低限、Basic認証を入れておく。
htpasswdは/home/svn/etc/の中

証明書ファイルは自己証明を生成して
/usr/local/etc/apache22/
以下に設置。


リポジトリが増えたら
----------------------
<Location /projectB/plan1>
DAV svn
SVNAutoversioning on
SVNPath /home/svn/projectB/plan1
AuthType Basic
AuthUserFile /home/svn/etc/.htpasswd_admin
AuthName "Subversion Authentication"
Require valid-user
</Location>
----------------------
を追記
*リポジトリ生成はあらかじめ行う
# mkdir /home/svn/projectB/plan2
# svnadmin create /home/svn/projectB/plan2

黒藤院

新鋭舞踏集団、「黒藤院」の
公式webサイトがリニューアルしたのでお知らせ。

kokutoh-in.png

http://kokutoh-in.jp/

舞踏といえば3,4年前に川崎の岡本太郎美術館で
土方巽の企画展を見た事とがある。
美術館での展覧会なので、パフォーマンスやワークショップは行っていなかったものの、岡本太郎と土方巽と言うマッチングは不思議な魅力だった。

その後、山海塾の方(誰だったかは忘れた)のワークショップに参加した。夕方6時から2時間程度の軽いプログラムだったが、これまた不思議に気持ちよかった。

微妙な因縁を引きずりつつ、このサイトが育っていけばいいと思う。

iTunes Store が全米3位

iTunes StoreがAmazon.comを抜いて全米3位(CNET)の音楽小売店に浮上したのはやはり凄いことだと思う。
WWDCで少しばかり失速したかのように見えたものの、まだまだ飛ぶ鳥を落とす勢いだ。

まだまだwindowsに比べてシェアは小さいものの、今後のOSの動向やiPhone、Safariの活躍次第では地位を逆転させるかもしれない。そうなったら本当に凄い。

ただ、個人的にはAppleがあまりOpenな姿勢で無いところが気になる。確かにSafariのコアはKHTMLをベースとしたOpenSourceだし、OSX自体がBSD由来で、その点だけ見れば積極的にOpenSourceを取り入れているように見える。しかし、KHTMLとは決別(?)してしまったようだし、世界のOpenSourceコミュニティと仲良くやっているようには見えない。


極めつけはマグネット式電源アダプターの特許を独占している。
ひょっとして、かつて自らを追いやったIBM帝国の様な独占市場を虎視眈々と狙っているかも。

RSS + Contuct

  • rss
  • email

Credit

Copyright (C) 2007 kappa-lab.com.
All Rights Reserved.