sound channel mixing - Formel ?
Forumsregeln
Wenn das Problem mit einer Programmiersprache direkt zusammenhängt, bitte HIER posten.
Wenn das Problem mit einer Programmiersprache direkt zusammenhängt, bitte HIER posten.
- Schrompf
- Moderator
- Beiträge: 4855
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas Ziegenhagen
- Wohnort: Dresden
- Kontaktdaten:
Re: sound channel mixing - Formel ?
Und der Schalldruck ist die Druckverteilung im Medium.
Du hast Recht, sowas gibt es. Das sind nichtlineare Verzerrungen im Schall, die bei >100db auftreten. Das kann man gelegentlich bei großen Konzerten erleben, obwohl die Lautstärkenvorschrift für öffentliche Veranstaltungen in Deutschland der Sache seit einigen Jahren ein Ende bereitet hat. Bis zu diesen ~100db aber ist der Schalldruck ziemlich linear, ein simples A+B beschreibt das Verhalten nahezu perfekt.
Und wie gesagt: das alles kann Dir eigentlich wurscht sein, weil Du den Schall in digitalisierter Form beschreibst und am Ende über Boxen ausgibst, die nicht Deiner Kontrolle unterliegen. Du musst damit klarkommen, dass Du nur Amplituden von -1..+1 haben kannst. Und für diese Situation gelten all die oben xmal wiederholten Formeln.
Du hast Recht, sowas gibt es. Das sind nichtlineare Verzerrungen im Schall, die bei >100db auftreten. Das kann man gelegentlich bei großen Konzerten erleben, obwohl die Lautstärkenvorschrift für öffentliche Veranstaltungen in Deutschland der Sache seit einigen Jahren ein Ende bereitet hat. Bis zu diesen ~100db aber ist der Schalldruck ziemlich linear, ein simples A+B beschreibt das Verhalten nahezu perfekt.
Und wie gesagt: das alles kann Dir eigentlich wurscht sein, weil Du den Schall in digitalisierter Form beschreibst und am Ende über Boxen ausgibst, die nicht Deiner Kontrolle unterliegen. Du musst damit klarkommen, dass Du nur Amplituden von -1..+1 haben kannst. Und für diese Situation gelten all die oben xmal wiederholten Formeln.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Re: sound channel mixing - Formel ?
Ahahahaha Krishty :-D Wie sich hier alle Mühe geben und du haust dennoch wieder mal den inhaltlich passendsten Beitrag raus :-D
-
- Establishment
- Beiträge: 111
- Registriert: 17.09.2002, 17:27
- Echter Name: Manuel Hofmann
- Wohnort: Rottweil
- Kontaktdaten:
Re: sound channel mixing - Formel ?
Hi zusammen!
Also wenn man meine obige Formel vereinfacht, ist mir aufgefallen, kommt man auf den Durchschnitt ;) !
Also
Also ich komme letztenendes auf (A+B)/2 !!!
Wäre das auch erledigt 8-) .
Gruss
RedGuy
Also wenn man meine obige Formel vereinfacht, ist mir aufgefallen, kommt man auf den Durchschnitt ;) !
Also
Schallkonstanten fallen heraus.Auslenkung_gesamt = (Summe Auslenkungen) / (Anzahl Auslenkungen)
Also ich komme letztenendes auf (A+B)/2 !!!
Wäre das auch erledigt 8-) .
Gruss
RedGuy
Re: sound channel mixing - Formel ?
Durchschnitt heiß bei dir dann im Weiteren (A+B+C)/3 ?
Re: sound channel mixing - Formel ?
Jo, damit wird alles immer leiser je mehr quellen man hat. Sind die Quellen still....
und wie ich sagte: nutze nicht den faktor 2, sondern sqrt(2). Statistisch reicht das. Man muss ja nicht mehr Signal verlieren als nötig.
und wie ich sagte: nutze nicht den faktor 2, sondern sqrt(2). Statistisch reicht das. Man muss ja nicht mehr Signal verlieren als nötig.
Re: sound channel mixing - Formel ?
Darauf wollte ich mit meiner Frage raus. Lass ihn das selbst entdecken.
Re: sound channel mixing - Formel ?
Ist ja nicht so, dass das nicht schon erwähnt gewesen wäre....
-
- Establishment
- Beiträge: 111
- Registriert: 17.09.2002, 17:27
- Echter Name: Manuel Hofmann
- Wohnort: Rottweil
- Kontaktdaten:
Re: sound channel mixing - Formel ?
Hallo !
Ja ich meine (A+B+C)/3
Die Quellen sollten nicht still werden, denn der Zähler erhöht sich ja ebenfalls.
Also das Ganze sollte wirklich stimmen, denn es ist physikalisch hergeleitet...
Gruss
Red
[EDIT]
PS: bald habe ich meinen 100. Beitrag 8-) :D ;)
Ja ich meine (A+B+C)/3
Die Quellen sollten nicht still werden, denn der Zähler erhöht sich ja ebenfalls.
Also das Ganze sollte wirklich stimmen, denn es ist physikalisch hergeleitet...
Gruss
Red
[EDIT]
PS: bald habe ich meinen 100. Beitrag 8-) :D ;)
- Schrompf
- Moderator
- Beiträge: 4855
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas Ziegenhagen
- Wohnort: Dresden
- Kontaktdaten:
Re: sound channel mixing - Formel ?
Oh Gott. Ich hatte echt gedacht, es wäre irgendwas von dem angekommen, was ich hier getippt habe. Und dann sehe ich ganz oben auf Mount Stupid jemanden winken.RedGuy hat geschrieben:Also das Ganze sollte wirklich stimmen, denn es ist physikalisch hergeleitet...
Ein enormer Meilenstein, bei der Qualität der Texte, die Du vorlegst.PS: bald habe ich meinen 100. Beitrag 8-) :D ;)
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Re: sound channel mixing - Formel ?
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.
Meinst du doch nicht ernst, oder?
Egal wieviele Explosionen gleichzeitig stattfinden, es wird nie lauter.
Und wenn zu einer Explosion eine Grille zirpt, wird die Explosion plötzlich leiser.
Meinst du doch nicht ernst, oder?
Re: sound channel mixing - Formel ?
Master RedGuy, einfach nur, weil ich Spaß dran habe es nochmal zu schreiben:
mach eine Wurzel um deinen Faktor.
(A+B)/sqrt(2)
(A+B+C)/sqrt(3)
Physikalisch korrekt herleiten kannst du nur A+B. Der Faktor hat nichts mit Physik zu tun, sondern was mit dem limitierten Dynamikumfang deines digitalen Systems.
Wenn überhaupt kann man den Faktor 2 nur numerisch begründen (um Überlauf zu vermeiden). Überläufe sind aber nicht so schlimm, solange sie nicht überhand nehmen. Daher reicht statistisch sqrt(2). Das hat noch andere Begründungen, aber.. wozu..
mach eine Wurzel um deinen Faktor.
(A+B)/sqrt(2)
(A+B+C)/sqrt(3)
Physikalisch korrekt herleiten kannst du nur A+B. Der Faktor hat nichts mit Physik zu tun, sondern was mit dem limitierten Dynamikumfang deines digitalen Systems.
Wenn überhaupt kann man den Faktor 2 nur numerisch begründen (um Überlauf zu vermeiden). Überläufe sind aber nicht so schlimm, solange sie nicht überhand nehmen. Daher reicht statistisch sqrt(2). Das hat noch andere Begründungen, aber.. wozu..
Re: sound channel mixing - Formel ?
In den letzten Tagen habe ich auch mal darüber nachgedacht, mal genau diese Frage zu stellen. Krass, wie sich diese dann ohne mein Wissen hier im Forum manifestiert :D
Erstmal denke ich, das einfache Addieren ist richtig. Letztendlich ist es ja das gleiche, wie Wellen auf Wasser. Das skalieren mit der inversen Anzahl der Quellen ist auch korrekt, um die Übersteuerung komplett zu vermeiden. Allerdings ist hier Vorsicht geboten. Sagen wir, wir haben 4 Soundquellen... also A + B + C + D, das Ganze / 4, wenn 1 die Maximalamplitude jeder Quelle ist. Dieses / 4 würde nun aber auch bleiben, wenn eine Soundquelle verschwindet oder selbst leise wird. Dieser Faktor muss auch gar nicht / 4 sein. Denn wir wollen Übersteuerung vermeiden, jede Sound Quelle würde aber garantiert auch nicht in voller Intensität zu Buche schlagen. Wenn wir hier von Geräuschen im Spiel ausgehen, dann nehmen die ja wie Lichtquellen mit Abstand² ab, wenn keine Wände den Schall reflektieren. Überhaupt kann man sich gut mit Raytracing, Lichtquellen usw. ein gutes Äquivalent schaffen.
Schrompf hat ja auch schon auf das HDR aufmerksam gemacht, dass man eventuell auch eine Art Tonemapping anwenden könnte. Da kenne ich mich aber nicht aus. Aber bei Lichtquellen hat man genau das gleiche Problem. Wenn man das HDR Bild dann per Tonemap runterskaliert, wird das Bild auch nicht übersteuert und ergibt immer noch einen plausiblen Eindruck. Mich würde interessieren, ob das bei Schall auch so ist.
Eine Überlegung ist noch, dass damals zu DOS Spiele Zeiten ja auch nur eine Begrenzte Anzahl an Sounds gemischt wurden. Wenn also das obige 4 Sound Beispiel einfach so genommen würde, und man die stärksten 4 Soundquellen benutzt, dann sollte es ja immer noch einen guten Eindruck machen. Wobei "strärkste" bedeutet ja schon, dass zusätzliche Sounds dann immer weiter abnehmen und weniger beitragen.
Also mein Fazit nach den ganzen Überlegungen ist, wenn man nicht mit Tonemapping rumprobieren möchte, einfach einen Gesamtskalierungsfaktor einbauen. Vielleicht noch dynamisch tatsächlich Sounds runter skalieren, wenn z.B. temporär A und C extrem laut sind, beide etwas runterschrauben, damit es insgesamt wieder passt. Aber das wäre eigentlich schon eine Notlösung, denn ich glaube, letztendlich heißt es ausprobieren und schauen, ob sich das Ergebnis scheiße anhört oder gut genug ist. Und wenn irgendwo 3 Samples übersteuern ist das sicher auch nicht so tragisch. Denn wir haben hier ja gar nicht eine permanente Übersteuerung, sondern die kann ja nur auftreten, wenn die Wellenberge auch wirklich zusammen fallen.
Erstmal denke ich, das einfache Addieren ist richtig. Letztendlich ist es ja das gleiche, wie Wellen auf Wasser. Das skalieren mit der inversen Anzahl der Quellen ist auch korrekt, um die Übersteuerung komplett zu vermeiden. Allerdings ist hier Vorsicht geboten. Sagen wir, wir haben 4 Soundquellen... also A + B + C + D, das Ganze / 4, wenn 1 die Maximalamplitude jeder Quelle ist. Dieses / 4 würde nun aber auch bleiben, wenn eine Soundquelle verschwindet oder selbst leise wird. Dieser Faktor muss auch gar nicht / 4 sein. Denn wir wollen Übersteuerung vermeiden, jede Sound Quelle würde aber garantiert auch nicht in voller Intensität zu Buche schlagen. Wenn wir hier von Geräuschen im Spiel ausgehen, dann nehmen die ja wie Lichtquellen mit Abstand² ab, wenn keine Wände den Schall reflektieren. Überhaupt kann man sich gut mit Raytracing, Lichtquellen usw. ein gutes Äquivalent schaffen.
Schrompf hat ja auch schon auf das HDR aufmerksam gemacht, dass man eventuell auch eine Art Tonemapping anwenden könnte. Da kenne ich mich aber nicht aus. Aber bei Lichtquellen hat man genau das gleiche Problem. Wenn man das HDR Bild dann per Tonemap runterskaliert, wird das Bild auch nicht übersteuert und ergibt immer noch einen plausiblen Eindruck. Mich würde interessieren, ob das bei Schall auch so ist.
Eine Überlegung ist noch, dass damals zu DOS Spiele Zeiten ja auch nur eine Begrenzte Anzahl an Sounds gemischt wurden. Wenn also das obige 4 Sound Beispiel einfach so genommen würde, und man die stärksten 4 Soundquellen benutzt, dann sollte es ja immer noch einen guten Eindruck machen. Wobei "strärkste" bedeutet ja schon, dass zusätzliche Sounds dann immer weiter abnehmen und weniger beitragen.
Also mein Fazit nach den ganzen Überlegungen ist, wenn man nicht mit Tonemapping rumprobieren möchte, einfach einen Gesamtskalierungsfaktor einbauen. Vielleicht noch dynamisch tatsächlich Sounds runter skalieren, wenn z.B. temporär A und C extrem laut sind, beide etwas runterschrauben, damit es insgesamt wieder passt. Aber das wäre eigentlich schon eine Notlösung, denn ich glaube, letztendlich heißt es ausprobieren und schauen, ob sich das Ergebnis scheiße anhört oder gut genug ist. Und wenn irgendwo 3 Samples übersteuern ist das sicher auch nicht so tragisch. Denn wir haben hier ja gar nicht eine permanente Übersteuerung, sondern die kann ja nur auftreten, wenn die Wellenberge auch wirklich zusammen fallen.
:lol:Schrompf hat geschrieben:RedGuy hat geschrieben:Ein enormer Meilenstein, bei der Qualität der Texte, die Du vorlegst.PS: bald habe ich meinen 100. Beitrag 8-) :D ;)
Zuletzt geändert von Zudomon am 11.07.2017, 15:12, insgesamt 2-mal geändert.
Re: sound channel mixing - Formel ?
Zudomon hat geschrieben:Also mein Fazit nach den ganzen Überlegungen ist
:DSchrompf hat geschrieben: a) ein festes Gain, also ne schlichte Multiplikation der Amplitude. (A+B)*f
b) Ein Kompressor, also eine Amplituden-Abbildungsformel, die hohe Amplituden sozusagen ausbremst. Die knallharte Lösung, die zuverlässig 0..unendlich auf 0..1 bremst, wäre der von DerAlbi anfangs genannte tanh()
c) Ein Limiter, also ein zustandsbehafteter Gain, der die Amplitude jedes Samples gegen einen Maximalwert prüft und bei Überschreiten den Gain runterschraubt und erst langsam über Zeit wieder hochkommen lässt. Also (A+B) * f(Zeit)
Krishty, herrlich :D
Re: sound channel mixing - Formel ?
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:
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 ?
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:
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
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
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
-
- Moderator
- Beiträge: 2113
- Registriert: 25.02.2009, 13:37
Re: sound channel mixing - Formel ?
Seit Jahren das inoffizielle Motto dieses Forums.DerAlbi hat geschrieben: Eigentlich geht es eh nur noch um Krishty. :-D
- Krishty
- Establishment
- Beiträge: 8240
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: sound channel mixing - Formel ?
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!
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 ?
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
Ich selbst hab hier leider wenig beizutragen. Ich bearbeite leider kein sozialverträgliches Thema :-| #WaffenFürMehrFrieden :-D
- Krishty
- Establishment
- Beiträge: 8240
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: sound channel mixing - Formel ?
Wir haben hier kaum Projekte ohne Waffen. Und Geräusche machen die ja auch :P
-
- Establishment
- Beiträge: 111
- Registriert: 17.09.2002, 17:27
- Echter Name: Manuel Hofmann
- Wohnort: Rottweil
- Kontaktdaten:
Re: sound channel mixing - Formel ?
Hi !
Oh ! Ihr überzeugt mich.
Gruss
Red
Oh ! Ihr überzeugt mich.
Das hat mich nun doch komplett überzeugt. :)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.
Gruss
Red
Re: sound channel mixing - Formel ?
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.
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.
- Schrompf
- Moderator
- Beiträge: 4855
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas Ziegenhagen
- Wohnort: Dresden
- Kontaktdaten:
Re: sound channel mixing - Formel ?
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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Re: sound channel mixing - Formel ?
Schwungvoll wie Kristhys Pferd
Re: sound channel mixing - Formel ?
@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.
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 ?
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.
- Krishty
- Establishment
- Beiträge: 8240
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: sound channel mixing - Formel ?
Krishty hat geschrieben:Boah, und ihr habt alle meinen Namen richtig geschrieben.
Arsch :DDerAlbi hat geschrieben:Kristhys
Re: sound channel mixing - Formel ?
Dieser Moment, wenn man 5 mal hinschauen muss um zu sehen, dass der Name doch falsch geschrieben ist :lol:Krishty hat geschrieben:Krishty hat geschrieben:Boah, und ihr habt alle meinen Namen richtig geschrieben.Arsch :DDerAlbi hat geschrieben:Kristhys
Re: sound channel mixing - Formel ?
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. :?
Ist einfach ein kack Name. :?