Ich empfange eine verschachtelte 16-Bit-PCM-Samples über den Draht. Jede Probe ist signiert
Ich lese es als Int16bit Array, lasst uns ALL_DATA nennen. So ist jeder der Array-Einträge ein 16-Bit-Sample.
Weil es verschachtelt ist, extrahiere ich es in 2 Kanäle R-L-R-L Ich am Ende mit 2 (16 Bit) Arrays die halbe Größe von ALL_DATA Array.
Danach gehe ich über jedes Sample und normalisiere es auf Float32Array, weil das was ist Web Audio API verwendet.
var normalisiertes Beispiel = (Beispiel & gt; 0)? Beispiel / 32768: Beispiel / -32768;
Ist das der richtige Weg?
Ich bekomme verzerrte Sounds. Sie können sehen, was vor sich geht. Wenn man also klassische Gitarre hört, klingt es wie elektrisch mit Verzerrung.
Für Argumente wähle ich den Beispielcode aber diesen Code handhabt
MONO SOUND, um das Beispiel zu vereinfachen, damit wir es nicht verschachteln müssen
%Vor%Irgendwelche Vorschläge, die den verzerrten Klang verursachen könnten, helfen. Ich habe die PCM-Daten geschrieben, bevor ich es auf der Serverseite an eine Datei sende, ist gut und Sound ist perfekt.
Anstatt zu sagen
%Vor%probiere
aus %Vor%Ihre Berechnung, wie sie derzeit geschrieben wird, invertiert die negativen Teile Ihrer Wellenform, ähnlich wie bei einem Vollwellengleichrichter (Ihre Samples sind immer positive Zahlen) .
Tags und Links javascript pcm web-audio typed-arrays