more debug
This commit is contained in:
parent
0f92d09d5e
commit
67ea2613e6
1
SoundBrotching/.gitignore
vendored
1
SoundBrotching/.gitignore
vendored
@ -9,6 +9,7 @@
|
|||||||
text2wav
|
text2wav
|
||||||
wav2text
|
wav2text
|
||||||
text2ao
|
text2ao
|
||||||
|
essai
|
||||||
|
|
||||||
panoramix
|
panoramix
|
||||||
genwaves
|
genwaves
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
GOPT = -Wall -Wextra -time -g
|
GOPT = -Wall -Wextra -time -g
|
||||||
|
|
||||||
all: panoramix genwaves
|
all: panoramix genwaves essai
|
||||||
|
|
||||||
# ----------------------------------------------------------
|
# ----------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -16,6 +16,10 @@ FLIBS = soundbrotch.o
|
|||||||
soundbrotch.o: soundbrotch.f90 Makefile
|
soundbrotch.o: soundbrotch.f90 Makefile
|
||||||
gfortran $(GOPT) -c $<
|
gfortran $(GOPT) -c $<
|
||||||
|
|
||||||
|
# some test...
|
||||||
|
essai: essai.f90 Makefile $(FLIBS)
|
||||||
|
gfortran $(GOPT) $< $(FLIBS) -o $@
|
||||||
|
|
||||||
# main proggies
|
# main proggies
|
||||||
panoramix: panoramix.f90 Makefile $(FLIBS)
|
panoramix: panoramix.f90 Makefile $(FLIBS)
|
||||||
gfortran $(GOPT) $< $(FLIBS) -o $@
|
gfortran $(GOPT) $< $(FLIBS) -o $@
|
||||||
|
@ -8,7 +8,7 @@ DATAFILE="waves.text"
|
|||||||
|
|
||||||
OUTWAV="quux.wav"
|
OUTWAV="quux.wav"
|
||||||
|
|
||||||
./genwaves | ./panoramix | tee $DATAFILE | c-tools/text2wav $OUTWAV
|
./genwaves | tee $DATAFILE | c-tools/text2wav $OUTWAV
|
||||||
|
|
||||||
sndfile-spectrogram \
|
sndfile-spectrogram \
|
||||||
--min-freq=30 --max-freq=4000 \
|
--min-freq=30 --max-freq=4000 \
|
||||||
|
21
SoundBrotching/essai.f90
Normal file
21
SoundBrotching/essai.f90
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
program essai
|
||||||
|
|
||||||
|
use soundbrotch
|
||||||
|
! -----------------------------
|
||||||
|
implicit none
|
||||||
|
|
||||||
|
integer :: n
|
||||||
|
real :: freq
|
||||||
|
|
||||||
|
write(0, *) "*** On essaye des trucs (shotgun!) ***"
|
||||||
|
|
||||||
|
call soundbrotch_version()
|
||||||
|
|
||||||
|
do n = 20, 85
|
||||||
|
freq = midi2freq(n)
|
||||||
|
write(0, '(12X, I5, 5X, F9.3)') n, freq
|
||||||
|
call sinw_burst2i(6, 22000, freq, freq, 0.9)
|
||||||
|
call silence_burst2i(800)
|
||||||
|
end do
|
||||||
|
|
||||||
|
end program
|
@ -11,12 +11,13 @@ program genwaves
|
|||||||
write(0, *) "*** Genwaves ***"
|
write(0, *) "*** Genwaves ***"
|
||||||
call soundbrotch_version()
|
call soundbrotch_version()
|
||||||
|
|
||||||
do clock = 1, 8
|
do clock = 1, 11
|
||||||
fleft = real(100 * clock)
|
fleft = real(100 * clock)
|
||||||
fright = real(150 * clock)
|
fright = real(116 * clock)
|
||||||
write(0, '(1X,I8, 9X, F8.2, 6X, F8.2)') clock, fleft, fright
|
write(0, '(1X,I8, 9X, F8.2, 6X, F8.2)') clock, fleft, fright
|
||||||
call sinw_burst2i(6, 4800, fleft, fright, 0.7)
|
call sinw_burst2i(6, 23200, fleft, fright, 0.7)
|
||||||
enddo
|
enddo
|
||||||
|
call silence_burst2i(1337)
|
||||||
|
|
||||||
end program
|
end program
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ program panoramix
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
! *** NON WORKING CODE ***
|
! *** NON WORKING CODE ***
|
||||||
phi = real(nblus) / 60000.0
|
phi = real(nblus) / 44100.0
|
||||||
ka = sin(phi)
|
ka = sin(phi)
|
||||||
value = (real(left)+real(right)) / 2.05
|
value = (real(left)+real(right)) / 2.05
|
||||||
left = int(value * ka)
|
left = int(value * ka)
|
||||||
|
@ -7,12 +7,19 @@ module soundbrotch
|
|||||||
integer :: right
|
integer :: right
|
||||||
end type
|
end type
|
||||||
! ---------------------------------------------------------
|
! ---------------------------------------------------------
|
||||||
|
! some private variables
|
||||||
|
|
||||||
|
integer, private :: samplerate = 48000
|
||||||
|
real, private :: diapason = 440.0
|
||||||
contains
|
contains
|
||||||
! ---------------------------------------------------------
|
! ---------------------------------------------------------
|
||||||
|
|
||||||
subroutine soundbrotch_version ()
|
subroutine soundbrotch_version ()
|
||||||
write(0, '(1X,A)') "--- this is soundbrotch version alpha 666"
|
write(0, '(1X,A)') "--- this is soundbrotch version alpha 666"
|
||||||
|
write(0, *) "--- samplerate", samplerate
|
||||||
|
write(0, *) "--- diapason ", diapason
|
||||||
end subroutine
|
end subroutine
|
||||||
|
! ---------------------------------------------------------
|
||||||
|
! ---------------------------------------------------------
|
||||||
|
|
||||||
! ---------------------------------------------------------
|
! ---------------------------------------------------------
|
||||||
! premier essai, le prototype peut changer !
|
! premier essai, le prototype peut changer !
|
||||||
@ -25,31 +32,55 @@ module soundbrotch
|
|||||||
|
|
||||||
integer :: idx, left, right
|
integer :: idx, left, right
|
||||||
real :: coef
|
real :: coef
|
||||||
integer, save :: oldl=0, oldr=0
|
|
||||||
|
|
||||||
coef = (3.141592654 * 2.0) / 44.1e3
|
if (dst .NE. 6) then
|
||||||
|
STOP ' OUPS!'
|
||||||
|
endif
|
||||||
|
|
||||||
|
coef = (3.141592654 * 2.0) / real(samplerate)
|
||||||
do idx=0, numbs
|
do idx=0, numbs
|
||||||
left = INT(32e3 * level * sin(coef*real(idx)*fra))
|
left = INT(32e3 * level * sin(coef*real(idx)*fra))
|
||||||
left = (left + oldl) / 2
|
|
||||||
right = INT(32e3 * level * sin(coef*real(idx)*frb))
|
right = INT(32e3 * level * sin(coef*real(idx)*frb))
|
||||||
right = (right + oldr) / 2
|
call xper_spit_2i(left, right)
|
||||||
print *, left, right
|
|
||||||
oldl = left
|
|
||||||
oldr = right
|
|
||||||
enddo
|
|
||||||
! add silence at the end of the burst
|
|
||||||
left = 0
|
|
||||||
right = 0
|
|
||||||
do idx=0, numbs/3
|
|
||||||
left = (left + oldl) / 2
|
|
||||||
right = (right + oldr) / 2
|
|
||||||
print *, 0, 0
|
|
||||||
oldl = left
|
|
||||||
oldr = right
|
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
end subroutine
|
end subroutine
|
||||||
! ---------------------------------------------------------
|
! ---------------------------------------------------------
|
||||||
|
! mmmm ?
|
||||||
|
subroutine silence_burst2i(nbsmpl)
|
||||||
|
integer, intent(in) :: nbsmpl
|
||||||
|
integer :: idx
|
||||||
|
do idx=0, nbsmpl
|
||||||
|
call xper_spit_2i(0, 0)
|
||||||
|
enddo
|
||||||
|
end subroutine
|
||||||
|
! ---------------------------------------------------------
|
||||||
|
! mmmm ?
|
||||||
|
subroutine xper_spit_2i(lsmpl, rsmpl)
|
||||||
|
integer, intent(in) :: lsmpl, rsmpl
|
||||||
|
integer, save :: oldl, oldr
|
||||||
|
integer :: tmpl, tmpr
|
||||||
|
|
||||||
|
tmpl = (lsmpl + oldl) / 2
|
||||||
|
tmpr = (rsmpl + oldr) / 2
|
||||||
|
print *, tmpl, tmpr
|
||||||
|
oldl = tmpl
|
||||||
|
oldr = tmpr
|
||||||
|
|
||||||
|
end subroutine
|
||||||
|
! ---------------------------------------------------------
|
||||||
|
!
|
||||||
|
function midi2freq(note)
|
||||||
|
integer, intent(in) :: note
|
||||||
|
real :: midi2freq
|
||||||
|
|
||||||
|
real :: freq
|
||||||
|
|
||||||
|
freq = (DIAPASON/32.0) * (2.0 ** (real(note - 9) / 12.0));
|
||||||
|
! write(0, *) "> ", note, freq
|
||||||
|
|
||||||
|
midi2freq = freq
|
||||||
|
|
||||||
|
end function
|
||||||
end module
|
end module
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user