Midi-Töne abspielen
-
Hi,
Ich möchte in meinem Programm einzelne MIDI-Töne abspielen. Also keine ganzen Lieder sondern c,d,e,f,g,a,h,c und so. Wie kann ich das machen?
-
Hat denn niemand ne Antwort?
-
Versuch's mal in Wave zu konvertieren. (Wegen ein paar kleinen Noten wie
c,d,e,... macht man doch kein MIDI! ;))
-
ich hab' dir mal ne Email geschrieben....
-
Hast du schon eine Komponente wie zB. TMidiGen ausprobiert?
-
Hey Jansen,
Der Link ist irgendwie falsch. Man kann da bloß E-Mails senden.
-
Original erstellt von The real DJ:
Hey Jansen,
Der Link ist irgendwie falsch. Man kann da bloß E-Mails senden.Die Startseite ist (logischerweise) unter http://www.alan-warriner.co.uk/ zu erreichen.
-
Kleines Beispiel:
#include <mmsystem.h> ... HMIDIOUT hMidiOut; UINT result = midiOutOpen(&hMidiOut, MIDI_MAPPER, 0, 0, 0); if(result != MMSYSERR_NOERROR) ShowMessage("Geht nicht!"); BYTE volume = 127; BYTE note = 72; // Ein C midiOutShortMsg(hMidiOut, (volume << 16) | (note << 8) | 0x91); // note on midiOutShortMsg(hMidiOut, (volume << 16) | (note << 8) | 0x81); // note off midiOutClose(hMidiOut);
Schreibst du statt 91 bzw. 81 die Zahlen 99 und 89, dann sind das Drums.
-
Hier eine kleine WebPage: http://www.zem-college.de/midi/index.htm
-
Hier noch eine bessere: http://www.borg.com/~jglatt/tech/lowmidi.htm
-
Vielen Dank an alle besonders an DopeFish. Hat mir sehr geholfen.
-
@Dopefish oder @noebef: Wenn Dopefishs Info besser war, dann würde ich die Mail auch gerne mal erhalten. Danke.
-
hi,
die links funktionieren alle nicht mehr
und mit dem quelltext von fritz komm ich nicht so ganz klar, bin noch blutiger anfänger abe rmich interessiert da smit diesem midi tönen sehr.
könnte mir jemand da vllt nen codeschnipsel für anfnger machen wäre sehr sehr dankbar
-
ich würd ach gern ma wissen wie das geht..
-
Hi,
dies sollte gehen:MCIERROR err; err = mciSendString("play example.mid", 0, MCI_WAIT, 0);
mfg
Peter
-
kpeter schrieb:
Hi,
dies sollte gehen:MCIERROR err; err = mciSendString("play example.mid", 0, MCI_WAIT, 0);
mfg
Peterhat leider nicht geklappt es kommt kein ton, obwohl die middatei in dem order liegt wo auch meine exe drin ist
-
Hi,
starte mal die Anwendung (F9), setze unter der Quelltextzeile einen
Haltepunkt und stelle der Wert von err fest.mfg
Peter
-
Hallo kpeter
Ist das so einfach?
Welches Midi Output Device wird denn benutzt?
Ich habe z.B standartmässig Microsoft Wavetable SW Synth ausgewählt.
Habe aber das gleiche Problem wie ext00535.
Kein Laut zu hören...
Ich habe mich die letzten Tage intensiver mit Midi mit BCB beschäftigt und
musste feststellen, das es ein weites Feld ist (WinAPI).
Aber dieser Thread wird endlich Klarheit bringen, hoffe ich...
wNw
-
Hi,
bei mir auch Midi-Musikwiedergabe Microsoft Wavetable SW Synth.
Rückgabewert ermitteln:
void __fastcall TForm1::SpeedButton2Click(TObject *Sender) { MCIERROR err; err = mciSendString("play example.mid", 0, MCI_WAIT, 0); ShowMessage("Rückgabewert : " + IntToStr(err)); }
Ist der Wert ungleich Null, kann man anhand der Fehlernummer die
Ursache ermitteln.
Was wird angezeigt ??mfg
Peter
-
Rückgabewert 0
-
Sorry
Jetzt gehts.
Hatte bei meiner Soundkarten Software das Midi Out nicht aktiviert.
DankewNw