kompression von audiofiles
-
hi,
mir ist vorhin, ich hatte etwas lange weile, gelungen, ein .wav-file (ein kleines musikstück, mehrere instrumente == ziemliches frequenzgemisch, samples: 16-bits, vorzeichenbehaftet) auf ein 120'stel, ohne hörbare verluste, zu komprimieren. dazu wanderten die samples durch ein paar numerische transformationen und umsortierungen (natürlich alles wieder umkehrbar), so dass eine folge aus bytes mit minimalen änderungen in bezug zu vorherigen daten entstand. dann hab ich's mit 'winrar' komprimiert (möglicherweise kann ein spezieller kompressions-algo noch mehr rausholen). sensation oder 'netter versuch'? was meint ihr?
btw: ich werd's natürlich noch mit anderen daten (erst mal audio, später vielleiht auch bildern) testen, von wegen verlustrate und so.
-
Code oder Samples, bitte
-
audacia schrieb:
Code oder Samples, bitte
nene, das bleibt erstmal geheim. ich muss es noch weiter untersuchen und testen, bin zwar noch skeptisch, aber vielleicht hab ich 'auf doof' eine erfindung gemacht. dann lass ich's mir patentieren.
-
oder der qualitaetsverlust ist unhoerbar fuer dein gehoer
-
~fricky schrieb:
audacia schrieb:
Code oder Samples, bitte
nene, das bleibt erstmal geheim. ich muss es noch weiter untersuchen und testen, bin zwar noch skeptisch, aber vielleicht hab ich 'auf doof' eine erfindung gemacht. dann lass ich's mir patentieren.
Doofheit ist nicht patentierbar wegen Prior Art.
-
nimm doch mal ein pures 1 kHz Sinus Signal, behandle es mit deiner Methode und miß das Klirrspektrum des wiedergewonnenen Signals - das wäre interessant.
Oder ist deine Methode verlustfrei im Sinne von 100% Übereinstimmung zwischen unbehandeltem und behandeltem Signal ?
-
Wenn die Dateigröße 1/120 des Originals ist, hättest du, ausgehend von einem gewöhnlichen 16 Bit/44.1 kHz-PCM-Signal, etwa 12 kBit/s.
Wie groß ist der Anteil von WinRAR bei der Kompression?Und was spricht dagegen, wenigstens ein Sample hochzuladen? Sonst glaub ich dir nämlich gar nichts
-
~fricky schrieb:
[...]
Ja, ist schon klar. Vor allem, durch reversible Transoformation und ein wenig Sortiererei auch die Entropie so toll absinkt, und winrar nicht eh schon solche Sachen wie Entropiekodierung betreibt.
Zusammengefasst: Nonsens.
-
rapso schrieb:
oder der qualitaetsverlust ist unhoerbar fuer dein gehoer
richtig. theoretisch sollte überhaupt nichts verloren gehen, wenn, dann nur durch die ungenauigkeit von fliesskomma-berechnungen.
audacia schrieb:
Wie groß ist der Anteil von WinRAR bei der Kompression?
die datei ist 2mb gross. winrar bekommt sie unbehandelt auf ~800kB runter. spricht nicht für 'ne hohe informationsdichte, aber nachdem die datei durch meinen code geschickt wurde, kann winrar sie auf etwa 17kB zusammenquetschen.
-
~fricky schrieb:
theoretisch sollte überhaupt nichts verloren gehen, wenn, dann nur durch die ungenauigkeit von fliesskomma-berechnungen.
Das ist natürlich ein dehnbarer Begriff
audacia schrieb:
die datei ist 2mb gross. winrar bekommt sie unbehandelt auf ~800kB runter. spricht nicht für 'ne hohe informationsdichte, aber nachdem die datei durch meinen code geschickt wurde, kann winrar sie auf etwa 17kB zusammenquetschen.
Du hast meine Frage nicht beantwortet.
Wie groß ist die Datei nach deiner Behandlung?
-
audacia schrieb:
Du hast meine Frage nicht beantwortet.
Wie groß ist die Datei nach deiner Behandlung?genau so gross wie vorher. mein code komprimiert nix, sondern verändert nur die samples. ursprünglich wollte ich nur ein paar verrückte klangeffekte erzeugen und dabei ist zufällig was rausgekommen, das winrar gut komprimieren kann.
-
frickyfan schrieb:
Doofheit ist nicht patentierbar wegen Prior Art.
deswegen wird ja erstmal nichts verraten. die einzelnen transformationen sind natürlich keine neuen errungenschaften, aber die kombination davon, die winrar zu solch irren kompressionsraten veranlasst, hat wohl noch keiner so ausprobiert.
u_ser-l schrieb:
nimm doch mal ein pures 1 kHz Sinus Signal, behandle es mit deiner Methode und miß das Klirrspektrum des wiedergewonnenen Signals - das wäre interessant.
ich hab' eine 1kHz sinusschwingung, bestehend aus 128 samples, amplitude von -32768 bis +32767 fehlerfrei um- und wieder zurückgewandelt. das gleiche mit 1000 solcher schwingungen, auch ohne fehler. bei 'nem frequenzgemisch aber, kann ich mir schon vorstellen, dass was verfälscht wird. hören konnte ich es aber nicht. einen einfachen dateivergleich von dem musikstück oben^^ habe ich leider noch nicht gemacht.
u_ser-l schrieb:
Oder ist deine Methode verlustfrei im Sinne von 100% Übereinstimmung zwischen unbehandeltem und behandeltem Signal ?
die methode ja, aber durch fliesskommaoperationen werden sich bestimmt fehler einschleichen.
-
~fricky schrieb:
genau so gross wie vorher. mein code komprimiert nix, sondern verändert nur die samples. ursprünglich wollte ich nur ein paar verrückte klangeffekte erzeugen und dabei ist zufällig was rausgekommen, das winrar gut komprimieren kann.
Schon Gegentest mit White Noise und Pink Noise gefahren? Damit kannst Du ausschließen, einer besonderen spektralen Verteilung aufzusitzen.
Welche Optionen schaltest Du bei Winrar zu, welche Optimierungsstufe? WinRar setzt ja eine ganze Latte unterschiedlicher Kompressionsverfahren ein - welche kommen bei Dir zum Zug?Edit: Da WinRAR verlustfrei arbeitet, genügt eigentlich der Vergleich der originären mit den gewandelten Daten, dann kann man sehen, ob es das LZW, das Deltacoding oder was auch immer ist, was die enorme Kompression erzeugt.
-
pointercrash() schrieb:
Schon Gegentest mit White Noise und Pink Noise gefahren? Damit kannst Du ausschließen, einer besonderen spektralen Verteilung aufzusitzen.
nee, muss ich aber unbedingt noch machen. das einzige in der richtung war mal der output des einfachen Java zufallsgenerators Math.random(), den ich transformiert und mir das ergebnis optisch angeschaut habe. das sah übrigens ganz und gar nicht mehr wie der output eines zufallsgenerators aus. nach der rücktransformation aber schon. aber ehrlich gesagt, war das alles nur fummelei, ohne jede aussagekraft (übrigens noch bevor ich auf die idee gekommen bin, das zeug zu komprimieren). so richtig getestet habe ich noch nichts.
pointercrash() schrieb:
Welche Optionen schaltest Du bei Winrar zu, welche Optimierungsstufe? WinRar setzt ja eine ganze Latte unterschiedlicher Kompressionsverfahren ein - welche kommen bei Dir zum Zug?
ich klicke immer auf 'best'. welches kompressionsverfahren nimmt er da? oder sucht er sich eins aus?
-
~fricky schrieb:
ich klicke immer auf 'best'. welches kompressionsverfahren nimmt er da? oder sucht er sich eins aus?
Mal alles oben ausgenommen, nö, er probiert durch bis auf eine bestimmte Wordbooklänge bzw. Hashtable, ab da wird's kryptisch.
Was machen eigentlich 7Zip, Zippy&Co aus Deiner Dateiwurst?
-
pointercrash() schrieb:
Was machen eigentlich 7Zip, Zippy&Co aus Deiner Dateiwurst?
weiss ich auch noch nicht, aber das finde ich erstmal nicht interessant. reicht ja, wenn ein packer die datei in 0.83 prozent der vorherigen grösse pressen kann.
btw, was ich auch mal probiert habe: ich hab' ja durch mein verfahren eine folge von 16-bit samples, die sich von ihren nachbarn minimal unterscheiden. also hab' ich mal probiert, erst alle low- und dann alle high bytes zu speichern, in der hoffnung grössere bereiche von gleichen werten zu haben. das ist auch so (zumindest bei den high-bytes), aber trotzdem ist dann das packergebnis schlechter (etwa um 1kB).
-
Neulich rief mich Harry an und sagte, daß er fliegen kann.
Ich sprach: "Das ist doch glatt gelogen!"
Da flog er los. Er flog ein Stück, doch dann brach er sich das Genick,
und das kommt nur von diesen Drogen.Oder Ähnlich...
Was nimmst du für Zeug?
-
dadrinkichdochliebertee schrieb:
Was nimmst du für Zeug?
hehe, das habe ich mich auch gefragt, als ich die dateigrössen verglich. aber dieses eine file wurde definitiv extrem zusammengequetscht. klar, irgendwo muss da ein haken sein. ich mach mal ein paar tests (vielleicht morgen schon). z.b. werde ich ein .wav file mit daten füllen, die das da ausspuckt: http://java.sun.com/j2se/1.4.2/docs/api/java/security/SecureRandom.html
ich wette, dabei versagts. aber warten wir's mal ab.
-
du willst random signale komprimieren?
wenn das geht, kannst du mit deiner transformation sicher auch das komprimierte signal komprimieren und das wieder komprimieren. erzaehl uns dann deine glanzleistung, was das letzte byte ist was rauskommt. ich wette 42
-
ROFL
Einer der dümmsten Threads des Jahres.Ich bau mir jetzt übrigens nen Apparat mit dem ich mich selbst auf unter Handtaschengrösse komprimieren kann. So kann ich dann im Flugzeug ohne Ticket im Handgepäck meiner Freundin mitfliegen. Ungemein praktisch.
Nächstes Jahr kommt dann Version 2 dran, mit dem ich mich auf Briefmarkengrösse schrumpfe - dann schick ich mich einfach per Postkarte nach Hawaii.
-
rapso schrieb:
ich wette 42