Wie ändere ich die Lautstärke eines PCM 16-Bit-signierten Audios?


7

Ich weiß, dass ich Samples multiplizieren und dann abschneiden kann, aber das wahrgenommene Volumen ist für Menschen nicht linear.

Können Sie bitte mit einer Formel helfen.


Warum wurde diese Frage abgelehnt? Es ist eindeutig relevant für dieses Board.
Jim Clay

3
Die Frage ist nicht sehr klar formuliert, auch nicht grammatikalisch. Welche Art von Nichtlinearität möchten Sie außerdem kompensieren: nur Amplitude oder frequenzabhängige Amplitude?
Heltonbiker

Ich habe dieses Mini-Tutorial gelesen: ypass.net/blog/2010/01/… Und dieser Typ hat die Bräunungsfunktion verwendet, um die Lautstärke nicht linear zu machen, aber er sagte, dies sei kein perfekter Weg. Also dachte ich in diesem DSP-Forum. Du wirst verstehen, was ich meine, auch wenn es nicht gramatisch geschrieben ist.
Apokalypse

Ich denke, diese Frage ist sehr präzise und sehr klar. Wenn Sie mit Audio arbeiten, verstehen Sie sofort, was @zgnilec bedeutet. Dies ist ein psychoakustisches Problem: Die Wahrnehmung der Lautstärke beim Menschen ist nicht linear. Die Frage ist also: "Wie nehmen Sie eine Änderung der Audioverstärkung vor, die als linear wahrgenommen wird?"
Sebpiq

Ein Bereich von -48 dB bis + 6 dB ergibt eine Amplitude von 54 dB.
be999

Antworten:


12

Das Ändern der Lautstärke eines Audiosignals muss durch Anwenden einer Verstärkung (Multiplikation) erfolgen - und optional durch Übersteuern, wenn Ihr System einen begrenzten Dynamikbereich hat. Das ist so einfach. Das Anwenden einer nichtlinearen Funktion auf ein Audiosignal führt zu Verzerrungen und Harmonischen, und Sie möchten nicht, dass dies geschieht - Sie möchten die Lautstärke des Signals ändern, nicht dessen Klangfarbe. [Um fair zu sein, gibt es nichtlineare Verarbeitungen, mit denen die wahrgenommene Lautstärke des Signals innerhalb einer bestimmten Dynamikbereichsbeschränkung (z. B. Multiband-Komprimierung) geändert werden kann, ohne das Timbre zu beeinflussen. Es sieht jedoch nicht so aus, als ob Sie dies benötigen .]

Bei der Gestaltung einer Benutzeroberfläche spielen Nichtlinearitäts- und ausgefallene Antwortkurven eine Rolle - bei der Entscheidung über die Beziehung zwischen der Position des Steuerelements (Knopf oder Schieberegler, ob auf einer GUI oder als physische Hardware) und der auf das Signal angewendeten Verstärkung . Hier kommt es auf die Wahrnehmung an, da die Benutzer eine Zuordnung zwischen der Position des Schiebereglers und ihrer Wahrnehmung der Lautstärke erwarten. Bitte beachten Sie, dass selbst wenn die Beziehung zwischen der Position des Lautstärkereglers und der an das Signal angelegten Verstärkung nicht linear ist, der Vorgang des Anlegens der Verstärkung an das Signal linear ist und eine Nichtlinearität dort unerwünscht wäre!

Wenn es um physikalische Lautstärkeregler geht, z. B. in HiFi-Systemen oder persönlichen Audioplayern, liegt die Beziehung zwischen der Knopfposition und der Dämpfung näher an einer Exponentialkurve, obwohl ihre Form angepasst wurde und durch den Herstellungsprozess eingeschränkt wird - manchmal ist es einfach zwei oder drei lineare Segmente. Sie finden diese Kurven in den Datenblättern der Hersteller ("A" -Kegel). Bei Mischpult-Fadern wird die Reaktion normalerweise so komprimiert, dass die obere Hälfte ihres Hubs den nützlichen Bereich von -20 dB abdeckt. + 6 dB.

In der Software-Welt - zumindest für die Musikproduktion - werden Lautstärke- / Verstärkungsregler am häufigsten in dB kalibriert. Wenn Sie beispielsweise einen 100 Pixel langen Lautstärkeregler haben, der von -48 dB auf +6 dB abgestuft ist, beträgt die auf das Signal angewendete Verstärkung1048+54x10020.


Wenn x 0 = 24 ist, ergibt x = 100 3. Ist das richtig? Ich brauche mehr Zeit, um dies zu verstehen: <
Apokalypse

10 ** ((-48 + 54 * 0 / 100,0) / 20,0) = 0,004; 10 ** ((-48 + 54 * 100 / 100,0) / 20,0) = 1,995
Pichenettes

Dies ist ein Exponent, keine Multiplikation. 10 ^, nicht 10 *
Pichenettes

Woher kommt die 54?
Ansis Māliņš
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.