Jump to content
Fórum Script Brasil
  • 0

Funções por comando de voz!


Guilherme Caique

Question

Olá pessoal!

Sou novo aqui no fórum e gostaria de saber se teria alguma forma de emular áudio através do C++, igual ao Windows Narrator que digitamos uma frase em uma input e logo em seguida o próprio sistema é capaz de reconhecer cada letra de cada palavra e é capaz de emula-lo através do dispositivo de saída de áudio.

Por exemplo, ao enviar uma mensagem ao ecrã do usuário (seja pelo console de saída "Cout" ou por qualquer outro) o computador fosse capaz de ler o que foi imprimido na tela do usuário e além de imprimir no ecrã, emular também no dispositivo de saída de áudio.

Teria alguma maneira de fazer, sei lá, através de uma API de áudio do Windows ou de uma biblioteca especifica? Ou ainda isso que estou pedindo está muito distante de nossas possibilidades?

Att.

Guilherme Caique.

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0
Olá pessoal!

Sou novo aqui no fórum e gostaria de saber se teria alguma forma de emular áudio através do C++, igual ao Windows Narrator que digitamos uma frase em uma input e logo em seguida o próprio sistema é capaz de reconhecer cada letra de cada palavra e é capaz de emula-lo através do dispositivo de saída de áudio.

Por exemplo, ao enviar uma mensagem ao ecrã do usuário (seja pelo console de saída "Cout" ou por qualquer outro) o computador fosse capaz de ler o que foi imprimido na tela do usuário e além de imprimir no ecrã, emular também no dispositivo de saída de áudio.

Teria alguma maneira de fazer, sei lá, através de uma API de áudio do Windows ou de uma biblioteca especifica? Ou ainda isso que estou pedindo está muito distante de nossas possibilidades?

Att.

Guilherme Caique.

Tente usar Microsoft Speech API (SAPI).

SAPI

stdafx.h

#define _ATL_APARTMENT_THREADED

#include <atlbase.h>
//You may derive a class from CComModule and use it if you want to override something,
//but do not change the name of _Module
extern CComModule _Module;
#include <atlcom.h>
main.cpp
#include "stdafx.h"
#include <sapi.h>

int main(int argc, char* argv[])
{
    ISpVoice * pVoice = NULL;

    if (FAILED(::CoInitialize(NULL)))
        return FALSE;

    HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice);
    if( SUCCEEDED( hr ) )
    {
        hr = pVoice->Speak(L"Hello world", 0, NULL);
        pVoice->Release();
        pVoice = NULL;
    }

    ::CoUninitialize();
    return TRUE;
}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.6k
×
×
  • Create New...