Brief
Any feedback? see DIYAudio Thread
http://www.diyaudio.com/forums/showthread.php?s=&threadid=127520
09/01/2008
GPUFIR_20080901.zip
Extract as C:\GPUFIR, C:\GPUFIR_Source
(1) Tiny GPU FIR player / controller.(VBDllTestAPP01)
(2) FIR Output process, with File read / buffer function (FIR_Out01.exe)
(3) ShareDLL, store command / responce and FIFO. (ShareDLL)
(4) Input Streamer. (InStream01.exe)
Requirement:
VisualC++ redistribution package. (see below, User Mode Install )
.NET Runtime 2.0
08/23/2008
GPUFIR_Source_20080822.zip
and this is how to build GPU FIR. many download and todo.
ForDevelopper_HowTo.html
08/21/2008
GPUFIR_20080821.zip
This is "User Mode" Package.
(1) Requires Microsoft VisualC++ redistributable packages
(2) Extract and copy to C:\GPUFIR\ folder.
(3) you need to run bat files in order.
Please see User_Mode_Install.html howto , for detail.
08/17/2008
Initial Downloadable Version. See bottom for detail.
GPUFIR_Stream_08182008.zip
(WinXP 32bit)
I could start this binary on Vista64, but I'm not sure about "runtime" environment of CUDA.
ZIP includes source and lib, dll, parameter sample. When you build, you need VisualStudio2005, PortAudio, CUDA.

08/03/2008
Now I am listening REAL FIRed 3way sound from generic AV amplifier,
with Windows Media Player.
What a long way to come through here. I spent thousands and thousands
dollers for multi amp audio, but now I have
$1,000 FanLess PC
$400 AV Amplifier
$400 Linn Component Speaker
OMG, the sound is completely stress free, flat and accurate.
Please refer to "CUDA REAL FIR" , for my FIR processing.
Or you can use anything other, which can make 8 channel extended wav
file.
08/05/2008
AVAMP_LPCM_8CH_test.wav
(zip, 33KB - 4MB when extracted)
8CH_Wave_gen.cpp.txt
This wave file is test tone, CH1,2,3,4,5,6,7,8 = { 200,
400,600,800,1000,1200,1400,1600 Hz}
Play this wave file in Loop mode, then attach single full-range speaker
to AV amplifier.
If everything goes well, you can hear each tone from each Speaker
Terminal.
Configuration
This is when Channel 1,2 = Low, 5,6 = Mid, 7,8 = High.

I'm thinking to replace amplifier , and speaker.
Windows Setting
Installed Drivers
nForce_HDA_10.3.00.23_international.exe
nforce_winxp_18.11_english_whql.exe
175.19_geforce_winxp_32bit_english_whql.exe

GeForce 8200 Must be activated as display.

I changed to 1080p HD format.


Media Player Speaker Config.


Channel 3,4 are assigned to Center, and Sub. Just use same as Channel
1,2.


Wave Format must have 0x063F channel mask.
This mask activates FL, FR, Center, SW, SurroundL, SurroundR, Surround
Back L, Surround Back R.
Now you can enjoy.



Multi Channel, 7.1 PCM, no Dolby.

Left, Right, Surround L, Surround R, Surround-Back L, Surround-Back R,
are used for
Low-L, Low-R, Mid-L, Mid-R, High-L, High-R

Very compact LINN Komponent, configurable as fully activ.
Thanks To avsforum!
http://www.avsforum.com/avs-vb/showthread.php?t=990188
Multi Channel WAVE file at MSDN
http://www.microsoft.com/whdc/device/audio/multichaud.mspx
http://www.microsoft.com/windows/windowsmedia/howto/articles/creating71audio.aspx
http://msdn.microsoft.com/en-us/library/ms713496.aspx
Development
08/09/2008
I studied PortAudio, Portable MIT-license multi platform Audio API.
http://www.portaudio.com
Really Great, Incredibly easy to use.
Build (pretty many SDK downloads), test sign wave, test wav file
player, is too easy.
Now I don't need Windows media Player.
I made simple command line LPCM 8 channel wav file to HDMI
player
Source Code: PATest03.cpp.txt
Screen Shot here. This player requires almost "0" % of CPU when playing.
Player copys whole WAV file into memory and lock to physical, then
start playing.
you can see CPU peak and Memory usage glowth. Just only 220 MB. Any
problem with today's 2GB - 4GB PC?

Next
add stream output to FIR Converter
add stream input to FIR Converter
This idea is pretty confusing. see below.

08/10/2008
I tried GPU FIR engine - LPCM 8ch Linear buffer
(for whole music) - Stream Callback, before implementing Ring Buffer.
It works . Source is here - Warning : VERY DIRTY! not
organized yet.
WaveX02_LinearPAOut.cu.txt
changed to include PortAudio functions.
WaveX02_kernel.cu.txt
Kernel is same as before.

Now I'm using GeForce 8400, it's a low end GPU today, but it processes
170917888 bytes / playing counter = 102891520 bytes.
So even if GeForce8400 can do real time 8192 Taps FIR, 4 way output.
08/14/2008
Output Buffer format was changed to float,
organizing source to add ring buffer, input streaming.
Video Card was changed to GeForce 9500GT, MSI N9500GT MD512Z.
Running 400MHz by MSI tool and it's very cool, about twice faster than
GeForce8400.
Total power : 76W when running FIR.

08/17/2008
I implemented Stream Mode, now I can connect CD player - PC
with GPU FIR - HDMI output.
This Full Digital Channel Cross-over's spec are...
8192 Taps real FIR, without FFT. (expandable)
over 200dB/Oct cutoff (at 8192 taps)
4 Way output (expandable)
Price: below $1,000
CPU: Athlon BE 2350 + Scythe Orochi cooler
VGA: GeForce 9500GT Falness
Mother: GeForce 8200
Power: Zen 400W Fanless
Storage: 32GB SSD
Complete fanless, motorless operation
Power usage: 76W
Fully customisable with source code
Input: SPDIF or WAV file (or what you like)
Output: HDMI Linear PCM 8ch (6ch available for AV amplifier) (or what
you like)
DRC: Straight Phase Room EQ
Level: Channel Level Control, by dB offset
Delay: Channel delay control, 1/44100 sec



09/01/2008

Run VBDllTestApp01.exe.
GPU FIR Output process will be executed automatically.
File Mode. Drag & drop from Explorer, then press play.
GPUFIR output proigram has it's own Linear buffer for file.
This player reads all of data into RAM first, then start playing.
Pros: there are no hardware access to HDD while playing.
Cons: Slow when NAS connected by Wifi.

Stream mode. Check "Stream Mode" .
Input Streamer will run automatically.
There are 262,144 bytes FIFO between Input Streamer and GPU FIR output process.
return to home