sound channel mixing - Formel ?

Design Patterns, Erklärungen zu Algorithmen, Optimierung, Softwarearchitektur
Forumsregeln
Wenn das Problem mit einer Programmiersprache direkt zusammenhängt, bitte HIER posten.

Re: sound channel mixing - Formel ?

Beitragvon Zudomon » 11.07.2017, 15:07

Hahahaha... ja, im Grunde habe ich auch nur wiederholt, was schon X mal gesagt wurde. :lol:
Wollte aber auch darstellen, dass ich zu den gleichen Gedankengängen komme.
Und damit in erster Linie auch Schrompfs Aussagen bestätigen.

PS: Aber das Bild ist zu geil! :lol: :lol: :lol:
Bild
Benutzeravatar
Zudomon
 
Beiträge: 2044
Registriert: 25.03.2009, 08:20

Re: sound channel mixing - Formel ?

Beitragvon DerAlbi » 11.07.2017, 17:18

Also ich fühle mich grade wie das Kind, das ignoriert wird, weils die ganze Zeit das selbe schreit. Ich will um den Faktor eine Wurzel! :-D
Können wir das tatsächlich mal diskutieren, ob (A+B)/2 oder (A+B)/sqrt(2) nehmen sollte, insofern man jede andere Lösung ausschließt, die auf dynamischer Kompression beruht...

Mein Punkt ist die ganze Zeit, dass wenn man unkorrelierte Signale addiert letztlich ein Rauschmodell anwenden kann. Soweit ich weiß bedeutet das aber:
Code: Ansicht erweitern :: Alles auswählen
Amplitude1*Noise1 + Amplitude*Noise2 = sqrt(Amplitude1^2 + Amplitude2^2)*Noise

Also (1A+1B) = sqrt(2)(A+B) daher muss man halt durch sqrt(2) teilen um die gefühlte Lautstärke zu erhalten. Wenn die gefühlte Lautstärke konstant ist, sollte auch der zur Verfügung stehende Dynamikbereich noch genauso gut genutzt sein, wie es die Einzelnen unkorrelierten Tonspuren (A,B) tuen.
Mir ist klar, dass das numerisch zu clipping führt, da es statistisch durchaus auftritt, dass sich zwei maximal ausgelenkte Halbwellen mal konstruktiv überlagern, aber ich bin mir relativ sicher, dass das nicht sonderlich auffällt. Ich halte deswegen sqrt(2) als den statistisch perfekten Tradeoff zwischen Clipping und Lautstärkeverlust (was ja auch immer Dynamikreduktion bedeutet.)

Die optimale Lösung ist natürlich überhaupt nicht zu korrigieren und mit 24 oder 32 bit zu rechen und erst zum Schluss die Hüllkurve zu komprimieren, aber darum geht es hier ja schon lange nicht mehr. Eigentlich geht es eh nur noch um Krishty. :-D
DerAlbi
 
Beiträge: 172
Registriert: 20.05.2011, 05:37

Re: sound channel mixing - Formel ?

Beitragvon Alexander Kornrumpf » 11.07.2017, 17:20

DerAlbi hat geschrieben: Eigentlich geht es eh nur noch um Krishty. :-D


Seit Jahren das inoffizielle Motto dieses Forums.
Alexander Kornrumpf
Moderator
 
Beiträge: 1607
Registriert: 25.02.2009, 14:37

Re: sound channel mixing - Formel ?

Beitragvon Krishty » 11.07.2017, 17:31

Nagut, dann eben ernst.

Von mir dürfte es auch Beiträge geben, in denen ich verbissen NICHT das glaube, was mir alle anderen erzählen. (Ich glaube, anno 2005 kimmi mit irgendwas über Vektormathematik und Farbräume und Templates fast in die Verzweiflung getrieben zu haben.)

Das Wichtige ist, weiterzudiskutieren, bis wir es alle kapiert haben. Da geht es ja nicht nur um RedGuy, sondern genauso um Zudo und mich und mindestens 20 Lurker, die ebenso gern wissen wollen, wie man das richtig macht und warum spezielle andere Lösungen falsch sind. Ich bin nicht gegen Schrompfs „winkt von Mount Stupid“ und so, denn jeder muss sein Fett wegkriegen. Andererseits muss man dann aber auch dranbleiben, wenn einen die anderen nicht sofort verstehen. Das ist echt cool hier, und ich lese auch diesen Thread wirklich gerne mit. Darum will ich auch mit den GIFs nur die Stimmung auflockern und niemandem die Aufmerksamkeit abziehen.

Außerdem dominiere ich das hier nicht weil ich seit Jahren so viel mehr schreibe, sondern weil ihr immer weniger schreibt! Cat, eXile, Aramis, und die anderen fehlen mir genau so wie euch :(

Boah, und ihr habt alle meinen Namen richtig geschrieben. Mir läuft’s wie Ektoplasma an der Wade runter!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
 
Beiträge: 5976
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: sound channel mixing - Formel ?

Beitragvon DerAlbi » 11.07.2017, 17:40

Joar, ich guck immer zu erst nach Krishty, dann nach Zudo mit den Bildern und dann nach Schrompfi mit dem deutschen Code. Wobei sich das auch geändert hat.. Und RedGuy natürlich. Aber auch er ändert sich. Kaum noch Ausrufezeichen :-(
Ich selbst hab hier leider wenig beizutragen. Ich bearbeite leider kein sozialverträgliches Thema :-| #WaffenFürMehrFrieden :-D
DerAlbi
 
Beiträge: 172
Registriert: 20.05.2011, 05:37

Re: sound channel mixing - Formel ?

Beitragvon Krishty » 11.07.2017, 17:44

Wir haben hier kaum Projekte ohne Waffen. Und Geräusche machen die ja auch :P
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
 
Beiträge: 5976
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: sound channel mixing - Formel ?

Beitragvon RedGuy » 11.07.2017, 17:50

Hi !

Oh ! Ihr überzeugt mich.

von joeydee » 11.07.2017, 14:05
Deine Durchschnittsrechnerei bedeutet grob:
Egal wieviele Explosionen gleichzeitig stattfinden, es wird nie lauter.
Und wenn zu einer Explosion eine Grille zirpt, wird die Explosion plötzlich leiser.


Das hat mich nun doch komplett überzeugt. :)

Gruss
Red
RedGuy
Manuel Hofmann
 
Beiträge: 111
Registriert: 17.09.2002, 17:27
Wohnort: Rottweil

Re: sound channel mixing - Formel ?

Beitragvon Zudomon » 11.07.2017, 18:29

Sorry DerAlbi, war sicher keine Absicht, dich zu übergehen. Für mich sind das einfach immer zu viele Informationen, die da überall verstreut sind und ich finde es schwer, überhaupt das alles immer in Worte zufassen :D

Was mich an den Beispielen irgendwie stört, ist, dass immer nur von A+B die Rede ist... aber ich würde gerne wissen, wie die Formeln für A+B+C+D sind... also zumindest mehr als 2 Soundquellen, damit ich das generisch irgendwie nachvollziehen kann.
Meine Meinung speziell zu /2 und sqrt(2) ist, dass es eigentlich ganz egal ist, wie dieser Faktor genau aussieht, also ob *0.5 oder *0.7071.
Denn Übersteuerung findet doch nur da statt, wo sich Wellenberge aufsummieren, was durch Phasenverschiebungen sowieso nur alle paar Signalperioden stattfinden sollte. Dazu kommt, dass jedes Geräusch doch an sich schon runterskaliert wird, weil es eben einen gewissen Abstand zum Höhrer hat. Also wenn A zu 60% hörbar ist, B zu 40%, C zu 20% und D zu 5%, dann kann die Maximalamplitude sowieso nur 125% für alle Sounds betragen, sofern ALLE Wellenberge auf das gleiche Sampel fallen. Das meinte ich damit, dass die Übersteuerung wahrscheinlich gar nicht so häufig auftritt und dass man es einfach ausprobieren sollte.
Bild
Benutzeravatar
Zudomon
 
Beiträge: 2044
Registriert: 25.03.2009, 08:20

Re: sound channel mixing - Formel ?

Beitragvon Schrompf » 11.07.2017, 21:31

Und das stimmt zwar alles, aber nur für den Fall, dass sich doch ein paar Geräusche ungünstig aufsummieren, würde ich am Ende noch einen Kompressor drauftun. Irgendwas, was die ersten 9/10 des Dynamikbereichs nur linear abbildet und erst oben raus in ne schwungvolle Kurve geht.
Häuptling von Dreamworlds. Baut an was Neuem. Hilft nebenbei nur höchst selten an der Open Asset Import Library mit.
Benutzeravatar
Schrompf
Thomas Ziegenhagen
Moderator
 
Beiträge: 3603
Registriert: 26.02.2009, 00:44
Wohnort: Dresden
Benutzertext: Lernt nur selten dazu

Re: sound channel mixing - Formel ?

Beitragvon DerAlbi » 11.07.2017, 22:03

Schwungvoll wie Kristhys Pferd
DerAlbi
 
Beiträge: 172
Registriert: 20.05.2011, 05:37

Re: sound channel mixing - Formel ?

Beitragvon joeydee » 11.07.2017, 22:11

@DerAlbi: bei vielen Diskussionsrichtungen geht es im Zweifelsfall erstmal nach dem Threadersteller. Wie ich ja für RegGuy sagte: erstmal selbst verstehen was an der eigenen Überlegung nicht stimmen kann, danach kann man über den Tellerrand schauen - hat ja offensichtlich geklappt ;)

Grundsätzlich denke ich: Sobald man den Faktor variiert, z.B. von den Summanden abhängig macht, bekommt man eine Dynamik rein, die so eigentlich nicht existiert.
Demnach funktioniert (A+B)*sqrt(2) im direkten Vergleich mit (A+B+C)*sqrt(3) prinzipiell auch nicht für das Beispiel Explosion+Grillenzirpen. Man muss auch nicht mit sqrt irgendwas "rausrechnen", was sowieso statistisch beim Summieren der Signale entsteht - das ist ja in sich schon richtig und muss nicht nochmal angepasst werden.

"Richtig" wäre bei vielen Sounds z.B. A*0.1, (A+B)*0.1, (A+B+C)*0.1 usw., also generell ein konstanter Faktor (sprich, evtl. als "Gesamtlautstärke" von Programmierer/User regelbar, aber nicht dynamisch), und dann den Aktivlautsprecher so hochgedreht, dass Clipping an der Schmerzgrenze, Tinnitus bzw. Trommelfelldurchpusten stattfindet, also das elektronische Clipping genau mit dem realen Clipping stattfindet.
Da das, bei aller Immersion, niemand auch bei einem noch so realistischen Gewehrknall direkt am Ohr oder einer noch so gewaltigen Explosion wirklich erleben will, kann man sowas machen wie Schrompf vorschlägt. Im Extremfall sozusagen simulierter Tinnitus lange vor der Schmerzgrenze. Selten wird man auch alle Geräusche in ihrer tatsächlichen Lautstärke widergeben wollen, das wird, wie alles in der Unterhaltungselektronik, stilisiert widergegeben. Und wie Zudo sagte, findet ja auch nicht alles direkt am Ohr statt.

@RedGuy, da du das denke ich mal für dein Computerprojekt machst: all das (Faktor, dynamische Anpassung etc.) sollte dann aber Sache des Programmierers sein, nicht des Chips. Lautstärkeregelung pro Kanal und Aufsummieren für den Ausgang reicht, damit kann man ja alles anstellen was man braucht, jedes weitere "Mitdenken" des Chips wäre doch Knüppel zwischen die Beine beim Proggen.
joeydee
 
Beiträge: 480
Registriert: 23.04.2003, 15:29

Re: sound channel mixing - Formel ?

Beitragvon DerAlbi » 11.07.2017, 23:53

Das stimmt so nicht. Eine Soundkarte hat die Aufgabe sowas durchaus in Hardware zu erledigen. Ich hab auch schon einige Hardware-Codecs auf Platinen gehabt, bei denen man so einen Kompressor mit "Attack" und "Decay" time usw.. konfigurieren kann. Ein Knüppel zwischen den Beinen (wie auf Krishtys Bild :-D ) wäre, wenn du dich in Software wirklich um jeden Scheiß kümmern müsstest. Vor allem ist es es ein repetetiver Task mit einer einfachen Berechnungsstruktur, der, wenn er einmal fertig ist keiner Änderung mehr bedarf. Das ist ein Paradebeispiel für etwas, was sich für Hardwaresynthese anbietet.
DerAlbi
 
Beiträge: 172
Registriert: 20.05.2011, 05:37

Re: sound channel mixing - Formel ?

Beitragvon Krishty » 12.07.2017, 00:06

Krishty hat geschrieben:Boah, und ihr habt alle meinen Namen richtig geschrieben.
DerAlbi hat geschrieben:Kristhys
Arsch :D
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
 
Beiträge: 5976
Registriert: 26.02.2009, 12:18
Benutzertext: state is the enemy

Re: sound channel mixing - Formel ?

Beitragvon Zudomon » 12.07.2017, 00:47

Krishty hat geschrieben:
Krishty hat geschrieben:Boah, und ihr habt alle meinen Namen richtig geschrieben.
DerAlbi hat geschrieben:Kristhys
Arsch :D

Dieser Moment, wenn man 5 mal hinschauen muss um zu sehen, dass der Name doch falsch geschrieben ist :lol:
Bild
Benutzeravatar
Zudomon
 
Beiträge: 2044
Registriert: 25.03.2009, 08:20

Re: sound channel mixing - Formel ?

Beitragvon DerAlbi » 12.07.2017, 00:54

Ich muss mich da auch mega konzentrieren. Ich lese ihn auch konsequent immer noch als.. "Kirsty".. ganz komisch. Das ist auch seit Jahren so in meinem Kopf drin.
Ist einfach ein kack Name. :?
DerAlbi
 
Beiträge: 172
Registriert: 20.05.2011, 05:37

VorherigeNächste

Zurück zu Algorithmen und Datenstrukturen

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 3 Gäste