Frage

Hallo Ich brauche eine WAV-Audiodatei der Sample-Rate von 44,1 kHz bis 8 kHz bis Downsampling. Ich habe die ganze Arbeit manuell mit einem Byte-Array zu tun ... es ist für akademische Zwecke.

Ich bin derzeit zwei Klassen, Wasch- oder Spülbecken und Quelle, Pop und Push-Arrays von Bytes. Alles geht gut, bis ich den Teil erreichen, wo ich brauche den Datenblock unter Verwendung einer lineare Interpolation auf Downsampling.

Da ich 44.100-8.000 Hz bin Abwärtsabtastens, wie ich interpolieren ein Byte-Array so etwas wie 128 000 000 Bytes enthalten? Im Moment bin ich knallen 5, 6 oder 7 Bytes abhängig von i% 2 == 0, i% 2 == 1 und i% 80 == 0 und drücken Sie den Mittelwert dieser 5, 6 oder 7 Bytes in die neue Datei .

Das Ergebnis ist in der Tat eine kleinere Audio-Datei als das Original, aber es kann nicht auf Windows Media Player abgespielt werden (sagt, es ist ein Fehler beim Lesen der Datei) und es gibt eine Menge Lärm, obwohl ich den richtigen Weg hinter denen hören Rauschen.

Also, um Fassend kann ich sagen, ich brauche Hilfe die lineare Interpolation Teil über. Vielen Dank im Voraus.

War es hilfreich?

Lösung

Ich glaube, Sie nicht den Durchschnitt dieser Proben verwenden sollen, dass ein Medianfilter sein würde, nicht genau Abwärtsabtastens. Verwenden Sie einfach jeden 5. / 6. / 7. Probe und schreiben, die in die neue Datei.

Das wird wahrscheinlich einige Aliasing-Artefakte haben aber insgesamt erkennbar sein könnten.

Eine weitere, komplexere Lösung, aber wahrscheinlich ein mit besseren Ergebnissen, Qualität weisen würde, Ihre Proben in eine Häufigkeitsverteilung zum ersten convert eines FFT oder DFT verwenden und es dann mit dem entsprechenden Abtastrate konvertieren zurück. Es ist schon eine Weile her, seit ich so etwas getan haben, aber es ist auf jeden Fall machbar. Möglicherweise müssen Sie ein wenig hantieren, um es richtig zu bekommen arbeiten, though.

Auch wenn kein FT des gesamten Array nehmen, sondern in Segmenten haben Sie das Problem der Grenzen Segment 0. Vor ein paar Jahren sein, als ich mit den Dingen, spielte ich nicht gekommen, mit einer tragfähigen Lösung dazu angestiftet (da es Artefakte und erzeugt), aber es ist wahrscheinlich ein, wenn Sie die richtigen Bücher lesen: -)

Wie bei WMP beschwerte sich über die Datei: Sie haben Ändern Sie den Header Sie entsprechend schreiben, rechts

?
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top