Seite 1 von 1

[Idee] eignes MP3-Wandlungsprogramm

Verfasst: 14.04.2013 10:07
von es_91
Hallo!

Neulich ist mir eine Möglchkeit, mp3 Dateien mit bis zu 38% besserer Kodierungsqualität abzuspeichern untergekommen. Man speichert einfach in 32khz statt 44.1 und damit dabei keine zu großen Höhenverluste entstehen, nutzt man beim resamplen (von 44.1 auf 32 khz) keine Interpolation. Das so entstehende file ist etwas verkratzt, aber daran kann man sich gewöhnen. Muss ich erst eine Reihe im jungen 201. Jahrzehnt nach Christus veröffentlichter Spiele nennen, die dieses Resampling ohne Interpolation standartmäßig als Methode verwendeten? Eines sei genannt: die GTA - Reihe. So schlecht kann es also nicht sein.

Ein Sample kann ich euch nicht anbieten. Dafür geb ich euch unten ein Programm, mit dem Ihr .raw Dateien von 44.1 auf 32 khz umsamplen könnt. Mit etwa Switch von NHC Soft könnt ihr von .wav auf .raw und zurück wandeln.

Was will ich nun eigentlich? Ich hätte gern einen kostenlosen MP3-Wandler auf dem Markt, der dieses nicht-interpolierende Verfahren zur Resamplung nutzt und dieses auch gleich als Standart bei niedrigeren Bitraten (etwa <192 kbit/s) einsetzt. Bei noch niedrigeren Bitraten kann auch 22 khz verwendet werden. Und da es so einen Wandler meiner Meinung nach nicht gibt, soll heißen: ich kennen keinen, wollte ich einen schreiben. Warum erzähle ich Euch das? Weil ich jemanden suche, der mich unterstützt, evtl. auch gleich das gesammte Projekt übernimmt (als Verantwortlicher).

Dafür gibt es drei Gründe:

- trotz der einfachen Syntaxes können größere Projekte in PureBasic in massenhaft Arbeit ausarten
- eine anspruchsvolle GUI ist evtl. notwendig, mit so etwas habe ich wenig Erfahrung
- zusammen macht's mehr Spaß!

Was haltet ihr überhaupt von der Idee? Nutzt ihr noch 128er oder 160er MP3-Dateien? Ist der Markt der MP3-Wandler vielleicht einfach überfüllt? Ich persöhnlich höre jetzt auf meinem Handy meine "eigenen" 32khz 128er MP3s, wenn ich welche höre. Und die klingen fast transparent wie 192er. Das hat mich ermutigt, euch davon zu erzählen.

Viele Grüße,
das_enasch!

PS: Hier noch ein code, mit dem ihr selber mal von 44.1 khz auf 32 khz resamplen könnt (bei .raw Dateien)!
Nutzung natürlich auf eigene Gefahr, aber es dürfte keinerlei Schaden entstehen.

Code: Alles auswählen

sourcefreq = 44100
targetfreq.d = 32000.0

NewList WordsL.w()
NewList WordsR.w()

