Français
Forum

Bits de readmidi dans Noten (werte) transformer

 

Ludger
Resing
allô
suis déjà longtemps sur qui cherche pour midi Programierung ,et suis eh bien sur euern Fil  [...]  gestoßen.
malheureusement ist mon aktive Programierzeit déjà longtemps zurück ,et je ne sais pas plus so viel par-dessus (doit mich seulement wieder einarbeiten) Habe sous Profan 6.6 la fois quoi programiert.
suis eh bien mais aussi zur Musik gekommen ,et voulais mir aussi quoi zum Keyboard apprendre écrivons (nen kleines Prog)
je spiele keyboard ,et voudrais voyons comment net je spiele ,veux alors direct qui länge qui noten et Pausen anzeigenlassen.eh bien habe je avec Thru quelque chose experimentiert et klappt déjà super.mais comment peux je qui Bits de readmidi dans dans Noten (werte )transformer.ou bien Sebastian la hâte du quelque chose comme déjà geschrieben.
j'ai déjà ne halbe nuit rumgegugelt
et viel trop viele Progs installiert , mais suis je alles pas avec klargekommen
Salut
Ludger
 
11.07.2008  
 




Sebastian
Sprenger
allô Ludger,

Ludger Resing
mais comment peux je qui Bits de readmidi dans dans Noten (werte )transformer.


si du données de deinem Keyboard einlesen veux, brauchst du zunächst fois le Bits 4-7. qui stehen pour qui MIDI-nouvelle, qui eingegangen ist, z.B. NoteOff ($80), NoteOn ($90), ProgramChange ($C0) etc.

qui prochain Bits sommes nouvelle-dépendant. chez einem NoteOn/-Off stehen qui Bits 8-14 pour qui Note (60=mittleres C, 62=D, 64=E, 65=F, 67=G, 72=hohes C, 48=tiefes C).

je hab la fois un kleines Demo geschrieben, peut-être hilft es dir plus:  [...] 
(Profan 7 wird nécessaire, mais si du eh déjà avec Thru experimentiert la hâte... )

Ludger Resing
ou bien Sebastian la hâte du quelque chose comme déjà geschrieben.


quoi meinst du avec quelque chose comme? un Programme zum Keyboard üben jedenfalls déjà, oui.
Genauer dit zum Nachspielen de MIDI-Fichiers:  [...] 
Salut, Sebastian
 
Profan² 7.0e, XProfan 9, 11.2a, FreeProfan32
Windows Vista Home Premium 32-Bit, 2.8 Ghz, 4 GB RAM
Windows Me, 1.8 Ghz, 256 MB RAM
11.07.2008  
 




Ludger
Resing
allô Sebastian
seulement la fois besten Dank pour qui schnelle Antwort
Gibt es irgendwo ne liste de den Bits et en Midi Funktion?
je suis avant ca 3 Jahren angefangen Keyboard trop apprendre .Klappt aussi eigentlich droite bien, sauf ,qui je toujours aus dem la mesure viens.alors voudrais je mir un Programme écrivons, welches direckt qui Noten (et en länge zum Tackt) anzeigt .avec dem Mitzählen bekomme je nähmlich pas hin .
Vieleicht encore un Tipp trop deinem Piano Lernspiel :Vileicht kanst du sur qui bouton qui gedrückt wird ,aussi den Finger qui benutzt volonté soll Montrer laisser.
je hatte bisher encore aucun devoir trouvé,quoi je wohl Programieren pourrait, jusqu'à je sur cet Problem stieß
et chez Google rien passendes fand.
j'ai sous Profan 6.6 autrefois WinAfuGame programiert.(une Amateurfunk Simulation)
Kusiert aussi encore im Netz ,là mais ne...aucune großes intérêt aufkam habe je qui entwicklung dessen eingestellt
Salut
Ludger
 
12.07.2008  
 




Sebastian
Sprenger
allô Ludger,
chez Wikipedia gibt es quelques Listen, wohin alles Wichtige abgedeckt ist:  [...] 
si du près de den Notenwerten mais seulement qui Longueur brauchst, ensuite brauchst du qui Listen eigentlich pas - j'ai alle Timing-Sachen toujours à &GetTickCount gemessen. Im Prinzip musst du avec cela seulement qui Zeit messen, qui entre einem NoteOn et dem zugehörigen NoteOff vergeht.

si du quand même autre MIDI-Messages empfangen veux, musst du à den Anfang votre Programms absolument
KompilierenMarqueSéparation
whileloop 23,38

    byte mim#,&loop=$90  NOP

endwhil
écrivons, weil ReadMidiIn sonst seulement NoteOn & -Off zurückgibt (J'ai eu autrefois so programmiert...).
Salut, Sebastian
 
Profan² 7.0e, XProfan 9, 11.2a, FreeProfan32
Windows Vista Home Premium 32-Bit, 2.8 Ghz, 4 GB RAM
Windows Me, 1.8 Ghz, 256 MB RAM
12.07.2008  
 




Ludger
Resing
allô Sebastian
Hab eh bien déjà ne weile avec deinem demo rum experimentiert .  [...] 
sais mais encore pas oui c'est ca comment je inerhalb qui gedrückten Keyboardtaste abfragen peux,si vous déjà losgelassen wurde.
KompilierenMarqueSéparation
Vieleicht peux on cela aussi dans deinem Piano Trainer einbauen
Salut
Ludger
 
18.08.2008  
 




Sebastian
Sprenger
allô Ludger,
cela sollte qui tandis que-Boucle korrekt ergänzen (Nachtrag um 21:32: geändert et getestet!):
KompilierenMarqueSéparationSalut, Sebastian
 
Profan² 7.0e, XProfan 9, 11.2a, FreeProfan32
Windows Vista Home Premium 32-Bit, 2.8 Ghz, 4 GB RAM
Windows Me, 1.8 Ghz, 256 MB RAM
19.08.2008  
 




Ludger
Resing
allô Sebastian

je ne sais pas, si Profan trop lente pour cet devoir ist, ou bien je seulement den falschen Weg vais, mais je bekomme es so encore pas hin.
je suis überzeugt en ,qui du aussi encore autre Sachen trop 1faire la hâte, mais si du Zeit la hâte exposition la fois sur meinen Voir le texte source
il funktioniert zwar Ansatzweise , mais trop träge.Mir ist cet Program très important , doch habe je im netz encore rien ähnliches trouvé
KompilierenMarqueSéparation
 $I Interface.inc
declare a$,a&,note%,vel%,note$[127],laenge&,wonote%
windowstyle 31
Window 1,1-1100,800
SetTrueColor 0

Proc Notenbezeichnung

    Array mit Notenbezeichnungen
    a$="C-C#D-D#E-F-F#G-G#A-A#H-"

    whileloop 0,127

        note$[&loop]=mid$(a$,(&loop mod 12)*2+1,2);str$(&loop12)

    endwhile

endproc

Proc Schlafe

    Parameters N&
    Declare Ende%
    SetTimer N&
    Clear Ende%

    WhileNot Ende%

        WaitInput
        Case %wmTimer:Ende% = 1

    EndWhile

    KillTimer

EndProc

Proc Notenlinien

    parameters zz%                  zz=zeile
    declare z%
    let z%=(zz%*120)-40                  abstand der zeilen - 40 ist zum ausrichten
    UsePen 0,1,@RGB(0,0,0)
    line 50,(10+z%)-1000,(10+z%)
    line 50,(20+z%)-1000,(20+z%)
    line 50,(30+z%)-1000,(30+z%)
    line 50,(40+z%)-1000,(40+z%)
    line 50,(50+z%)-1000,(50+z%)
    --------------------
    line 50,(10+z%)-50,(50+z%)     senkrechter Strich
    line 1000,(10+z%)-1000,(50+z%) Senkrechter hinterer Strich

endproc

proc posnote

    parameters eing$

    if left$(eing$,1)="C"

        wonote%=7

    elseif  left$(eing$,1)="D"

        wonote%=6

    elseif  left$(eing$,1)="E"

        wonote%=5

    elseif  left$(eing$,1)="F"

        wonote%=4

    elseif  left$(eing$,1)="G"

        wonote%=3

    elseif  left$(eing$,1)="A"

        wonote%=2

    elseif  left$(eing$,1)="H"

        wonote%=1

    endif

    let wonote%=wonote%-(((val(mid$(eing$,3,1)))-3)*7)+15 rem -3 ist die Oktave/*7 =sieben töne höher /+15 nur zum ausrichten
    endproc
    Proc balken
    Parameters Wert%, dauer&
    declare w%
    let w%=wert%*5
    UsePen 0,2,@RGB(31,0,0)
    UseBrush 1,@RGB(0,0,0)
    Ellipse (70+dauer&),(62+w%) - (83+dauer&),(70+w%)
    endproc
    notenlinien(1)
    notenlinien(2)
    openmidiin 0 mein USB Midieingang
    openmidiout 1 mein Midiausgang
    laenge&=0
    wonote%=0
    Notenbezeichnung
    whilenot (%umessage=16) or (%scankey=27)  Bis Alt-F4 oder ESC
    readmidiin  MIDI-Nachricht lesen
    a&=&(0)
    if a& >= 0  Gibt es eine?
    Ja, Ist es ein NoteOff oder NoteOn? (Man beachte, dass
    das 4. Bit in dieser If-Abfrage ausmaskiert ist und daher
    beide Nachrichten gleichzeitig abgefragt werden :))
    if (a& & $E0) = $80
    Ja, Notenwert und Lautstärke berechnen
    note% = (a& >> 8) & 127
    vel% = (a& >> 16) & 127
    Bei NoteOff gibts allerdings keine Lautstärke
    casenot a& & $10: vel% = 0
    Log
    LOCATE 18,5
    print "Die Taste",note$[note%],"(";note%;") wurde",
    if vel%
    posnote(note$[note%])
    playmidiout a& & $7F7F90
    print " gedrückt    "
    while readmidiin() & $7F0060
    inc laenge&
    balken(wonote%,laenge&)
    chlafe (1)
    endwhile
    else
    print "losgelassen."
    endif
    endif
    ass=s1>endif
    endwhile
    closemidiin
    closemidiout

Salut
Lutz
 
20.08.2008  
 




Frank
Abbing
ici nochmal alle nécessaire Fichiers dans einer Zip.
peux cela la fois quelqu'un avec Keyboard testen?

3 kB
Hochgeladen:21.08.2008
Downloadcounter64
Download
 
21.08.2008  
 




Sebastian
Sprenger
je vois seulement, dass es hakt, si plusieurs Tasten gleichzeitig gedrückt sommes (bzw. une neue bouton gedrückt wird, bevor qui vieille losgelassen wird), ansonsten fonctionne alles flüssig.

Salut, Sebastian
 
Profan² 7.0e, XProfan 9, 11.2a, FreeProfan32
Windows Vista Home Premium 32-Bit, 2.8 Ghz, 4 GB RAM
Windows Me, 1.8 Ghz, 256 MB RAM
21.08.2008  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

3.431 Views

Untitledvor 0 min.
Sven Bader14.10.2021
Jörg Sellmeyer11.09.2014
Sebastian Sprenger19.03.2013
Paul Glatz15.03.2013

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie