Seite 2 von 2

Re: sound channel mixing - Formel ?

Verfasst: 11.07.2017, 15:07
von Zudomon
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:

Re: sound channel mixing - Formel ?

Verfasst: 11.07.2017, 17:18
von DerAlbi
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: 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

Re: sound channel mixing - Formel ?

Verfasst: 11.07.2017, 17:20
von Alexander Kornrumpf
DerAlbi hat geschrieben: Eigentlich geht es eh nur noch um Krishty. :-D
Seit Jahren das inoffizielle Motto dieses Forums.

Re: sound channel mixing - Formel ?

Verfasst: 11.07.2017, 17:31
von Krishty
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!

Re: sound channel mixing - Formel ?

Verfasst: 11.07.2017, 17:40
von DerAlbi
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

Re: sound channel mixing - Formel ?

Verfasst: 11.07.2017, 17:44
von Krishty
Wir haben hier kaum Projekte ohne Waffen. Und Geräusche machen die ja auch :P

Re: sound channel mixing - Formel ?

Verfasst: 11.07.2017, 17:50
von RedGuy
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

Re: sound channel mixing - Formel ?

Verfasst: 11.07.2017, 18:29
von Zudomon
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.

Re: sound channel mixing - Formel ?

Verfasst: 11.07.2017, 21:31
von Schrompf
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.

Re: sound channel mixing - Formel ?

Verfasst: 11.07.2017, 22:03
von DerAlbi
Schwungvoll wie Kristhys Pferd

Re: sound channel mixing - Formel ?

Verfasst: 11.07.2017, 22:11
von joeydee
@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.

Re: sound channel mixing - Formel ?

Verfasst: 11.07.2017, 23:53
von DerAlbi
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.

Re: sound channel mixing - Formel ?

Verfasst: 12.07.2017, 00:06
von Krishty
Krishty hat geschrieben:Boah, und ihr habt alle meinen Namen richtig geschrieben.
DerAlbi hat geschrieben:Kristhys
Arsch :D

Re: sound channel mixing - Formel ?

Verfasst: 12.07.2017, 00:47
von Zudomon
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:

Re: sound channel mixing - Formel ?

Verfasst: 12.07.2017, 00:54
von DerAlbi
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. :?

Re: sound channel mixing - Formel ?

Verfasst: 12.07.2017, 07:53
von Schrompf
DerAlbi hat geschrieben:Ist einfach ein kack Name. :?
Und dann hing DerAlbi an seinen Eiern vom Turm der Dorfkirche und fragte sich, was er falsch gemacht hatte.

Re: sound channel mixing - Formel ?

Verfasst: 12.07.2017, 16:33
von RedGuy
Hi !

Also ich lad mir gerade das Steinberg Wavelab Trial herunter und schaue mir die Kurven an, wie die Software zwei sounds mischt ;) .

So schade, dass der Microcontroller vom Arduino mega keinen DAC hat, sonst würde ich da was ausprobieren können (und einen Lautsprecher ansteuern).
Wer von Euch Arduino nicht kennt: Das ist ein vorgefertigtes Microcontroller board inklusive Entwicklungssoftware.

Gruss
RedGuy

Re: sound channel mixing - Formel ?

Verfasst: 12.07.2017, 16:37
von xq
Du kannst doch nen DAC tirvial über nen R2R-Netz bauen, ansonsten kannst du nantürlich auch einfach mal mit Audacity rumspielen, das mischt ja auch Audio zusammen

Re: sound channel mixing - Formel ?

Verfasst: 12.07.2017, 17:09
von RedGuy
Also irgendwie geht das nicht mehr mit Wavelab- zumindest der Trial nicht.
Ich probiers mit Audacity

Gruss

Re: sound channel mixing - Formel ?

Verfasst: 12.07.2017, 18:14
von RedGuy
Also ich hab ein paar Kurven mal analysiert.
Eine kleine Auslenkung scheint sich auf die Größe quasi aufzumodulieren.
Sie wird allerdings nicht addiert. Die größere Auslenkung ändert sich nur geringfügig.
Aber man kann die kleinere Auslenkung dort -eben fast wie aufmoduliert- erkennen.

Ich gehe davon aus, dass je mehr Auslenkung, desto träger ist die Funktion.

Also ich tendiere zu folgender Funktion:

Wurzel(A²+B²+C²)


Also Wurzel, da die diese Trägheit nach oben aufweist.
Und Quadrate, da sich die einzelnen Auslenkungen Gewichten.

Was haltet Ihr davon ?

[3x EDIT :oops: ]
joeydee: @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: Also meine Philosophie ist so, dass der sound-chip solche Standard-Aufgaben übernimmt und den Prozessor entlasstet. Sozusagen als Multiprozessorsystem.
Warum sollte das der Programmierer übernehmen müssen, wenn das defacto auf jeden Fall gemacht werden muss.

Gruss
Red

PS: soll ich mal screenshots posten ?

[EDIT]Hab gerade gelesen, dass Arduino Mega sogenannte Puls Width Modulation Signals rausschreiben kann.
Vielleicht kann das irgendwo als DAC dienen um einen Lautsprecher anzusteuern.
Ich denke ich probiers aus.
[EDIT EDIT]nein geht nicht, denn ich kann ja nichts drauf modulieren. Werd ich mir wohl oder übels einen DAC selbst bauen müssen.

Re: sound channel mixing - Formel ?

Verfasst: 12.07.2017, 19:57
von joeydee
Mir scheint, du betrachtest bei deinen Überlegungen Tonsignale modellhaft als positive Lautstärke-Säulen oder sowas. Kann das sein? Das darfst du natürlich nicht. Das sind Kämme mit statistisch ebensovielen negativen Ausschlägen. Die stecken sich bei Addition zu großen Teilen tief ineinander (Krishty hat das eigentlich schon super erklärt mit dem Pferdebeitrag: 1Pferd + 1Pferd < 2Pferd), das scheinst du völlig außer Acht zu lassen.

Kann mich natürlich täuschen, da ich deiner Genialität vielleicht nur zu 1% folgen kann - in dem Fall mach einfach mal, statt weiter in wilden Theorien zu schweifen, ist ja jetzt genug Material zum Ausprobieren da.

Re: sound channel mixing - Formel ?

Verfasst: 12.07.2017, 20:14
von RedGuy
Hallo joeydee !

hast natürlich Recht, hab das Vorzeichen nicht explizit berücksichtigt.

Dann tendiere ich zu

3.Wurzel(A³+B³+C³)

Das erfüllt dieselben Kriterien wie geschrieben (Trägkeit und Gewichtung).
Und das Vorzeichen wird gewahrt ;) .

Gruss
Red

PS: joeydee, hast mein voriges Dreifach[EDIT] gelesen ?

Re: sound channel mixing - Formel ?

Verfasst: 12.07.2017, 21:25
von DerAlbi
Auch, wenn ich noch baumle und sich mittlerweile alles zur länge dehnt, die es hätte haben sollen sehe ich, dass du Mist baust.
Überleg mal:
[0.5^3 + 0.2^3 + 0.1^3]^(1/3) == 0.511. lässt man die 0.1 weg, dann kommt 0.5104 raus. Die 0.1 trägt also nur 0.001 bei.
Merkst du, dass du das, was eh schon leise ist und am wenigsten zur Übersteuerung beiträgt noch leiser wird? Wo ist denn der Sinn dahinter?? Und wie kann das das Verhalten sein, was du wünschst....
Mach doch bitte einfach mal nur A+B und irgendwann, wenn du die Probleme tatsächlich erlebst, probier dich aus. Im moment bist du vollkommen ohne Realitätsbezug.. so hat das keinen Sinn.

Re: sound channel mixing - Formel ?

