仮想 x86 環境。
マルチ・プロキシ・サーバ。
グリフウィキ上で多数のデザイナにより開発されているフォント。
マルチプラットホームなフリーのオーディオ編集ソフト。 開発版。
M+ FONTS とさざなみフォントをミックスした後、更に改良した和文フォント。
NTFS 領域を読み書きするための UNIX 系 OS 用ドライバー。
Mac OS X の通常のアプリケーションで Anthy や PRIME を利用できるようにするツール。
RubyCocoa で実装された Mac OS X 向け IRC クライアント。
やっと出たかという感じ。 試してみたいところだが…。
事前に SLIB, iconv をインストールしておくと良い。
$ wget -c http://jaist.dl.sourceforge.net/sourceforge/gauche/Gauche-0.9.tgz $ gzip -cd Gauche-0.9.tgz | tar xvf - $ cd Gauche-0.9/ $ ./configure --enable-multibyte=utf-8 --enable-threads=pthreads $ make && make check $ sudo make install
CFLAGS
などはお好みで。
$ wget -c http://swiss.csail.mit.edu/ftpdir/scm/slib-3b2.zip $ unzip slib-3b2.zip $ cd slib/ $ sudo make infoz $ sudo make install
Cocoa な Gecko 系 web browser。
Macintosh 定番の text editor。
ちょっと余裕があった。 案件初期の忙しい時期が複数重なった少し前に比べれば、なのだが…。
某研究会で話すことに決めた。 当然ネタは持っている。 問題はそれを試す時間があまりない (業務外の自宅での研究ネタ) ことか。 ちなみに、基本的に情報系の研究会で話すつもりはなかったのだが、 共同研究をする際に相手方に「何が専門なの?」みたいな顔をされることが多く、 ちょっとは話しておいた方が良いかなと思うようになったのが、 話すことを決めた理由だ。
「,
」エントリに不具合があったのでパッチを書いた。
詳細については、8/31 の記事を参照のこと。
object-oriented programming を意識して作られた interpreted scripting language。
UNIX 系 OS 上で動く Windows API の実装。 開発版。
TCP 系プロトコルを暗号化する汎用 SSL ラッパー。
軽快・軽量な SQL データベース・エンジン。
GlyphWiki をベースに改良を加えたフォント。
M+ FONTS とさざなみフォントをミックスした後、更に改良した和文フォント。
multi plat-home な message user agent。
Windows 上で使用できる X Window Server。
LAN 用メッセンジャー IP Messenger の Mac OS X 版。
IPA, Konatu, Ume の各フォントを M+ フォントと合わせたフォント群。
今回は UmePlus のみの更新。
CFLAGS
などはお好みで。
$ wget -c http://ftp.gnu.org/gnu/automake/automake-1.11.1.tar.bz2 $ bzcat automake-1.11.1.tar.bz2 | tar xvf - $ cd automake-1.11.1/ $ ./configure $ make && make check $ sudo make install
事前に readline, ncurses をインストールしておくと良い。
$ wget -c http://www.sqlite.org/sqlite-amalgamation-3.6.21.tar.gz $ gzip -cd sqlite-amalgamation-3.6.21.tar.gz | tar xvf - $ cd sqlite-3.6.21/ $ ./configure $ make && make check $ sudo make install
CFLAGS
等はお好みで。
Mac OS X 上で Linux や Windows を動作させる仮想化環境。
Mac OS X 向け SKK 環境。
グラフ図作成ツール。
M+ FONTS とさざなみフォントをミックスした後、更に改良した和文フォント。
QuickTime で Windows Media 系ファイルを扱える様にするコンポーネント。
事前に iconv, gettext, ncurses を入れておくと良い。
$ wget -c http://ftp.gnu.org/gnu/nano/nano-2.2.1.tar.gz $ gzip -cd nano-2.2.1.tar.gz | tar xvf - $ cd nano-2.2.1/ $ ./configure --enable-extra --enable-color --enable-multibuffer --enable-nanorc --enable-utf8 $ make $ sudo make install
CFLAGS
などはお好みで。
M+ FONTS とさざなみフォントをミックスした後、更に改良した和文フォント。
定番の multi platform な web browser。
来年 2/19 発売予定の新作。 9 年振りか…。
動的な web page 作成に向いているスクリプト言語。 メンテナンス・リリース。
仮想 x86 環境。
Windows 上で動く高機能なタブ型 web browser。
Mac OS X 上で MPEG-4 系ムービーを再生可能にする QuickTime プラグイン。
network protocol analyzer。 開発版。
network protocol analyzer。 安定版。
mkbinhmm のバグを修正するパッチを作って ML に投げた。 HCopy の設定ファイルを読み込まなければ発生しない不具合なので、 基本的に気にする必要はないと思う。
テープじゃないけど、 外部ファイルに書き出したソート結果をマージする形のマージ・ソートなら、 今でも大規模コーパスを扱う場合に必要な処理だと思う。 実際、Palmkit では内部的に実装されているし、 他の言語モデリング・ツールでもそれを意識したコマンド構成になっている (ユーザーはそれほど意識せずに済んでいるはずだが) ことがある。
事前に GNU bison, FLEX をインストールしておくと良い。
$ wget -c http://people.csail.mit.edu/ilh/fst/mitfst-1.2.1.zip $ unzip mitfst-1.2.1.zip $ cd mitfst-1.2.1 $ wget -c http://quruli.ivory.ne.jp/download/mitfst-1.2.1.diff.gz $ gzip -cd mitfst-1.2.1.diff.gz | patch -p1 $ make
以上で bin/x86_64-osx/* lib/x86_64-osx/* man/*/* が出来上がる。
今回は x86_64 バイナリで組んでみたが、コード的には非常に怪しく危険なかおりが…。 それと、環境に依存するはずだが、 cstring ヘッダで宣言されている関数の扱いで、とんでもなく苦労するはず。
相変わらず Mac OS X では組み立てられないので、古い Linux 環境 (Pentium3 600MHz…) に入れている。 最近のは OpenFST に対応しているようなので、 x86_64 の速い Linux 環境でいじってみたいところなのだが、自宅にそれっぽいものがない。 残念だ。
もちろん Mac OS X ネイティヴで動かせるようになれば特に悩む必要はなくなるわけだが、 けっこう Linux に依存している箇所がありそうなので、ちょっと厳しい気がする。 最新の WFST 型 decoder はこれくらいしか自由に使えないのに。
補足。 Juicer の WFST の動的合成 (on-the-fly 合成) は、長い期間メンテナンスされておらず、 もしかすると、他機関の WFST 型 decoder に比べ古さを感じる面もあるかもしれない。 内部的に使っている Torch3 も古いものだし…。 このサイトに「Juicer WFST」なんてキーワードで飛んでくる人がけっこういるけど、 メンテナンスがしっかりしている同等かそれ以上の性能の decoder があるなら、 普通、わざわざ Juicer を選択する必要はないと思う。 インストールの難易度が比較的高目なことも考慮すると、 それでも選択するのはよほどの物好きだろう。
事前に libogg, libvorbis, FLAC を入れておくと良い。
$ wget -c http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.21.tar.gz $ gzip -cd libsndfile-1.0.21.tar.gz | tar xvf - $ cd libsndfile-1.0.21/ $ ./configure --disable-alsa $ make && make check $ sudo make install
CFLAGS
などはお好みで。
ちょっと比較してみよう。
- | インストールの容易さ | 機能の多彩さ | 独自性 |
---|---|---|---|
MITLM | Fortran コンパイラや Boost C++ Libraries が必要なので、環境によっては少し厄介。 | modified Kneser-Ney スムーシングなど、基本的な機能は実装されている。 | 各種 interpolation 手法が実装されていることはウリと見てよさそう。 |
SRILM | 普通。VC++ で組み立てるパッチも出回っている。 | modified Kneser-Ney スムーシングを始めとし、非常に多くの機能が実装されている。 | 定番となった今、それほど特別なところはない? |
MITLM は、今後、コードを読み書きできるユーザーが増えていくのであればとても期待できる。 その一方で、今は十分に枯れている SRILM を使う方が無難な気がしている。
Snow Leopard での MITLM のインストールについては、 x86_64 環境用バイナリを公開しているので、 頑張らずにそれを導入しても良いと思う。
ドキュメント通り標準入出力を扱えるように仮の実装を施した。
置き場所は前回と一緒。
←変な動きをする可能性がありそうなので、古いものに戻した。
20110426_mitlm.0.4.tar.xz←新しいものを置いた。
(せっかく隠蔽している FILE*
を晒すってどういうことだ?!)
CFLAGS
などはお好みで。
$ wget -c http://ftp.gnu.org/gnu/global/global-5.7.7.tar.gz $ gzip -cd global-5.7.7.tar.gz | tar xvf - $ cd global-5.7.7/ $ ./configure $ make && make check $ sudo make install
明日・明後日と東京大学で開催される音声言語処理のシンポジウム。 decoder (音声認識エンジン) は T3@東京工業大学 と SOLON@NTT の最新の話題。
HTTP, HTTPS, FTP などに対応したプロキシ・サーバ。
LDAP 処理系の定番実装。
UNIX 系 OS 上で動く Windows API の実装。 開発版。
思ったことを列挙。
音声言語シンポジウムは、今まであまり出席してなかったので、けっこう新鮮だった。
PGP を置き換える完全かつフリーなソフトウェア。
Windows 向け scp, sftp, ftp クライアント。
GNU プロジェクト製のデバッガ。
作者の光成さん御本人の日記から。 メモ。
fmath.hpp provides a fast approximate
exp(x)
offloat x
. The function is is 2~6 times faster thanstd::expf()
of VC10 and 10~50 times faster than that of gcc 4.4 on Core2Duo.
先日の外部ソートの話題の続き。 自宅の計算機で最も大量にメモリを積んでいるもの (MacBook Pro) で 4GB なのだが、 その環境ですら語彙数 32k の 4-gram 言語モデルを作るのに苦労している。 学習コーパスは約 1 億の形態素、約 500 万の文からなる非常に崩れた書き言葉。 カウント N-gram の作成は外部ソートを利用したマージ・ソートのおかげで問題ないのだけれど、 その後、バックオフ係数算出のところでメモリ不足が発生しまともに CPU を使うことができなくなる。
会社の計算機 (一人で占有している Mac Pro) なら 24GB 積んでるので楽にこなせるはずだが、 仕事とは別の自主研究のデータなので会社に持っていくことはもちろん出来ない。 やっぱり早めにメモリを増設 (正確には入れ替え) すべきなのだろうな。 ちなみに今回の処理では 6GB 程度あれば問題がないことが判明している。
関係ないことだけど、僕の頭も常にメモリ不足。
4.1.4 が 12/25 に出る関係で、パッチの適用はそのリリース後まで見送られることになった。
非常に高機能な画像処理ツール。
事前に gettext, iconv, libgpg-error をインストールしておくと良い。
$ wget -c ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.4.5.tar.bz2 $ bzip2 -cd libgcrypt-1.4.5.tar.bz2 | tar xvf - $ cd libgcrypt-1.4.5/ $ ./configure --disable-asm $ make && make check $ sudo make install
CFLAGS
などはお好みで。
環境によっては --disable-asm
は不要。
分散型音声認識で使われる規格の標準実装。
$ unzip es_201108v010103p0.zip $ cd es_201108v010103p0 $ unzip Extraction_Ccode.zip $ unzip Compression_Ccode.zip $ wget -c http://quruli.ivory.ne.jp/download/es_201108v010103p0.diff.gz $ gzip -cd es_201108v010103p0.diff.gz | patch -p1 $ cd Extraction_Ccode $ vim Makefile.gcc
ここで CFLAGS
などを変更する。
$ make -f Makefile.gcc $ cd ../Compression_Ccode $ vim makefile.gcc
ここで CFLAGS
などを変更する。
$ make -f makefile.gcc $ sudo cp coder decoder ../Extraction_Ccode/FrontEnd /usr/local/bin/
LP64 環境用にパッチを用意したが、ILP32 環境なら不要。
初期 BSD ライセンスで使用できる大語彙連続音声認識システム。
私的文書置場で 公開している Julius 4 のソース・コード・ドキュメントを更新した。
object-oriented programming を意識して作られた interpreted scripting language。 メンテナンス・リリース。
事前に iconv, libsndfile, PortAudio を入れておくと良い。
$ wget -c 'http://sourceforge.jp/frs/redir.php?m=iij&f=%2Fjulius%2F45063%2Fjulius-4.1.4.tar.gz' $ gzip -cd julius-4.1.4.tar.gz | tar xvf - $ cd julius-4.1.4/ $ wget -c http://quruli.ivory.ne.jp/download/julius-4.1.4.diff.gz $ gzip -cd julius-4.1.4.diff.gz | patch -p1 $ ./configure --enable-words-int --with-mictype=portaudio --disable-zlib $ make $ sudo make install
CFLAGS
などはお好みで。
Mac OS X 10.6 に関しては、 今回のリリースで正式対応したようにアナウンスされたけど、 コンパイルが通るようになっただけで、 マイク入力を使うために PortAudio が必要なことは変わっていない。
音声入力やファイル入力に関しては、もう、全て外部ライブラリに任せた方が良いような気がする。 無理して単独ソースによる動作を頑張るのは本筋じゃない。
3/10 発売予定の新作。
高機能な動画編集ツール for Windows。 開発版。
分散型音声認識で使われる規格の標準実装。
$ unzip es_202050v010105p0.zip -d es_202050v010105p0 $ cd es_202050v010105p0 $ wget -c http://quruli.ivory.ne.jp/download/es_202050v010105p0.diff.gz $ gzip -cd es_202050v010105p0.diff.gz | patch -p1 $ nkf --overwrite -wd */Linux/config.cfg $ sed -i -r 's|^(CC_OPT_FLAGS.+)$|\1 $(CFLAGS)|' */Linux/config.cfg $ sed -i -r 's|^(LINK_STD_FLAGS.+)$|\1 $(LDFLAGS)|' */Linux/config.cfg $ cd 11KHzProc/Linux/ $ make clean && make $ cd ../../AdvancedFrontEnd/Linux/ $ make clean && make $ cd ../../Coder_Decoder/Linux/ $ make clean && make $ cd ../../DerivCalc/Linux/ $ make clean && make $ cd ../../ $ sudo cp */Linux/bin/* /usr/local/bin/
CFLAGS
, LDFLAGS
はお好みで
(nkf と GNU sed の箇所は、CFLAGS
と LDFLAGS
の調整が不要であれば要らない)。
事前に iconv をインストールしておくと良い。
$ wget -c http://ftp.gnu.org/gnu/libunistring/libunistring-0.9.2.tar.gz $ gzip -cd libunistring-0.9.2.tar.gz | tar xvf - $ cd libunistring-0.9.2/ $ ./configure $ make && make check $ sudo make install
CFLAGS
などはお好みで。
make check で 1 箇所エラーが出た。
百度の文字入力システム。 颯々野さんの blog から。
パッチを更新した。 Mac OS X 10.6 で組み立て可能にしただけ。 Julius 4.1.4 と同様、 Mac OS X 10.6 における Julius 単独でのマイク入力にはまだ対応させていない。 個人的に需要を感じてないので優先度が非常に低い。
Julius と言えば、N/W 越しの認識で Speex を 使うことに需要があるのか知りたいと思っている。 現在、生の LPCM (16kHz, 16bits) を流して認識させているため、 N/W 環境が安定していないと使いものにならないことが予想される。 単に声を認識させるだけならより良い手もあるのだが、 対話の研究者なら、デコードしてちゃんと聞ける音声ログが欲しいはずなので、 人声に特化したコーデックで圧縮して音声を流すことに意味があると想像している。
GNU プロジェクトの標準 C ライブラリ。
大晦日なので 2009 年を振り返ってみる。
今年は仕事で特に良い変化があった。 後述する健康の回復が夏に、また職場環境の改善が秋にあり、 10 月以降は十分に作業効率が良かった 4〜9 月 以上の作業効率となった。 疲れがたまり少々体調を崩した 12 月の初めを除けば、かなり理想に近いレベルに到達できた。
健康面では、長く苦しんでいた頭痛がかなり落ち着いてきて、日々の生活が楽になった。 きっかけは夏に親不知を抜歯したことで、その後、 頭痛の原因だった顎関節のズレが少しずつだが治ってきた。 まだまだ完全じゃないが、以前に比べればかなり良くなった。
悪いことは特にない。 あえて言うとすれば、仕事で不満が出てきたことか。 よりレベルの高い環境に身を置きたい、そんな願望が強くなってきた。 今の所属企業は人材に逃げられる危険を軽視し過ぎているので、 まあ、こんなこと考えているなんてなかなか気付かれないのかもしれないが。
定番の Intrusion Detection System。
Linux 使いのメンテナしかいないのか、 環境依存の不具合、どうもちゃんと対応していく気がないように見える。 この分だと、次のバージョンもパッチが必要になるだろう。
2.6.1 が出たけど、予想通りパッチが必要になった。 気が向いたら用意しよう。
しかし…、理由は分からないけど、慌ててリリースしたように見えるな。
CFLAGS
はお好みで。
$ wget -c http://hp.vector.co.jp/authors/VA025040/ctags/downloads/ctags-5.8j1.tar.gz $ gzip -cd ctags-5.8j1.tar.gz | tar xvf - $ cd ctags-5.8/ $ ./configure --enable-etags $ make $ sudo make install $ sudo ln -sf /usr/local/bin/ctags /usr/local/bin/etags
C, C++, Java などのソース・コードに対応したドキュメント生成ツール。
事前に Graphviz と iconv をインストールしておくと良い。
$ wget -c ftp://ftp.stack.nl/pub/users/dimitri/doxygen-1.6.2.src.tar.gz $ gzip -cd doxygen-1.6.2.src.tar.gz | tar xvf - $ cd doxygen-1.6.2/ $ ./configure --platform macosx-c++ $ vim tmake/lib/macosx-c++/tmake.conf
ここで GCC, G++ のフラグなどを変更する。
$ make $ sudo make install