SSPに置ける音声入力プラグイン(MicCom)の機能をMac上で実現出来ないか考えてみる。

道具立て

  • JuliusをOS Xでビルド、実行するのは可能らしい
    configureでmic API type : no (no support)なんて言われる。そのままじゃ内蔵マイク使えないみたい。
    $ ./configure
    creating cache ./config.cache
    checking host system type... powerpc-apple-darwin
    checking host specific optimization flag... no
    checking for gcc... gcc
    checking whether the C compiler (gcc  ) works... yes
    checking whether the C compiler (gcc  ) is a cross-compiler... no
    checking whether we are using GNU C... yes
    checking whether gcc accepts -g... yes
    checking how to run the C preprocessor... gcc -E
    checking for a BSD compatible install... /usr/bin/install -c
    checking for rm... /bin/rm
    updating cache ./config.cache
    creating ./config.status
    creating Makefile
    creating mkbingram/Makefile
    creating mkbinhmm/Makefile
    creating adinrec/Makefile
    creating adintool/Makefile
    creating mkss/Makefile
    configuring in mkgshmm
    running /bin/sh ./configure  --cache-file=.././config.cache --srcdir=.
    loading cache .././config.cache
    checking for a BSD compatible install... (cached) /usr/bin/install -c
    checking for rm... (cached) /bin/rm
    checking for perl... /usr/bin/perl
    updating cache .././config.cache
    creating ./config.status
    creating Makefile
    creating mkgshmm
    configuring in gramtools
    running /bin/sh ./configure  --cache-file=.././config.cache --srcdir=.
    loading cache .././config.cache
    checking for gcc... (cached) gcc
    checking whether the C compiler (gcc  ) works... yes
    checking whether the C compiler (gcc  ) is a cross-compiler... no
    checking whether we are using GNU C... (cached) yes
    checking whether gcc accepts -g... (cached) yes
    checking how to run the C preprocessor... (cached) gcc -E
    checking for a BSD compatible install... (cached) /usr/bin/install -c
    checking for rm... (cached) /bin/rm
    checking for perl... (cached) /usr/bin/perl
    checking for bison... /usr/bin/bison
    checking for flex... /usr/bin/flex
    checking for iconv... /sw/bin/iconv
    checking for Jcode module in perl... Can't locate Jcode.pm in @INC (@INC contains: /sw/lib/perl5 /sw/lib/perl5/darwin /System/Library/Perl/5.8.1/darwin-thread-multi-2level /System/Library/Perl/5.8.1 /Library/Perl/5.8.1/darwin-thread-multi-2level /Library/Perl/5.8.1 /Library/Perl /Network/Library/Perl/5.8.1/darwin-thread-multi-2level /Network/Library/Perl/5.8.1 /Network/Library/Perl .) at -e line 1. 
    BEGIN failed--compilation aborted at -e line 1. 
    yes
    checking for readline/readline.h... no
    updating cache .././config.cache
    creating ./config.status
    creating Makefile
    creating mkdfa/Makefile
    creating mkdfa/mkdfa.pl
    creating mkdfa/mkfa-1.44-flex/Makefile
    creating generate/Makefile
    creating accept_check/Makefile
    creating nextword/Makefile
    creating yomi2voca/Makefile
    creating yomi2voca/yomi2voca.pl
    creating gram2sapixml/Makefile
    creating gram2sapixml/gram2sapixml.pl
    configuring in jcontrol
    running /bin/sh ./configure  --cache-file=.././config.cache --srcdir=.
    loading cache .././config.cache
    checking for gcc... (cached) gcc
    checking whether the C compiler (gcc  ) works... yes
    checking whether the C compiler (gcc  ) is a cross-compiler... no
    checking whether we are using GNU C... (cached) yes
    checking whether gcc accepts -g... (cached) yes
    checking how to run the C preprocessor... (cached) gcc -E
    checking for a BSD compatible install... (cached) /usr/bin/install -c
    checking for rm... (cached) /bin/rm
    checking for gethostbyname... yes
    checking for connect... yes
    updating cache .././config.cache
    creating ./config.status
    creating Makefile
    configuring in julius
    running /bin/sh ./configure  --cache-file=.././config.cache --srcdir=.
    loading cache .././config.cache
    checking host system type... powerpc-apple-darwin
    checking host-specific optimization flag... no
    checking for gcc... (cached) gcc
    checking whether the C compiler (gcc  ) works... yes
    checking whether the C compiler (gcc  ) is a cross-compiler... no
    checking whether we are using GNU C... (cached) yes
    checking whether gcc accepts -g... (cached) yes
    checking how to run the C preprocessor... (cached) gcc -E
    checking for a BSD compatible install... (cached) /usr/bin/install -c
    checking for rm... (cached) /bin/rm
    checking for ANSI C header files... yes
    checking for working const... yes
    checking return type of signal handlers... void
    updating cache .././config.cache
    creating ./config.status
    creating Makefile
    creating config.h
    configuring in libsent
    running /bin/sh ./configure  --cache-file=.././config.cache --srcdir=.
    loading cache .././config.cache
    checking host system type... powerpc-apple-darwin
    checking host specific optimization flag... no
    checking for gcc... (cached) gcc
    checking whether the C compiler (gcc  ) works... yes
    checking whether the C compiler (gcc  ) is a cross-compiler... no
    checking whether we are using GNU C... (cached) yes
    checking whether gcc accepts -g... (cached) yes
    checking how to run the C preprocessor... (cached) gcc -E
    checking for rm... (cached) /bin/rm
    checking for ar... /usr/bin/ar
    checking for ranlib... ranlib
    checking for ANSI C header files... (cached) yes
    checking for unistd.h... yes
    checking whether byte ordering is bigendian... yes
    checking for working const... (cached) yes
    checking for socklen_t... yes
    checking for gethostbyname... (cached) yes
    checking for connect... (cached) yes
    checking for microphone type... no
    checking for DatLink/NetAudio support... no
    checking for gzip... found
    checking for POSIX thread library in -lpthread... yes
    checking for sf_open in -lsndfile... no
    checking for sf_open_read in -lsndfile... no
    configure: warning: libsndfile enables AIFF AU SND NIST reading.
    It's available at http://www.zip.com.au/~erikd/libsndfile/
    updating cache .././config.cache
    creating ./config.status
    creating Makefile
    creating libsent-config
    creating include/sent/config.h 
    ****************************************************************
    Julius/Julian libsent library rev.3.4.2-multipath:
    
            mic API type    : no (no support)
            NetAudio support: no
    readable wavefile format: RAW and WAV only
            use POSIX thread: yes
        class N-gram support: yes
       fork on adinnet input: no
    
     Note: "libsent-config" in sentlib dir keeps required compile flags.
           When using this library, please add'
           "libsent-config --cflags" to CFLAGS and
           "libsent-config --libs" to LIBS.
    ****************************************************************
  • 偽林檎にはソケットSSTPでのNOTIFY SSTP/1.0が受け取れる

考えられる実装

  • JuliusのOS Xビルドと専用ツールを用意
  • 専用ツールで、Juliusの認識結果をlocalhost:9801に向けてNOTIFY SSTP/1.0で送信してやればよい。
    'OnMicCommunicate'
    Ref0: 'MicCom'
    Ref1: 入力文
    Ref2: 入力文(単語を半角空白で区切る)
  • ツール側でいったん命令を録音し、一時ファイルに保存してJuliusに渡せばマイクがno supportでも出来そう。

コメント



トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-12-09 (土) 22:53:06