Se ho già i dati wav in due array (canale sinistro & canale destro) come si fa a convertirli in un singolo array mono?Come convertire un wav stereo in mono
Esiste una funzione f in modo che Mono [x] = f (L [x], R [x])?
Se ho già i dati wav in due array (canale sinistro & canale destro) come si fa a convertirli in un singolo array mono?Come convertire un wav stereo in mono
Esiste una funzione f in modo che Mono [x] = f (L [x], R [x])?
Il missaggio è la media dei due canali.
f_mono = function(l, r) {
return (l + r)/2;
}
Che semplice ... – Nifle
Qualcosa da tenere a mente: supponiamo di avere un file stereo dove c'è un suono solo sinistro e un suono centrale, che in origine sono percepiti come avere un volume uguale . Quando aggiungi linearmente i due canali insieme, il suono centrale verrà percepito come più forte. (Esegui i calcoli di energia dell'onda sonora con due diffusori a punti e un microfono, quindi sposta i diffusori insieme.) Non ho idee brillanti su come evitarlo, comunque. – ephemient
Per fortuna non è un problema. L'audio è solo un aiuto visivo per problemi di temporizzazione. Il file audio originale viene utilizzato quando si riproduce l'ausdio. Volevo solo convertire in mono per facilitare il calcolo della forma d'onda. Vedi http://stackoverflow.com/questions/1035533/how-do-i-visualize-audio-data – Nifle
Basta prendere una media di entrambi i valori.
Se non dovessi farlo molto spesso, userei Audacity. –
Ogni volta che importa l'audio nella mia applicazione – Nifle