"gescheite" Lautstärke (Lautstärkeregelung funktioniert nicht richtig)

  • GM 7

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • "gescheite" Lautstärke (Lautstärkeregelung funktioniert nicht richtig)

    Hi, hab grad gemerkt, dass man die Lautstärke gar nicht gescheit einstellen kann.

    1 bedeutet ja laut und 0 bedeutet leise, also das ist das maximum und minimum.

    Jetzt hab ich mir ne Variable gemacht, die in Prozent die Lautstärke angibt und die Lautstärke errechnet sich durch

    GML-Quellcode

    1. volume/100

    Wobei volume meine Variable ist.

    Jetzt hab ich gemerkt, dass man bei 50 schon gar nichts mehr hört, bei 70 ein kleines bisschen und bei 100 ists ordentlich laut.


    Jetzt meine Frage:
    Wie kann ich die Lautstärke einstellen, dass ich eine Skala von 0-100% habe, wobei 100 Maximal ist und 0 Lautstärke aus, und nicht dass es bei 50 schon aus ist und meine Boxen sind nicht gerade leise.
    Ich weiß, dass ich das mit der Variable einfach umformen könnte, ich wüsste auch wie das geht, aber wieso funktionieren die Werte im GM nicht?

    edit: Bzw. ich weiß doch nicht wie ich das irgendwie umformen kann.

    edit: Ich weiß jetzt doch wie ichs umformen kann, mit

    Quellcode

    1. (((volume/2)+50)/100)

    da ist die Volume=0 und die Lautstärke ist 0.5
    und Volume=100 ist Lautstärke 1

    Aber geht das nicht einfacher oder warum funktioniert die Lautstärke vom GM nicht, also warum ist 0.5 nicht halb so laut wie 1?
    Gruß Gamer

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von The Gamer ()

  • Zu diesem Thema kannst du dir mal folgenden Artikel anschauen:
    dr-lex.be/info-stuff/volumecontrols.html

    Die Lautstärke eines Tons und die vom Menschen empfundene Lautstärke hängen nicht linear voneinander ab, sondern logarithmisch. Um nun eine perfekte lineare Lautstärkeänderung zu erreichen, müsste jedoch die Lautstärke der Lautsprecher bekannt sein, die bei volume = 100 erreicht wird. Das ist natürlich nicht möglich, da der Wert beliebig variieren kann. Man kann das ganze also nur näherungsweise hinbekommen und sollte dazu vor allem einfach ein bisschen an der Funktion rumschrauben. In dem oben verlinkten Artikel wird x^4 als hinreichend gut angesehen. In deinem Fall müsstest du also

    GML-Quellcode

    1. power(volume/100,0.25)

    verwenden. Du solltest aber wie gesagt mal probieren ein bisschen noch an der Funktion zu schrauben. Ich glaub Änderungen an der 0.25 reichen da schon aus. Eventuell reicht stattdessen schon 0.5 oder so. Einfach mal ausprobieren.
  • Benutzer online 1

    1 Besucher