Seite 1 von 2
Midi --> Wave
Verfasst: 21.09.2004 18:48
von Criss
Hallo zusammen!
Ist es möglich mit Purebasic ein komplettes Midi-File in ein Wave-File umzuwandeln und abzuspeichern?
Wie gehe ich vor oder was brauche ich dazu?
Danke schonmal zum voraus!
Criss
Verfasst: 21.09.2004 18:50
von NicTheQuick
Das geht so nicht.
Du musst einfach das MIDI abspielen und gleichzeitig wieder aufnehmen. Also Line Out und Line In von deiner Soundkarte verbinden. Allerdings solltest du dann vorher bei deinem Windows-Mixer den Line-Kanal ganz runterdrehen, sonst gibt es eine Rückkopplung.
Du kannst dur natürlich auch für ein paar hundert Euro einen ordentlichen Software-Synthesizer kaufen und das MIDI direkt als Wave rendern lassen.
Oder du schickst das MIDI mir und ich mache dir das.

Verfasst: 21.09.2004 23:20
von dllfreak2001
Wieso Lineinout verbinden?
selbst bei meiner alten ISA-AdvancedSOundkarte kann man den MidiSynthesizer als Eingangsquelle im soundmixer einstellen.
Da braucht man dann auch keine teure Software.
Verfasst: 22.09.2004 00:41
von Ynnus
Einfach den Sound mit beliebigem Programm abspielen und per Audiorecorder aufnehmen. Dazu muss bei den Soundoptionen als Aufnahmegerät aber Wave-Output oder Audio-Output oder wie das bei dir heißen mag, ausgewählt sein. Dann nimmt er alles auf, was die Boxen deines Rechners verlassen. Also auch das Midi Lied welches dann abläuft, wenn man es so will.
Verfasst: 22.09.2004 09:11
von dige
Wenn Du es unbedingt mit PureBasic machen willst dann musst Du
wie bereits beschrieben das Midi mit folgenden MCI Commands ab-
spielen und gleichzeitig aufnehmen. Sowas hatte Csnem mal im alten
Forum gepostet.
Es könnte dann wie folgt aussehen ( habs nicht getestet )
Code: Alles auswählen
; Abspielen
Buffer$=Space(128)
MCISendString_("OPEN TEST.MID TYPE SEQUENCER ALIAS MIDI",Buffer$,128,0)
MCISendString_("PLAY MIDI",0,0,0)
; Aufnehmen
Send_("open new type waveaudio alias test")
Send_("set test time format milliseconds")
Send_("record test from 0 to 5000 wait")
; Abspeichern:
Send_("Play test from 0 wait")
Send_("save test test.wav")
Am einfachsten dürfte es aber sein, wenn Du Dein Midi mit Winamp
abspielst und statt WaveOut das Writer Plugin verwendest.
cya dige
Verfasst: 24.09.2004 13:34
von Froggerprogger
Nachteil dabei ist, dass das Umwandeln nur in Realzeit funktioniert.
Bei fmod.dll wird aber ab 4.0 (oder vielleicht aber auch schon jetzt ???) ein eigener MIDI-Synthesizer integriert. Dann sollte man mit fmod und dem Flag #FMOD_NONREALTIME das MIDI-file mit maximal möglicher (CPU-abhängiger) Geschwindigkeit "abspielen" und gleichzeitig z.B. aus der DSP-chain wieder abgreifen und speichern können.
Hab noch nichts derartiges mit fmod probiert, aber könnte gut sein, dass damit sowas funktioniert.
Verfasst: 26.09.2004 00:49
von Dristar
hi !!
Ich glaube das es mit dem ModPlug Tracker geht
http://www.modplug.com/modplug/index.php3?session=
mfg Dristar
Verfasst: 26.09.2004 23:55
von Epyx
Das geht auch mit WinAMP, einfach damit das MIDI abspielen und das Nullsoft Diskwriter PlugIn vorher einstellen. Wenn man dann noch einen Dateinamen und den Pfad eingestellt hat speichert er es auch korrekt ab.
Oder per WinGroove wobei sich das Midi dann sogar noch besser anhört.
Verfasst: 02.10.2004 11:03
von hardfalcon
Es gibt da auch einen meroder weniger guten Audioplayer namens "Awave", der kann alle (un)erdenklichen Formate abspielen. Und die meisten "untereinander" konvertieren, soll heissen, er kann aus MIDI WAVE machen (dank integriertem Sampler schneller als mit der "aufnehmen-methode"), jedoch nicht von WAVE nach MIDI(dafür ist die Software zu billig, vomPreis her, nicht von der Qualität her!)
Ich habe die Software damals auf
www.hitsquad.com gefunden,da findest du alles, was irgendwie was mit Musik-software zu tun hat! Meist auch noch die Demo/Shareware/Freeware-Version vom gesuchten Programm!
cya
Pascal
Verfasst: 02.10.2004 12:24
von NicTheQuick
Ich kenne kein einziges Programm, das von WAVE nach MIDI konvertieren kann. Das ist auch ziemlich unmöglich oder sagen wir mal besser noch 1000 mal schwerer als Spracherkennung.