C,C++で音声認識

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
てと

C,C++で音声認識

#1

投稿記事 by てと » 15年前

こんにちは。

現在、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 のサンプルプログラムを添付いたしました。

御津凪

Re:C,C++で音声認識

#2

投稿記事 by 御津凪 » 15年前

コマンドライン引数の指定で読み上げられる soktalk が良いのではないでしょうか?

(1. については Microsoft Speech SDK を触ったことも無いので答えようがありませんので、他の方からの回答をお待ち下さい)

てと

Re:C,C++で音声認識

#3

投稿記事 by てと » 15年前

回答ありがとうございます。Googleでsoktalkと検索しましたが、それらしきソフトはありませんでした。
もしかして、softalkのことでしょうか。

1についてですが、自分でも質問内容が複雑な気がしてきました。
サンプルプログラム内の音声認識を行って、文字列に変換したあたりをいじればなんとなくできそうな気はするのですが・・・。

たいちう

Re:C,C++で音声認識

#4

投稿記事 by たいちう » 15年前

ソースコードから想像すると、case SPEI_RECOGNITION: の辺りで認識させているようです。
dstrTextはW2Tでwchar_t*に変換しているのだと思いますので、
そこでテキストファイルに書き込んでみてはいかがでしょうか。

御津凪

Re:C,C++で音声認識

#5

投稿記事 by 御津凪 » 15年前

> もしかして、softalkのことでしょうか。

打ち間違いでした。すみません。
softalk で合ってます。

てと

Re:C,C++で音声認識

#6

投稿記事 by てと » 15年前

たいちう様へ

分かりました。テキストファイルへの出力の方法ですが、

fout.open ("filename.txt", ios::out);
if (!fout)
return -1; // ファイルオープンエラーの時
fout.close();

このような文を組み込めばよろしいでしょうか。

たいちう

Re:C,C++で音声認識

#7

投稿記事 by たいちう » 15年前

何がわかったでしょうか?
私は憶測で言っているのですよ。
試行錯誤のヒントを書いたつもりです。

> fout.open ("filename.txt", ios::out);
> if (!fout)
> return -1; // ファイルオープンエラーの時
> fout.close();
>
> このような文を組み込めばよろしいでしょうか。

「このような」の範囲にもよります。
失礼ですが、"Hello, world!"と、テキストファイルに
出力するプログラムは書けますか?

てと

Re:C,C++で音声認識

#8

投稿記事 by てと » 15年前

>何がわかったでしょうか?

言葉が足りませんでした、申し訳ありません。
「分かりました、試してみます」という意味で「分かりました」と言いました。

>礼ですが、"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;
}

**************************

softya

Re:C,C++で音声認識

#9

投稿記事 by softya » 15年前

これらはコンソールに表示する方法で、テキストファイル出力じゃないですよ。
>cout << "Hello world." << endl;
>printf("Hello World\n");

まず、基本的なプログミングの勉強をされた方が良いと思いますが。

てと

Re:C,C++で音声認識

#10

投稿記事 by てと » 15年前

softya様
回答ありがとうございます。

>これらはコンソールに表示する方法で、テキストファイル出力じゃないですよ。
 質問内容を勘違いしてコンソールに表示する方を書いてしまいました。

>まず、基本的なプログミングの勉強をされた方が良いと思いますが。
 そうしたいと思います。

閉鎖

“C言語何でも質問掲示板” へ戻る