FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Faire parler Panoramic Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Faire parler Panoramic Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Faire parler Panoramic Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Faire parler Panoramic Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Faire parler Panoramic Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Faire parler Panoramic Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Faire parler Panoramic Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Faire parler Panoramic Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Faire parler Panoramic Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Faire parler Panoramic Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Faire parler Panoramic Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Faire parler Panoramic Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Faire parler Panoramic Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Faire parler Panoramic Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Faire parler Panoramic Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment :
Code promo Nike : -25% dès 50€ ...
Voir le deal

 

 Faire parler Panoramic

Aller en bas 
5 participants
AuteurMessage
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Faire parler Panoramic Empty
MessageSujet: Faire parler Panoramic   Faire parler Panoramic EmptyDim 22 Jan 2012 - 13:59

Suite à une suggestion de Jicehel, j'ai réalisé une petite DLL donnant accès au système SAPI de Microsoft pour la parole synthétique. C'est très simple. ET je pense qu'une telle fonction pourrait apporter un plus à tous ceux qui développent des jeux. Cela pourrait donc être intéressant d'incorporer cette fonction dans Panoramic, sous forme d'une commande simple.

J'ai réalisé la fonction DLL suivante:
res% = DLL_CALL3("Speak",adr(txt$),volume%,vitesse%)
avec volume% variant de 0 à 100, et vitesse% variant de -10 à 10.
Cela marche parfaitement.

Je suggère donc la commande suivante:
SPEAK T,VOL,VIT

Dans ma DLL, c'est réalisé de la manière suivante (en Delphi 6):
Code:
function Speak(const mes, volume, speed: integer):integer; stdcall; export;
var
        voix: variant;
        txt: string;

begin
        txt := string(pointer(mes)^);
        voix:=CreateOLEObject('SAPI.SpVoice');
        voix.Volume := volume;
        voix.Rate := speed;
        if length(trim(txt))>0 then voix.Speak(trim(txt));
        voix:=UnAssigned;
        result := 0;
end;

On voit que j'utilise le mécanisme OLE Automation qui devrait fonctionner partout. Mais il y a aussi une méthode par un composant Delphi que j'ai faite marcher aussi, en cas de besoin.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Faire parler Panoramic Empty
MessageSujet: Re: Faire parler Panoramic   Faire parler Panoramic EmptyDim 22 Jan 2012 - 15:58

Il est génial, non mais c'est vrai ... Je galère pendant plus d'un an sur un truc, je lui dis un soir à pas d'heure et le lendemain, il y a une DLL ... Moi, je me dis bon, un jour, s'il a le temps, il va y jetter un oeil et voir si c'est faisable, mais non, direct la DLL le lendemain. Heureusement que je suis assis, sinon, j'en tomberais sur le c...l.

Merci klaus, je teste de suite ...

Je pense aussi que ce serait une commande sympa pour Panoramic, car en dehors de mon fantasme personnel, c'est une commande qui permet d'améliorer l'accessibilité des programme pour les jeunes utilisateurs, mais aussi pour nos amis mal voyants, par exemple...

Pour les jeux en effet, c'est plus vivant aussi...

Par contre, du coup ça m'annule mon défit pour Klaus ... (Encore réussi ...). Hum, je ne sais pas, c'est moins utile, mais peut-être la reconnaissance vocale cette fois ? (Pas sûr qu'il n'y ait pas un sujet plus important, la synthèse, c'est plus maitrisable et utile et mieux maitrisé, la reconnaissance, c'est autre chose ...).

En tout cas encore bravo Klaus et merci
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Faire parler Panoramic Empty
MessageSujet: Re: Faire parler Panoramic   Faire parler Panoramic EmptyDim 22 Jan 2012 - 16:27

@Jicehel:
Merci pour ton message - ça fait plaisir.

Maintenant, les remarques suivantes:
- d'accord, ce serait très intéressant comme commande dans Panoramic. J'en ai d'ailleurs déjà fait la demande dans la rubrique appropriée, en publiant le code que j'utilise dans cette mini-dll.
- la reconnaissance vocale est certes un peu plus lourde, mais se gère par exactement le même modèle. Ceci dit, le problème est d'établir les définitions des mots et de la grammaire à utiliser, et en principe, il faut tout un toolkit pour ça (téléchargeable chez MicroSoft). En tout cas, ce n'est pas quelque chose qu'on met en oeuvre facilement, dans son coin. Si on peut l'obtenir, alors on peut écrire sous la dictée, déclencher une action en fonction de commandes parlées, etc. Mais encore une fois, ce n'est pas tant la programmation qui est difficile, mais plutôt la définition du dictionnaire vocal à utiliser.

Maintenant, de manière générale: j'aime bien créer de petits modules précis, concis, réalisant une fonction bien définie pour Panoramic, afin d'enrichir encore plus ce langage déjà très performant. Si tu te souviens, j'avais fait une DLL pouvant réaliser des forms translucides, des forms avec des tous ou ayant uune forme quelconque, etc. ET ce n'est qu'un exemple.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Faire parler Panoramic Empty
MessageSujet: Re: Faire parler Panoramic   Faire parler Panoramic EmptyDim 22 Jan 2012 - 18:52

Klaus, c'est une fonctionnalité intégrée dans W7 Smile mais je suis d'accord avec toi sur la complexité de mise en œuvre ... en plus les utilisations sont plus complexes, en effet. Déjà, la synthèse vocale va apporter beaucoup ^^

Ça me donne envie de reprendre mon jeu et de l'intégrer ^^. Là si ça t’intéresse, avec le code donné par Jean Debord, tu peux déjà intégrer les courbes de tendance voir faire une DLL pour utiliser un min tableur qui utilise ensuite ces graphiques ou inversement. Mais si l'idée ne t'emballe pas et que tu as court d'idées (ce dont je doute Smile ), on trouvera bien quelque chose enfin au début vu la vitesse à laquelle tu travailles ^^ Shocked
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Faire parler Panoramic Empty
MessageSujet: Re: Faire parler Panoramic   Faire parler Panoramic EmptyDim 22 Jan 2012 - 19:14

Je regarderai les courbes de tendance tranquillement. En ce qui concerne le semblant de tableur, je m'y suis déjà essayé, mais pour le momen, je m'y suis cassé les dents. On verra...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
exdragon

exdragon


Nombre de messages : 601
Date d'inscription : 05/01/2012

Faire parler Panoramic Empty
MessageSujet: Re: Faire parler Panoramic   Faire parler Panoramic EmptyDim 22 Jan 2012 - 19:15

Citation :
Il est génial, non mais c'est vrai ... Je galère pendant plus d'un an sur un truc, je lui dis un soir à pas d'heure et le lendemain, il y a une DLL ... Moi, je me dis bon, un jour, s'il a le temps, il va y jetter un oeil et voir si c'est faisable, mais non, direct la DLL le lendemain. Heureusement que je suis assis, sinon, j'en tomberais sur le c...l.
Comme toi Jicehel !!!

C'est fou, il est extraordinaire ce klaus Wink
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Faire parler Panoramic Empty
MessageSujet: Re: Faire parler Panoramic   Faire parler Panoramic EmptyDim 22 Jan 2012 - 19:33

Bonsoir Klaus, Very Happy
Alors là, vraiment un grand bravo! La parole à Panoramic, ça manquait. J'ai pas le temps de tester ta dll, mais c'est promis, dès que j'en ai fini avec mon prochain programme, je m'y atelle! Dailleurs, je vais ouvrir un post pour en parler de ce satané programme!
A bientôt Wink
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Faire parler Panoramic Empty
MessageSujet: Re: Faire parler Panoramic   Faire parler Panoramic EmptySam 28 Jan 2012 - 0:35

Bonjour Klaus, Very Happy
J'ai réussi après tatonnements à faire fonctionner ta dll pour faire parler Panoramic.
Par contre avec le code suivant, on voit que ça bloque l'éxécution du programme après avoir imprimé 60 "a", et qu'une fois terminé la phrase, le programme reprend.N'y a-t-il pas moyen d'éviter de suspendre l'éxécution du programme?
Code:
full_space 0
dim res%,txt$,v%,vol% ,i
txt$="Ladies and gentlemen good morning! It's a good day!"
v%=-5:vol%=70
dll_on "c:\jeubasic\dll_klaus\sapi.dll"
for i=1 to 250
print "a";
if i=60
  res%=DLL_CALL3("Speak",adr(txt$),vol%,v%)
