Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Notenlängen berechnung (https://www.delphipraxis.net/160464-notenlaengen-berechnung.html)

divBy0 16. Mai 2011 13:59

AW: Notenlängen berechnung
 
Tempo :
Code:
FF 51 03 AA BB CC
Berechnung Tempo: 60 000 000 / AA BB CC


Takt :

Code:
FF 58 04 AA BB CC DD
AA Zähler

BB Nenner (2=4, 3=8, 4=16 usw.)

CC : Anzahl der Midi-Clocks

DD : Anzahl vom Zweiunddreißigstelnoten in einer Viertelnote

EWeiss 16. Mai 2011 14:20

AW: Notenlängen berechnung
 
Zitat:

Zitat von divBy0 (Beitrag 1101105)
Moment, kann ich dir raussuchen.

Das wäre nett ..
Danke.

gruss

DeddyH 16. Mai 2011 14:21

AW: Notenlängen berechnung
 
Emil, das hat er schon, schau mal einen Post höher ;)

EWeiss 16. Mai 2011 14:25

AW: Notenlängen berechnung
 
Zitat:

Zitat von DeddyH (Beitrag 1101119)
Emil, das hat er schon, schau mal einen Post höher ;)

Jup war schneller als ich schreiben konnte.
Ich denke er spricht vom Block "Zeit Signatur"

kann nur hiermit dienen..
Delphi-Quellcode:
  // Zeit Signatur
  Bytes[30] := 0;  // delta Zeit
  Bytes[31] := 255; // FF (Meta Befehl)
  Bytes[32] := 88; // Zeit Signatur Befehl
  Bytes[33] := 4;  // 4 bytes
  Bytes[34] := 4;  // Zähler
  // Nenner (2 = 1/4, 3 = 1/8, 4 = 1/16, etc.)
  Bytes[35] := SmallNoteData[SmallNDSelected].Nenner;
  Bytes[36] := 24; // ?
  // 8 = 32 Note in 1/4 Note;
  Bytes[37] := SmallNoteData[SmallNDSelected].Value;
Aber das ist mein Schreiber muss mal sehn wo ich die bytes im Reader abrufen kann.
müßten dann die ersten 4 bytes sein.
Werd ich dann in meinem Writer auch noch addieren müssen.
War ja vorher alles fest auf 4/4 ausgelegt.

gruss

divBy0 16. Mai 2011 14:28

AW: Notenlängen berechnung
 
Ich spreche vom MIDI-Event FF51 (Set Tempo) und FF58 (Time Signature).

divBy0 16. Mai 2011 14:30

AW: Notenlängen berechnung
 
Zitat:

Zitat von EWeiss (Beitrag 1101121)
Delphi-Quellcode:
  // Zeit Signatur
  Bytes[30] := 0;  // delta Zeit
  Bytes[31] := 255; // FF (Meta Befehl)
  Bytes[32] := 88; // Zeit Signatur Befehl
  Bytes[33] := 4;  // 4 bytes
  Bytes[34] := 4;  // Zähler
  // Nenner (2 = 1/4, 3 = 1/8, 4 = 1/16, etc.)
  Bytes[35] := SmallNoteData[SmallNDSelected].Nenner;
  Bytes[36] := 24; // ?
  // 8 = 32 Note in 1/4 Note;
  Bytes[37] := SmallNoteData[SmallNDSelected].Value;

Du hast das ja alles dezimal... Das kann aber ganz schön fies werden, mit der ganzen Umrechnerei. :wink:

EWeiss 16. Mai 2011 14:31

AW: Notenlängen berechnung
 
Zitat:

Zitat von divBy0 (Beitrag 1101123)
Ich spreche vom MIDI-Event FF51 (Set Tempo) und FF58 (Time Signature).

Jo Danke dann ist es das Bytes[33]..

Delphi-Quellcode:
  Bytes[31] := 255; // FF (Meta Befehl)
  Bytes[32] := 88; // Zeit Signatur Befehl
  Bytes[33] := 4; // 4 bytes
Die werte sind Dezimal ;)

EDIT:
Du warst mal wieder schneller...
Kein problem beim umrechnen der writer ist in HEX ausgelegt.

gruss

divBy0 16. Mai 2011 14:37

AW: Notenlängen berechnung
 
Zitat:

Zitat von EWeiss (Beitrag 1101127)
Jo Danke dann ist es das Bytes[33]..

Bist du sicher, dass es immer das Byte[33] ist?

Kann man deine Projekt schon mal antesten? Klingt irgendwie interessant.

EWeiss 16. Mai 2011 14:42

AW: Notenlängen berechnung
 
Zitat:

Zitat von divBy0 (Beitrag 1101130)
Zitat:

Zitat von EWeiss (Beitrag 1101127)
Jo Danke dann ist es das Bytes[33]..

Bist du sicher, dass es immer das Byte[33] ist?
Kann man deine Projekt schon mal antesten? Klingt irgendwie interessant.

Beim schreiben ja ..
Beim lesen weiss ich noch nicht wie ich da dran komme da den Reader mein Freund Silhwan geschrieben hat.
Müßte ihn erstmal anschreiben deswegen.



Jo hab es doch hochgeladen Das Virtual Piano..
Bin mittlerweile aber schon ein stück weiter.

gruss

Blup 16. Mai 2011 15:19

AW: Notenlängen berechnung
 
Vieleicht mal hier schaun: http://www.sonicspot.com/guide/midifiles.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:15 Uhr.
Seite 3 von 4     123 4      

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