Android 音声解析 Julius

※2012/11/4 時点
AndroidでJuliusを使うのに何かいい方法が無いかと探していたら、
https://github.com/tech-sketch/JuliusForAndroid
にサンプルアプリケーションを上げてくださっている方がいました。
まずはサンプルを動かして見ます。
注意事項等は上記URLのREADMEを参照

環境
Mac OS X Lion 10.7.5
Android Version 2.3.3
Android API 10
Android NDK r8b


まずはSDKとNDKの準備
Homebrewでインストールしました。

brew install android-sdk
brew install android-ndk

Android SDK Manager を起動して利用したいAPIをダウンロードします。
自分の場合はとりあえず、すべて突っ込みました。

Android SDK Managerの起動

android

gitからサンプルのダウンロード
今回は%Home下に作業用のフォルダjuliusフォルダを作成して作業を行います。

mkdir ~/julius
cd ~/julius
git clone git://github.com/tech-sketch/JuliusForAndroid.git

音声解析に利用する辞書と、コンフィグファイルを実行させたいAndroidバイスの外部ストレージ(sdcard等)にコピーする
~/julius/JuliusForAndroid/sdcard/ ディレクトリ以下にある juliusフォルダごとコピー


android_build.shを書き換える
2行目のTARGET_DIR と 3行目のNDK_ROOTを変更する ※パスについては自分の環境にあわせて読み替えてください。

vi ~/julius/JuliusForAndroid/julius-4.2.2/android_build.sh

export TARGET_DIR="$HOME/julius/JuliusForAndroid/jni" #コンパイル先を指定
export NDK_ROOT="/usr/local/Cellar/android-ndk/r8b" #NDKのパスを指定 

android_build.shを実行する

cd ~/julius/JuliusForAndroid/julius-4.2.2/
./android_build.sh

ndk_buildを実行する

cd ~/julius/JuliusForAndroid/jni/
ndk-build

apkを作成する
コマンドラインでのAndroidビルドはココを参考にした。
http://blog.livedoor.jp/baradagi/archives/66761125.html
今回はdebugモードでコンパイルする
変換対象のIDがわからない場合は list targetで確認する
今回の自分が構築予定のターゲットAPIは2.3.3なのでIDは8でした

android list target

updateコマンドでbuild.xmlを生成する

cd ~/julius
android update project -p ./JuliusForAndroid -t 8

デバッグモードでビルド

cd ~/julius/JuliusForAndroid
ant debug

apkファイルが以下に作成されると思われる。
~/julius/JuliusForAndroid/bin/JuliusActivity-debug.apk
apkを本体にインストールして実行する
adbでインストールするのが早いかな?以下のサイトを参考
http://www.ytsuboi.org/wp/archives/747
USB接続をデバッグモードに変更しておくのを忘れて、少し詰まってしまった。
AndroidバイスをUSBでPC本体と接続する
接続されているかどうかはdevicesコマンドで確認

adb devices

本体にインストール

adb install ~/julius/JuliusForAndroid/bin/JuliusActivity-debug.apk 

インストール完了後ソフト起動して、サンプルアプリが起動したら完了。

さてと、次のステップは辞書の構築か、アプリ作成か...
まずは辞書の構築かな。

Linux Backup

Mondoを利用する
こことか他のも参考にするところはあったけど 今回は自分用のメモだけ
http://d.hatena.ne.jp/nayutaya/20090204/1233735588

wget http://mondorescue.linjection.org/ftp/rhel/4/mindi-1.2.1-1.rhel4.x86_64.rpm
wget http://mondorescue.linjection.org/ftp/rhel/4/mindi-1.2.1-1.rhel4.x86_64.rpm
wget http://mondorescue.linjection.org/ftp/rhel/4/afio-2.4.7-1.x86_64.rpm
yum -y install mondo
mondoarchive -Oi -g -s 4g -d /
var/cache/mindi/mondorescue.iso

rootから全てBuckUpする. このコマンドを使用するのは最初のみで完全リカバリディスクとして作成
今後は別コマンドで差分BuckUpなど行なっていく。
そうじゃないと非効率的だから。

Watir

Googleの翻訳APIが使えなくなってたのとWatirをちょっと使ってみたかったので強引に翻訳するものを書いた。

require "uri"
require "watir-webdriver"
require "hpricot"

str = URI.encode(ARGV[0])
browser = Watir::Browser.new :chrome
browser.goto("http://translate.google.co.jp/?hl=ja&tab=wT#ja|en|#{str}")
browser.wait
html = browser.html
browser.close
doc = Hpricot(html)
puts doc.search('span#result_box.short_text').text
# ruby jp-en.rb 日本語
Japanese

スピーカー Porch MS-F2

親がCDプレイヤーをイヤホン無しで聞きたいって言うから探してきてMS-F2が安かったので買ってきた。
http://www.amazon.co.jp/JESTTAX-%E3%83%9D%E3%83%BC%E3%83%81%E4%B8%80%E4%BD%93%E5%9E%8B-%E3%83%A2%E3%83%8E%E3%83%A9%E3%83%AB%E3%82%B9%E3%83%94%E3%83%BC%E3%82%AB%E3%83%BC-MS-F2-PK/dp/B004IEBL9I
イヤホンジャックに挿して使うスピーカーはあるんだけど、家にあるのは電源供給が必要で今回は必要ないものを選んだ。
値段も値段だからそこまで期待はしてなかったけど、少し残念な感じになった。
音質は元のファイルとかによるだろうけど、音量の調節がMS-F2で調節できないから使用する機器によっては音が小さすぎて聞くのが大変なものもある。
USB電源供給のとか充電式のものだと音を大きくすることができるけど、購入したこれはできないのでそこが残念です。
ちゃんと小型スピーカーにはなるので寝るときに枕元で鳴らしたい時とかには便利かも

Joysound Dive 試してみた

PS3でカラオケが出来ると聞いたのでお試し期間中に試してみた!
先に簡単な感想を言っておくと、聞こえてくる声が遅延して届くので歌いにくかった。
軽く遊ぶ程度ならいいと思うけど、現状では本格的に歌いたいならカラオケのほうがいいと思った。

マイクは防音エコーマイク エコーミュート GS-220MUを購入して試してみた
http://www2.parkscinema.com/ticket/p0020.do?th=0101&sd=20111206
使ってみた感想としては普通に歌うより防音になるけど、隣の家との壁が薄いなら気になるかな?って感じ。
座布団とかを口に当てて歌ってるような感じになるかな。
俺の使い方が悪いのかわからないけど、篭ってるような声になった。
マイク自体にエコーとかあるのでそれは良かったと思う。

ただ、このマイクはそのままじゃPS3では利用できないのでUSBに変換ケーブルを購入
iBUFFALO Arvel USBオーディオ変換ケーブル ボリューム付 0.2M HAMU02BK
http://www.amazon.co.jp/gp/product/B000F9RJBE
もっと安く売ってるものもあるのでそれで試すのもありかも。
ヘッドフォンもついでに接続したけど、カラオケの音楽は流れて来なかった(PS3の設定を変えればいける?)
音楽はテレビに直接ヘッドフォンをさして聞いた。

リプレイ機能や採点機能はいいなと思ったけど、連続して何曲か歌うとフリーズするのはどうかと思う。
無料の期間だから利用してるけど、遅延やフリーズなどの問題点を改善してくれないと有料化してからは利用することはない。
まだ無料な期間が続くので引き続き試してみる。

Mac ダウンロードファイル 警告ダイアログ 無効化

インターネットからのダウンロードファイルを開くたびに毎回警告ダイアログ出て邪魔なので無効化する
ただ、セキュリティ勧告をスルーすることになるので注意が必要
ターミナルで以下を入力
defaults write com.apple.LaunchServices LSQuarantine -boolean false
Finder再起動
killall Finder
元に戻す場合
defaults delete com.apple.LaunchServices LSQuarantine