GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Retorno da GMBR!!!
por vinians Qui 14 Mar 2024, 19:07

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


[Script] Falar uma frase (Microsoft SAPI)

+3
Lucas 5293
MatheusReis
GameMakerTutoriais
7 participantes

Ir para baixo

[Script] Falar uma frase (Microsoft SAPI) Empty [Script] Falar uma frase (Microsoft SAPI)

Mensagem por GameMakerTutoriais Sáb 03 Mar 2012, 15:01

Microsoft Speech API. É padrão do Windows, não precisa baixar nada. Você manda uma frase como argumento e ele fala ela em inglês. Sei lá se alguém vai usar isso, mas é um exemplo bacana de Game Maker + VBScript. Tem dll's pra isso também, se alguém interessar é fácil encontrar.

Também tem jeito de colocar uma voz feminina, mas nem todo computador tem esse extra instalado, por isso não coloquei (pra não dar erro). É só salvar como vbs_speak e chamar usando um frase e velocidade como argumentos. Por exemplo:

Código:
vbs_speak("Welcome to brazilian Game Maker development forum", 0);

Código:

var FScript, Fname, Speech, Temp, Rate;

Speech := argument0;
Rate  := argument1;
Temp := environment_get_variable('Temp');

if not directory_exists(Temp) return (false);

Fname := Temp + '\gm_speaker.vbs';
Fscript := file_text_open_write(Fname);
file_text_write_string(Fscript, 'GmText = "' + Speech + '"' + chr($D))
file_text_write_string(Fscript, 'set ObjSpeaker = CreateObject("SAPI.SpVoice")'  + chr($D));
file_text_write_string(Fscript, 'ObjSpeaker.Rate = ' + string(Rate)  + chr($D));
file_text_write_string(Fscript, 'ObjSpeaker.Speak GMText'  + chr($D));
file_text_close(Fscript);

if not file_exists(Fname) then return (false);
execute_program('WScript', '"' + Fname + '"', true);
file_delete(Fname);
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : [Script] Falar uma frase (Microsoft SAPI) Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Script] Falar uma frase (Microsoft SAPI) Empty Re: [Script] Falar uma frase (Microsoft SAPI)

Mensagem por MatheusReis Sáb 03 Mar 2012, 15:08

Genial...
Uma das partes mais interessantes de desenvolver scripts em GML é puxar cada vez mais as funções nativas do OS para dentro do gm.
Só me pergunto o limite da tua capacidade de conexão entre os aplicativos KKKK
Aprovadíssimo.
MatheusReis
MatheusReis

Games Ranking : Nota A

Notas recebidas : B-A-A
Data de inscrição : 13/01/2010
Reputação : 31
Número de Mensagens : 1093
Prêmios : [Script] Falar uma frase (Microsoft SAPI) Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Unity
  • Java
  • C#
  • Javascript


http://www.mathaeuz.deviantart.com

Ir para o topo Ir para baixo

[Script] Falar uma frase (Microsoft SAPI) Empty Re: [Script] Falar uma frase (Microsoft SAPI)

Mensagem por Lucas 5293 Sáb 03 Mar 2012, 15:13

Aqui de esse erro:

[Script] Falar uma frase (Microsoft SAPI) Erro
Lucas 5293
Lucas 5293

Games Ranking : Nota C

Notas recebidas : C-D-B-B-B-C-C-C
Data de inscrição : 10/12/2010
Reputação : 18
Número de Mensagens : 695
Prêmios : [Script] Falar uma frase (Microsoft SAPI) Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://dopxgames.blogspot.com

Ir para o topo Ir para baixo

[Script] Falar uma frase (Microsoft SAPI) Empty Re: [Script] Falar uma frase (Microsoft SAPI)

Mensagem por Need 90 Sáb 03 Mar 2012, 15:27

Ela só fala em inglês? Pô, assim não vale, coloquei palavras em português ela falo em inglês ¬¬'

Mas está interessante, assim da de fazer um sistema de dialogo avançado, sem aquelas caixinhas de texto irritantes.
Need 90
Need 90

Games Ranking : Nota B

Notas recebidas : D+A+B
Data de inscrição : 16/01/2012
Reputação : 7
Número de Mensagens : 787
Prêmios : [Script] Falar uma frase (Microsoft SAPI) Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://need90games.blogspot.com.br

Ir para o topo Ir para baixo

[Script] Falar uma frase (Microsoft SAPI) Empty Re: [Script] Falar uma frase (Microsoft SAPI)

Mensagem por The Wizard Sáb 03 Mar 2012, 15:35

bem interessante,porem se você botar "macaco" ela fala "mecaicol"
fica tudo com sotaque inglês,"ela" só lê inglês...
The Wizard
The Wizard

Games Ranking : Nota B

Notas recebidas : B
Data de inscrição : 24/03/2010
Reputação : 17
Número de Mensagens : 1129
Prêmios : [Script] Falar uma frase (Microsoft SAPI) Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Script] Falar uma frase (Microsoft SAPI) Empty Re: [Script] Falar uma frase (Microsoft SAPI)

Mensagem por GameMakerTutoriais Sáb 03 Mar 2012, 18:40

Valeu! Só lembrando... também dá pra colocar Rate negativo pra fala ficar mais lenta. Coloca -5 por exemplo, fica bem lento e dá uns efeitos de som...

Como eu deixei claro lá em cima, esse script só funciona com o idioma em inglês. Dá pra colocar em português mas você tem que baixar e instalar. Ou seja, nem todo PC tem isso.

Lucas 5293 escreveu:Aqui de esse erro:

[Script] Falar uma frase (Microsoft SAPI) Erro

Talvez sua máquina não tenha o SAPI instalado...
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : [Script] Falar uma frase (Microsoft SAPI) Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Script] Falar uma frase (Microsoft SAPI) Empty Re: [Script] Falar uma frase (Microsoft SAPI)

Mensagem por theguitarmester Qua 10 Jul 2013, 18:41

Bom, Funcionou com êxito, mas queria fazer um pedido:
Tem como você fazer para funcionar sem o jogo travar? porque eu apenas alterando este argumento execute_program('WScript', '"' + Fname + '"', true); para false(0), não funcionou.


Sei que o tópico é velho, porém acredito que faço um pedido válido a um Autor que está presente no fórum, e este pedido poderá beneficiar a outros também.


__________________
E, como fazer ele falar em outros idiomas também?
obs:já tenho baixado o português também, uso o programa LanguageReader em que usa esse recursos de voz da Microsoft, o autor da voz que estou usando é a do Merlin.
theguitarmester
theguitarmester

Games Ranking : Nota C

Notas recebidas : B + C
Data de inscrição : 28/02/2012
Reputação : 139
Número de Mensagens : 2207
Prêmios : [Script] Falar uma frase (Microsoft SAPI) Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Plataformas :
  • Unity


http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Ir para o topo Ir para baixo

[Script] Falar uma frase (Microsoft SAPI) Empty Re: [Script] Falar uma frase (Microsoft SAPI)

Mensagem por Rodrigo Santiago Qua 10 Jul 2013, 18:59

E U vou tentar, eu tenho 4 vozes aki em portugues: fernanda,gabriela,raquel felipe e a padrão feminina em ingles.Tem como mudar a voz?
Rodrigo Santiago
Rodrigo Santiago

Games Ranking : Nota B

Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios : [Script] Falar uma frase (Microsoft SAPI) Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 3 Prata x 1 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Script] Falar uma frase (Microsoft SAPI) Empty Re: [Script] Falar uma frase (Microsoft SAPI)

Mensagem por GameMakerTutoriais Seg 15 Jul 2013, 08:52


Bom, Funcionou com êxito, mas queria fazer um pedido:
Tem como você fazer para funcionar sem o jogo travar? porque eu apenas alterando este argumento execute_program('WScript', '"' + Fname + '"', true); para false(0), não funcionou.


Sei que o tópico é velho, porém acredito que faço um pedido válido a um Autor que está presente no fórum, e este pedido poderá beneficiar a outros também.

Acho que isso é só uma questão de aguardar o processo terminar. Com 'false' não deveria travar, mas vou testar aqui pra conferir.

Acredito que se chamarmos o WScrit usando um outro método, dará certo.

Mas, sinceramente, esse script não foi feito pra isso. É só um exemplo de VBScript dentro de GML. Pra algo mais bem feito, use uma dll porque vai te poupar tempo e trabalho de ter que ficar chamando processos e processos a cada vez que quiser falar a frase.

E U vou tentar, eu tenho 4 vozes aki em portugues: fernanda,gabriela,raquel felipe e a padrão feminina em ingles.Tem como mudar a voz?

Isso é uma propriedade do objeto e é fácil mudar, mas eu não me lembro o nome da propriedade e não tenho como conferir isso agora.

Não tenho um editor apropriado e nem como acessar o  MSDN (lá deve ter todo o objeto dissecado e tudo explicado nos pormenores).

Tem jeito até de mudar a saída do speech. Dá pra fazer a frase sair em um arquivo Wave e outras coisas. Vou ver o que dá pra fazer e posto aí (mais tarde).
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : [Script] Falar uma frase (Microsoft SAPI) Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[Script] Falar uma frase (Microsoft SAPI) Empty Re: [Script] Falar uma frase (Microsoft SAPI)

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos