mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-25 21:58:38 -05:00
Some docs and enhancements for WAV reading
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6336 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
26e5ea963e
commit
92e1f70b8f
@ -1,3 +1,21 @@
|
|||||||
|
!
|
||||||
|
! readwav - open and read the header of a WAV format file
|
||||||
|
!
|
||||||
|
! On successful exit the file is left positioned at the start of the
|
||||||
|
! data.
|
||||||
|
!
|
||||||
|
! Example of usage:
|
||||||
|
!
|
||||||
|
! use readwav
|
||||||
|
! integer*2 sample
|
||||||
|
! type(wav_header) wav
|
||||||
|
! call wav%read ('file.wav')
|
||||||
|
! write (*,*) 'Sample rate is: ', wav%audio_format%sample_rate
|
||||||
|
! do i=0,wav%data_size
|
||||||
|
! read (unit=wav%lun) sample
|
||||||
|
! ! process sample
|
||||||
|
! end do
|
||||||
|
!
|
||||||
module readwav
|
module readwav
|
||||||
implicit none
|
implicit none
|
||||||
|
|
||||||
@ -13,6 +31,7 @@ module readwav
|
|||||||
type, public :: wav_header
|
type, public :: wav_header
|
||||||
integer :: lun
|
integer :: lun
|
||||||
type(format_chunk) :: audio_format
|
type(format_chunk) :: audio_format
|
||||||
|
integer :: data_size
|
||||||
contains
|
contains
|
||||||
procedure :: read
|
procedure :: read
|
||||||
end type wav_header
|
end type wav_header
|
||||||
@ -43,6 +62,7 @@ contains
|
|||||||
if (desc%id .eq. 'fmt ') then
|
if (desc%id .eq. 'fmt ') then
|
||||||
read (unit=this%lun) this%audio_format
|
read (unit=this%lun) this%audio_format
|
||||||
else if (desc%id .eq. 'data') then
|
else if (desc%id .eq. 'data') then
|
||||||
|
this%data_size = desc%size
|
||||||
exit
|
exit
|
||||||
end if
|
end if
|
||||||
filepos = filepos + (desc%size + 1) / 2 * 2 ! pad to even alignment
|
filepos = filepos + (desc%size + 1) / 2 * 2 ! pad to even alignment
|
||||||
|
Loading…
Reference in New Issue
Block a user