Conversion théorique du stéréo vers du mono

Conversion théorique du stéréo vers du mono - Traitement Audio - Video & Son

Marsh Posté le 21-09-2010 à 14:13:16    

Bonjour à tous  :hello:  
 
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  :pt1cable:  
 
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++ );
Reply

Marsh Posté le 21-09-2010 à 14:13:16   

Reply

Marsh Posté le 22-09-2010 à 18:09:33    

Bon ça n'a pas l'air d'inspirer grand monde !  :whistle:  
On m'a prêté une petite console de mixage je vais pouvoir faire des essais pour voir comment se fait le mixage....


---------------
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++ );
Reply

Marsh Posté le 22-09-2010 à 22:28:34    

Salut,
 
Je crois que tu te complique la vie pour pas grand chose...  :D  
 
Il suffit d'additionné les voies à 50% par canal (50% droite + 50% gauche), puis de réglé le gain pour ne pas dépassé le 0dB en sortie...  [:cosmoschtroumpf]


Message édité par Elias de Kelliwich le 22-09-2010 à 22:29:10
Reply

Marsh Posté le 23-09-2010 à 09:29:33    

Bah en fait c'est histoire de se compliquer la vie, c'est histoire de savoir quelle est la méthode exacte couramment utilisée.
Donc à priori moyennage plus gain, donc sans gain on perd 6dB par canal sur la 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++ );
Reply

Marsh Posté le 23-09-2010 à 11:29:31    

Bon alors j'ai testé sur une console de mixage : pour le mixage de 2 voies indépendantes stéréo, c'est une addition qui est faite. Si j'ai 1V RMS sur les 2 voies, en sortie j'ai 2V RMS.
 
Par contre pour passer du stéréo au mono, il me semble plus logique de faire la moyenne, sortie égale à l'addition de 50% des 2 entrées je pense, comme tu disais.
 
A vérifier !


---------------
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++ );
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed