![]() |
Welchen wert für lautstärke schreiben
Maximale Value für Midi ist 0-127
In verschiedenen Sequenzern wird aber die Lautstärke mit max 300 geregelt. Schreibe ich jetzt die eingestellten 180 direkt in's Midi machen einige programme natürlich ärger. Welchen wert müßte ich denn dann übergeben so das ich mit meiner Anwendung und fremde Anwendungen die richtige Lautstärke interpretieren können? Steh da irgendwie auf dem Schlauch. gruss |
AW: Welchen wert für lautstärke schreiben
Ist bei MIDI festgelegt, dass die Lautstärke 7 Bit lang ist (wir sind hier bestimmt alle nicht so MIDI-firm)? - Dann würde ich die Werte umrechnen, also 300/Max_mit_300 * 128 (oder 127).
Bernhard |
AW: Welchen wert für lautstärke schreiben
Dreisatz?
x in 0 bis 127 y in 0 bis 300 also x in y umrechnen |
AW: Welchen wert für lautstärke schreiben
Zitat:
Danke schön. Zitat:
Hmmm... gruss |
AW: Welchen wert für lautstärke schreiben
Hi,
180/300 * 127 = 76,2 Falls es Ganzzahlen sind, dann noch entsprechend runden. LG, Frederic |
AW: Welchen wert für lautstärke schreiben
Zitat:
gruss |
AW: Welchen wert für lautstärke schreiben
Das zurückholen ist aber sehr ungenau.
Delphi-Quellcode:
Tempo := round(300 / 127) * MidiNote.Velocity;
Mein Rechner! 300/127=2.362204724 * 76= 179.527559 korrekter wert. Delphi 152 wegen abrunden.. Geht das genauer so wie bei meinem Rechner ? gruss |
AW: Welchen wert für lautstärke schreiben
Hi,
klar, du rundest ja an der falschen Stelle. Du rundest die 2,36 zu 2 ab - das *76 ist dann nur 152. Also das round um die komplette Rechnung - dann sollten es 180 sein. LG, Frederic |
AW: Welchen wert für lautstärke schreiben
Zitat:
Danke hast mir sehr geholfen das lag mir schon lange im Magen ;) Man findet aber (abgesehen von der Mathe) kaum verständliche infos über Midi. Hoffe mal das ich euch nicht damit nerve. gruss |
AW: Welchen wert für lautstärke schreiben
Zitat:
Ich glaub, du musst nochmal das Problem darstellen. a) Du brauchst einen 7-Bit-Integer für die Lautstärke? b) Du hast größere Werte (Max 300). Ein Wert ist z.B. 180. So: 180 ist 8 Bit groß. Ließt ein Programm exakt nur 7 Bit ein, sind es ganze 52. Also umrechnen! Stimmt das jetzt so? Bernhard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz