Coucou Michel et tous,

Bizarrement, avec les fichiers .wav, ça reste muet ; je me demande s'il n'y a pas une question d'échantillonnage du wave puisque j'ai vu qu'il y a plusieurs valeurs possibles en wave.


Essaie LoadMovie et PlayMovie.

PlayMovie est à la base fait pour les fichiers vidéo, mais ça a l'air de bien fonctionner pour le wave.

Voici un topic où une personne a carrément créé un lecteur audio avec PlayMovie :

http://forums.purebasic.com/french/viewtopic.php?f=3&t=4071&start=0

Bien amicalement,
Abdel.



Le 18/04/2018 à 10:42, Michel Farfallini a écrit :
Bonjour,

Merci pour cette réponse très complète et intéressante.

Pour la lecture de fichiers de son, je suis parvenu à le faire avec des fichiers .ogg en utilisant LoadSoudnet PlaySound. Bizarrement, avec les fichiers .wav, ça reste muet ; je me demande s'il n'y a pas une question d'échantillonnage du wave puisque j'ai vu qu'il y a plusieurs valeurs possibles en wave. J'ai donc contourné le problème en transformant mes fichiers .wav en fichiers .ogg avec Audacity. Je n'ai toujours pas bien compris ce que catchSound peut ajouter à cela et comment utiliser cette fonction.

En ce qui concerne le choix entre PureBasic et Python, je me suis posé la question aussi. J'ai été découragé avec Python par le fait que la console Python de NVDA ne fonctionne pas très bien, tout au moins ici : pas moyen, par exemple, d'utiliser l'instruction Input de quelque manière que ce soit. De plus, je trouve que l'exécution des lignes de programme dès qu'elles sont écrites présente certes des avantages mais aussi beaucoup d'inconvénients dès qu'il s'agit d'écrire un programme un peu long ; cela constitue une sorte de rupture dans l'écriture qui me gêne, à tout prendre, je préfère avoir à corriger les bugs en bloc, au bout d'une longue séquence de code.

Pour le moment, je me contente de réécrire, pour qu'ils puissent continuer à tourner sur les versions les plus récentes de Windows, de petits programmes comme un annuaire, un dispositif de consultation de dictionnaire de Scrabble, un agenda, que j'avais écrits en QuickBasic et dont je me sers toujours. Pour l'annuaire et le dispositif de consultation d’O D S c'est fait ; pour l'agenda, mon problème est de trouver le moyen de créer facilement un petit éditeur de texte car celui que j'avais fait en QuickBasic est certes transposable mais avec un gros effort car j'avais dû écrire énormément de lignes pour prévoir les déplacements du curseur, les effets des touches Backspace et Sup, etc. Je viens aussi de faire un petit programme de pendule pour le jeu d'échecs mais, là encore, je voudrais y adjointe un petit éditeur pour la notation des coups de la partie jouée. Quelqu'un a essayé de m'expliquer comment créer un éditeur en utilisant le mode fenêtre mais je m'y perds un peu.

Si je m'orientais vers Python, j'aurais, je le sais, la possibilité de faire des modules pour NVDA, donc quelque chose pouvant être utile à d'autres et cela me plairait ; toutefois, outre que je ne suis pas à l'aise avec la console de NVDA, comme je l'ai dit, je redoute d'entrer dans des procédures un peu compliquées pour moi.

Pour information, combien coûte une licence PureBasic ?

    Bien cordialement,


Michel Farfallini

Le 18/04/2018 à 10:01, LavaChri a écrit :
Salut,


la version de démonstration de PureBasic comporte quelques limitation.

De mémoire, un maximum de 1000 ligne de code par programme et le blocage des appels de fonctions API.

Et justement l'instruction Beep est un appel API, c'est à dire que c'est un simple appel d'un fonction fournie par Windows.


Je ne connais pas d'instruction PB pouvant générer un son en définissant une fréquence.

Il est probable que tu trouves des instructions API pour faire cela mais il te faudra une license pour pouvoir les utiliser avec PB.


Dans PB, pour jouer des sons tu à la bibliothèque Sound.

Le principe est d'utiliser le fichier d'un son numérisé et de le jouer.

En utilisant l'instruction LoadSound() tu vas pouvoir charger le son depuis un fichier

