Turbinen Sound selber erzeugen
Übersicht

![]() |
Markus2Betreff: Turbinen Sound selber erzeugen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich versuche mich gerade daran einen Turbinen Sound zu erstellen . Und zwar soll das so sein das die Turbine hoch laufen soll ihre Umdrehung (nach Vorgabe) bei behält und dann wieder auslaufen soll . Wichtig ist es das es aus dem Quelltext erzeugt wird und so unter 64k Sample länge bleibt wenns geht . Habe auch schon was versucht aber der Ton stimmt nicht ![]() Wenn das Ding auf Turen ist soll sich das anhören wie ein Jet oder so ![]() Code: [AUSKLAPPEN] Strict Graphics 640,480 Local l:Long '22500 l=1024*64 Local sample:TAudioSample=CreateAudioSample(l,11250,SF_MONO8 ) Local i:Long Local a100:Float Local a500:Float Local a1000:Float Local a2000:Float Local a3000:Float Local a4000:Float Local a5000:Float Local a10000:Float Local w:Float Local w1:Float Local b:Byte For i=0 To l-1 w=w+1 w1=w1+2.1 a100=a100+0.5 a500=a500+0.05 a1000=a1000+0.1 a2000=a2000+0.2 a3000=a3000+0.3 a4000=a4000+0.5 a5000=a5000 +0.6 a10000=a10000+1.0 b=( Sin(a100+w+w1)*1.0+Sin(a500+w+w1)*0.9+Sin(a1000+w+w1)*0.7+Sin(a2000+w+w1)*0.6+Sin(a3000+w+w1)*0.3+Sin(a4000+w+w1)*0.2+Sin(a5000+w+w1)*0.1+Sin(a10000+w+w1)*0.1 )/8 *127+127 sample.samples[i]=b Next Local sound:TSound=LoadSound( sample,True ) PlaySound(sound) WaitKey EDIT: mit RND hört sich das schon besser an ... Code: [AUSKLAPPEN] 'MR Turbine Strict 'Frequenz von 0 - 10000 Hz '0 Laut '10000 Leise Graphics 640,480 Local l:Long '22500 l=1024*64 Local sample:TAudioSample=CreateAudioSample(l,11250,SF_MONO8 ) Local i:Long Local a100:Float Local a500:Float Local a1000:Float Local a2000:Float Local a3000:Float Local a4000:Float Local a5000:Float Local a10000:Float Local w:Float Local w1:Float Local b:Byte Local sound:TSound Local ch:TChannel Local wx:Float While Not KeyDown(KEY_ESCAPE) wx=wx+1.0 For i=0 To l-1 w=w+wx w1=w1+2.1*wx a100=a100+0.5*wx+Rand(-10,10) a500=a500+0.05*wx+Rand(-10,10) a1000=a1000+0.1*wx+Rand(-20,20) a2000=a2000+0.2*wx+Rand(-20,20) a3000=a3000+0.3*wx+Rand(-20,20) a4000=a4000+0.5*wx+Rand(-20,20) a5000=a5000 +0.6*wx+Rand(-20,20) a10000=a10000+1.0*wx+Rand(-20,20) b=( Sin(a100+w+w1)*1.0+Sin(a500+w+w1)*0.9+Sin(a1000+w+w1)*0.7+Sin(a2000+w+w1)*0.6+Sin(a3000+w+w1)*0.3+Sin(a4000+w+w1)*0.2+Sin(a5000+w+w1)*0.1+Sin(a10000+w+w1)*0.1 )/8 *127+127 sample.samples[i]=b Next Delay 2000 If ch<>Null Then StopChannel ch ; sound=Null sound=LoadSound( sample,True ) ch=PlaySound(sound) Wend End |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group