J'utilise avec succès la partie de reconnaissance vocale .NET dans mon application C# pour des choses de base. En plus de cela, est-il possible d'enregistrer l'audio qu'il capte à l'intérieur de mon application en parallèle avec mon application le reconnais- sant. Je veux l'enregistrer pour une date ultérieure afin que je puisse l'analyser. Voulez-vous créer un thread distinct, puis mettre des enregistrements audio .NET lorsque je parle dans le microphone? Je veux seulement les enregistrer dans un répertoire local, au format .wav. Un enregistrement facile comme 48khz et 16 bits. J'utilise une application de forme normale, et c'est le type de code de la parole que j'ai maintenant juste pour vous donner une idée.enregistrer des données audio tout en utilisant la reconnaissance vocale?
using System.Speech.Recognition;
//then inside the class and namespace I have
public partial class Form1 : Form
{
SpeechRecognitionEngine _recognizer = new SpeechRecognitionEngine();
//declared variables here
//now I initialize
public Form1()
{
InitializeComponent();
_recognizer.SetInputToDefaultAudioDevice();
_recognizer.LoadGrammar(new Grammar(new GrammarBuilder(new Choices(File.ReadAllLines(@"Commands.txt")))));
_recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(_recognizer_SpeechRecognized);
_recognizer.RecognizeAsync(RecognizeMode.Multiple);
systemOnline();
}
void _recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
string time = now.GetDateTimeFormats('t')[0];
int ranNum;
string speech = e.Result.Text;
switch (speech)
{
//Open Google
case "Google":
//code opens google in default browser
il semble qu'il l'enregistre déjà en mémoire, donc tout ce que vous auriez à faire est de l'envoyer à l'emplacement de la mémoire au fichier avant qu'il ne libère cet enregistrement de l'application. Je pense. – Malachi