MIXAGE DE 2 FICHIERS .WAV

Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 - 14 sept. 2004 à 15:49
psycho81 Messages postés 84 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 17 février 2008 - 9 nov. 2005 à 18:12
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/26162-mixage-de-2-fichiers-wav

psycho81 Messages postés 84 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 17 février 2008
9 nov. 2005 à 18:12
Bonjour RDX,
J'ai fureté dans quelques uns de tes codes ... et ... impressionnant ! Je voulais te poser une question qui me turlupine. Comment fait Reason par exemple lorsque l'on bidouille les potards ? Il y a un buffer "temps réel" de la carte son (qui dans ce cas serai continuellement injecté dans la carte son) ou bien une grande quantité de buffer (les pistes) qui sont ensuite réagencé par la carte son (et donc on s'en fout). De plus (oui oui, t'inquiète pas, j'ai bientôt fini) Qu'utilise t on dans ce cas là ? DirectX ? winmm.dll ? Autres ?

Merci d'avance et bonne prog à tous !
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 4
20 nov. 2004 à 00:01
Tiens, je connaissais pas cette technique... bravo.
newrose Messages postés 7 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 18 novembre 2004
18 nov. 2004 à 21:00
génial! merci.
cs_RDX Messages postés 117 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 27 août 2005
18 nov. 2004 à 20:08
Salut :)

x>=y est une operation booléenne, ca veut dire qu'elle renvoie les valeurs True (=-1) ou False (=0).

Donc si x est superieur ou égal a y, l'operation renvoie -1.
Donc : i*(abs(x>=y)) renverra la valeur i.

Si la condition n'est pas remplie, l'operation renverra 0.

---

Dans l'exemple ca sert au cas ou un des deux fichiers est plus gros que l'autre. Tant que les 2 fichiers sources se superposent la condition est remplie. Mais une fois arrivé a la fin du fichier le plus court, on mixe buffer1(0) avec la fin du plus gros fichier, pour éviter les erreurs.

Voila
newrose Messages postés 7 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 18 novembre 2004
17 nov. 2004 à 18:17
Bonjour,

Pourriez-vous me dire comment est évaluée cette expression :
Buffer3(i) = Buffer1(i * Abs(NFO(0).DataSize >= lCnt)) \ 2 + Buffer2(i * Abs(NFO(1).DataSize >= lCnt)) \ 2

ou plus généralement : Buffer1(i * Abs(x>=y)))
???

Merci pour votre aide et bravo pour ce code.
Jérôme
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 4
14 sept. 2004 à 15:49
Bonne source, comme tjrs quand RDX fait du multimedia ;-).