久々に configatron gem を触る機会があったのでまとめてみた

以前から、configatron gemを使う場合、未定義のパラメータにアクセスした際の戻り値などに気をつけないといけない点があったので、まとめてみた

require 'configatron'

configatron.email = 'me@example.com'
configatron.database_url = "postgres://localhost/mack_framework_rocks"

configatron.email
=> 'me@example.com'
configatron.database_url
=> "postgres://localhost/mack_framework_rocks"

configatron.undefined        # 未定義の項目
=>                           # 空っぽいのなにかが出力される
configatron.undefined == nil # nil ではない
=> false
configatron.undefined.nil?   # でも nil? には反応出来る
=> true
configatron.undefined.class  # 正体
=> Configatron::Store

というわけで、引き続き configatron gem を使う場合は、定義済みのパラメータ名のtypoに気をつけて使う必要があるらしい

なお、この挙動は configatron の spec を見る限り仕様らしい
https://github.com/markbates/configatron/blob/master/spec/lib/configatron_spec.rb#L10

Lion に Juliusをインストールして試してみた

少しちゃんと動作するまでに苦労したのでメモとして残す

↓落ちた落とし穴

$ env CFLAGS=-03 ./configure --enable-words-int --with-mictype=portaudio
$ make
$ make install

dictation-kit-v4.0.tar.gz を展開したディレクトリに移動して

$ julius -C ./fast.jconf -charconv EUC-JP UTF-8
....
<<< please speak >>>
pass1_best:  こんにちは 。
sentence1:  こんにちは 。

<<< please speak >>> が表示されてマイクに向かってしゃべってみる。
ほぼリアルタイムに音声を拾ってくれるはず。
もし、画面になにも表示されないようなら、 環境設定 > サウンド の 入力タブ を確認してみる

最後に、困ったら ディクテーションキットを展開した中にある INSTALL.txt / HOWTO.txt / TROUBLE.txt あたりを読んでみるのも良いかも

特に、TROUBLE.txt の "録音は正しく行われていますか?" あたりは役に立った

1) 録音は正しく行われていますか?

    付属のツール "adinrec" で音声をファイルに録音できます.これを使っ
    て録音できているかチェックしてください.

    % adinrec foo.raw