|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 22.10.2005, 22:27 Titel: Noten aus einer MP3/Wave extrahieren |
|
|
Ein Bekannter von mir spielt Gitarre, und würde gerne die Noten zu seinen MP3s bekommen. Nach kurzer Bedenkzeit habe ich gemeint, dass so etwas theorethisch möglich sein müsste; man muss dazu doch lediglich die Frequenz, die auf den Boxen ausgegeben wird ermitteln, und könnte diese dann in eine Note zurückverwandeln. Natürlich bräuchte man noch ein paar Filter (für "Störgeräusche" wie Schlagzeug, Gesang, ...), und müsste auch einen Toleranzbereich festlegen. Soll heißen, die Note A ist nicht NUR die Frequenz 440Hz, sondern alles von 400 bis 480Hz, oder so...
However, ich weiß, dass so etwas recht kompliziert ist, denke aber, dass es theorethisch möglich sein müsste.
Leider kenne ich mich nicht genügend mit Audiosystemen aus, um die aktuell gespielte Frequenz zu ermitteln.
Was haltet ihr von dieser Idee? Ist sie machbar, oder doch zu komplex? Kann mir jemand beim Ermitteln der Frequenzen helfen?
Danke schon mal im Voraus.
Have a nice day
Ciao _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
|
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 22.10.2005, 23:18 Titel: |
|
|
Also ich würde fast sagen, dass es unmöglich ist. Denn sonst würde es ja sowas bestimmt schon geben. Dafür bräuchte man dann sehr viele filter, da sich eine midi note A ganz anders anhört, als wenn man sie auf ner richtigen gitarre,etc. spielt. Wenn du das schaffst, kannst du damit warscheinlich viel geld verdienen. Dann muss man ssich keine klingeltöne downloaden, einfach mit dem programm "umwandeln".
Michael |
|
Nach oben |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 22.10.2005, 23:38 Titel: |
|
|
Na super, fallls ich es also hinbekomm, nenn ichs Jamba 2005
Ich hab auch mit dem gedanken gespielt, innerhalb eines bestimmten Zeitraums in regelmäßigen Zeiträumen die Frequenzen zu ermitteln, und dann den Durchschnittswert zu ermitteln, etwa so:
Zeit/Frequenz
0:00,10 / 400
0:00,20 / 470
0:00,30 / 390
...
Durchschnitt zwischen 0:00,00 und 0:00,90 ist 409.123.....
409 ist ungefähr Note A
Allerdings kann das zu problemen führen, wenn innerhalb dieses Intervalls eine Note grade endet und eine andere beginnt.
Wenn also grade das A ausklingt und das C anklingt, kann das Programm das als H interpretieren, da der Freq-Schnitt zwischen A und C liegt.... _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
|
Stephan
Anmeldungsdatum: 05.10.2004 Beiträge: 358 Wohnort: Hessen - 20km Nördlich von Frankfurt am Main
|
Verfasst am: 22.10.2005, 23:48 Titel: |
|
|
solche programme gibt es,die können aus MP3´s oder WAV´s einen annähernd ähnlichen Midi ton erstellen.
Ich hatte mal sowas bei meiner Software für mein Nokia Handy + Datenkabel dabei,
und komnte damit MID Klingeltöne aus MP3´s erstellen,
und das hat sogar (bei manchen liedern) recht gut funktioniert.
*EDIT*
Siehe hier http://www.intelliscore.net/ _________________ 'Wir schätzen die Zeit erst, wenn uns nicht mehr viel davon geblieben ist.'
Leo Tolstoi |
|
Nach oben |
|
|
psygate
Anmeldungsdatum: 05.04.2005 Beiträge: 304 Wohnort: Wien und der Computer
|
Verfasst am: 23.10.2005, 16:55 Titel: |
|
|
also, eine gute qualität wird das nie, wenn nciht auf dem mp3/wav nur ein einziges instrument spielt. Das ist nämlich so, dass die überschneidungen der instrumenttöne eine gesamtwelle ergeben, aus der sich ein einziges instrument nur noch shwer herausfiltern lässt. |
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2507 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 25.10.2005, 08:37 Titel: |
|
|
Interessante Idee, von der Umsetzung her grenzt es ein bisschen ins Vektorisieren/OCR von Bitmap-Scans, um die Daten z.B. via CAD weiterverarbeiten zu können, nur diesmal auf akustischer Ebene.
Die Umwandlung MP3 in WAV dürfte noch eine "Formsache" sein, aber anspruchsvoll wird es dann bei der sog. Fourier-Analyse, also der Zerlegung in die einzelnen Frequenzen. Das Problem sind noch zusätzlich die Oberschwingungen der meisten Klänge, ferner muss Deine Routine noch etwas Toleranz für leicht verstimmte Musikinstrumente zulassen. Eine weitere Schwierigkeit ist noch die Erkennung vom Anfang und Ende anhand der Hüllkurve, denn gewisse Instrumente klingen aus (Gitarre, Klavier, Xylophon) während andere den Ton auf dem Niveau halten (Orgel, Akkordeon) und damit schlussendlich auch die Artikulation. Kommt noch Gesang dazu, wird es erst recht anspruchsvoll.
Übrigens andere haben sich mit diesem wirklich sehr anspruchvollen Problem auch schon auseinandergesetzt. Siehe
http://www.musica.at/sforum/messages/3/6510.html
http://www.downloadjunction.com/product/software/1050/
http://www.audioto.com/
(unter Google mit "wav2mid" zu finden). Sobald man eine MIDI-Datei hat, lässt sich diese dann in ein Programm wie Capella importieren, so dass einem Notendruck nichts mehr im Weg steht. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
helium
Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 25.10.2005, 10:20 Titel: |
|
|
Zitat: | Ein Bekannter von mir spielt Gitarre, und würde gerne die Noten zu seinen MP3s bekommen. Nach kurzer Bedenkzeit habe ich gemeint, dass so etwas theorethisch möglich sein müsste; man muss dazu doch lediglich die Frequenz, die auf den Boxen ausgegeben wird ermitteln, und könnte diese dann in eine Note zurückverwandeln. |
Die Frequenz? Jeder Ton bis auf einen reinen Sinus besteht aus einer vielzahl von überlagerungen Frequenzen, deren Amplituden sich über die Zeit permanent ändern. Zudem spielen fast immer mehrere Instrumente deren Frequenzen sich dann beinahe zwangsweise überlappen.
Hier mal ein beispiel wie das in etwa aussieht:
(Ausschnitt aus einem Gitarrenstück von mir mit mehreren Gitarren, Schlagzeug, und Bass).
Solltest du Stücke haben, die nur aus einem einzelnen Instrument bestehen, also ohne Schlagzeug und sonst irgendwas, und monophon sind, dann kannst du das ganze umwandeln, mit ähnlichen Algorithmen, die auch Stimmgeräte verwenden (Goertzel oder was weiß ich). _________________ Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit. |
|
Nach oben |
|
|
tilli
Anmeldungsdatum: 10.09.2005 Beiträge: 73
|
Verfasst am: 30.10.2005, 16:31 Titel: |
|
|
Moin,
Ich muss Helium zustimmen - es sind immer mehree Frequenzen. Wenn man nun die Musik Frequenzen zerlegt und hinterher dieselben Frequenzen wieder Aufaddiert, dann kommt das selbe heraus. Die Frequenzermittlung wird üblicherweise im FastForie-Verfahren zerlegt (ich hoffe das wird so geschrieben - ich hatte kein Französisch).
Interessant ist es dann, die lautesten (ermittelten) Frequenzen zu nehmen und davon die Obertäne (=die vielfachen) sowie die Frequenz selbst vom gesamten Spektrum zu subtrahieren. auf die Art bekommt man einen Rest, den man ebenfalls wieder zerlegen kann.
Das Ganze kann man dann bis zum Punkt der etwa halben Lautstärke (=-3dB) oder der viertellautstärke(=-6dB) rekursiv weiterzerlegen. so bekommt man dann die wirklichen Haupttöne. Dadrunter ist ein normales Gehör nicht mehr in der Lage, die Töne herauszuhören/auseinanderzuhalten.
Wenn man jetzt diese Frequenzen über mehrere Millisekunden (bei tieferen Frequenzen bis zu wenigen Teilen von Sekunden, da die Wellenlänge länger ist) anhört, kann man durch ein kniffliges Bewertungssystem feststellen, ob es sich um Töne(gleiches Frequenz längere Zeit hintereinander) oder um Impulse handelt, wobei Gleichfrequente Impulse z.B. Drums zugeordnet werden können. eventuell muss man auch die Obertonbewertung etwsas anders erfassen.
Am intelligentesten ist aber sicherlich dem Programm verschiedene Instrumente beizubringen(solostimmen der Instrumente vorab zur Erkennung) damit die Obertöne 'passend' abgezogen werden. Sollten nun mehrere Instrumente übereinanderliegen, so muss für den gesamten Bereich das Obertonverhältnis stimmen.
Da ich nun in den Bereich komme, wo genaue Aussagen in Spekulationen überarten, beende ich besser meine Ausführungen. Dies ist sicher ein interessanter Bereich, allein eine Bibo zu Fequenzzerlegung sollte ein Lohnenswerte Projekt darstellen (z.B. al Equilizer).
Ich ende aber jetzt,
Machts gut
CU2
Tilli
ps: vielleicht gibt es ja irgendwo schon eine MorietzerlegungsLib... |
|
Nach oben |
|
|
helium
Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 30.10.2005, 18:44 Titel: |
|
|
tilli hat Folgendes geschrieben: | Ich muss Helium zustimmen - es sind immer mehree Frequenzen. Wenn man nun die Musik Frequenzen zerlegt und hinterher dieselben Frequenzen wieder Aufaddiert, dann kommt das selbe heraus. Die Frequenzermittlung wird üblicherweise im FastForie-Verfahren zerlegt (ich hoffe das wird so geschrieben - ich hatte kein Französisch). |
Fourier schreibt sich das. Wenn du nicht weißt, wie sich Fast Fourier Transformation schreibt, verwende doch eifnach die übliche Abkürzung FFT.
Und FFT alleine wird dir auch nicht viel weiterhelfen, da du sonst lediglich das Spektrum des gesammten Stückes hättest, und bekanntlich gehen bei einer solchen Transformation sämtliche Zeit-Informationen verloren. Du wüsstest also die Amplituden jeder Frequenz, aber nicht wann was passiert.
tilli hat Folgendes geschrieben: |
Interessant ist es dann, die lautesten (ermittelten) Frequenzen zu nehmen und davon die Obertäne (=die vielfachen) sowie die Frequenz selbst vom gesamten Spektrum zu subtrahieren. auf die Art bekommt man einen Rest, den man ebenfalls wieder zerlegen kann.
|
Nur funktioniert das auch höchstens bei sehr einfachen rein synthetischen Instrumenten, da bei allem anderen die Obertöne nicht auf eine einzelne Frequenz beschränkt sind, sondern eher ein kleiner "Hügel" rund um die Frequenz ergeben.
Außerdem hast du bekanntlich nur N Bins (wenn N die länge deiner FFT ist) und es kommt selten vor, dass die gespielten Frequenzen exakt auf einem Bin liegen, weshalb es dann wiederum zu unschärfen kommt (abhängig vom verwendeten Fenster).
tilli hat Folgendes geschrieben: |
Wenn man jetzt diese Frequenzen über mehrere Millisekunden (bei tieferen Frequenzen bis zu wenigen Teilen von Sekunden, da die Wellenlänge länger ist) anhört, kann man durch ein kniffliges Bewertungssystem feststellen, ob es sich um Töne (gleiches Frequenz längere Zeit hintereinander) oder um Impulse handelt, wobei Gleichfrequente Impulse z.B. Drums zugeordnet werden können. eventuell muss man auch die Obertonbewertung etwsas anders erfassen.
|
Gleichfrequente Impulse? Impulse belegen eigentlich immer einen sehr großen Bereich des Spektrums. Du wirst ihnen nicht wirklich eine Tonhöhe zuordnen können (=> Dirac pulse)
tilli hat Folgendes geschrieben: |
Am intelligentesten ist aber sicherlich dem Programm verschiedene Instrumente beizubringen(solostimmen der Instrumente vorab zur Erkennung) damit die Obertöne 'passend' abgezogen werden. Sollten nun mehrere Instrumente übereinanderliegen, so muss für den gesamten Bereich das Obertonverhältnis stimmen.
|
Solange du einen einzelnen Ton hast ist das unnötig und du musst den Obertönen keine Beachtung schenken.
Aber denk mal an echte Musik. Bei härteren Stilrichtungen ist es beispielsweise oft so, das der Bass das selbe, wie die Gitarre spielt (die zudem gedoppelt ist, was aber ein anderes Thema ist) und mit ihr qusi zu einem Instrument verschmilzt, sodas selbst das Menschliche Ohr nicht mehr in der Lage ist hier zu differenzieren.
tilli hat Folgendes geschrieben: |
Da ich nun in den Bereich komme, wo genaue Aussagen in Spekulationen überarten, beende ich besser meine Ausführungen. Dies ist sicher ein interessanter Bereich, allein eine Bibo zu Fequenzzerlegung sollte ein Lohnenswerte Projekt darstellen (z.B. al Equilizer).
|
Ehrlich gesagt wirklt das alles mehr nach Halbwissen und Spekulationen. _________________ Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit. |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|