Bonjour
je veux faire une librairie simplifié des fonctions directX (sound) et je voulais savoir comment faire sur Visual C++.
merci de votre reponse
Bonjour
je veux faire une librairie simplifié des fonctions directX (sound) et je voulais savoir comment faire sur Visual C++.
merci de votre reponse
Salut!
Je l'ai fait avec Delphi!
Je pense que cette unité simplifira la vie des développeurs Delphi pour intégrer le son dans leurs applications, programmes de musique, trackers, jeux, etc...
De retour parmis vous après 10 ans!!
coucou
en fait, il me faut utiliser le plus bas niveau a savoir les buffers de lecture et de capture, car c en lien avec le sujet posté dans le forum directX a propos d'une boucle de traitement de son.
le but etant de ne pas entendre de decalage entre ce qu'on dit et le retour modifié.
voila
@++
Impossible, tu auras toujours un léger décalage, rien que la carte son utilise un tampon DMA qui fait matériellement un petit délai!
Alors en plus, si tu comptes modifier les données...
De retour parmis vous après 10 ans!!
vi, c clair, mais en dessous de 20 a 30 ms de delai, l'oreille ne s'en rend pas compte, alors faut travailler dans des durée de cet ordre la...
voila
@++
Salut!
J'ai réaliser avec Delphi, deux oscilloscopes stéréos: Un pour DirectSound, et un autre pour DirectSoundCapture, chacun dans un programme indépendant. Cela me permet de voir le décalage entre le moment où le son est déclenché et le moment où il est fini d'être traité. Pour l'instant, j'ai environ 200 ms de décalage, et ça varie suivant la version de DirectX et le système d'exploitation! Je pense pouvoir réduire ce décalage en diminuant la taille du buffer de traitement, et en assemblant les deux programmes en un seul...
J'aimerai bien savoir si tu as progressé dans ton projet, et qu'est-ce-que cela donne avec Visual C++ ? Je te propose le lien de mes programmes, si tu veux les essayer! à+
De retour parmis vous après 10 ans!!
pour ma part, c'est une dll qui s'occupe en multitread de la copie d'un buffer a l'autre, et ca me permet de descendre a 45ms sous XP et avec DX8. paar contr, impossible a faire marcher sous win98 .... sais pas pkoi.
pour la taille des buffer, ca joue enormement. Par contre, le language ne joue pas car on a fait en VB et en C++ et ca fait pareil pour les 2 ...
peu etre delphi mais bon, j'y crois pas trop ....
pour ton probleme, bien sur qu'il faut regrouper, sinon, tu auras un temps monstrueusement long ...
si tu veux pour tes programmes, histoire de voir ce que ca donne
juste un truc, ca depend aussi enormement de la carte son....
SB de base, pas moins de 50ms, SB audigy, env 10ms...... ca laisse reveur .....
voilou
@+++ et bon courage
Pour une communication réellement rapide entre une appli et la carte son, le mieux est de passer par ses drivers ASIO :
http://www.axiworld.be/extdocs/dasiosdk103.zip
(SDK ASIO)
Sinon, en passant par les drivers MME, 50 ms me paraît un grand minimum. J'ai essayé en faisant de la synthèse additive "temps réel" grâce aux fonctions multimédias de l'API Windows pour la gestion des buffers, et quel que soit le système sur lequel j'essaye je ne descends pas en dessous de 50 ms (que ce soit une SB, un chip intégré à la carte mère ou une carte pro comme la Pulsar). Et d'après l'expérience que j'ai des softs audio, 50 ms en MME ou via DirectX, c'est un minimum.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager