Da eine MP3-Datei keine feste Bittiefe wie ein PCM-Stream hat, muss ein Decoder (z. B. lame) bestimmen, welche Bittiefe verwendet werden soll, wenn ein MP3-Stream in einen PCM-Stream konvertiert wird. Funktioniert es mit einem Standardwert (wahrscheinlich 16) oder gibt es einen anderen Weg?Ermitteln der Bittiefe in einer MP3-Datei
Antwort
Es hängt von dem bestimmten Rahmen der komprimierten Daten ab. Der Decoder bestimmt die Bittiefe des resultierenden PCM-Stroms.
Ich bin nicht vertraut mit MP3-Format, aber ist es nicht möglich, zu jeder Bittiefe zu dekodieren, die Sie wollen? Ich meine, Sie setzen den gewünschten Wert am Anfang und die Decodierung berücksichtigt dies, so dass Sie jede Bittiefe dekodieren können, die Sie benötigen.
richtig, ich muss nur wissen, wie z. lame wählt die Bittiefe beim Decodieren. durch einen Standardwert oder durch irgendeine Berechnung. – schneck
Das MP3-Format [1], wenn es decodiert wird, hat eine (Art) feste Bittiefe: Fließkommazahl. Wenn Sie damit nicht zufrieden sind, sollten Sie es in ein lineares Integer-Format [1] übersetzen, mit einer Größe Ihrer Wahl (normalerweise 8, 16 oder 24 Bit). Da die meisten Soundkarten mit 16 Bit arbeiten können, wird das oft dekodiert.
Weitere Informationen: http://mp3decoders.org/24bit.html
[1] Ich bin Extrapolation dieses von dem, was ich über andere Formate wissen. Es kann nicht für MP3 gelten.
[2] Die meisten Decoder-Bibliotheken können dies für Sie tun. Wenn Sie versuchen, es selbst zu tun, don't forget to dither
- 1. Bild Bittiefe Werte
- 2. 16 Bit Bittiefe
- 3. Ändern der Bittiefe der mit Matplotlib erzeugten Zahlen
- 4. Ermitteln der Kurshistorie einer Aktie
- 5. Ermitteln der ListboxItem-Position in einer Zeichenfläche?
- 6. Ermitteln der Zeichenfolgenlänge einer Ganzzahl in .NET
- 7. Wie erstellt man ein Fenster mit einer Bittiefe von 32
- 8. ZLib PNG-Komprimierung mit einer Bittiefe von 1
- 9. Ermitteln der Feldlänge einer Spalte in einer Datentabelle
- 10. Ermitteln der Dateigröße in VB.NET
- 11. Ermitteln der gemessenen Breite einer Schaltflächenbeschriftung
- 12. Ermitteln der Byte-Größe einer scipy.sparse-Matrix?
- 13. Ermitteln der Prozessnummern einer Multithread-Anwendung
- 14. Schleife. Ermitteln, ob einer der Werte existiert
- 15. Ermitteln der Größe einer BLOB-Spalte
- 16. Ermitteln der Größe einer polymorphen C++ - Klasse
- 17. TIF in JPG umwandeln, ohne die Bittiefe zu erhöhen
- 18. Ermitteln der Downtime-Dauer in der Serverprotokolltabelle
- 19. Ermitteln der übergeordneten Komponente
- 20. Ermitteln der Oracle-Datenbankinstanz
- 21. Ermitteln der Grenzen einer Polyine in Google Maps API v3
- 22. Anzahl der Zeilen in einer Java-Ergebnismenge ermitteln
- 23. Ermitteln der Höhe einer Bezier-Kurve in Leinwand
- 24. Ermitteln der letzten Zeile in einer einzelnen Spalte
- 25. Ermitteln der Pixellänge einer Zeichenfolge in Cocoa (MAC OSX)
- 26. Ermitteln der Kopfzeile jeder Spalte in einer JTable
- 27. Ermitteln der Eigenschaften von Titanium Mobile-Etiketten in einer Funktion
- 28. Ermitteln der ID einer eingefügten Entität in Datomic?
- 29. Ermitteln der Farbe eines Pixels in einer Winforms-Anwendung
- 30. Ermitteln der OID einer Tabelle in Postgres 9.1?
ja, aber jeder Rahmen kann einen anderen bps-Wert enthalten und daher möglicherweise eine andere mögliche Bittiefe beschreiben. Also muss der Decoder eine Gesamt-Bittiefe erraten, richtig? – schneck
Es wird nicht basierend auf den Daten abgeleitet oder "geschätzt", sondern verwendet ein spezielles Format für alle Decodierungen. Ob das als Parameter für die Dekodierung angegeben wird, oder über einen Default bestimmt wird oder aus dem Ausgangsstrom gezogen wird (zB zur Soundkarte), hängt vom Decoder ab. –
Übrigens, dies ist der Grund, warum einige Media-Player die Ausgabebittiefe angeben können. –