Comment OfflineAudioContext.startRendering()
peut-il sortir un AudioBuffer
qui contient la résolution de mon choix (16 bits ou 24 bits)? Je sais que je peux définir la fréquence d'échantillonnage de la sortie facilement avec AudioContext.sampleRate
, mais comment puis-je définir la profondeur de bits?Comment rendre dans une profondeur de bit spécifique?
Ma compréhension du traitement audio est assez limitée, alors peut-être que ce n'est pas aussi simple que je le pense.
Edit # 1:
En fait, AudioContext.sampleRate
est en lecture seule, donc si vous avez une idée sur la façon de régler le taux d'échantillonnage de la sortie, ce serait génial aussi.
Edit # 2:
Je suppose que le taux d'échantillonnage est inséré après le nombre de canaux dans le WAV encodée (dans le DataView
)
Ok ok merci. Donc je multiplie chaque valeur de 'audioBuffer.getChannelData (0 | 1)' par 32768 ou 8388608 et c'est tout, mon dernier fichier .wav aura la profondeur de bit correspondante? Et je ne suis pas sûr d'avoir compris pourquoi je dois diviser le résultat final avec 32768 ou 8388608 ... Est-ce que je ne vais pas juste récupérer les valeurs initiales? – maximedupre
Tout d'abord, lorsque vous créez OfflineAudioContext, vous devez spécifier la fréquence d'échantillonnage. –
Actuellement, WebAudio ne permet pas de créer un fichier WAV à partir d'un AudioBuffer. Vous devrez trouver une bibliothèque pour le faire pour vous. (Ou apprendre à le faire vous-même.Les fichiers WAV sont assez simples.) –