kleines mathematisches Problem (digitales Runden)

Hier sollen alle kleinen Minilösungen und sonstiges Nützliches hinein

Moderator: herw

Antworten
Quietschboy
synth doctor
Beiträge: 218
Registriert: 6. April 2011, 20:31
Wohnort: Wiesbaden

kleines mathematisches Problem (digitales Runden)

Beitrag von Quietschboy »

Hallo liebe Reaktorfreaks!

Ich habe ein kleines mathematisches Problem auf dessen Lösung ich gerade nicht komme.

Ein float Zahl soll auf die nächsliegende Integer der 2hochN Reihe gerundet werden. Also konkret auf 1, 2 , 4, 8 oder 16.
Die Float Zahl bewegt sich auch in diesem Bereich.

Man könnte das natürlich mit Iteration und größer/kleiner Vergleichen lösen, aber irgendwie habe ich im Gefühl, dasss es auch einfacher gehen muss. Evtl. sogar mit Bit-Operatoren.

Sänk Ju,
Mark
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: digitales Runden

Beitrag von herw »

Quietschboy hat geschrieben:Hallo liebe Reaktorfreaks!

Ich habe ein kleines mathematisches Problem auf dessen Lösung ich gerade nicht komme.

Ein float Zahl soll auf die nächsliegende Integer der 2hochN Reihe gerundet werden. Also konkret auf 1, 2 , 4, 8 oder 16.
Die Float Zahl bewegt sich auch in diesem Bereich.

Man könnte das natürlich mit Iteration und größer/kleiner Vergleichen lösen, aber irgendwie habe ich im Gefühl, dasss es auch einfacher gehen muss. Evtl. sogar mit Bit-Operatoren.

Sänk Ju,
Mark
Du wusstest natürlich genau, dass mich das anfixt ;)
digital runden.png
Die Makros round dn und round up sind aus partials framework 1.1 entnommen.
Ich habe mal drei Alternativen für das digitale Runden erstellt.
Gib zu, dass du mich nur testen wolltest: kleine Fingerübung oder auch glückliche Hand ::kaffee::
digiales Runden.ens.zip
Man kann natürlich das Abrunden auch durch Bitshifting aus dem Aufrunden erzeugen:
up2dn.png
PS: wenn du statistische Ausgeglichenheit zwischen dem Auf- und Abrunden bei den genauen Zwischenwerten haben möchtest (soll z.B. 6 auf oder abgerundet werden?), dann musst du beim Nächst-liegenden-Runden noch eine Zwischenabfrage einbauen. Hier wird bei gleichem Abstand generell aufgerundet.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: kleines mathematisches Problem (digitales Runden)

Beitrag von herw »

statistische Ausgeglichenheit bei ganzzahligen Mittelwertenwerten (gleicher Abstand zur nächst höheren und niedrigeren Zweierpotenz) kann man durch eine Abfrage vor dem Vergleich zwischen Auf- und Abrundem umschalten:
digital runden stat.png
Beim ersten Mittelwertwert 3 wird abgerundet, beim zweiten Mittelwert 6 aufgerundet, beim dritten Mittelwert 12 wieder abgerundet, bei 48 aufgerundet usw..
Mit der Abfrage gerade/ungerade? wird die Zahl in den digitalen Abschnitt eingeteilt, der auszuwählen ist.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Quietschboy
synth doctor
Beiträge: 218
Registriert: 6. April 2011, 20:31
Wohnort: Wiesbaden

Re: kleines mathematisches Problem (digitales Runden)

Beitrag von Quietschboy »

herw hat geschrieben:Du wusstest natürlich genau, dass mich das anfixt ;)
Mensch! Herwig! Was´n Ding, DU hier?? :mrgreen:
Hihihi..
Immer wieder bewundernswert, was du mal eben so aus dem Ärmel schüttelst. Ich muss zugeben, auf den Logarythmus wäre ich so schnell nicht gekommen.
Das erste Beispiel ist mir jetzt klar. Und so wie ich es sehe, wird das zweite Round DWN hinter der Exponentalfunktion im Zweig "digital abgerundet" nur für die Fließkommawerte zwischen 0 und 1 benötigt. Dazu fiel mir auf, dass man es auch durch ein einfaches ROUND ersetzen kann, da der maximale, zu rundende Wert 0,5 beträgt und nach IEE sowieso abgerundet wird:
round.JPG
Also, vielen Dank dafür. Das ist supergenial. Jetzt schaue ich mir dein zweites Beispiel für abwechselndes Runden der "Mittelwerte" an.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Quietschboy am 1. März 2018, 22:18, insgesamt 1-mal geändert.
Quietschboy
synth doctor
Beiträge: 218
Registriert: 6. April 2011, 20:31
Wohnort: Wiesbaden

Re: kleines mathematisches Problem (digitales Runden)

Beitrag von Quietschboy »

OK, der statistisch abwechselnd gerundete Mittelwert ist auch gecheckt.

Ich hätte ja noch eine Aufgabe dazu, aber...hm, ich weiss nicht.. soll ich mir das verkneifen?
Ach komm, wat soll´s:

Wie könnte man denn die 6 und die 12 als Rundungsziele da noch mit reinbringen? :twisted:
Das finde ich echt knifflig.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: kleines mathematisches Problem (digitales Runden)

Beitrag von herw »

Quietschboy hat geschrieben:OK, der statistisch abwechselnd gerundete Mittelwert ist auch gecheckt.

Ich hätte ja noch eine Aufgabe dazu, aber...hm, ich weiss nicht.. soll ich mir das verkneifen?
Ach komm, wat soll´s:

Wie könnte man denn die 6 und die 12 als Rundungsziele da noch mit reinbringen? :twisted:
Das finde ich echt knifflig.
Heißt also jeweils auch die Mittelwerte zwischen den Zweierpotenzen, wenn schon dann aber auch alle Mittelwerte, also die 3 davor und auch die 48, ..., sonst würde man ja nur einen lästigen Check nachschieben müssen, also wenn schon denn schon. Wenn es nur um die Zahlen 1, 2, 4, 6, 8, 12 und 16 geht, lohnt sich ja eine allgemeine Lösung kaum.
Und außerdem solltest du noch angeben, wie gerundet werden soll: abwechselnd auf und ab oder wie? Ich gehe mal nur vom Aufrunden aus, das dürfte einfacher sein.
Geht es nur um den Wertebereich von 0 bis 16 würde ich das wohl noch ganz anders lösen wollen, hab schon eine Idee.
Allerdings musst du vorher genau für die Intervalle die gewünschten Werte definieren, denn der Beschreibung „gleichweit entfernt” ist dann nicht mehr gültig.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: kleines mathematisches Problem (digitales Runden)

Beitrag von herw »

Quietschboy hat geschrieben:
herw hat geschrieben:Du wusstest natürlich genau, dass mich das anfixt ;)
Mensch! Herwig! Was´n Ding, DU hier?? :mrgreen:
Hihihi..
[...]
Ich bin immer hier ::kaffee::
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: kleines mathematisches Problem (digitales Runden)

Beitrag von herw »

Wenn es sich nur um einen so kleinen Bereich mit wenigen Werten handelt, geht es auch viel einfacher:
Intervallrunden.png
Ich habe es so gestaltet, dass jeweils abwechselnd ab- bzw. aufgerundet wird beim Erreichen eines Rundungsintervalls. Die Logik-Maros lassen sich jeweils auch anders gestalten.
Es werden eigentlich nur die Treffer der Intervalle gezählt. Die Tabelle wandelt dann die Anzahl der Treffer in den gewünschten Wert um.
Intervallrunden.ens.zip
::kaffee::
__________
Für REAKTOR-Neueinsteiger: Das Core Makro GE gibt es in der RAKTOR Library nicht, habe ich mir aber aus dem GT abgeleitet. Das „>”-Modul kann in den Properties geändert werden.
LOGIK-Makro.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
electrolurch808
user
Beiträge: 10
Registriert: 30. März 2010, 22:25
Wohnort: Kassel

Re: kleines mathematisches Problem (digitales Runden)

Beitrag von electrolurch808 »

Off Topic: Also ich bin ja nur ein kleiner Primary Gelegenheitsreaktionist und ich habe nicht den blassesten Schimmer über was Ihr Euch hier austauscht, aber ich mag den humorvollen und dennoch seriösen Umgangston und hab einen Heidenspass mitzulesen. Lieben Gruss, kleines aber tolles Forum.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: kleines mathematisches Problem (digitales Runden)

Beitrag von herw »

electrolurch808 hat geschrieben:Off Topic: Also ich bin ja nur ein kleiner Primary Gelegenheitsreaktionist und ich habe nicht den blassesten Schimmer über was Ihr Euch hier austauscht, aber ich mag den humorvollen und dennoch seriösen Umgangston und hab einen Heidenspass mitzulesen. Lieben Gruss, kleines aber tolles Forum.
::kaffee:: :D
Danke, das war von vorne herein der Sinn dieses Forums.
Ich finde es wiederum spannend, wenn Mark mit so kleinen Fragestellungen kommt, von denen man nicht weiß, was er wieder austüftelt, solange ich keine Bits halbieren muss ;)
Quietschboy
synth doctor
Beiträge: 218
Registriert: 6. April 2011, 20:31
Wohnort: Wiesbaden

Re: kleines mathematisches Problem (digitales Runden)

Beitrag von Quietschboy »

:D Sein Bit halbiert man nur mit dem besten Freund!

Und Danke für die Lösung Intervallrunden! Das ist genial!
Dann will ich auch mal verraten, wofür man sowas brauchen kann:
Es geht darum zu einer freien Aufnahme irgendeiner Länge ein dazugehöriges Tempo und die Anzahl aufgenommener Takte zu bestimmen. Dabei wird ein mittleres Tempo, meinetwegen 100 oder 120BPM, und eine Standardauswahl der Taktanzahl vorrausgesetzt. Ob ich 6 und 12 Takte mit berücksichtige, weiss ich noch nicht. Das muss ich, oder besser Andere (Musiker!) dann noch ausprobieren. Je nachdem wie es Sinn ergibt.
Die Fließkommazahl der obigen Berechnungen entspräche der Anzahl Takte für das angenommene, mittlere Tempo. Mit den Formeln kann dann auf das nächstliegende Raster gerundet und somit die tatsächliche Anzahl Takte und Tempo erraten werden.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: kleines mathematisches Problem (digitales Runden)

Beitrag von herw »

Quietschboy hat geschrieben::D Sein Bit halbiert man nur mit dem besten Freund!

Und Danke für die Lösung Intervallrunden! Das ist genial!
Dann will ich auch mal verraten, wofür man sowas brauchen kann:
Es geht darum zu einer freien Aufnahme irgendeiner Länge ein dazugehöriges Tempo und die Anzahl aufgenommener Takte zu bestimmen. Dabei wird ein mittleres Tempo, meinetwegen 100 oder 120BPM, und eine Standardauswahl der Taktanzahl vorrausgesetzt. Ob ich 6 und 12 Takte mit berücksichtige, weiss ich noch nicht. Das muss ich, oder besser Andere (Musiker!) dann noch ausprobieren. Je nachdem wie es Sinn ergibt.
Die Fließkommazahl der obigen Berechnungen entspräche der Anzahl Takte für das angenommene, mittlere Tempo. Mit den Formeln kann dann auf das nächstliegende Raster gerundet und somit die tatsächliche Anzahl Takte und Tempo erraten werden.
aha, ich würde dafür Logic Pro nehmen ;)
Hab' ich aber noch nicht ausprobiert.
Quietschboy
synth doctor
Beiträge: 218
Registriert: 6. April 2011, 20:31
Wohnort: Wiesbaden

Re: kleines mathematisches Problem (digitales Runden)

Beitrag von Quietschboy »

Na dann probier mal aus :D
Kann Logic auch live-loopen?
Die nächste Stufe wäre, die Takte auch anhand Wiederholungen und On-Beat Attcks im Audiosignals zu erkennen. So ließen sich "Fehlanalysen" vermeiden. Aber das ist mir definitiv zu hoch und, denke ich, auch nicht nötig.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: kleines mathematisches Problem (digitales Runden)

Beitrag von herw »

Quietschboy hat geschrieben:Na dann probier mal aus :D
Kann Logic auch live-loopen?
Die nächste Stufe wäre, die Takte auch anhand Wiederholungen und On-Beat Attcks im Audiosignals zu erkennen. So ließen sich "Fehlanalysen" vermeiden. Aber das ist mir definitiv zu hoch und, denke ich, auch nicht nötig.
Ja, Logic kann live loopen.
Ich glaube ich habe das gestern unbewusst gemacht. In dem Fall wohl mit midi-Noten. Ich hatte A Whiter Shade of Pale zum Üben für die Band eingespielt. Ich hatte das Metronom zwar eingestellt, aber in der Melodiepassage mit laufenden Achteln wohl zu langsam eingespielt. Das Tempo erschien mir angepasst; intelligentes Zeitverhalten war eingestellt. So hatte ich es eigentlich nicht vor, denn ich wollte ja ein relativ exaktes Spiel-Ergebnis und nicht die Anpassung an mein Unvermögen. Trotz meines Spiels etwas außerhalb des Zähltimings wurden mir brav die vorgesehenen Noten angezeigt. Das war etwas ungewohnt für mich. Ich habe es dann wieder umgeschaltet. Man muss sich zunächst an dieses Feature gewöhnen und schauen, wie man das Ergebnis weiterverarbeitet.
Quietschboy
synth doctor
Beiträge: 218
Registriert: 6. April 2011, 20:31
Wohnort: Wiesbaden

Re: kleines mathematisches Problem (digitales Runden)

Beitrag von Quietschboy »

herw hat geschrieben:...Das Tempo erschien mir angepasst; intelligentes Zeitverhalten war eingestellt. So hatte ich es eigentlich nicht vor, denn ich wollte ja ein relativ exaktes Spiel-Ergebnis und nicht die Anpassung an mein Unvermögen. Trotz meines Spiels etwas außerhalb des Zähltimings wurden mir brav die vorgesehenen Noten angezeigt...
Das hört sich nach einem krassen Feature für eine DAW an. Die KI "überrennt" das Metronom und dazu auch noch live?
Mein DAW-Kenntnisstand ist bei Cubase 5 stehengeblieben. Da konnte man auch schon Audiomaterial ans Tempo anpassen oder umgekehrt. Man musste dazu aber auch manuell Hand anlegen. Keine Ahnung was Cubase 9? heute kann, aber was ich von meinem Bruder gehört habe, ist Qualitätsbewusstsein bei Yamaha-Steinberg leider immer noch nicht wirklich angekommen. D.h. mit jedem neuen Feature kommen 10 neue Fehler oder Unzulänglichkeiten hinzu und alte Fehler, teils auch in Brot-und-Butter-Funktionen, werden nicht behoben.
Antworten