Ir para conteúdo
Fórum Script Brasil
  • 0

Funções por comando de voz!


Guilherme Caique

Pergunta

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 para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...