File$ = OpenFileRequester("", "", "", 0, #PB_Requester_MultiSelection)

While File$

ReadFile(0, File$)

CreateFile(1, GetPathPart(File$)+Left(GetFilePart(File$), Len(GetFilePart(File$))-1-Len(GetExtensionPart(File$)))+StrD(targetfreq, 0)+"."+GetExtensionPart(File$))

While Eof(0) = 0

  AddElement(WordsL())
  AddElement(WordsR())
  WordsL() = ReadWord(0)
  WordsR() = ReadWord(0)

Wend

For x = 0 To Int(1.0*ListSize(WordsL())*(targetfreq/sourcefreq))-1
  
  SelectElement(WordsL(), Round(1.0*x*sourcefreq/targetfreq, 0))
  SelectElement(WordsR(), Round(1.0*x*sourcefreq/targetfreq, 0))
  WriteWord(1, WordsL())
  WriteWord(1, WordsR())
  
Next

File$ = NextSelectedFileName()
ClearList(WordsL())
ClearList(WordsR())

Wend

Re: [Idee] eignes MP3-Wandlungsprogramm

Verfasst: 14.04.2013 12:39
von NicTheQuick
Im Grunde willst du also vorhandene MP3s als WAV machen, die dann in 32 kHz Samplingrate umwandeln und dann wieder in eine MP3 mit 128 kbit/s bei 32.000 kHz Samplingrate konvertieren?
Dass bei schlechterer Kodierungsqualität die MP3 kleiner wird, ist allgemein bekannt. Am besten nutzt man sogar VBR, also variable Bitrate. Die kann sich dann optimal an das Lied anpassen. MP3pro holt dann nochmal wesentlich mehr raus und ist vergleichbar mit OGG Vorbis, was ich selbst favorisiere, womit aber so gut wie kein Player zurecht kommt, obwohl es ein freies Format ist. Und für die Soundfetischisten gibt es dann noch Flac.

Ich weiß ja nicht, mit welcher Musik deine Idee schon getestet hast, aber bei meiner höre ich deutliche Unterschiede in der Qualität, wenn ich auf 128 kBit/s gehe. Man kann die Komprimierung regelrecht hören. Das kommt dann aber auch immer darauf an wie gut die Anlage ist, auf der man die Musik hört. Nutzt man 0815 Computerboxen oder Mikroanlagen für 10 Euro, ist es klar, dass da der Sound nochmal etwas verwaschener raus kommt und deswegen die Komprimierungsartefakte noch einmal untergehen. Aber ich hab lieber, wenn ich hören kann, was auch gespeichert ist. Bei deiner Methode würde ich vermutlich Ohrenkrebs kriegen.

Um nochmal zur Verwirklichung deiner Idee zurück zu kommen. Wie wäre es einfach mal lame mit den entsprechenden Parametern aufzurufen. Tadaaa: Dein Programm ist fertig!

Re: [Idee] eignes MP3-Wandlungsprogramm

Verfasst: 14.04.2013 15:58
von es_91
Also kann lame resamplen ohne zu iterpolieren? Das ist mir neu. Übrigens: wo erhalte ich lame executables? Auf sourceforge finde ich nur die Quellcodes.

Zum Sound:
Im Grunde willst du also vorhandene MP3s als WAV machen
Nein. Waves zu MP3.
Dass bei schlechterer Kodierungsqualität die MP3 kleiner wird, ist allgemein bekannt.
Ja, aber den wenigsten ist bekannt, dass sie mit 32khz noch einmal 38% mehr Qualität herausholen. Die Artekafte einer 128er 44.1khz Datei sind lauter hörbar als die einer 128er 32khz Datei in MP3. Und normale Encoder resamplen mit Interpolation, d.h. bei 32khz fehlen Höhen nicht wie bei meiner Methode ab 16 khz, sondern schon ab etwa 14500 hz, was man deutlich hört.
Ich weiß ja nicht, mit welcher Musik deine Idee schon getestet hast, aber bei meiner höre ich deutliche Unterschiede in der Qualität, wenn ich auf 128 kBit/s gehe.
Dann gehe mal auf 192 und sag mir, ob Du mehr Artefakte hörst, als bei 44.1 192er.
OGG Vorbis
Ja, OGG Vorbis... wenn die Welt gecheckt hätte, was Ogg Vorbis kann, würde ich mich gar nicht mehr mit mp3 beschäftigen. Aber mein Handy spielt leider auch kein Ogg Vorbis... :(
Bei deiner Methode würde ich vermutlich Ohrenkrebs kriegen.
Eben nicht! Es klingt ungewohnt aber die Verkratzungen im Höhenbereich sorgen andererseits auch wieder für mehr Brillianz. Meine Kopfhörer sind nicht die besten, das gebe ich zu. Trotzdem: ich finde den Sound besser als UKW-Sound und das war, glaube ich, Sinn und Zweck des 128er Standarts bei MP3, den alten Kassetten- und Radiosound zu übertrumpfen.

Danke für Deine Antwort!

Re: [Idee] eignes MP3-Wandlungsprogramm

Verfasst: 14.04.2013 17:48
von matbal
Der primitive Algorithmus zerstört doch viel zu viel, wenn nicht vorher gefiltert wird und neu resamplet wird Es kommen massig disharmonische Frequenzen hinzu.

testton.zip

Wenn ich die Musik dann mit einen Qualtitäts-Preset encode, wird die Datei größer, da durch die Verzerrungen mehr Bitrate benötigt wird.

Re: [Idee] eignes MP3-Wandlungsprogramm

Verfasst: 14.04.2013 18:11
von NicTheQuick
es_91 hat geschrieben:Also kann lame resamplen ohne zu iterpolieren? Das ist mir neu.
So hab ich es nicht ganz gemeint. Natürlich musst du dein spezielles Resampling davor machen. Ich wollte nur darauf aufmerksam machen, dass das Projekt doch gar nicht so schwierig ist. Und um WAVs auszulesen, findet man ja schnell Codes überall.
es_91 hat geschrieben:Übrigens: wo erhalte ich lame executables? Auf sourceforge finde ich nur die Quellcodes.
Wo ist das Problem? Entweder selbst kompilieren oder das zweite Suchergebnis bei Google holen, wo man lame.exe von chip.de herunterladen kann.
es_91 hat geschrieben:
Im Grunde willst du also vorhandene MP3s als WAV machen
Nein. Waves zu MP3.
In dem zweiten Teil meines Satzes, den du nicht zitierst hast, hab ich das also durchaus korrekt verstanden. Wir war nur nicht klar, was dein Ausgangsmaterial ist. In dem Fall also WAV, okay.
es_91 hat geschrieben:
Dass bei schlechterer Kodierungsqualität die MP3 kleiner wird, ist allgemein bekannt.
Ja, aber den wenigsten ist bekannt, dass sie mit 32khz noch einmal 38% mehr Qualität herausholen. Die Artekafte einer 128er 44.1khz Datei sind lauter hörbar als die einer 128er 32khz Datei in MP3. Und normale Encoder resamplen mit Interpolation, d.h. bei 32khz fehlen Höhen nicht wie bei meiner Methode ab 16 khz, sondern schon ab etwa 14500 hz, was man deutlich hört.
Kannst du mal ein paar Quellen dazu angeben, die diese merkwürdige Aussage belegen können? Letztendlich zeigt ja das Beispiel von matlab deutlich, dass das nicht so ganz stimmt.
es_91 hat geschrieben:
Ich weiß ja nicht, mit welcher Musik deine Idee schon getestet hast, aber bei meiner höre ich deutliche Unterschiede in der Qualität, wenn ich auf 128 kBit/s gehe.
Dann gehe mal auf 192 und sag mir, ob Du mehr Artefakte hörst, als bei 44.1 192er.
Das verstehe ich jetzt nicht. Ich soll auf 192 gehen und dann schauen, ob ich da mehr Artefakte höre als bei 192? Falls du "als bei 44.1 128er" gemeint hast, dann höre ich da ehrlich gesagt einen großen Unterschied.
es_91 hat geschrieben:
OGG Vorbis
Ja, OGG Vorbis... wenn die Welt gecheckt hätte, was Ogg Vorbis kann, würde ich mich gar nicht mehr mit mp3 beschäftigen. Aber mein Handy spielt leider auch kein Ogg Vorbis... :(
Ja, ist echt schade... Nervt mich auch immer wieder.
es_91 hat geschrieben:
Bei deiner Methode würde ich vermutlich Ohrenkrebs kriegen.
Eben nicht! Es klingt ungewohnt aber die Verkratzungen im Höhenbereich sorgen andererseits auch wieder für mehr Brillianz. Meine Kopfhörer sind nicht die besten, das gebe ich zu. Trotzdem: ich finde den Sound besser als UKW-Sound und das war, glaube ich, Sinn und Zweck des 128er Standarts bei MP3, den alten Kassetten- und Radiosound zu übertrumpfen.
matlab hat uns ja den Gefallen getan und das ganze mal durchgespielt. Und siehe da: von 44.100 auf 32.000 ohne Interpolation klingt schrecklich. :D
im Übrigen: Wieso soll ich überhaupt auf 32.000 gehen. Das kann man für Partymucke verwenden, da da eh niemand so genau auf die Musik hört. Aber ich will doch nicht bei Frequenzen ab 16 kHz in meinem Hörvergnügen beschnitten werden, wenn ich noch bis ca. 19 kHz höre.

@matlab:
Danke!

Re: [Idee] eignes MP3-Wandlungsprogramm

Verfasst: 15.04.2013 10:57
von Rebon
Ich bin kein Profi was Audio betrifft, aber verwendet man bei Konvertierungen von 44100 auf 32000 nicht am besten gleich einen Tiefpass Filter?

Re: [Idee] eignes MP3-Wandlungsprogramm

Verfasst: 23.04.2013 14:29
von es_91
Ich komme hier auf dem Handy leider nicht zum Verfassen einer längeren Antwort WEIL ES MICH DAUERND AUSLOGT.

Kritik am Forum, schätze ich!

Danke für alle Antworten, ich werde am Wochenende darauf eingehen, wenn ich wieder am PC sitze.

Re: [Idee] eignes MP3-Wandlungsprogramm

Verfasst: 23.04.2013 16:39
von NicTheQuick
es_91 hat geschrieben:Ich komme hier auf dem Handy leider nicht zum Verfassen einer längeren Antwort WEIL ES MICH DAUERND AUSLOGT.
Dann nutzt du den falschen Forenlink. Das hier ist der richtige: http://www.purebasic.fr/german ! Dann werden deine Cookies auch gespeichert.

Re: [Idee] eignes MP3-Wandlungsprogramm

Verfasst: 29.04.2013 00:25
von es_91
So, nun aber!

Bevor ich hier platt gemacht werde will ich hier mal eine Lanze brechen:
Ich benutze das no-interpolation-resampling (NIR) seit geraumer Zeit
für meine kleine Sammlung moderner Popmusik. Und ich möchte nicht wieder
weg davon!

Diese durchaus harmonischen Verzerrungen klingen ähnlich einem Exciter,
der zusätzliche Oberwellen erzeugt. Dadurch entsteht mehr Brillianz.

@NickTheQuick: Ich soll Quellen dafür angeben, dass 32 kHz mp3s bei
gleicher Bitrate weniger Artefakte haben, als 44.1er? Probier's aus! DAS
sind die von mir angesprochenen 38%. Und es stimmt, die Verzerrungen
erhöhen die Bitrate, jedoch bei konstanter Bitrate imo nur geringfügig.
Also ca. 30%, das hatte ich nicht bedacht. Warum ich nicht bis 19 kHz
hören möchte? Weil 16 kHz ausreichen. Das UKW-Radio ging nur bis 15 kHz und
auch modernes Digitalradio geht selten über 17 kHz hinaus. Ansonsten:
FLAC.

@Rebon: Nicht dass ich wüsste. Die Interpolation dürfte eine dem LPF
ähnliche Höhenreduktion automatisch erzeugen.