[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: OSSプログラミング



井上です。

Takuya Nishimoto <nishi@...> writes:

> ところが、再起動すると、出力する音が断続的に欠落するようになり、
> 「こんにちはこれからキーボードの入力練習を始めます」が
> 「こんにちはこれ・を始めます」のような鳴り方になるのです。
> しかし sndconfig を実行し直せば、この障害は解消されます。

なんででしょうね。
予想としては、sndconfigを実行するとモジュールを組み込み直すので、初期
化のタイミングが起動時とは違うのではないかという気がします。
/etc/conf.modules (?) の記述とinsmod, rmmodのmanを参考にされて、サウン
ドドライバを組み込み直すとどうなるでしょう?

> これはドライバの初期化の問題かなとも思うのですが、
> このような経験をされたことはありますか?

私の場合は以前音声発声の最後が2回繰り返されるとか、逆に最後だけ発声さ
れないとかありましたが、上記のようなのは経験していません。

> 商用版の OSS や ALSA を導入すれば解決するのか、

商用番を導入しても元に戻すのは難しくないので、やってみてもよいかも知れ
ませんね。

> ioctl(audio_fd, SNDCTL_DSP_SYNC, 0)
> を使わないで、
> ioctl(audio_fd, SNDCTL_DSP_RESET, 0)
> を使えばバッファのキャンセルができるのでは?

学会発表後にいじった最新のスピーチサーバではこれを使っています。
もっと早く読めばよかったのですが。

> 私もあとで試してみます。

非常に瞬時に止まるのでよいです。

私のソースですが、全く進歩していません。
コメントなし、構造化の汚さをいとわなければ、以下に渡辺さんにお渡しした
ものがあると思います。
http://www.argv.org/~inoue/tmp/spc-0.2.tar.gz

これをdocument talker for Linuxのsample ディレクトリのsyntestなどと同
じ高さに解答し、
spcsrv.hの辞書パスの定義を変更してmakeしなおしてください。
./ss1ですぐにreadyと出れば機動性項です。

q{I like emacs}
d
とやるとしゃべると思います。
入力はsjisです。
nkf -u -s | ./ss1
などとやると遊べます。
しゃべっているときに
s
で即時停止します。

なお、ソースに興味がある場合にとどめてください。まだ人様に見せられる状
態ではありません。

-- 
                    Koichi Inoue, ARGV
                    E-Mail: inoue@...