0
0

Hello! I’m using C++ .Net 7.1 in a Win32 app. I’m quite joyous at the ease of getting the DSP working to get the frequency amplitudes of a playing sample by using FSOUND_DSP_GetSpectrum(); However, I’d like to have free reign over which time slice I’m analyzing of the sample. I’ve never used FMOD before this, so I really have no idea what to do. Currently all I can do is get the spectrum of .. whatever is playing right? While it’s playing. I’m looking to analyze the frequency spectrums of really long files, but hopefully without having to wait for the whole thing to play ๐Ÿ˜€ I’d appreciate any guidance, hints, help! Thanks very much!

  • You must to post comments
0
0

For FMOD3, not at this point. FMOD Ex currently supports CDDA on Windows, Mac and Linux.

  • You must to post comments
0
0

Excellent news; CDDA was the only thing stopping my current project from being portable.

Do we have a release date for FMOD Ex beta yet?

And is it safe to assume the pricing structure will be simular to FMOD 3 once it goes gold?

  • You must to post comments
0
0

Can anyone please post an example-code of how to use FSOUND_Update() to make a Spectrum Analysis of a large wav-file in non-realtime. I don’t want to play the file in normal 1x speed to make the Spectrum Analysis.
The file is located on a harddrive and it’s too large to be loaded into memory.

And maybe someone can describe how the FSOUND_Update() works.

I would be really happy if anyone can write a small example in C/C++.

Thanks

  • You must to post comments
0
0

Firstly apologies for the hijack but this is relavent.

I have a simular problem to Neff in that I want to analyse sizeable samples in advanced of playing the samples.

I have tried using FSOUND_Update() but the speed increase seems to be fixed at 2x.

I am reading the data from CD and processor use is virtually 0 on both machines I have tested it on and the program speed is not limit by vsync or anything simular.

So I can only conclude that FSOUND_Update() is somehow limited.

Is it? and what limits it?

  • You must to post comments
0
0

[code:3gs0ixri]

float *spectrum_buffer_ptr;
FSOUND_STREAM *cd_stream;

FSOUND_SetOutput(FSOUND_OUTPUT_NOSOUND_NONREALTIME);

FSOUND_Init(44100,2,0);
FSOUND_DSP_SetActive(FSOUND_DSP_GetFFTUnit(), TRUE);
cd_stream = FSOUND_Stream_Open( filename, 0, 0, 0);
FSOUND_Stream_Play( 0, cd_stream);

//in your loop
FSOUND_Update();
spectrum_buffer_ptr = FSOUND_DSP_GetSpectrum();[/code:3gs0ixri]

hope it helps[/code]

  • You must to post comments
0
0

I was able to do what Brett said (with a loaded sample, not a stream yet, though) with success. I can run through about 200 seconds of the song per second of running program at max speed, and this should be suitable for my purposes at the moment. So thanks Brett!
If I were to require even faster processing speeds, would I end up having to write my own frequency analysis code? I would imagine that I would have ultimately slower speeds if I did this anyway ๐Ÿ˜›
Good luck on your issue trager ๐Ÿ˜›

  • You must to post comments
0
0

Trager,

FMOD Ex beta is expected to be released within a week or two. There’ll be more details on the pricing structure as we approach final release.

Cheers

  • You must to post comments
0
0

YupI am streaming CDDA and I assumed that the speed of the CD drive would be the limit of the FSOUND_Update() function.

One of the drives Ive tested on is 24x and the over is much newer and should be about 50x.

So far I’ve only been able to analyse songs about twice as fast asual were as I thought I should be able to get at least 24x the speed.

Glad to see Jeff mangaged 200x I’m going to try and analyse something of the HDD and see how quick that goes maybe I’m doing something stupid.

  • You must to post comments
0
0

Thanks alot, [i:2xbnzd6x]trager[/i:2xbnzd6x].

But do I need to use FSOUND_Stream_Play() if I want to do a Spectrum Analysis in non-realtime ?
I want to scan the whole file without playing it.

  • You must to post comments
0
0

I’ve just run the cddarip example and that also seems to only rip at about twice the normal speed rather than the 24x of this drive.

Could anyone tell me if that is normal?

  • You must to post comments
0
0

What I gave you would not play the sound in real time and you would not be able to hear it.

hence:
[code:17xrvmue]
FSOUND_SetOutput(FSOUND_OUTPUT_NOSOUND_NONREALTIME);
and
FSOUND_Update();
[/code:17xrvmue]

It should allow you to analyse the stream many tens of times the normal rate. (unless you are using CDDA :( )

  • You must to post comments
0
0

I also use a 24x cd-rom in a laptop and can’t get much faster that 1x. But if I save the cd as an image and put it into a virtual drive (I am using Alcohol 120%) it will rip at incredible speeds. But surly reading off of a 24x cd-rom should be a little bit faster than 2x?

  • You must to post comments
0
0

Many thanks.
๐Ÿ˜€

  • You must to post comments
0
0

You’d think you can get faster wouldn’t you but I have now tested this extensively and it seems as though you cant stream from a CD much faster than 2X.

I guess I’ll have to live with it for now but perhaps it is something FMOD could look at? What do you think guys?

  • You must to post comments
0
0

There are still a few things we can do to increase CDDA performance but they’re lower priority right now and we won’t be able to address them until at least after GDC/FMOD Ex Beta release.

Cheers,

  • You must to post comments
0
0

Ok just as long as you know I guess.

I dont suppose there are plans to add cdda support for other operating systems anytime soon?

Thanks

Paul

  • You must to post comments
Showing 16 results
Your Answer

Please first to submit.