avec l'instruction CatchSound() tu vas pouvoir charger le son depuis ton programme.

Cela sera utile si tu veux intégrer tes sons dans une section Data dans le fichier EXE de ton programme.

Je crois que tu devrais dabord te familiariser avec LoadSound.


Nativement seul les fichier Wav peuvent être utilisés, mais tu peux ajouter l'instruction UseOGGSoundDecoder pour lire les fichier OGG


Dans l'aide de l'instruction LoadSound tu trouveras un petit code pour mettre en pratique ce que je viens de t'expliquer.

Pour utiliser les synthèse vocales SAPI4 ou SAPI5, il te faudra une licence de PureBasic. mais c'est un peu pénible à faire. Pour faire parler JAWS ou NVDA, il te faudra aussi une licence PB et j'ai des code pour cela

PS: je ne connais pas tes ambitions en programmation mais avant que tu investisses dans une licence de PureBasic, je pense qu'il serait bon que tu réfléchisse au point suivants: - Le PB est un langage simple, très rapide, très polyvalent, générant des interface graphique plutôt accéssible et possédant une documentation ergonomique. Ainsi, il est facile de générer un fichier EXE mais tes connaissances ne seront pas vraiment transposable.

Mais NVDA à décidé d'utiliser le python pour une partie de son développement... Alors, même si cela peut paraître un peu plus complexe d'utiliser ce langage, il me semble raisonnable de les confronter avant de ce décider.

Le 17/04/2018 à 12:19, Michel Farfallini a écrit :

Bonjour,


Cela me dépasse complètement : Je suis allé voir le forum sur lequel pointe le lien donné dans le message mais je n'y comprends rien.


Reprenons :

un bip, effectivement, il semble qu'il faille la version complète pour le générer car lorsque je frappe beep, même suivi de parenthèses, j'ai un message m’indiquant que cette fonction n'existe pas ou qu’elle n'est pas supportée dans la version de démonstration ;

quant à CatchSound, je ne parviens pas à comprendre comment employer cette fonction, même avec l'aide de Purebasic. Ce n'est pas parlant pour moi ; c'est une architecture que mon esprit n'assimile pas. Quelqu'un pourrait-il m'expliquer précisément ?


Pour l'instant, la méthode détournée que j'ai trouvée et qui fonctionne, c'est de créer de petit fichiers au format OGG avec Audacity et de les faire "interpréter" par mes programmes mais cela ne correspond pas toujours à ce que je souhaite : s'il s'agit de délivrer un message vocal déterminé, par exemple, cela convient puisque j'enregistre le message, le met au format OGG et le fais lire par le programme ; mais s'il s'agit de générer un son, là, ça ne va pas. En QuickBasic il y avait une fonction Sound qu'on pouvait paramétrer en indiquant une fréquence et une durée ou alors une fonction Play qui permettait de jouer des notes données. N'y aurait-il pas ici un équivalent ?


    Merci de votre aide.



Michel Farfallini
Le 13/04/2018 à 18:22, Abdel a écrit :
Coucou Michel,

Pour revenir un instant au Purebasic, y a-t-il un moyen simple de faire entendre un bip ? En Basic et anciens dérivés, il suffisait d'écrire beep dans le programme or, cette instruction est inconnue en Purebasic.


Si tu veux utiliser des fichiers audio, il y a la fonction catchsound (), voir la doc avec F1.

Autrement, si ton souhait est uniquement d'émettre un beep et que tu es sous Windows, tu peux utiliser les fonctions API, comme la fonction Beep_ (fréquence, durée).

Mais pour cela, je pense que tu dois disposer d'une version complète de PureBasic.

À confirmer...

Voici un sujet qui évoque cette question :

http://forums.purebasic.com/french/viewtopic.php?f=1&t=11003&view=previous

Bien amicalement,
Abdel.


Progliste :
Pour se d�sinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�.




Progliste : Pour se d�sinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe Pour voir les archives de la liste : http://www.mail-archive.com/progliste@ml.free.fr/ Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO Pour acc�der aux fichiers de la liste http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr Ou en utilisant la nouvelle page de partage : http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�.

--
LavaChri

Progliste :
Pour se d�sinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�.




Progliste :
Pour se d�sinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/       

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je 
vous r�pondrez en priv�.
        
        

Répondre à