Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1876to1880
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

An volti

An volti
31.03.2022 14:39:02
Antonio
Hallo Karl-Heinz,
Könntest du mir bitte sagen wie man den Kanak für Drum (10) eingestellt wird.
LG Antonio

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kanaleinstellung Midi
31.03.2022 19:27:22
volti
Hallo Antonio,
wie ich schon im ersten Beitrag geschrieben hatte: Ich hab keine Ahnung von dem Midi-Kram. Ich habe mich damit noch nicht beschäftigt.
Zur Kanal 10-Einstellung (Drum) kann ich Dir daher nicht weiterhelfen.
Vielleicht weiß jemand anderes was dazu. Daher lasse ich die Frage mal offen.
Ich habe aber mal an der Synchronisierung gearbeitet. Ein Abgleich zwischen Melodie und Begleitung ist machbar, aber schwierig.
Deshalb habe ich für Melodie und Begleitung die Timerzeiten um Differenzen zum mitlaufenden PC-Timer korrigiert, so dass nun ein ziemlich guter Gleichlauf zustande kommt.
Durch Laufzeiten und andere Störfaktoren verlor das Gesamtstück (33 Sek.) bis zu 0,9 Sekunden.....
Außerdem habe ich die Midi-Nummern spaßeshalber durch die Noten ersetzt. Die Umsetzung in die Midi-Nummern erfolgt anhand der Notenliste.
Musiktool.xlsm
Viele Grüße
Karl-Heinz
Anzeige
AW: Kanaleinstellung Midi
01.04.2022 06:57:39
Antonio
Hallo Karl-Heinz,
WOW!!! Die Synkronisierung ist TOLL kaum bemerkbar. VIELEN DANK.
Und Danke auch für die Umsetzung in Noten, wäre mein nächster Schritt gewesen um das viel schreiben zu vereinfachen.
Zur Kanal 10-Einstellung (Drum) verstehe, vielleicht findet sich wirklich jemand der mir weiter bringen kann.
Inzwischen habe viel gelesen über Midi aber über Kanäle nichts gefunden.
Habe auch eine Bass Linie eingebaut und das Ganze konnte aufgerundet werden wenn eine Drum Linie dabei wäre auch wenn nur ganz simpel.
Trotzdem VIELEN DANK.
Falls jemand zu diesem Thread helfen kann ist er willkommen.
LG Antonio
Anzeige
AW: Midi Nummern Noten
01.04.2022 08:50:58
Antonio
Hallo Karl-Heinz,
eine Frage noch,
hast du die Noten händisch ersetzt oder über ein Makro?
In dieser Sub ist der Code fürs ersetzten:

Sub PlayMIDI(iVoiceNum As Integer, vNoteNum As Variant, Optional iVolume As Integer = 127)
Dim i As Integer, vArr As Variant, iFound As Long
If hMidiOut = 0 Then Exit Sub                              ' Kein Handle=>raus
If iVoiceNum > 0 Then _
midiOutShortMsg hMidiOut, (256 * iVoiceNum) + 192       ' Instrument wählen
vArr = Split(vNoteNum, ",")                                ' Noten zusamenstellen
On Error Resume Next
For i = 0 To UBound(vArr)
If Val(vArr(i)) = 0 Then
With ThisWorkbook.Sheets("Midi")
iFound = 0
iFound = WorksheetFunction.Match(vArr(i), .Columns(15), 0)
If iFound > 0 Then
vArr(i) = .Cells(iFound, 14).Value
End If
End With
End If
midiOutShortMsg hMidiOut, RGB(144 + 10, vArr(i), iVolume)  '144 = h90
Next i
DoEvents
End Sub
Wie kann ich es umsetzen?
Midi Nummer schreiben und dann wie ersetzen?
PlayMIDI läss sich nicht abrufen
LG Antonio
Anzeige
AW: Midi Nummern Noten
01.04.2022 08:51:37
Antonio
.
AW: Midi Nummern Noten
01.04.2022 09:20:28
volti
Hallo Antonio,
die Nummern habe ich händisch ersetzt. Es gibt kein Umsetzcode Nummer=>Note, weil ich davon ausgegangen bin, dass künftige Projekte vom User/Dir natürlich nu noch über die Noten gehen und lediglich zum Abspielen eine Umsetzung in Nummern erfolgen muss.
PS: PlayMidi hat zu übergebende Parameter, somit kann man die Sub nicht einfach laufen lassen...
Dieser Part hier ersetzt die Noten=>Nummern.
On Error Resume Next
With ThisWorkbook.Sheets("Midi")
     iFound = 0
     iFound = WorksheetFunction.Match(vArr(i), .Columns(15), 0)
     If iFound > 0 Then
        vArr(i) = .Cells(iFound, 14).Value
     End If
End With
Gruß aus dem eisigen Hessen
Karl-Heinz
Anzeige
AW: Midi Nummern Noten
01.04.2022 09:59:21
Antonio
Hallo Karl-Heinz,
Ich habe dir zu spät geantwortet dasich gemerkt habe das die Umsetzung zur Laufzeit passiert.
Zur Synkronisierung:
du hast in BegleitungProc:

(iZeileMel, 3)
die gleiche Spalte wie bei der Melodie.
Somit laufen sie gleich, aber die Begleitung hat den selben
Rhythmus wie die Melodie, das kann ich nicht machen
weil dadurch geht die Rhythmik verloren wenn alles gleich ist.
Ich werde versuchen mit dem neuen Timer von dir ein wenig rumzuspielen.
Hier in der Steiermark ist auch eisig, 3° und Schnee ist angesagt.
LG Antonio
Anzeige
AW: Midi Nummern Noten
01.04.2022 12:00:15
volti
Hallo Antonio,
ja, da war noch ein Fehler drin. So sollte es sein...
Code:


Sub BegleitungProc() KillTimer 0&, hTimerBeg: hTimerBeg = 0 ' Begleitungs-Timer löschen With ThisWorkbook.Sheets("Midi") Do iZeileBeg = iZeileBeg + 1 If iZeileBeg > .Cells(.Rows.Count, "F").End(xlUp).Row Then If hTimerMel = 0 Then midiOutClose hMidiOut: hMidiOut = 0 Exit Sub End If If Val(.Cells(iZeileBeg, 8).Value) > 0 Then Exit Do Loop PlayMIDI .Cells(iZeileBeg, 6).Value, .Cells(iZeileBeg, 7).Value, .Cells(iZeileBeg, 9).Value If cTimerBeg = 0 Then cTimerBeg = (Timer * 1000) cTimerBeg = cTimerBeg + .Cells(iZeileBeg, 8).Value hTimerBeg = SetTimer(0&, 0&, cTimerBeg - (Timer * 1000), AddressOf BegleitungProc) End With End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Midi Nummern Noten
04.04.2022 06:43:29
Antonio
Danke
jetzt ist gut
LG Antonio
AW: Kanal 10 MIDI (Drum)
01.04.2022 09:35:50
Antonio
Hallo Karl-Heinz,
sorry, dumm vom mir,
es geschiet zur Laufzeit.
LG Antonio

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige