Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Mp3 Komprimierungsverfahren - mp3s direkt bearbeiten (https://www.delphipraxis.net/33361-mp3-komprimierungsverfahren-mp3s-direkt-bearbeiten.html)

dadu 5. Nov 2004 16:49


Mp3 Komprimierungsverfahren - mp3s direkt bearbeiten
 
Hi Leute!

Ich möchte mp3s bearbeiten(Die Lautstärke der 2 Kanäle angleichen). Habe das bei waves bereits geschafft, jedoch dauert das mp3 nach wav konvertieren allein 20sec + das Bearbeiten (20sec) + zurückwandeln (20sec).
Dauert also für eine mp3 eine Minute, das dauert mir viel zu lange, also bin ich auf die Idee gekommen das de-,bzw. encoden der mp3 wegzulassen und die mp3 direkt zu bearbeiten.

Weiß aber nicht ob das möglich ist, da ich bei google nix Vernünftiges über die Komprimierung einer mp3 gefunden habe.

Hat irgendwer Informartionen über das Komprimierungsverfahren einer mp3, oder andere Lösungsvorschläge??

Wäre sehr dankbar, da das analysieren einer wav schon super funktioniert.

DaDu

dizzy 5. Nov 2004 17:06

Re: Mp3 Komprimierungsverfahren - mp3s direkt bearbeiten
 
Das Verfahren ist das gleiche wie bei JPEG. Da allerdings die eigentliche Information als solche nicht vorliegt, sondern in ihren Frequenz/Phasen-Raum transformiert ist, kannst du auf die Daten in dem Sinne keinen Einfluss nehmen. Du musst immer decoden-bearbeiten-encoden. Sicherlich kann man ein paar Dinge tun, die eh im Frequenzraum statt finden (Filter, Rauschunterdrückung evtl.), aber eine Pegeländerung gehört da nicht zu. (Was die Filter angeht ist's auch eher eine Vermutung, dass man das auch so machen könnte. Müsste eigentlich...).

Du wirst also um deine jetzige Methode nicht rum kommen :?

Gruss,
Fabian

axelf98 5. Nov 2004 17:17

Re: Mp3 Komprimierungsverfahren - mp3s direkt bearbeiten
 
Zitat:

Zitat von dadu
mp3 nach wav konvertieren 20sec + das Bearbeiten (20sec) + zurückwandeln (20sec)

Das IST recht schnell... Andere Wave-Programme sind weder beim Öffnen noch beim Wiederumwandeln von MP3 schneller! Das Lautermachen ist da vielleicht schon eine Idee schneller, aber insgesamt musst du dich wohl mit der Geschwindigkeit begnügen.

Aber noch als Tipp: Bei Google suchenMP3Gain, das kann direkt die Lautstärke der Mp3 verändern..

dadu 5. Nov 2004 17:24

Re: Mp3 Komprimierungsverfahren - mp3s direkt bearbeiten
 
@axelf98

Mp3Gain passt nur die Lautstärke der gesamten Datei an:
Mein Problem ist, das ich einige mp3s habe bei denen der rechte Kanal doppelt so laut ist wie der linke. Also rechne ich die jeweilige Lautstärke der Kanäle (also den Unterschied) aus und passe sie danach aneinander an.

DaDu

PS: Aber du hast Recht das Mp3Gain die Lautstärke DIREKT ändert und deshalb ziemlich schnell ist.

tommie-lie 5. Nov 2004 17:25

Re: Mp3 Komprimierungsverfahren - mp3s direkt bearbeiten
 
Jeder MPEG-Frame speichert zusätzlich einen Byte-Wert für die Lautstärke. Wenn du den Frame dekodiert hast, kannst du anschließend diesen Wert verändert. Dabei musst du nicht neukodieren, d.h. die Qualität nimmt nicht bei jeder Lautstärkeänderung ab.
Ein Tool, daß dieses Verfahren anwendet, ist z.B. MP3Gain.

dadu 5. Nov 2004 17:29

Re: Mp3 Komprimierungsverfahren - mp3s direkt bearbeiten
 
Hi Tommie-lie,
kannst du etwas konkreter werden, wie man den Lautstärke-Wert rausbekommt, bzw. ändert?

tommie-lie 5. Nov 2004 17:44

Re: Mp3 Komprimierungsverfahren - mp3s direkt bearbeiten
 
Zitat:

Zitat von dadu
kannst du etwas konkreter werden, wie man den Lautstärke-Wert rausbekommt, bzw. ändert?

Nein, dazu müsste ich, genau wie du, den Quellcode von MP3Gain erstmal durchschauen oder mir die MPeg-Dokumentation durchlesen.
Ich selbst habe sowas noch nie per Hand gemacht. Ich weiß nur, daß es ein Byte-Wert für jeden eiznelnen Frame ist, der die Lautstärke in 1,5dB-Schritten beim Dekodieren verändern kann, und daß es verwendet wird, um bei leisen Sequenzen bessere Tonkontraste zu haben, damit das ohnehin schon leise Geräusch nicht vollends im Rauschen der Komprimierung untergeht.

dizzy 5. Nov 2004 18:08

Re: Mp3 Komprimierungsverfahren - mp3s direkt bearbeiten
 
Damit ist aber nicht der DC-Anteil gemeint, oder? Sollte mich wundern :)

Ansonsten wäre das sicherlich eine Möglichkeit - ist nur die Frage, ob das dem eigentlichen Sinn dieses Bytes entspricht. Nicht dass man sich damit evtl. komische Effekte rein holt. Klingt aber erstmal gut!

(Wobei ich immer noch skeptisch bin, da die Lautstärken ja eigentlich mit eincodiert sind... auch die niedrigeren :gruebel:)

titus 5. Nov 2004 18:20

Re: Mp3 Komprimierungsverfahren - mp3s direkt bearbeiten
 
JPEG benutzt die Huffmann-Komprimierungsmethode wenn ich mich nicht tauesche, oder?

tommie-lie 5. Nov 2004 18:23

Re: Mp3 Komprimierungsverfahren - mp3s direkt bearbeiten
 
Zitat:

Zitat von dizzy
Damit ist aber nicht der DC-Anteil gemeint, oder? Sollte mich wundern :)

Hm?

Zitat:

Zitat von dizzy
ist nur die Frage, ob das dem eigentlichen Sinn dieses Bytes entspricht.

Nein, der eigentliche Zweck des Bytes ist die Amplitudenverstärkung für sätrkere Signalpegel in den Frames. Aber wenn man alle Frames gleichmäßig (relativ!) anhebt, kriegt man ohne Übersteuerung eine Erhähung der Lautstärke hin, also why not use what we've been given?
Zitat:

Zitat von dizzy
Nicht dass man sich damit evtl. komische Effekte rein holt.

Nein, höchstens wenn man die Frames nicht in den richtigen Relationen zueinander anpasst. Wenn man also die Lautstärken 5-10-5 hat, wäre der zweite Frame doppelt so laut. Setzt man jetzt 5 drauf, hätte man 10-15-10, vorbei ist's mit der doppelten Lautstärke. Erschwerend kommt dazu, daß Dezibel nicht linear, sondern logarithmisch ist. Aber wenn man das beachtet, gibt es keine "komischen" Effekte.

Zitat:

Zitat von dizzy
(Wobei ich immer noch skeptisch bin, da die Lautstärken ja eigentlich mit eincodiert sind... auch die niedrigeren :gruebel:)

Ja, natürlich sind Lautstärkewechsel einkodiert. Aber Frame-based, und nicht über den gesamten Stream verteilt. nur kann man diese eben für jeden Frame ändern. Anschaungsbeispiel des Prinzips: Beim kodieren wird jeder Frame auf die maximale Lautstärke gebracht. Dadurch sind die Pegelwechsel besonders ausgeprägt und gehen so beim dekodieren und downsamplen nicht in Artefakten unter. Um jetzt das ganze wieder auf die Lautsätrkeverteilung des ursprünglichen Liedes zu bringen, daß ja nicht die ganze Zeit über voll aufgedreht ist, sondern z.B. leise anfängt und leise wieder aufhört, werden nach dem Dekodieren eines jeden Frames die Amplituden (die ja jetzt wieder in der PCM-Waveform sind und nicht mehr als MPeg-Stream) entsprechend dem im Frame angegebenen Wert verstärkt bzw abgeschwächt, wodurch man das ursprüngliche Lied erhält.

Edit:
Zur Normalisierung kann man zum Beispiel Replay Gain benutzen: http://www.replaygain.org/
Zitat:

Zitat von titus
JPEG benutzt die Huffmann-Komprimierungsmethode wenn ich mich nicht tauesche, oder?

Zusammen mit verlustbehafteten psychovisuellen Komprimierungsverfahren, ja. Aber JPEG hat an sich nicht wirklich was mit MPEG zu tun, höchstens das Grundprinzip, daß alles, worauf der Mensch sowieso nicht achtet, unter den Tisch fällt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz