GARANTIR DESCONTO

Fórum Lendo números por extenso #205479

09/01/2004

0

Olá amigos ...

Me lembro de 2 anos atraz, quando encontrei uma
rotina que escrevia um número por extenso ....
em que se digitava 123,00 e em label era exibido
Cento e vinte três reais.

Será que alguém conhece uma rotina ou componente, que leia números
por extenso ...

Se não, será que existe alguém disposto a criá-la ...

Algo do tipo:
Gravar em arquivos *.wav, com a pronúncia de todos:
Unidades: (Um.wav, dois.wav, Três.wav ... Nove.wav)
Dezenas : (Dez.wav, Vinte.wav, Trinta.wav ... )
Centenas .....

E Na hora de juntar as partes, como é feito com a rotina que escreve um extenso...
Reproduzir os arquivos em ordem ... Formando assim a pronúncia do número ...

Tenho certeza que muitos colegas programadores com menas experiência,
agradeceram ....

[]´Guialberto


Guialberto

Guialberto

Responder

Post mais votado

10/01/2004

Use este componente:

[b:625253f25a]Monster Speech:[/b:625253f25a]
http://www.torry.net/vcl/mmedia/voice/mspec.zip

Ao passar uma string para este componente (gerada pela sua rotina que escreve números por extenso), ele pode ler o conteúdo da string ou gravar em Wave (PCM) que é o formato que vc quer.

Para usar o componente vc deve ter instalado em seu computador a Microsoft Speech API e também um arquivo de voz em português (informações de como obter esses arquivos podem ser encontradas na documentação do componente).


Cebikyn

Cebikyn
Responder

Gostei + 1

Mais Posts

11/01/2004

Guialberto

Ok, ja baixei o componente .... Monster Speech

Onde eu encontro
Microsoft Speech API e também o arquivo de voz em português

[]´Guialberto


Responder

Gostei + 0

11/01/2004

Cebikyn

Voz em português:
http://activex.microsoft.com/activex/controls/agent2/lhttsptb.exe

MS Speech SDK 5.1:
http://www.microsoft.com/downloads/details.aspx?FamilyId=5E86EC97-40A7-453F-B0EE-6583171B4530&displaylang=en
(Arquivo: SpeechSDK51.exe)

Lembre-se de configurar o componente para usar o arquivo em português.


Responder

Gostei + 0

11/01/2004

Cebikyn

Antes de fazer o download do MS Speech API, tente usar o componente sem ele, pois, em alguns sistemas operacionais, o download não é necessário.


Responder

Gostei + 0

11/01/2004

Deus

Só uma coisa: você terá problemas para rodar o [i:6609ba17ec]Monster Speech[/i:6609ba17ec] se estiver usando o SDK 5.1 - do tipo ´[i:6609ba17ec]Class not registered[/i:6609ba17ec]´. Não sei o que houve, talvez a API tenha mudado, mas se você fizer o download da versão 4, funciona. Então, é só clicar [url=http://www.microsoft.com/speech/download/old/sdk40a.asp]aqui[/url] e pegar o arquivo de 40mb. :)

Abraços, dEUS


Responder

Gostei + 0

11/01/2004

Guialberto

Queria testar Antes de fazer o download do MS Speech API, mas

Não estou conseguindo instalar o componente, como faço
Possuo delphi 5 ou Delphi 6 (Enterprise)

Devo utilizar o pacote ou a unidade(*.pas) para instalar ...
Qual delas ....


mspec.dpk
mspecd4.dpk >>> Não seria um pacote para o delphi 4

mRecon.pas
mspecreg.pas
msPeech.pas
speech.pas


Quando tento instalar( component/Install componet ) e escolha a
msPeech.pas ... Na hora de compilar da o seguinte erro:
[error] mSpeech.pas(439): Undeclared Identifier: ´magCannotOpenfile´
[fatal erro] dclusr50.dpk(89)

Na unidade é destacado o código

///////////////////////////////////////////////////////////////
try
if FOutput = soFile then
if FIAF.DoSet(PWideChar(Filename), 1) < 0 then
raise EMSpeechException.Create(msgCannotOpenFile);
///////////////////////////////////////////////////////////////

[]´Guialberto


Responder

Gostei + 0

11/01/2004

Marco Salles

Guialberto Escreveu :´Me lembro de 2 anos atraz, quando encontrei uma
rotina que escrevia um número por extenso ....´

cebikyn Escreveu:´Ao passar uma string para este componente (gerada pela sua rotina que escreve números por extenso)´...

Marcos Pergunta :?: O Guialberto Não Tem Esta Rotina. É Algo Que Ele Pediu No Ínicio Do Tópico.

Bacalhau Em Uma Conversa Em Um Outro Tópico Escreveu:
´Por exemplo, tenho um rotina que converte um número no seu valor por extenso. Esta função é compilada numa DLL e fornecida a todos os meus clientes que necessitam dela.´...

Marco Pergunta Novamente: Guialberto Não Seria Esta a Solçuçaõ Do Seu Problema :?:

Marco Conclui. Se Podessemos Unir o Que o Baclhau Possui Com a Dica Do cebikyn + a dica dEUS , Seria Ótimo.

Marco Sugere:Guialberto Porque Voce Não Pede Para o Bacalhau e nos Disponibiliza Aqui No Forum ...


Responder

Gostei + 0

11/01/2004

Marco Salles

P:S O Tópico Que Me Referi Anteriormente é :´Questão de lógica para sistemas!!´
Obs:Quero Aproveitar Para Retratar Como Nosso Amigo ´Bacalhau´, Porque Usei Seus Dizeres Sem a Devida Permissão.Mas Quero Acrescentar Que Não Foi De Forma Abusiva E Nem Mau Intencionada, Mas Sim Com O Devido Respeito Que Nosso Amigo Merece.Entendo Que O Forum é AMPLO E Que Seus Tópicos Estejam Interligados....Sem Mais


Responder

Gostei + 0

12/01/2004

Cebikyn

Guialberto,

Tente instalar o pacote, mesmo sendo para Delphi 4, o Delphi normalmente não encontra problemas com pacotes antigos (o máximo que pode ocorrer é ele perguntar se vc quer converter o pacote, daí vc clica em ´sim´). Quanto ao msgCannotOpenFile, simplesmente remova e coloque uma string do tipo ´não foi possível abrir o arquivo´, pois refere-se a uma constante contendo esta msg e por algum motivo não foi declarada.

_______________________________________

[quote:2eabb2a74e=´Marco Salles´]Marcos Pergunta :?: O Guialberto Não Tem Esta Rotina. É Algo Que Ele Pediu No Ínicio Do Tópico.[/quote:2eabb2a74e]

O Guialberto tem a rotina que escreve os números (ele achou há dois anos). O que ele pediu no início do tópico é uma rotina que leia os números (que fale através das caixas de som, como um sintetizador de voz). E mesmo que ele não tivesse a rotina, o componente indicado também lê strings numéricas.


Responder

Gostei + 0

12/01/2004

Guialberto

Vou testar a instalação do componente agora ...

Em relação a rotina de extenso, eu a possuo ....

Como alternativa existe um componente
chamado CJVExtenso da paleta de Componentes CJV e pode ser Encontrado em:
http://www.veloso.kit.net/pacotecjv.html

Exemplo de Uso:
Coloque o componente no formulário e configure
as propriedades:
MoedaPlural para REAIS
MoedaSingular para REAL

If CJVEditFloat1.Text<> ´´ then
Begin
CJVExtenso1.Valor:=(CJVEditFloat1.Value);
Label1.Caption:=CJVExtenso1.Extenso;
End;


Responder

Gostei + 0

12/01/2004

Guialberto

Olá .... Cebikyn

Ainda não conseguir instalar
Quando tento instalar pelo pacote mspecd4.dpk

Dá oseguinte erro:
[erro] mspecd4.dpk(4): Invalid Compilerdirective: ´ALIGN´
[Fatal erro] mspecd4.dpk(29): Requerid package ´vcl´ no found

No código é destacado {$ALIGN 8}

package mspec;

{$R *.res}
{$ALIGN 8} //Linha destacada no erro
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
.
.
.
end.


Responder

Gostei + 0

12/01/2004

Cebikyn

Então crie um novo pacote ou use o dclusr.dpk da pasta lib e coloque as 4 units do componente lá e instale a partir de lá, dessa vez deve funcionar (eu não lembrava, mas foi assim que eu fiz e funcionou no D6).


Responder

Gostei + 0

12/01/2004

Guialberto

Ok amigo, cebikyn
segui as suas duas dicas e conseguir instalar ...
Valeu !!!


cebikyn escreveu
///////////////////////////////////////////////////////////////
Tente instalar o pacote, mesmo sendo para Delphi 4, o
Delphi normalmente não encontra problemas com pacotes antigos
(o máximo que pode ocorrer é ele perguntar se vc quer converter
o pacote, daí vc clica em ´sim´)
///////////////////////////////////////////////////////////////
Na pasta lib :
coloque as 4 units do componente lá e instale a partir de lá,
dessa vez deve funcionar (eu não lembrava, mas foi assim que
eu fiz e funcionou no D6).
///////////////////////////////////////////////////////////////
Instalei apartir do pacote mspecd4.dpk.
Deu certo no Delphi 5.

(***********************************************************)
Ok amigos conseguir montar um exemplo

Apartir do componente que me indicaram Monster Speech
e do que indiquei CJVExtenso da paleta de Componentes CJV
no site http://www.veloso.kit.net/pacotecjv.html
(Existe versões para Delphi 4, Delphi 5, Delphi 6 e Delphi 7)

Conseguir modificar o Demo que vem junto como Monster Speech
e junto com o componente CJVExtenso, conseguir fazer funcionar ...

se alguém ja consegui, nos informe ....

Pergunto, se eu for distribuir um aplicativo com tais recursos...
o que devo realmente destribuir junto com o mesmo ....

Microsoft Speech API ...
Arquivo de voz em português ...

Ou esses arquivos já vem com o sistema operacional?
Se sim ...
Quais as versões do Windows que traz esses arquivos ?

(***********************************************************)

[]´Guialberto.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar