Ich möchte zwei oder mehr PCM-Audiokanäle (z. B. aufgenommene Samples) akustisch originalgetreu digital mischen, vorzugsweise in Echtzeit (dh mit geringem oder keinem Peek-Ahead).
Der physikalisch "richtige" Weg, dies zu tun, besteht darin, die Abtastwerte zu summieren. Wenn Sie jedoch zwei beliebige Stichproben hinzufügen, kann der resultierende Wert das Doppelte des Maximalwerts betragen.
Wenn es sich bei Ihren Samples beispielsweise um 16-Bit-Werte handelt, beträgt das Ergebnis bis zu 65536 * 2. Dies führt zu Übersteuerungen.
Die naive Lösung besteht hier darin, durch N zu teilen, wobei N die Anzahl der zu mischenden Kanäle ist. Dies führt jedoch dazu, dass jedes Sample 1 / N-mal so laut ist, was völlig unrealistisch ist. In der realen Welt, wenn zwei Instrumente gleichzeitig spielen, wird jedes Instrument nicht halb so laut.
Eine gebräuchliche Methode zum Mischen ist: result = A + B - AB, wobei A und B die beiden zu mischenden normalisierten Samples sind und AB ein Begriff ist, um sicherzustellen, dass lauter werdende Sounds zunehmend "leiser" werden.
Dies führt jedoch zu einer Verzerrung des Signals. Ist dieses Maß an Verzerrung bei der hochwertigen Audiosynthese akzeptabel?
Welche anderen Methoden gibt es, um dieses Problem zu lösen? Ich interessiere mich für effiziente Algorithmen mit geringerer Qualität sowie für weniger effiziente Algorithmen mit hoher Qualität.
Ich stelle meine Frage im Kontext der digitalen Musiksynthese, um mehrere Instrumentenspuren zu mischen. Die Spuren könnten synthetisiertes Audio, aufgenommene Samples oder Echtzeit-Mikrofoneingang sein.