diyAudio

diyAudio (http://www.diyaudio.com/forums/)
-   PC Based (http://www.diyaudio.com/forums/pc-based/)
-   -   AVX based FIR VST, crossover / EQ / DRC and delay (http://www.diyaudio.com/forums/pc-based/198585-avx-based-fir-vst-crossover-eq-drc-delay.html)

KOON3876 15th October 2011 05:27 PM

AVX based FIR VST, crossover / EQ / DRC and delay
 
1 Attachment(s)
I made some VST, using intel AVX technology on SandyBridge CPU.
Now I have FIR (without FFT) crossover / EQ / DRC, and Delay VSTs.
all of them are Phase-linear.

I tested on Windows7 Pro x64 SP1 / Core i7-2630QM.
Player: foobar + asio_out, to ReaRoute (component of Reaper)
VST Host: Reaper 4.10 32 bit Personal edition
Audio hardware: exaU2I + my 3 way active

If you have AVX enabled OS and CPU, please try.
and, Source code is very simple. please download and take a look.
modification is welcome.

attached image: very steep LPF

SSE / AVX FIR VST Channel divider (crossover), delay, EQ, DRC - koonaudioprojects
I posted summary, source code and VST DLL here.

KOON3876 16th October 2011 07:05 PM

2 Attachment(s)
Now I'm playing on new FanLess PC,
Core i3-2120T + Scythe Ninja 3 + MSI H61 ITX + PicoPSU-150-XT
No problem for CPU % and temperature.

foobar + asio_out -> ReaRoute (internal ASIO) channel 1/2
Reaper has 3 tracks,
Low (0-960Hz) -> exaU2I ch3-4
Mid (960 - 3200Hz) + 15.4mm delay -> exaU2I ch5-6
High (3200-22050Hz) + 23.1mm delay -> exaU2I ch7-8

KOON3876 19th October 2011 05:01 AM

4 way FIR crossover
 
3 Attachment(s)
I added BIC DV64 (8inch x2 + Passive radiator x2), passive network was removed.
Photo 1: 4 way crossover on PC. each track has AVX FIR filter.
track 1: -120 (DV84), track 2: 120-960 (104 Low)
Photo 2: exaU2I USB to I2S x4 + 4way amplifier
Photo 3: Linn Komponent 104(3way) + DV84

DV64 is cheap ($300 pair) but makes tight base, I was surprised.

KOON3876 22nd October 2011 06:59 PM

Q: is limited to exaU2I?
A: No, this is VST, just a plugin. so you can use any VST host program, capable players, and any multi-channel audio interface.
If you have HDMI audio output from PC and 7.1ch AV amp, already you have multi-amp system for up to 3 way.

Radian 23rd October 2011 06:19 AM

Quote:

Originally Posted by KOON3876 (Post 2755014)
Q: is limited to exaU2I?
A: No, this is VST, just a plugin. so you can use any VST host program, capable players, and any multi-channel audio interface.
If you have HDMI audio output from PC and 7.1ch AV amp, already you have multi-amp system for up to 3 way.

Great work Koon,

what chip do I need to use to extract the I2S from HDMI without paying big bugs for the license?

Greets,
Klaus

qusp 23rd October 2011 07:33 AM

excellent and innovative work as always KOON!!

I spotted on your site for this project you are playing around with a mac book pro, does this indicate further work on mac support? or just because its a cool and rather powerful laptop?

i have a mac mini with core i5 (sandybridge), i would love to be able to run this, i have everything needed except software capability. my usb -> 32bit 8 x 192/4 x 384 i2s card does not have windows drivers, but runs natively in osx 10.6.1 onwards as its usb audio class 2.0 compliant, but windows still hasn't caught up in this regard and i'm not sure if bootcamp will give access to the mac audio hardware without having some sort of base level support for the transport.

it would seem from my reading that this is usually the case as bootcamp/parallels manuals seem to claim hardware being available to both, but whether i can have the interface loaded in Lion, with a crossover running as above or with allocator accessing the multiple streams running in windows via parallels and its an expensive experiment time wise, as otherwise i have no intention of running windows on my mac. i can get demos of parallels and your build above, or allocator to try, but buying windows and setting it up properly for audio won't be trivial.

i so want to run this or allocator, but it seems something always gets in the way.

KOON3876 23rd October 2011 04:36 PM

Quote:

Originally Posted by Radian (Post 2755420)
Great work Koon,

what chip do I need to use to extract the I2S from HDMI without paying big bugs for the license?

Greets,
Klaus

Hi Klaus
Sorry.. I wrote "HDMI audio output from PC AND 7.1ch AV amp".
I tried GeForce - HDMI - Denon AV amp before.
Still we can not separate or pick I2S signal from HDMI.

I hope USB + FPGA I2S multichannel should be more cheaper, in near future.

KOON3876 23rd October 2011 05:16 PM

Quote:

Originally Posted by qusp (Post 2755438)
excellent and innovative work as always KOON!!

I spotted on your site for this project you are playing around with a mac book pro, does this indicate further work on mac support? or just because its a cool and rather powerful laptop?

Hi qusp,
I tried foobar - Reaper(contains my VST) - exaU2I,
on Macbook Air 2010(bootcamp) / MBP17 2011 (Parallels 7).
Both recognized exaU2I (USB I2S x 4 interface).

I'm using MBP17 as programming console, sorry:o
For actual listening, I'm using Core i3 + Win7 fanless PC.

What I'm not sure on Mac is
(1) how to build VST on Mac.
-> should be http://www.teragonaudio.com/2010/06/...atch-with.html
(2) how to enable AVX on Mac.
-> looks like very new issue, from GCC 4.6? I still can't find sure "how-to".

I posted source code, so someone who understands (1) (2) should be able to build VSTs for Mac.

qusp 23rd October 2011 06:18 PM

Hey KOON, thanks for the reply, yeah i saw that you have EXA working in exactly the way i desire, i have another similar unreleased device (i'm beta field testing) that uses a similar but different chipset and pretty different implementation as uses top of the range xmos chip, so its native hires usb audio CLASS 2 compliant, but pc driver is still not forthcoming (and frustratingly windows still doesn't support CLASS 2 except by further plugins). I would be so bold as to say that i think its a better device hardware wise than the exa unit, which it seems is excellent in its own right and has further developed software for XO duties. Normally i would prefer 'driverless' support, but in this case its working against me

i find it ironic that i'm praying for windows support for something on my mac :boggled: usb class 2 that is. this one has separate clocks for 22.1x, 24x and also separate isolated high grade clock for USB. so should be a brilliant XO interface with the right software and sounds very well for regular stereo on my ackodac sabre

unfortunately i don't have the programming Fu to participate in development, but i would be a very happy paying customer/beta tester. its possible that it will just work with parallels, with the mac usb audio support piped over to win and the 4 or 8 x outputs made available in console and audio streams from mac played through it (this last step may be taking it a bit far when i should probably just use foobar on win), but its far from ideal. but then using the pure music crossover or logic audio with waves diamond in Lion is far from ideal too.


I checked your links, it does seem that x86 i5 2500K AVX is enabled in GNU (GCC 4.6 onwards) using

link GCC 4.6
Quote:

• Support for Intel Core i3/i5/i7 processors with AVX is now available through the -march=corei7-avx and -mtune=corei7-avx options.
• Support for Intel Core i3/i5/i7 processors is now available through the -march=corei7 and -mtune=corei7 options.
and the link you showed for vst looks sound, although i would think making an AU/audio unit in obj. C would be cleaner

i have no knowledge of the coding needed above, just a long standing and well rounded mac history that doesn't shun command line when needed.

i'll check with some friends to see if they can help, but i would think an intimate knowledge of allocator and the objective at hand would be desirable? that combo is less easy to find.

KOON3876 23rd October 2011 09:07 PM

Hi qusp
Yes GCC 4.6 can handle AVX, but I need sure how to about "XCode and AVX".
maybe it will take a while, until AVX is available on XCode4 (CLANG compiler??).
Then, someone can build Mac version VST AVX-FIR crossover, for Mac DAW softwares.

=======================
for USB audio Class 2.. I think we just need ASIO interface? (Less OS components)
with ASIO, I'm sure everything is driven by single clock, close to FPGA.
ASIO driver 'pull' next data from application.

I already have
(1) USB1.1 - FTDI 245R - (FIFO+CPLD) - I2S output,
(2) USB2.0 - Cypress - FPGA - I2S x 4 output.
Both case single 11.2896MHz controls audio flow.
And I could build my ASIO driver DLL, Reaper recognized it.
So Now I'm thinking about
(3) ASIO interface - FTDI D2XX - DLP-HS-FPGA2 (FT2232H + FPGA) - I2S x 6 output


All times are GMT. The time now is 02: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