DBDeluxe: It is still sold in Russia on ozon.ru (Type there "Dark Basic"). It is a simple DB Classic.
FUF! Now I know how to do the DBPro will want to record a sound. It needs a STOP RECORDING SOUND after 2 - 3 seconds after RECORD SOUND command. BUT! If STOP RECORDING SOUND will be less than after 2 second, the program kills itself again!
Evrika (for me): PCM (Phase Carrying Modulation) - is not a compression method - it is a simplest data of sound amplitude byte-to-byte! 127 or 128 is Zero-point for 8 bit.
GOOD THING. The recording of the sound works in background mode (Program continues to work, it is not waiting for the end of recording). My tamagocha will continue to do something else and will be listening the player.
Have you the same problem? (Program crashes if STOP RECORDING SOUND will be less after 2 seconds from beginning of recording). I can not make watch control for the sound 1 (it is existing only afrer STOP RECORDING SOUND command, but this command kills the program if sound is not existing).
sync on
sync
sync
print "Press Space to start recording"
sync
wait key
record sound 1,10000
do
if inkey$()="" then exit
loop
do
cls
ink rgb(255,0,0),0
print "Press Space to STOP recording"
ink rgb(255,255,255),0
REM - RECORDED SOUND IS NOT EXISTING !!!
print "Sound exist while it is recording: "; sound exist(1)
sync
if inkey$()<>"" then exit
loop
REM - THIS COMMAND "STOP RECORDING SOUND" QUITS THE PROGRAM IF
REM - I USE THIS COMMAND LESS THAN 1 - 2 SECONDS AFTER "RECORD SOUND"
stop recording sound
REM - NOW ONLY RECORDED SOUND IS EXISTING
print "Sound exist after command STOP RECORDING SOUND: "; sound exist(1)
sync
sync off
play sound 1
save sound "C:\0001.wav",1
povtor:
make memblock from sound 1,1
print
print "Info in the head of memblock"
print "-----"
print "wFormatTag: "; memblock dword (1,0)
print "nChannels: "; memblock dword (1,4)
print "nSamplesPerSec: "; memblock dword (1,8)
print "nAvgBytesPerSec: "; memblock dword (1,12)
print "nBlockAlign: "; memblock dword (1,16)
print "wBitsPerSample: "; memblock dword (1,20)
print "cbSize: "; memblock dword (1,24)
print "Press Space to continue"
wait key
a=28
snova:
cls
for i=1 to 20
print a;" ";memblock byte (1,a)
inc a
NEXT
print "Press Space to continue scrolling"
ink rgb(255,255,0),0
print "Press ""1"" to fill with beep in begining of recorded sound"
ink rgb(255,255,255),0
wait key
if inkey$()="1" then goto dopisk
goto snova
dopisk:
ia as dword
ia=28
ib as byte
ib=255
ic as byte
ic=0
sync on
sync
sync
do
write memblock byte 1,ia,ib
inc ia
write memblock byte 1,ia,ib
inc ia
`write memblock byte 1,ia,ib
`inc ia
write memblock byte 1,ia,ic
inc ia
write memblock byte 1,ia,ic
inc ia
`write memblock byte 1,ia,ic
`inc ia
if ia>=3000 then goto dalee
loop
dalee:
make sound from memblock 1,1
sync off
print "Press Space to listen sound with beep"
wait key
play sound 1
print "Press Space to re-listen"
wait key
cls
goto povtor