Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Welchen wert für lautstärke schreiben (https://www.delphipraxis.net/160540-welchen-wert-fuer-lautstaerke-schreiben.html)

EWeiss 18. Mai 2011 14:52

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

rollstuhlfahrer 18. Mai 2011 14:58

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

himitsu 18. Mai 2011 14:59

AW: Welchen wert für lautstärke schreiben
 
Dreisatz?

x in 0 bis 127
y in 0 bis 300

also x in y umrechnen

EWeiss 18. Mai 2011 15:19

AW: Welchen wert für lautstärke schreiben
 
Zitat:

Zitat von himitsu (Beitrag 1101554)
Dreisatz?

x in 0 bis 127
y in 0 bis 300

also x in y umrechnen

Bitte ein Beispiel ;)

Danke schön.

Zitat:

Dann würde ich die Werte umrechnen, also 300/Max_mit_300 * 128 (oder 127).
Wenn ich maximal 127 übergeben darf und diese mit 180 Multipliziere dann kommt ein vielfaches von 127 raus.

Hmmm...

gruss

fkerber 18. Mai 2011 15:40

AW: Welchen wert für lautstärke schreiben
 
Hi,

180/300 * 127 = 76,2

Falls es Ganzzahlen sind, dann noch entsprechend runden.


LG, Frederic

EWeiss 18. Mai 2011 15:52

AW: Welchen wert für lautstärke schreiben
 
Zitat:

Zitat von fkerber (Beitrag 1101568)
Hi,

180/300 * 127 = 76,2

Falls es Ganzzahlen sind, dann noch entsprechend runden.


LG, Frederic

Danke werde es mal versuchen.

gruss

EWeiss 18. Mai 2011 16:19

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

fkerber 18. Mai 2011 16:23

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

EWeiss 18. Mai 2011 16:31

AW: Welchen wert für lautstärke schreiben
 
Zitat:

Zitat von fkerber (Beitrag 1101582)
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

Ohh sorry stimmt.
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

rollstuhlfahrer 18. Mai 2011 16:59

AW: Welchen wert für lautstärke schreiben
 
Zitat:

Zitat von EWeiss (Beitrag 1101564)
Zitat:

Dann würde ich die Werte umrechnen, also 300/Max_mit_300 * 128 (oder 127).
Wenn ich maximal 127 übergeben darf und diese mit 180 Multipliziere dann kommt ein vielfaches von 127 raus.

Zu dem Zitat: Das ist die Umrechnung von 300-Werte auf 127-Werte.

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 05:08 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz