PC music players

Status
Not open for further replies.
Re: I saw this and thougt of you all........

BlackDog said:
It's an active crossover add-in for Foobar.....!! 😀

http://www.hydrogenaudio.org/show.php/showtopic/22605

I know Robert's spent alot of time in Linux, but this might fit the bill !!
At least it HAS to be easier to configure!!!

SteveM


Interesting, but has a long way to go. I just happened to be putzing with Foobar and my new(ish) Emu 1820M, so I grabbed it. Completely croaks with a 3-way setup with 3000 tap filters on my Athlon 2200+ w/ resampling @96k. Apparently he's not using fast convolution, which pretty much renders it academic - you can't get long enough filters to make it interesting. I had to drop the filters to 300 taps to get things working @96k. (I don't have an appropriate 44k session setup on the Emu to try at the moment).

It *does* work as expected with a multichannel ASIO output setup, though - this is good.

Still, if folks band together to make the convolver, resample and this new divider plugin work together on standard hardware, it would be a pretty nice combination.
 
Fantastic results

Ok, I've spent the day fooling with Octave and FIR filter construction and had a lot of fun (really). One interesting factoid - Octave NEVER crashed. I'm running version 2.1.57 (debian install).

Make sure you get the octave-forge package (version 2.1.50 debian) or the equivalent package from sourceforge. This has a great fir construction function called "fir1".

Here's my procedure in Octave workspace:
i=linspace(1,16384,16384); #I'm making 16k tap filters
hir=fir1(16384,3800/22050,'high'); #the high-pass impulse response
lir=fir1(16384,3800/22050,'low'); #low-pass ir
hirtxt=hir(i); #my klugey way of taking 16384 elements
lirtxt=lir(i); #from the 16385 element impulse responses
save -ascii (file address) hirtxt
save -ascii (file address) lirtxt

Strip the leading lines of text from these 2 files and you've got beautiful 16k tap filters with crossover at 3800Hz. I'm running 16 partitions of 512 in brutefir.

You can get a great plot of the frequency response and phase response using the following:

freqz(hir) #plots the high-pass
freqz(lir) #plots the low-pass

The soundstage has really become fantastic. Can't believe how good this sounds!!!!!!!

More reports later.

-Robert
 
cpu hog

Sound is still great. All types of music.
Stability is very good. Had 2 jack crashes last night in ~5 hrs testing during a period when my ISP was doing maintenance and I was web-browsing.
Brutefir is using avg 12% of cpu now with 4 16k filters.

-Robert
 
Robert, I have been following this thread with interest for some tiome now. Would you consider posting a summary of what you have done and why as its getting a bit difficult to pick out the details with so many postings?

Thanks and good luck with this project.
 
🙂
Hi All,
I was guided by SAAM in foobar2000 forum here.
Simple responce to comment.
(1) Resampling,convolver usage
It can be used but requires more CPU resources.

(2) Maybe if you use faster CPU you will buy in 2 or 3 years,
it will be easier for any PC users.

Fuctionality and performance is trade-off for computer software.

I have been working for computer engineering(almost 30years!) , now this is the time or start for computer based music player, I felt.This is satrt, so we have to prioritize requirements/needs now.
Maybe if you take advantage of faster CPU(s), you may use your prefereable plugin you are talking about than current situation.

Bugs are coming but we can fix , performance is another thing...
 
AEDIO_Japan said:
🙂

(2) Maybe if you use faster CPU you will buy in 2 or 3 years,
it will be easier for any PC users.
[/]


Well, having to spend $3000 on a PC just to do a crossover pretty much defeats the purpose. For close to that price, you can just get a DEQX.


Bugs are coming but we can fix , performance is another thing...

Sure you can do something about performance - use a Fast Convolution algorithm rather than direct-form. Every other 'realtime' convolver that I'm aware of that runs on a PC does this. As you will see from reading this thread, the BruteFIR software on Linux can run 8 channels of 128k filters on very modest hardware. With that as the 'competition', I don't see how your plug-in will ever be truly useful in comparison.

In terms of suggestions for improving your plug-in, I would consider splitting it into two pieces - one piece being the filter creation, the other being the actual FIR plugin engine. This would allow the user to modify the filters to correct for speaker/driver response and/or use fully custom filters.
 
mkoctfile and summary

Mark,

I just did a search for mkoctfile and can't find it in my system. I'll look some more, but it appears that debian doesn't use the same build process for octave. Is it difficult for non-debian users to access the debian package system?

wytco0,

I've been thinking for awhile about summarizing this project for the benefit of everyone, including myself. I had intended to write it up after the first success with drc (digital room correction). Then, we would have a good solid level of performance from which to jump the next level. Also, I could show overall system response curves as part of the summary. I don't expect to have much difficulty with drc but it's likely to take another week or so. After that, I promise a write-up.

Meanwhile, I haven't yet mastered simple recording procedures. I'm using arecord and can't figure out which channel of alsamixer controls the recording level. Can arecord plug into jack while the player is also hooked up?

Once I have the system response, it will include brutefir crossovers in the loop and I'm not yet clear about how to insert the drc filter prior to the brutefir filters. Do I have to convolve the drc and brutefir filters and then brutefir does both crossover and correction at the same time? Or do I have one instance of brutefir doing drc left and right feeding a second instance of brutefir doing 4 channel crossovers?

-Robert
 
Thanks

Hi dwk123 and all,
Thank you for your interest.

It seemed good idea to be divided into 2 or multi-parts of current software.And this filter is completely free for cost in software portion and working on Windows.

I have been considering to implement this kind of software on linux and embedded into that, you told that was already implemented on linux ,that's good news for me, I will try to get them.We donot behave on NIH manner ,so I like to try everything interesting.(NIH = Not Invented Here is the inhibitor for technology)

DEQX , cost and price performance discussion , I agree with you.
DEQX , it may be better solution if dedicated into this channel divider application.
Sound quality,audio system design of them is currently I have little information on DEQX in actual environment, so I will check with future coming products(not PC based) and DEQX.

As products, we are planning to build another solution.So as you told it was "Just Academic" or "non realistic" may be right justice in this version.

LINUX ,is still not so popular to people in this area in Japan.
That is one of the reasons we did not implement on linux ,though it was easier to build from the scratch.
From your comment , I will have to try to use BruteFIR filters on linux...🙂
And if I could use AES-16 of Lynx Studio on linux, it is very comfortable environment for us to get higher quality sound for dedicated system.

Thank you for your very helpful comment and information.
 
mkoctfile

Mark,

I found mkoctfile.in on the octave.org website in the 2.1.57.gz tarball. Since this file was missing in whatever source you downloaded, I suggest you grab the tarball from octave.org and install that.

octave.org wasn't up a couple days ago but I had no trouble getting in today.

If you have problems, I can ship you the whole tarball. Just email me so I can get your address.

-Robert
 
AsioXO with KX?

Hi all!

I'm happy to see you are making great progress with BruteFIR.

As i'm stuck with windows (too many apps i can't be without), i started looking at AsioXO. Has anyone used this with the KX driver successfully? All i get is "invalid channel count" errors. I think this is because KX maps it's inputs/outputs differently than standard, there's one "device" for every stereo pair. And AsioXO won't even let you choose, it just picks one.
Does anyone have a workaround for this?

I guess i'll have to upgrade the soundcard soon anyway, the SBLive isn't exactly something to write home about. Just curious to try it. Right now i'm using a KX plug-in for the crossover, but i don't know how good it is compared to BruteFIR or AsioXO. I don't know if it's at the same level.

Will try the Foobar plugin mentioned here too.

Btw, i saw this cool firewire chip (yeah, i know, this firewire dac thing kinda stuck in my brain😀). This sucker seems to have it all! Look at all those outputs and inputs... Also it supports mLAN which should make PC interfacing less painfull (i think?). It'll probably take me a year or so to even get started with this project, but i really wanna do it... 16 channels in/out @ 24 bits 192KHz, SBLive eat my shorts...😉

regards

/Andreas
 
Re: mkoctfile

RFScheer said:
I found mkoctfile.in on the octave.org website in the 2.1.57.gz tarball. Since this file was missing in whatever source you downloaded, I suggest you grab the tarball from octave.org and install that.


Ahhh.
Yeh the octave site was down last time i tried too... so it looks like i got the CVS snapshot from sourceforge instead.

Ok... that seems to have done it, thanks.
 
Re: AsioXO with KX?

nuppe said:
Btw, i saw this cool firewire chip (yeah, i know, this firewire dac thing kinda stuck in my brain😀). This sucker seems to have it all! Look at all those outputs and inputs... Also it supports mLAN which should make PC interfacing less painfull (i think?). It'll probably take me a year or so to even get started with this project, but i really wanna do it... 16 channels in/out @ 24 bits 192KHz, SBLive eat my shorts...😉


And what are you going to do about drivers??
Thats the first thing you need to think about.
 
Re: Re: AsioXO with KX?

MWP said:


And what are you going to do about drivers??
Thats the first thing you need to think about.


Yes, i know, that's going to be the hard part...
I have programming skills (c++, assembler, java, etc ), so making the drivers myself is not out of the question. I guess there's a steep learning curve involved, but i think i can manage if i have enough time. Also there's an SDK mentioned in the doc, too bad there are no details.

The other obstacle is the package, 256 pin QFP :bawling:
It can be done, but i'm not saying it's going to be easy.
I saw Hifizen's tutorial on the wiki, better get started practicing.

Like i said, it will take a LOT of time, but i'm not giving up just yet...

/Andreas
 
Soldering something like that is a lot harder than it looks. I searched for QFP packages on Maxim's site, but I only could find an 80 pin one.

Anyway, pin spacing is 0.8mm. TSSOP has a 0.65mm pin spacing and it can be soldered with a standard soldering iron, so I think you should be fine.

In case you're interested, I have a tutorial about it here: http://members.lycos.nl/anthonyvh/index.php?page=smd
 
Re: Re: Re: AsioXO with KX?

nuppe said:

Yes, i know, that's going to be the hard part...
I have programming skills (c++, assembler, java, etc ), so making the drivers myself is not out of the question. I guess there's a steep learning curve involved, but i think i can manage if i have enough time. Also there's an SDK mentioned in the doc, too bad there are no details.


Knowing MS's APIs, itll be a VERY steep learning curve.
Good luck!

The other obstacle is the package, 256 pin QFP :bawling:
It can be done, but i'm not saying it's going to be easy.
I saw Hifizen's tutorial on the wiki, better get started practicing.

Soldering wont be too much of a problem.
Its the PCB layout, and cost of getting a multi-layer PCB made that will be.
 
Updated

We have revised the module...
We have added,
(1) Filter slope adjustment (-40dB/oct thru -400dB/oct!)
(2) Driver level offset (0 thru -20dB)
(3) Driver time domain offset (in cm step)
(4) various bug fixations

the version is v.40 you can download from
http://www.aedio.co.jp/download/index.html
as newest one.

Please try new version!
Thanks for feedbacks.
Yutaka IIDA, AEDIO Japan
mailto: info@aedio.co.jp
😎
 
Aedio_japan:
This looks very promising! Since I don't have a multichannel soundcard or adequate measuring equipment at the moment I have a few questions.

1) CPU requirements? Is it possible to run enough taps on a "normal" computer i.e P4? Is it possible to use with the foobar convolution engine?

2) How are the channels assigned? Does the divider just send data to the ASIO drivers which automatically assign them to respective channel?

-Johan
 
Status
Not open for further replies.