tarttisin äänen
Posted: Sat Feb 20, 2010 11:31 pm
tarttisin semmösen tööt äänen joka kestää 1 sekan
Code: Select all
// --- Äänifunktioita by Valtzu (2007) --- //
/////////////////
// //
// Esimerkki //
// //
/////////////////
sndTMP = SinWave(150,1,90)
// Luodaan ja ladataan ääni muuttujaan.
// Taajuus = 150, äänen kesto = 1s, volyymi = 90
PlaySound sndTMP // Soitetaan ääni
WaitKey
DeleteSound sndTMP // Ääni pois muistista
// --- Funktio --- //
// Ääni tietyltä taajuudelta
Function SinWave(taajuus#, pituus#, voimakkuus#=100)
fq=44100
length=pituus*fq
f=OpenToWrite("tmpwav.tmp")
WriteInt f,$52494646
WriteInt f,0
WriteInt f,$57415645
WriteInt f,$666d7420
WriteInt f,16
WriteShort f,1
WriteShort f,1
WriteInt f,fq
WriteInt f,fq*2
WriteShort f,2
WriteShort f,16
WriteInt f,$64617461
WriteInt f,length*2
vokke = voimakkuus/100*32767
For i = 0 To length-1
WriteShort f,Sin(360.0*taajuus/fq*(i Mod fq))*vokke
Next i
fs=FileOffset(f)-8
SeekFile f,4
WriteInt f,fs
CloseFile f
tmpsnd=LoadSound("tmpwav.tmp")
DeleteFile "tmpwav.tmp"
Return tmpsnd
End Function
ei kuulu mitäänotto90x wrote:Jaahas, tämänhän voi tehdä vaikka Valtzun upealla siniaaltofunktiolla. Mikäli haluat tallentaa äänen pysyvästi tietokoneelle niin poistat funktion loppupuolelta komennon deletefile.Code: Select all
// --- Äänifunktioita by Valtzu (2007) --- // ///////////////// // // // Esimerkki // // // ///////////////// sndTMP = SinWave(150,1,90) // Luodaan ja ladataan ääni muuttujaan. // Taajuus = 150, äänen kesto = 1s, volyymi = 90 PlaySound sndTMP // Soitetaan ääni WaitKey DeleteSound sndTMP // Ääni pois muistista // --- Funktio --- // // Ääni tietyltä taajuudelta Function SinWave(taajuus#, pituus#, voimakkuus#=100) fq=44100 length=pituus*fq f=OpenToWrite("tmpwav.tmp") WriteInt f,$52494646 WriteInt f,0 WriteInt f,$57415645 WriteInt f,$666d7420 WriteInt f,16 WriteShort f,1 WriteShort f,1 WriteInt f,fq WriteInt f,fq*2 WriteShort f,2 WriteShort f,16 WriteInt f,$64617461 WriteInt f,length*2 vokke = voimakkuus/100*32767 For i = 0 To length-1 WriteShort f,Sin(360.0*taajuus/fq*(i Mod fq))*vokke Next i fs=FileOffset(f)-8 SeekFile f,4 WriteInt f,fs CloseFile f tmpsnd=LoadSound("tmpwav.tmp") DeleteFile "tmpwav.tmp" Return tmpsnd End Function