MIDI-TO-OGG Konverter
Übersicht

![]() |
MidimasterBetreff: MIDI-TO-OGG Konverter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Im Rahmen meines Rhythmus-Trainer Projektes musste ich feststellen, dass es auf dem MAC überhaupt kein Standard-MIDI-Device ala "Microsoft GS WaveTable" gibt. Das heißt jeder Sound der dort erklingen soll, muss als Audio-Datei mitgegeben werden.
Ein WaveTable dagegen stellt ein Minimum von 127 frei spielbaren Musik-Instrumenten, sowie ca 40 Drum-Sounds zur Verfügung. Diese Instrumente decken den gesamte Bandbreite an Musikinstrumenten ab und Du kannst damit jede Note auf jeden Instrument spielen. Meine Idee war nun, auf einen WIN-Rechner einfach den gesamten WaveTable Sound für Sound, Note für Note abzuräumen und in einzelnen Ogg-Sounds zur Verfügung zu stellen. Genau dies ermöglicht der MIDI-TO-OGG Konverter. Ideales Tool auch für Monkey-Projekte. Fertige Exe: http://www.midimaster.de/downl...verter.exe Es ist z.B. mit dem Tool möglich 40 Drum-Sounds automatisch zu generieren und sie dann als OGG-Sounds im eigenen Programm wieder zu einen Beat zusammenzusetzen. Oder Du kannst z.b. 24 Töne einer Gitarre generieren lassen und dann beliebige Gitarrenmelodien in deinem Code abspielen. Natürlich kannst Du das Programm auch mit einem hochwertigem MIDI- Keyboard zusammenarbeiten lassen. Dann bist Du in der Lage den Sound des Instrumentes Ton für Ton auf den Computer zu transferieren. So kommt Du an hochwertige Sound für deine Spiele. Anleitung der neuen Version II: Nach dem Einstellen des MIDI-Device, sowie Auswahl der MIDI-Kanals (10=Drums, alle anderen sind Sounds) wählst Du eines der 127 Instrumente aus. Nun legst Du fest, von welcher tiefen Note bis zu welcher hohen Note Einzelsounds erstellt werden sollen. Theoretisch reichen die Werte von 0 bis 127. Praktisch wird man nur Sound zwischen 24 und 96 hörbar wahrnehmen. Der Ton C=36, C#=37, D=38... , c=48, ..., c'=60, ... Achting beim Drum-Channel 10 sind möglicherweise alle 127 nützlich! Mit dem Midi-Volumen legt man vor allem fest, wie agressiv der Sound klingen soll. Das Midi-Volumen verändert zwar auch die Lautstärke des zu spielenden Sounds, aber vor allem die Agressivität. Vol=60 ist "normal". Die Sample Länge legt fest, in welcher Länge Du die Sound benötigst. Es sind Werte möglich von 500msec bis 5000msec. Viele Sound klingen "nach" oder haben nach dem Loslassen noch Hall. Mit dem "Back Cut" Threshold Wert legst Du fest, ob die Aufnahme hinten so beschnitten werden soll, dass nur der Teil der eine Mindestlautstärke aufweist als Sound gespeichert werden soll. Mit Werten wie "0" bekommst Du die gesamte Samplelänge +eventuel bis zu 2sec wegen eines Nachhalls. Mit Werten wie "100" wird solch ein Hall so gut wie völlig herausgeschnitten. Der "Front Cut" Threshold schneidet stille Teile vorne in der Aufnahme ab. Manche MIDI-Soundmodule benötigen etliche msec, bevor sie endlich den Sound abspielen. Ein "Front Cut" Threshold von 250 sorgt dafür dass der gespeicherte Sound keinen unnötigen "Vorspann" mehr enthält und die Sounds später im Spiel sofort mit etwas lauten starten. Mit dem Button "Test" kannst Du nun die Konvertierung simulieren, mit dem Button "Save" geht es los. Die Sounds werden der Reihe nach abgespielt und dann unter "Eigene Dateien" in einem gemeinsamen Ordner gesammelt. Wichtig: Die Lautstärke der Aufnahme wird mit dem Windows-Mixer kontrolliert. Hierzu muss im Mixer bei Optionen die Eigenschaft auf "Aufnahme" gestellt werden und als Quelle der "Stereo-Mix" verwendet werden. Mach zuerst Probeaufnahmen und betrachte die entstandenen OGG-Files in Audacity auf Übersteuerung. Die Lautstärke des Audiomaterials sollte nur bis zu etwa 50% ausgereizt werden. Hier der Quellcode (allerdings der alten Version): BlitzMax: [AUSKLAPPEN] SuperStrict Zum Quellcode: Hier findet Ihr die noch benötigte GMSounds.lst: https://www.blitzforum.de/upload/file.php?id=10657 Wichtiger Hinweis: Das Programm muss auch während der Entwicklung immer korrekt beendet werden ( CloseWindow oder ESC), das sonst sowoh das OpenAL, als auch das MIDI-Device geöffnet bleiben kann und es wegen der CallBacks zu Abstürzen des Rechners kommen wird! Der Quellcode des Programm benötigt folgende Module: BaH.RtMidi axe.oggsaver BaH.Volumes MaxGUI.Drivers Hiweise für alle die keine Lust haben die Module nachzuladen. Die drei letzen Module könnten relativ einfach herausgenommen werden. Der axe.oggsaver lässt sich auch durch die WAV-Save-Routine aus meinem AudioRecording-Tutorial ersetzen. Man muss nur eine Zeile auskommentieren und kommt dann ohne das Modul aus. Die MaxGui dient nur der Bequemlichkeit. Ein Weg ohne MaxGui findet ihr weiter unten. Bah.Volumes benötige ich nur einmal zum Finden des Verzeichnis "eigene Dateien". Man muss nur eine Zeile auskommentieren und kommt ohne das Modul aus. Und hier das ganze ohne GUI: BlitzMax: [AUSKLAPPEN] SuperStrict Mein besonderer Dank geht an Brucey, dessen Module eine echte Bereicherung der Basic-Comunity sind und unbekannterweise an Andreas Rozek, von dem das OggSave-Modul stammt. |
||
- Zuletzt bearbeitet von Midimaster am Fr, Mai 03, 2013 1:09, insgesamt 2-mal bearbeitet
Macintosh |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Doch, es gibt auf den mac irgend so einen QuickTime Music Synthesizer. | ||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
naja, aber der kann nur sog. Standard-Midifiles abspielen und stellt dem Programmierer kein MIDI-Device zur Verfügung. Quicktime bereitet dann das ganze MIDI-File auf, läd irgendwo her die benötigten Sounds und startet mit 500msec Verzögerung das Abspielen. An seinen WaveTable kommt man leider nicht ran und die Performance wäre auch jenseits von gut und böse...
Eine MIDI-Device Schnittstelle benötigst Du aber, wenn Du einzelne Events an MIDI senden willst. Das Microsoft-GS-Wavetable stellt hier einen Zugang bereit, benötigt aber auch 160msec um jeden Event in Sound umzusetzen. Mit BlitzMax und Samples statt MIDI sind aber durchaus Latenzen von unter 40msec drin. Also ist das ganze sogar eine Alternative für Windows-Coder, die normalerweise den Microsoft-GS-Wavetable nutzen. Zumal diese eigenen "Midi-Sound" von einem sehr hochwertigen MIDI-Keyboard kommen könnten und damit sogar das Roland Sound-Canvas alt aussehen lassen. |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Interessantes Stückerl Code, allerdings muss ich ein
~Wichtiger Hinweis~ In diesem Thema über juristische Angelegenheiten kann und wird keine verbindliche Rechtsberatung stattfinden. Alle Antworten sind unverbindlich und geben lediglich die Meinung ihrer Autoren wieder. hier einfügen, da ich mir nicht sicher bin ob es zulässig ist (ich bezweifle es arg) die Sounds von Synthesizern und Co zu Rippen. Zumindest wenn es um mehr als reine Privatnutzung geht. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich hab da mal recherchiert....
Die WaveTables zu kopieren wäre nicht zulässig. Sie sind aber auch etwas ganz anderes als eine Aufnahme von ihnen. Sie wesentlich mehrdimensionaler als der eine Sample einer Aufnahme. Bei der Aktion mit dem GS-TO-OGG-Konverter findet eine reine Aufnahme statt. Die anschließenden Ogg-Files entsprechen nicht mehr dem Ausgangsmaterial. Ähnlich der Verwendung der Fonts via TImagefont. Die Aufnahme eines Instrumentes ist keine Lizenzverletzung gegen den Instrumentenhersteller. Er hat ein Recht am Instrument, jedoch nicht am Klang, den ich damit erzeuge. Der Ton als solcher ist nicht schützenswert (siehe unten). Zwar dürfte ich auch markenrechtlichen Gründen nicht damit werben, den "Steinway" kopiert zu haben. Da aber alle aufgenommen Töne durch meiner Hände Arbeit erklingen, sind sie wenn überhaupt, dann "mein" Werk. Hier einige bei der Aufnahme verlorengegangene Merkmale: 1. Hüllkurve weg Samples sind nur Momentaufnahmen des Ausgangsmaterial mit einer fixen Länge. Dabei geht zumindest das Verhalten der S und R Anteile der Hüllkurve verloren (ADSR= Attack Decay Sustain Release). Die Flexibiliät, die der Original-Wavetable hierzu bieten konnte, bleibt auf der Strecke. 2. Dynamik weg Die Samples sind auch nur eine Momentaufnahme fester Lautstärke. Hier geht vor allem das Dynamikverhalten des Ausgangsmaterials verloren (Brightness). D.h. das leise abgespielte Sample wird nachher nicht wie ein leises Klavier klingen, sondern wie ein leisen Abspielen eines lauten Klaviers. 3. Interaktion unmöglich Im Sample finden keine Interaktion zwischen den Tönen mehr statt, wie sie im Instument üblich sind. Etwa endet bei den Sample-Drums die OpenHihat nicht durch das Erscheinen einer ClosedHihat. Oder die geniale Verzerrung einer Clavia Nord Elektro Hammond-Orgel, die nur auftritt, wenn ich best. Intervalle spiele, kann ich nicht mitsamplen.... hierzu einige Links: http://www.it-recht-kanzlei.de/Download|Rechtsthemen|Urheberrecht|20060802_Urheberrechtliche_Einordnung_der_aktuellen_Madonna-Single,_die_sich_Samples_der_Kultband_Abba_bedient.txt.html aus http://wiki.myownmusic.de/inde...heberrecht : Zitat: Frage: Wenn ich einen einzelnen Ton sample, z.B. Geigenstreicher und mir dann aus diesem Ton eine eigene Melodie bastele, ist das erlaubt?
Antwort: Ein-Ton-Samples sind nicht schützenswert, es ist also erlaubt, aber man könnte es dann genauso gut selber einspielen. Hinweis: Das war genau die strittige Frage, ehe das neue Urheberrechtsgesetz in Kraft trat. Es ging darum, daß einige Hersteller elektronischer Instrumente ein Schutzrecht für ihre besonderen Soundsamples reklamierten. Wohlgemerkt - nur die Sounds der einzelnen Tasten oder Patches. Dies wäre natürlich in der Praxis und auch technisch nicht umsetzbar und entbehrt auch jeder rechtlichen Grundlage. |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe ein Update des Konverters reingestellt und den ersten Post (siehe oben) aktualisiert.
verbesserte Features: - Midi Volumen als einstellbaren Wert hinzugefügt - Front Cut ThresHold schneidet die Stille vor der Aufnahme raus - Back Cut ThresHold schneidet am Ende der Aufnahme zu Leises raus - einige Fehler ausgebessert |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group