end_if
next i
dll_off
A bientôt Wink
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Faire parler Panoramic Empty
MessageSujet: Re: Faire parler Panoramic   Faire parler Panoramic EmptySam 28 Jan 2012 - 1:46

Non, ce n'est pas possible. L'appel d'une fonction de DLL est "synchrone" ce qui veut dire que le programme continue avec la ligne Panoramic suivante seulement après le retour de la fonction DLL. il faut le temps que cela s'exécute, puis Panoramic continue. C'est comme si tu utilisais la commande MESSAGE à la place - les "a" continueront à s'afficher lorsque tu auras validé le message.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Faire parler Panoramic Empty
MessageSujet: Re: Faire parler Panoramic   Faire parler Panoramic EmptySam 28 Jan 2012 - 9:18

Klaus, il faudrait ajouter une fonction pour pouvoir indiquer au programme soit le numero de la voix que l'on veut utiliser, soit son nom afin de pouvoir changer de voix comme on veut.

L'avantage du numéro, c'est la simplicité,

Tiens, voilà quelques astuces pour faire des fonctions sympas en plus:

Code:

voices.l = TTSEngCount() ; Get the highest voice index.
If voices > -1 ; If there are any voice installed...
  Debug "There are "+Str(voices+1)+" voices installed in your system"
  ;Remember that voice index starts from 0
 
 
  For i=0 To voices
    name$=TTSEngName(i) ; Retrieve each voice name.
    Debug "Voice index = "+Str(i)+" , Voice name = "+name$
  Next i
Else
  MessageRequester("erreur","je ne trouve pas de voix"+Chr(10)+"installé sur le system",#PB_MessageRequester_Ok )
  End
EndIf


Code:

; liste des voix
For i=0 To voices
  name$=TTSEngName(i) ; Retrieve each voice name.
  language$ = TTSEngLang(i)  ; arg1.l = voice index
  AddGadgetItem(#liste, -1, language$ ) ; ajoute dans la liste les noms trouvé+nationalité
Next i

name$=TTSEngName( voix) ; cherche le nom
language$ = TTSEngLang(voix)  ; cherche le nom+nationalité
SetGadgetState(#liste, voix) ; active la voix lu par defaut dans la liste

Voilà, je pense que tu dois pouvoir ajouter une fonction pour récupérer les voix installée comme ça et une autre pour la choisir. Enfin j'espère ... Ca permettrait de simuler des dialogue. Après, on peut jouer en vérifiant que les voix les plus rependues sont installées sur le poste et à faire parler pierre et virginie par exemple. En plus en jonglant avec les paramètres des voix, on doit pouvoir simuler quelques personnages ...
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Faire parler Panoramic Empty
MessageSujet: Re: Faire parler Panoramic   Faire parler Panoramic EmptySam 28 Jan 2012 - 9:32

Je vais regarder cela.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
mimic

mimic


Nombre de messages : 103
Localisation : france
Date d'inscription : 02/09/2009

Faire parler Panoramic Empty
MessageSujet: Re: Faire parler Panoramic   Faire parler Panoramic EmptyDim 8 Fév 2015 - 14:20

Bonjour,

Où trouver la dll en question, d’avance merci.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Faire parler Panoramic Empty
MessageSujet: Re: Faire parler Panoramic   Faire parler Panoramic EmptyDim 8 Fév 2015 - 15:55

Il s'agit de KGF.dll. Tu la trouves dans mon WebDav, dossier DLLs, ou sur mon Site Web adresse:
http://klauspanoramic.comxa.com/index.html
(également accessible via le bouton "www" de mon profil). Tu vires la publicité ou tu attends quelques secondes pour qu'elle disparaisse, puis tu cliques sur "Externes", et tu as des liens vers KGF.dll et KGF.chm (la doc de KGF.dll).
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Faire parler Panoramic Empty
MessageSujet: Re: Faire parler Panoramic   Faire parler Panoramic Empty

Revenir en haut Aller en bas
 
Faire parler Panoramic
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Panoramic peut parler
» Panoramic peut parler
» Aide pour faire un RPG en panoramic
» [RÉSOLU] Faire tourner PANORAMIC sur Windows 10
» encore un probleme avec mon logiciel traitement texte

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: