nlc Le mieux est l'ennemi du bien | Bonjour à tous Dans un avenir proche je vais avoir une petite console de mixage simple à faire, et dans cette console je dois à un moment convertir des entrées stéréos en mono.
Sur le principe, c'est tout simple, il suffit d'additionner les 2 voies gauches et droites. Mais s'agit-il vraiment d'une simple addition, ou plutôt d'un moyennage !?
Car ça change tout sur le niveau de sortie du mixer :
En admettant par exemple qu'il y ait le même signal sur les canaux gauche et droit, dans le cas d'une moyenne on aurait (A+B)/2, et donc le même niveau d'amplitude du signal de sortie que sur les entrées. Par exemple si on a 1V Rms sur les 2 entrées du mixer, on aura 1V Rms sur la sortie.
Pour faire un mixage stereo vers mono il semble logique de faire comme ça.
Mais du coup s'il n'y a pas de signal sur un des 2 canaux, en sortie du mixer l'amplitude sera la moitié du canal sur lequel il y a du signal !
Le problème est inverse si on fait le mixage par simple addition des 2 voies : pour 2 signaux identiques en entrée on se retrouve avec l'amplitude doublée en sortie, alors que si un canal est muet alors en sortie on la même amplitude que le canal sur lequel il y a du signal.
Du coup je vois pas bien quelle est la meilleure méthode à utiliser Et sur des mixers audio multivoies, ils font comment ? Ils additionnent simplement ou ils font un moyennage !? La logique voudrait qu'on fasse une addition pour que les niveaux sonores de chaque entrée soient les mêmes en sortie, mais du coup en fonction des signaux et du nombre de voies à mixer il se peux qu'il y ait des tensions instantanées vraiment très importantes en sortie !? ---------------
char table[] = {112,114,105,110,116,102,40,34,37,99,37,99,37,99,34,44,49,49,48,44,49,48,56,44,57,57,41,59,0}; char* tablePtr = table; while(*tablePtr) printf( "%c",*tablePtr++ );
|