こんにちは。
現在、C,C++で音声認識を行っている者です。音声認識といっても、一から作るのではなく、Microsoft Speech SDK 5.1 を使ってそれをいじっていく感じです。
今、Microsoft Speech SDK 5.1 を用いて、プログラムで音声入力内容を復唱させるようにしたいと考えています。システムの流れとしては
1.音声入力
2.テキストファイルに出力
3.出力されたテキストファイルを音声読み上げソフトで読み上げさせる
のような全体像を考えています。
そこで質問です。
1.音声入力内容をテキストファイルに出力する方法
2.出力されたテキストファイルを自動で音声読み上げソフトに渡す方法
音声読み上げソフト側でも何かしなければならないと思うのですが、現時点ではソフトの導入もしていないので何ともいえません。そこで、何か参考になりそうなURLを提示していただけたら幸いです。(googleで"音声読み上げ C言語”で検索してもヒントとなるようなサイトが見つからなかったため)
OS:Windows XP
私自身、C言語の基本的なことは分かるのですが、C++でこのようなプログラムは初めてです。
分かりづらいかもしれませんが、回答よろしくお願いします。
念のため添付ファイルとして、Microsoft Speech SDK 5.1 のサンプルプログラムを添付いたしました。
C,C++で音声認識
Re:C,C++で音声認識
コマンドライン引数の指定で読み上げられる soktalk が良いのではないでしょうか?
(1. については Microsoft Speech SDK を触ったことも無いので答えようがありませんので、他の方からの回答をお待ち下さい)
(1. については Microsoft Speech SDK を触ったことも無いので答えようがありませんので、他の方からの回答をお待ち下さい)
Re:C,C++で音声認識
回答ありがとうございます。Googleでsoktalkと検索しましたが、それらしきソフトはありませんでした。
もしかして、softalkのことでしょうか。
1についてですが、自分でも質問内容が複雑な気がしてきました。
サンプルプログラム内の音声認識を行って、文字列に変換したあたりをいじればなんとなくできそうな気はするのですが・・・。
もしかして、softalkのことでしょうか。
1についてですが、自分でも質問内容が複雑な気がしてきました。
サンプルプログラム内の音声認識を行って、文字列に変換したあたりをいじればなんとなくできそうな気はするのですが・・・。
Re:C,C++で音声認識
ソースコードから想像すると、case SPEI_RECOGNITION: の辺りで認識させているようです。
dstrTextはW2Tでwchar_t*に変換しているのだと思いますので、
そこでテキストファイルに書き込んでみてはいかがでしょうか。
dstrTextはW2Tでwchar_t*に変換しているのだと思いますので、
そこでテキストファイルに書き込んでみてはいかがでしょうか。
Re:C,C++で音声認識
たいちう様へ
分かりました。テキストファイルへの出力の方法ですが、
fout.open ("filename.txt", ios::out);
if (!fout)
return -1; // ファイルオープンエラーの時
fout.close();
このような文を組み込めばよろしいでしょうか。
分かりました。テキストファイルへの出力の方法ですが、
fout.open ("filename.txt", ios::out);
if (!fout)
return -1; // ファイルオープンエラーの時
fout.close();
このような文を組み込めばよろしいでしょうか。
Re:C,C++で音声認識
何がわかったでしょうか?
私は憶測で言っているのですよ。
試行錯誤のヒントを書いたつもりです。
> fout.open ("filename.txt", ios::out);
> if (!fout)
> return -1; // ファイルオープンエラーの時
> fout.close();
>
> このような文を組み込めばよろしいでしょうか。
「このような」の範囲にもよります。
失礼ですが、"Hello, world!"と、テキストファイルに
出力するプログラムは書けますか?
私は憶測で言っているのですよ。
試行錯誤のヒントを書いたつもりです。
> fout.open ("filename.txt", ios::out);
> if (!fout)
> return -1; // ファイルオープンエラーの時
> fout.close();
>
> このような文を組み込めばよろしいでしょうか。
「このような」の範囲にもよります。
失礼ですが、"Hello, world!"と、テキストファイルに
出力するプログラムは書けますか?
Re:C,C++で音声認識
>何がわかったでしょうか?
言葉が足りませんでした、申し訳ありません。
「分かりました、試してみます」という意味で「分かりました」と言いました。
>礼ですが、"Hello, world!"と、テキストファイルに
>出力するプログラムは書けますか?
あえてC++らしく書くなら下のようになると思います。
**************************
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world." << endl;
return 0;
}
**************************
C言語と同じ方法で表示させるなら、下のようになると思います。
**************************
#include <stdio.h>
int main()
{
printf("Hello World\n");
return 0;
}
**************************
言葉が足りませんでした、申し訳ありません。
「分かりました、試してみます」という意味で「分かりました」と言いました。
>礼ですが、"Hello, world!"と、テキストファイルに
>出力するプログラムは書けますか?
あえてC++らしく書くなら下のようになると思います。
**************************
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world." << endl;
return 0;
}
**************************
C言語と同じ方法で表示させるなら、下のようになると思います。
**************************
#include <stdio.h>
int main()
{
printf("Hello World\n");
return 0;
}
**************************
Re:C,C++で音声認識
これらはコンソールに表示する方法で、テキストファイル出力じゃないですよ。
>cout << "Hello world." << endl;
>printf("Hello World\n");
まず、基本的なプログミングの勉強をされた方が良いと思いますが。
>cout << "Hello world." << endl;
>printf("Hello World\n");
まず、基本的なプログミングの勉強をされた方が良いと思いますが。
Re:C,C++で音声認識
softya様
回答ありがとうございます。
>これらはコンソールに表示する方法で、テキストファイル出力じゃないですよ。
質問内容を勘違いしてコンソールに表示する方を書いてしまいました。
>まず、基本的なプログミングの勉強をされた方が良いと思いますが。
そうしたいと思います。
回答ありがとうございます。
>これらはコンソールに表示する方法で、テキストファイル出力じゃないですよ。
質問内容を勘違いしてコンソールに表示する方を書いてしまいました。
>まず、基本的なプログミングの勉強をされた方が良いと思いますが。
そうしたいと思います。