Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 09.08.2007, 17:23 Titel: Sound generieren |
|
|
Wie kann mann einen Ton mit Fmod generieren?
Ich habs schon mit
Code: | #include once "fmod.bi"
const false = 0
dim x as byte
X=FSOUND_Init(44100, 32, &H2)
X=Fsound_SetFrequency (1,1000)
sleep | versucht aber es gibt keinen mucks.
Irgendwas hab ich bestimmt vergessen oder? _________________ Bis irgendwann...  |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 09.08.2007, 17:37 Titel: |
|
|
Hi,
so einfach geht das nicht. Du musst erstmal einen Puffer generieren, der deinen Sound (Dreieck, Sinus, Sägezahn, Rechteck, was auch immer) enthält. Dann musst du den Puffer als ersten parameter von SetFrequency übergeben. Übrigens wäre in diesem Fall 1000 Hz viel zu niedrig... Das ist nämlich nicht die Tonfrequenz, sondern die Samplingfrequenz. "Bekannte" Werte sind da 11025, 22050 und 44100. Schau dir einfach mal den Sourcecode von meinem Programm vChip an, ich glaube, sowas suchst du... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 09.08.2007, 18:12 Titel: |
|
|
Achso
Dann generiere einfach ein Mp3 File mit 1000 Hz, was sich im loopmodus befindet
So passts. _________________ Bis irgendwann...  |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 09.08.2007, 18:43 Titel: |
|
|
Hier ist ein FMod-Tutorial, allerdings auf englisch:
http://www.freebasic.net/forum/viewtopic.php?t=11
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 09.08.2007, 18:45 Titel: |
|
|
Dieser Code ist zwar sinnlos aber witzig
Code: | #include once "fmod.bi"
Print "init"
If COMMAND = "" Then Print "Syntax : Lol.exe + mp3datei":sleep : end
const false = 0
'Declare Function FSOUND_SetFrequency Alias "FSOUND_SetFrequency" (Byval channel As Integer, Byval freq As Integer) As Byte
dim x as integer
dim stream as FSOUND_STREAM ptr
FSOUND_Init( 44100, 4, 0 )
stream = FSOUND_Stream_Open( COMMAND, FSOUND_MPEGACCURATE, 0, 0 )
Print "Play"
FSOUND_Stream_Play( FSOUND_FREE, stream )
DO
FSOUND_SetFrequency (0,INT(RND * 44100) + 5000)
sleep 500
IF INKEY=CHR(27) THEN EXIT DO
LOOP
sleep |
Joa das tut ist durchaus brauchbar  _________________ Bis irgendwann...  |
|
Nach oben |
|
 |
|