Go Back   Home > Forums > Source & Line > Digital Line Level

Digital Line Level DACs, Digital Crossovers, Equalizers, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 6th August 2008, 02:01 PM   #21
diyAudio Member
 
Join Date: Nov 2006
everything is trade-off, now my FIR engine only outputs to extended WAV File, but there are pros.

Pros: simple program development and separation, and machine separation, player free.
Cons: Disc area, FIR Parameter changes = reconversion.

1TB is enough to keep hundreds of CD, and only some seconds per music, also I can do batch conversion.

FIR engine is working on my main PC, with GTX280(noisy but crazy fast, and double precision possible - now studying CUDA 2.0 ), then WAV files are stored to NAS.

Audio PC(fanless) reads & play, now I have USB-I2S mode(my own player) and HDMI(Windows Media Player).

I'm thinking to buy fanless 8600GTS - and lower clocked - for Audio PC, to convert in real-time.
DirectSound programming is required and it's quite confusing.
But studying DirectSound is better than studying to make some "plug-in" for foobar, etc.

so..
File: simple program, double precision, x4 area of disc, configurable. (my config is 2PC and NAS).
Streaming: can be "Generic Crossover" device, single precision, difficult programming.
  Reply With Quote
Old 6th August 2008, 02:13 PM   #22
diyAudio Member
 
soundcheck's Avatar
 
Join Date: Mar 2005
Location: DUS
OK. Now I understand. You're converting all your files non-realtime. But earlier, before HDMI, you were running realtime conversion, right?

I think it is easier to have a look at the ALSA API or JACK API.
You don't need Directsound in Linux.

Did you have a look at the Brutefir ALSA/Jack output module.
The code is available it's opensource. This might help.
__________________
::: Squeezebox Touch Toolbox and more ::: by soundcheck
  Reply With Quote
Old 6th August 2008, 02:20 PM   #23
diyAudio Member
 
Join Date: Nov 2006
Core logic of FIR engine is just a repeating of

incoming Data Buffer (stereo WAV)
copy to GPU, calculate
outgoing Data Buffer (8 channel WAV)

Please check my source.
Wav file management, buffer setup has many codes but core logic should be < 100 lines.
  Reply With Quote
Old 6th August 2008, 02:26 PM   #24
diyAudio Member
 
Join Date: Nov 2006
Quote:
Originally posted by soundcheck
OK. Now I understand. You're converting all your files non-realtime. But earlier, before HDMI, you were running realtime conversion, right?

I think it is easier to have a look at the ALSA API or JACK API.
You don't need Directsound in Linux.

Did you have a look at the Brutefir ALSA/Jack output module.
The code is available it's opensource. This might help.
No, I'm not running realtime. Also I separated converter and Player, for my USB-I2S. Keep It Simple for Stupid me.

ALSA or JACK - did you try 8 channel HDMI playback on them?
(the wave file I made is for other people testing other environment)
  Reply With Quote
Old 6th August 2008, 02:34 PM   #25
diyAudio Member
 
soundcheck's Avatar
 
Join Date: Mar 2005
Location: DUS
Quote:
Originally posted by KOON3876


ALSA or JACK - did you try 8 channel HDMI playback on them?
(the wave file I made is for other people testing other environment)
I'll check it out with the ALSA guys!
__________________
::: Squeezebox Touch Toolbox and more ::: by soundcheck
  Reply With Quote
Old 6th August 2008, 02:37 PM   #26
flshzug is offline flshzug  Antarctica
Banned
 
Join Date: Dec 2007
Koon, if you ditch your directsound idea and make "plugin" for foobar, it is using the VSTi protocol. It can run not only inside foobar but everywhere else, moreover on linux using WINE. The new vsti protocol supports 64bit read & write too.
  Reply With Quote
Old 6th August 2008, 04:24 PM   #27
diyAudio Member
 
Join Date: Nov 2006
Quote:
Originally posted by flshzug
it is using the VSTi protocol.
I got a sample of DirectSound and found, 80% of codes are used for mmio, 3D effect, which I don't need. remaining Dsound initialize / buffer copy / play / circulating buffer are simple enough

and I looked MyEQ VST plugin source code.
Too Huge! I can not understand

also I'm sorry I don't like huge C++ source code which has many platform switching.
  Reply With Quote
Old 6th August 2008, 10:33 PM   #28
diyAudio Member
 
Join Date: Nov 2006
http://www.portaudio.com/

PortAudio!
I love this "C" style clean, simple library.
will study this.
  Reply With Quote
Old 9th August 2008, 05:24 AM   #29
diyAudio Member
 
Join Date: Nov 2006
Studying PortAudio see http://www.portaudio.com/

I recommend PortAudio for all of DIYAudio programmer.

PortAudio is open source, MIT-license portable cross-platform Audio API. For example, wave editor 'Audacity' is using PortAudio.

PortAudio works with...
Windows ASIO, MME, DirectSound
Mac Core Audio
Linux (Alsa/Jack/OSS)
maybe 99.999% of audio platform

Programming is really simple.
(1) Intialize, Create, Open, Start Stream
(2) write stream Loop, memcpy from main buffer to stream buffer
(3) Stop, Close, terminate.
That's all. unbelievable.

Studying
(a) build: Done.
needs ASIO SDK, DirectX 9.0 SDK, Windows Platform SDK.
(b) test: Done. sine wav generation
(c) Play stereo wav file: Done.
http://koonlab.com/MultiChannelI2S/WavXPlayer.cpp.txt
I just changed this player's USB section to PortAudio, below 100 lines.

(d) Play 8ch wav file: will try this weekend?
(e) FIR Converter output to stream: next week?
(f) input stream, FIR converter, output stream: next-next weekend? (so far, 44.1/16 CD player)
  Reply With Quote
Old 9th August 2008, 11:53 PM   #30
diyAudio Member
 
Join Date: Nov 2006
(d) Play 8ch wav file: Done, Please see bottom of
http://koonlab.com/MultiAmpForEveryo...DMI_AVAMP.html

Now we have simple command line - LPCM 8CH Wave file player. There are a little platform dependance? but maybe easy to port to another platform.

Thanks a LOOOOT to PortAudio.

Next I will try to add output , then input streaming to my FIR Converter. Please wait for next weekend

==================

BTW
I can make "NO-GPU" version straight-through FIR channel Divider (stereo wav to 8ch wav). Anyone want it?
it will take 30 minutes to convert 3 minutes music,
but simple to compile and platform (maybe) free.
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Creating 5.1 Multi Channel sound from 2 channel jenkrich Everything Else 5 1st September 2009 07:29 AM
Multi purpose multi channel gainclone PCB: Team project - group buy rick57 Chip Amps 14 29th March 2003 05:54 PM
multi-channel AMP? JAZZ2250 Solid State 1 15th September 2002 09:10 AM


New To Site? Need Help?

All times are GMT. The time now is 08:42 PM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright ©1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2