| Author | Topic: GPU Delay - A delay plugin running on a graphics card | ||
|---|---|---|---|
|
|||
Hello,
my occupation is game programming, my hobby is music. So I decided to check out if it isn't possible to use my graphics card for audio DSP processing like BionicFX promised some years ago. After heavy optimizing, trying out a lot of things etc..... It works This is a proof-of-concept VST plugin to test if computation on a GPU is possible in a reasonable amount of time. At my machine (P4 2.8Ghz, Geforce FX 5900 AGP) my test plugin is at least faster than e.g. the Voxengo Tempo Delay (of course, my version lacks of features but it's still not pretty bad I think.) Well, here you are: http://nilsschneider.de/temp/GPUDelay.exe (2,2MB). Here you can at least grab a simple VST plugin that computes a delay of up to 1 second in length on your graphics processor. This release is not intended to be something useful, but it would be nice if you could help me to TEST it. If everything is working well, I'll start with the implementation of more complex plugins ( receiving my Geforce 7800 GS+ next week Here are some things you should know: - Needs at least a graphics board with pixel shader 2.0 and floating point render target support. Tested only with a NVidia Geforce FX 5900. Would be nice to have other results. - DirectX 9.0c is required - Buffer size can't be greater than 2048 (I'll change that in the future, but atm it's a deprecated limitation) - There is no graphical interface yet. - 3 Parameters: Feedback, InvertLR (mixes left<=>right so stereo delay is possible), Length (up to 1 second) Would be nice if you could tell me if the plugin is loading on your system at all, if you have any crashes or something like that. Note that Cubase SX "marks" a plugin as unloadable if it fails once. You have to re-enable it again in the plugin configuration. If anything goes wrong, would be nice if you could send me all log files that are created in the installation directory. THANKS in advance! This is going to be a quite cool thingy _______________________________________ EDIT: Note that meanwhile, there is also a 6 voice stereo chorus available: http://nilsschneider.de/temp/GPUChorus.exe It's a 6 (!) voice stereo chorus Parameters: - Depth - Mix (0% = dry, 100% = wet) - Speed - Gain - Spread (0% = mono chorus, all 6 voices in the center, 100% = 3 voices left, 3 voices right) This one requires Pixel Shaders 2.x (sorry for all Radeon 9xxx Users). Minimum graphics board for this plugin: Geforce FX 5... ATI Radeon X... Regards, Nils Last edited by Nils Schneider on Tue Feb 20, 2007 4:52 am; edited 7 times in total |
|||
| ^ | Joined: 22 Oct 2004 Member: #45370 Location: Neuss, Germany | ||
|
|||
awesome! Being a game artist first, this really appeals to me, as my hardware is always much more fit for gaming than musicmaking i'll give this a go on a few different systems in a few days. |
|||
| ^ | Joined: 21 Mar 2006 Member: #102329 | ||
|
|||
Great! |
|||
| ^ | Joined: 22 Oct 2004 Member: #45370 Location: Neuss, Germany | ||
|
|||
Interesting. Could you team up with some other developers and port their stuff for gpu acceleration?
Would it be possible to run such plugins on geforce 5200? (reason: silent card) |
|||
| ^ | Joined: 18 Dec 2004 Member: #52034 | ||
|
|||
This depends on the complexity of the algorithm VS the capabilities of the GPU, i.e. it's pixel shaders.
Not every algorithm can be ported, especially those that HAVE to go linearily through the buffer because they depend on the result of the previous sample. A GPU computes multiple pixels (i.e. audio samples) in parallel. This is a problem for e.g. some filter algorithms. Feature-wise, a Geforce 5200 is identical to a 5900, so simple effects are not a problem (only slower), but more complicated ones won't run. This delay sample should work fine. |
|||
| ^ | Joined: 22 Oct 2004 Member: #45370 Location: Neuss, Germany | ||
|
|||
My office PC has an ancient ATI9200 so no "pixel shader 2.0 and floating point render target support" I suppose (FYI didn't load here)/ I'll test it at home with an NVIDIA 6600GT.
Congrats for your efforts! |
|||
| ^ | Joined: 07 May 2004 Member: #24383 Location: Athens, Greece | ||
|
|||
Excellent work sir! I salute you. I studied the possibilities of GPU as generic DSP processor some years a go but decided I hadn't the skills for the implementation back then.
What interface do you have with the GPU? Are you using something like BrookGPU as the programming language (that promising looking C style generic code extension for GPUs)? or did you simply write everything from scratch? Cheers, Mike |
|||
| ^ | Joined: 16 Dec 2002 Member: #5023 | ||
|
|||
Thanks I'm using the Ogre 3D engine, but it doesn't have any gpgpu capabilities, so everything is written from scratch for this special case. |
|||
| ^ | Joined: 22 Oct 2004 Member: #45370 Location: Neuss, Germany | ||
|
|||
Didn't work for me. I have onboard Geforce 6100. Can I assume that it just doesn't work with onboard GPU's ? |
|||
| ^ | Joined: 07 Mar 2003 Member: #6234 Location: Climbing the walls inside my mind | ||
|
|||
this is as of topic as it gets but i got a bit confused here cause my name is nils schneider. But back to the topic:
Great! i hope more people start developing in the direction as my name mate. cheers to you! |
|||
| ^ | Joined: 18 Aug 2004 Member: #37534 | ||
|
|||
I'll design a GUI if you need one.... or help you in any other way...
//Daniel |
|||
| ^ | Joined: 12 Jul 2002 Member: #3306 | ||
|
|||
any chance to work on Radeon cards?
got this error: DynKib::load Could not load dynamic library RenderSystem_Direct3D9.dll File:\sgpu\source\ogre\OgreMain\src\OrgeDynLib.cpp line:82 |
|||
| ^ | Joined: 23 Jun 2006 Member: #111284 | ||
|
|||
I downloaded the plug and tested it in EnergyXT with my ATI Radeon 9550 card.
Yes he complained about missing the d3dx9_29.dll.. Googled and found out that my DirectX 9.0c does not include all 3d files. Downloaded version 29 d3dx files and installed. http://www.shdon.com/view?doc=d3dx WORKS! As I said, I'll design interfaces and help you out in any way I can for free! This is HUGE! //Daniel |
|||
| ^ | Joined: 12 Jul 2002 Member: #3306 | ||
|
|||
a common tweak for daws is tu turn video hardware acceleration off... Do the use of the GPU have any impact on the desktop video output, or the GPUs are only used for 3d games?
Sorry my ignorance |
|||
| ^ | Joined: 15 Dec 2004 Member: #51716 Location: Argentina | ||
|
|||
ddummer wrote: I downloaded the plug and tested it in EnergyXT with my ATI Radeon 9550 card.
Yes he complained about missing the d3dx9_29.dll.. Googled and found out that my DirectX 9.0c does not include all 3d files. Downloaded version 29 d3dx files and installed. http://www.shdon.com/view?doc=d3dx WORKS! As I said, I'll design interfaces and help you out in any way I can for free! This is HUGE! //Daniel Hey Nils, I did what ddumer suggested, loaded fine now in Tracktion (still same old ATI 9200) but no sound. Maybe that PixelSHader's missing here. |
|||
| ^ | Joined: 07 May 2004 Member: #24383 Location: Athens, Greece |
![]() |
All times are GMT - 8 Hours | |
|
Printable version |
||
![]() Previous Topic Next Topic |
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum |
Disclaimer: All communications made available as part of this forum and any opinions, advice, statements, views or other information expressed in this forum are solely provided by, and the responsibility of, the person posting such communication and not of kvraudio.com (unless kvraudio.com is specifically identified as the author of the communication).
Powered by phpBB © phpBB Group
















