Пример кода на JavaScript, использующий AnalyserNode для выполнения преобразования Фурье на аудио-сигнале:

// Получаем аудио контекст и создаем AnalyserNode
const audioCtx = new AudioContext();
const analyser = audioCtx.createAnalyser();
const source = audioCtx.createMediaElementSource(audioElement);
source.connect(analyser);
analyser.connect(audioCtx.destination);

// Настраиваем AnalyserNode для получения данных преобразования Фурье
analyser.fftSize = 2048; // размер FFT
const bufferLength = analyser.frequencyBinCount;
const dataArray = new Uint8Array(bufferLength);

// Получаем данные для преобразования Фурье и выполняем преобразование
analyser.getByteFrequencyData(dataArray);
const fft = new Float32Array(bufferLength);
for (let i = 0; i < bufferLength; i++) {
  fft[i] = (dataArray[i] - 128) / 128.0;
}

// Используем полученные данные преобразования Фурье
console.log(fft);

Здесь audioElement - это элемент <audio> на странице, из которого получается аудио-сигнал. Преобразование Фурье выполняется с помощью метода getByteFrequencyData() объекта AnalyserNode. Полученные данные представлены в формате Uint8Array, который затем конвертируется в массив Float32Array и используется для дальнейшей обработки.
ตัวอย่างโค้ด JavaScript ที่ใช้ AnalyserNode เพื่อทำการแปลงฟูริเยร์ในสัญญาณเสียง: // รับบริบทของเสียงและสร้าง AnalyserNode const audioCtx = new AudioContext(); ตัววิเคราะห์ const = audioCtx.createAnalyser (); แหล่งที่มา const = audioCtx.createMediaElementSource (audioElement); source.connect (วิเคราะห์); analyser.connect (audioCtx.destination); // ตั้งค่า AnalyserNode เพื่อรับข้อมูลการแปลงฟูเรียร์ analyser.fftSize = 2048; // ขนาด FFT const bufferLength = analyzer.frequencyBinCount; const dataArray = Uint8Array ใหม่ (ความยาวบัฟเฟอร์); // รับข้อมูลสำหรับการแปลงฟูริเยร์และดำเนินการแปลง analyser.getByteFrequencyData(dataArray); const fft = Float32Array ใหม่ (ความยาวบัฟเฟอร์); สำหรับ (ให้ i = 0; i < bufferLength; i++) { fft[i] = (dataArray[i] - 128) / 128.0; } // ใช้ข้อมูลการแปลงฟูริเยร์ที่ได้รับ console.log(fft); ในที่นี้ audioElement คือองค์ประกอบ <audio> บนหน้าที่รับสัญญาณเสียง การแปลงฟูริเยร์ดำเนินการโดยใช้เมธอด getByteFrequencyData() ของอ็อบเจ็กต์ AnalyserNode ข้อมูลที่ได้รับจะแสดงในรูปแบบ Uint8Array ซึ่งจะถูกแปลงเป็นอาร์เรย์ Float32Array และใช้สำหรับการประมวลผลเพิ่มเติม
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence