sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #56230
Re: test .wav fil for stereo/mono
Peter Maersk-Moller wrote:
>
> Hej
>
> Atte André Jensen wrote:
> > > > Er der nogen som kender et lille program som kan tage en 2 kannals .wav
> > > > og afgøre om den er stereo (højre/venstre er forskellige) eller mono
> > > > (højre/venstre er ens), gerne noget som kører fra en promt...?????
> > > Mednstående læser forbi header i WAV-fil.
> > > Derefter er det bare at læse byte-par efter byte-par og sammenlign dem,
> > > hvis du da snakker S16LE (Signed 16 Bit Little Endian). Stereo er typisk
> > > interleaved byte-par efter byte-par.
> > Ok, det fattede jeg ikke specielt meget at (princippet, jo - koden,
> > nope)
>
> Jeg antager, at du kan laese C-kode.
>
> Koden som jeg sendte laeser headeren i en wav-fil. Resten af filen
> er audio data. Hvis din wav-fil er 2-kanals, saa er resten af filen
> organiseret saaledes
>
> venstre sample
> hoejre sample
> venstre sample
> hoejre sample
> venstre sample
> hoejre sample
>
> etc.
>
> Altsaa laeser du den foerste ventre-sample og den foerste hoejre-sample
> og sammenligner dem. Derefter anden venstre-sample og anden hoejre-sample
> etc.
>
> Problemet er saa hvilket sample-format din wav-fil har. Formatet er
> typisk S16LE (Signed 16 Bit Little Endian). Det betyder, at hver
> sample er 2 bytes. Om den er signed eller ikke og om den er little endian
> eller big endian, er i denne sammenhaeng irrellevant.
>
> Ovenstaaende kan goeres med 2-5 linjer kode. Nedenstaaende kraever 100
> gange saa meget.
Næeh, det kan gøres fra et mindre bashscripts. Det er muligvis ikke så
hurtigt som dit c-program (100 gange så mange instruktioner, det var vel
det du mente...), men det vil være acceptabelt for mig, jeg gætter på i
omegnen 1-2 sek. Jeg er slet ikke nogen ørn til c (long time...), men
hvis jeg ikke finder en anden løsning og får noget tid, bliver jeg vel
nødt til at kikke på det :-(
--
peace, love & harmony
Atte
References