Verfasst: 13.07.2017, 09:23
von Zudomon
DerAlbi hat geschrieben: Überleg mal:
[0.5^3 + 0.2^3 + 0.1^3]^(1/3) == 0.511. lässt man die 0.1 weg, dann kommt 0.5104 raus. Die 0.1 trägt also nur 0.001 bei.
0.5 + 0.2 + 0.1 = 0.8 :o

modulation.jpg

Re: sound channel mixing - Formel ?

Verfasst: 13.07.2017, 10:19
von Krishty
Auf den Kopf getroffen! :D

Re: sound channel mixing - Formel ?

Verfasst: 13.07.2017, 11:36
von RedGuy
Hi !

Hey, Zudomon ! Wo hast du das her ? Heißt das, dass meine Theorie stimmt ;) ?
DerAlbi hat geschrieben:
Überleg mal:
[0.5^3 + 0.2^3 + 0.1^3]^(1/3) == 0.511. lässt man die 0.1 weg, dann kommt 0.5104 raus. Die 0.1 trägt also nur 0.001 bei.
Das hört sich aber genau so an, wie sich die Wellen verhalten ! Die kleine Auslenkung ist nur noch als kleine Modulation vorhanden.
Gib mal größere Zahlen wie z.B. 40 und 50 ein, dann ist die Modulation etwa 8 groß- SO VERHÄLT SICH DAS ;) !

Gruss
Red

Re: sound channel mixing - Formel ?

Verfasst: 13.07.2017, 18:42
von DerAlbi
Nein. Egal, wie groß du das schreibst. Auch das Ausrufezeichen hilft da nichts. :?
Und "Modulation" ist etwas vollkommen anderes. Du willst Signale addieren, nicht multiplizieren.

Aber ok. Größere Zahlen:
[500^3 + 200^3 + 100^3] ^(1/3) = 511.7 (war vorher 0.5117)
Lässt man die 100 weg, erhält mann 510.4. (war vorher 0.5104)
Ja, echt unglaublich, wie größere Zahlen helfen. :roll:

Re: sound channel mixing - Formel ?

Verfasst: 13.07.2017, 19:12
von Zudomon
Wir reden aber immer noch von Sounds, oder? Eingabesignale sollten also nicht größer als 1 sein, da sonst der Sound schon übersteuert ist.
Und wie das Beispiel mit den 0.5 + 0.2 + 0.1 schon zeigt, selbst wenn sich da die Phasen ungünstig überlagern, KANN es in dem Fall gar nicht übersteuern.

Re: sound channel mixing - Formel ?

Verfasst: 13.07.2017, 23:27
von DerAlbi
Ich glaub RedGuy ist mit der Darstellung von -1.0..+1.0 nicht vertraut - Wave-Files haben ja immerhin den Wertebereich von signed short - daher die "Verwirrung".
Aber die Schlussfolgerung, dass mit der Formel keine Übersteuerung auftritt ist verkehrt: wenn alles 1.0 ist, kommt da immer 3^(1/3) raus (>1). Davon abgesehen hat diese (x^3+y^3+z^3)^(1/3) Formel für Kompression komplett das falsche Verhalten. Kleine Werte werden kleiner, große Werte bleiben groß. Kompression funktioniert genau andersrum: Kleine Werte bleiben gleich, große Werte werden verkleinert umso größer die sind. Aber tanh kann man hier schreiben wie man will, diverse Leute haben die Welt ja schon verstanden

Re: sound channel mixing - Formel ?

Verfasst: 14.07.2017, 14:38
von Zudomon
RedGuy hat geschrieben:Hey, Zudomon ! Wo hast du das her ? Heißt das, dass meine Theorie stimmt ;) ?
Weil ich nun noch per PN gefragt wurde. Also das Bild ist selbstgemacht und quasi eine Zusammenfassung der Ideen, die hier aufgetaucht sind.
Und nein, ich denke, deine Theorie stimmt nicht. Für mich ist die einfache Addition das plausibelste.