Help - Search - Members - Calendar
Full Version: Software Psychoacoustic processing?
Hydrogenaudio Forums > Hydrogenaudio Forum > Scientific Discussion
eshylay
Sorry about the messed up topic description there. Was meant to read: 'RE: "natural" sounding headphones"... I accidentally hit Submit before I was ready smile.gif

Anyway,

I'm wondering if any software exsists that duplicates the effect described in the following page:
http://headroom.headphone.com/layout.php?t...6&subTopicID=56


I don't know anything about signal processing or about audio in general - but this simply sound to me like somehting that would be relatively easy to do with a plugin of some sort for an audio player (eg. Winamp).

Is it so demanding that performance requires it be done in hardware? If not - does anyone know of anything available that does this or something similar?


Thanks for your time

eshylay
eshylay@hotmail.com
picmixer
There is actually a crossfeed plugin available for Foobar2000 here.

If I remember correctly there is also one available for Winamp. I think I remember someone (ScorLibran ? ) mentioning it around here. I guess you could try searching the Winamp plugin site for "crossfeed".
tigre
This is available as DSP for foobar2000, called crossfeed.

For Winamp crossfeed is also available as DSP plugin; there's another good one (more configurable) called headplug and a not so good one (IMO) called EarWax.

Related threads: here and here.
(Sorry, the samples I linked to there have disappeared.)

I'm 'dreaming' of using 4 channel impulse response (convolution) for this (right speaker -> right ear, right speaker -> left ear, left speaker -> left ear, left speaker -> right ear), but I don't have the hardware (high quality speakers, in-ear microphones etc.) to record the impuls responses needed and I don't have the coding skills to create a 4 channel convolution DSP plugin for an audio player.

Edit: too slow (too much beer)...
eshylay
Excellent! Thanks. I'll be taking at look at these first chance I get.

Was really hoping something like this existed... sounded like an interesting idea smile.gif


eshylay
eshylay@hotmail.com
ScorLibran
Hi. I personally use two plugins with Winamp that give me the exact sound I want with headphones.

I use Naive Software's Crossfeed plugin to do the basic "moving the soundstage out of your head" and somewhat in front of you, depending on the natural soundstaging characteristics of your headphones.

The other one is OSPi's 4Front Headphones, which I use to add a little reverb to give the effect of a medium-sized room rather than sounding like the music is originating a centimeter from your ear. It adds a very clean reverb effect compared to some DSP plugins I've heard, and it's adjustable to provide barely audible reverb up to very "echoey" sound. I generally use 20% to 25%, depending on the music I'm listening to. It also includes a gain adjustment (-Inf to +6.0dB), but I never use it.

I also use a third plugin specifically for headphone listening, but it doesn't have anything to do with the effect you're asking about. It's Shibatch Super EQ (v0.03). It's a nice, PCM-based cut-only equalizer that will not itself introduce clipping as boost EQ's can (as long as you don't use positive parametric gain with it). You can do logarithmic band-equalization or parametric equalization. Very configurable, and multiple profiles can be saved. I use this plugin to shape the sound very precisely to what I want. The zip file includes the source code as well, but for just the plugin, extract the file dsp_superequ.dll to your \winamp\plugins directory.

And to "stack" more than one DSP plugin in Winamp, you'll need something like MuchFX². Even if you don't use the Shibatch EQ, you'll need this plugin to use both Crossfeed and 4Front Headphones together for headphone listening. I personally put 4Front Headphones before Crossfeed (and after Shibatch EQ), but you can experiment as desired with the order.
blessingx
For OS X users, there's the great Canz3D VST plugin. Over 25 settings to get it right. Except for a few hardware options (I use the X-Feed MKIII) it seems one of the best solutions.
knik
I was inspired by this thread and wrote simple reverb plugin.
It uses much longer delay than crossfeed so it's named reverb but it can clearly move the sound in front of me (especially centered voice sound) and it doesn't destroy frequency response.
ScorLibran
QUOTE(knik @ Dec 18 2003, 06:01 AM)
I was inspired by this thread and wrote simple reverb plugin.
It uses much longer delay than crossfeed so it's named reverb but it can clearly move the sound in front of me (especially centered voice sound) and it doesn't destroy frequency response.

I like it. I turned off the 4Front Headphones and Crossfeed plugins and tried yours in their place. I can't immediately tell a difference with the "plain reverb", but I can with the "modified reverb". I only wish it were adjustable, since my model of headphones (Sennheiser HD-590) usually need a little more help with "soundstage adjustment" than most others. They're very "close-in" sounding.

Or perhaps a "modified reverb" made a little longer and called "high reverb"? I'd love the idea of replacing two DSP plugins with one. Just a thought...

Thanks for making this!
tigre
I'm "inspired" too ATM and I think it's a good idea to mention / link related stuff here - Threads:
Stereo -> Binaural using impulse responses, Hear yourself!
Frequency response of equipment - Some questions, related to stereo -> binaural conversion.
________________________________________

knik, nice effect. For me it moves singer's voice somewhat in front when allone, but if other instruments are playing as well, the effect seems to be gone (tested with india.arie - accoustic soul). Strange.
knik
QUOTE(tigre @ Dec 18 2003, 03:22 PM)
knik, nice effect. For me it moves singer's voice somewhat in front when allone, but if other instruments are playing as well, the effect seems to be gone (tested with india.arie - accoustic soul). Strange.

Anyway, it's nice to see positive comments.
knik
The configuration handling turned out to be more difficult than the dsp itself but finally I've done it and also improved the dsp a little.
Now you should be able to make it pretty overreverbed. Enjoy.
Canar
QUOTE(ScorLibran @ Nov 28 2003, 11:21 PM)
I also use a third plugin specifically for headphone listening, but it doesn't have anything to do with the effect you're asking about.  It's Shibatch Super EQ (v0.03).  It's a nice, PCM-based cut-only equalizer that will not itself introduce clipping as boost EQ's can (as long as you don't use positive parametric gain with it).

I thought I remember reading somewhere here that even decreasing a certain frequency can lead to clipping in some cases. I forget where I read this. Anyone know which of us is correct?
tigre
QUOTE(Canar @ Dec 28 2003, 02:21 AM)
QUOTE(ScorLibran @ Nov 28 2003, 11:21 PM)
I also use a third plugin specifically for headphone listening, but it doesn't have anything to do with the effect you're asking about.  It's Shibatch Super EQ (v0.03).  It's a nice, PCM-based cut-only equalizer that will not itself introduce clipping as boost EQ's can (as long as you don't use positive parametric gain with it).

I thought I remember reading somewhere here that even decreasing a certain frequency can lead to clipping in some cases. I forget where I read this. Anyone know which of us is correct?

You are right. Anyone who wants a proof try this:

_______________________________________________

MUTE OUTPUT IN WINDOWS MIXER AND/OR TURN YOUR SPEAKERS OFF FOR PLAYBACK TO AVOID DAMAGE OF EQUIPMENT
_______________________________________________

Generate some seconds of noise (16bit resolution) with e.g. CoolEditPro. -> Amplify by 100dB (Result all sample values are +/- 32767) -> Amplify by -0.1dB -> save result to .wav

Play back with foobar2000 watching console output. If you enable equalizer you'll get clipping reported if you lower any eq slider.
MugFunky
yes, but thankfully random square-waves are one of the very few cases where this happens.

try the same with triangles... or sawtooth waves (well, this might give some clipping)

[edit]

back on topic... who's tried using foobar's convolver for this sort of thing? i find it very very useful to get your reverb settings just so in cooledit, then apply it to an impulse response and that in foobar.

it's also very good for filtering out TV pilot tones on the fly when listening to recordings that have this... you notch filter a dirac pulse (that's what they're called, yah?) and use this in foobar.
Mr_Rabid_Teddybear
@ScorLibran:
I've been using 4front headphones (on foobar2000) for a while, and after reading this I adopted your setup of crossfeed > 4front headphones and it seems to be working great. Personally I use 18% "virtual room", though, finding the reverb effect a little to recognizable with higher settings... But to get to the point:
Is it possible that you could save your "headphones" settings for Shibatch Super EQ in foobar preset files (*.feq) an upload them...? It would have been interesting to have a look at them. smile.gif
SebastianG
QUOTE(MugFunky @ Jan 4 2004, 11:04 AM)
back on topic... who's tried using foobar's convolver for this sort of thing?  i find it very very useful to get your reverb settings just so in cooledit, then apply it to an impulse response and that in foobar.

it's also very good for filtering out TV pilot tones on the fly when listening to recordings that have this... you notch filter a dirac pulse (that's what they're called, yah?) and use this in foobar.


Yup! All the things that have been mentioned above could be done in ONE step by convolving. Unfortunately the Convolver plugin does not support crossfeeding (AFAIK). A crossfeed-mode could be added for stereo impulse responses.

newLeft = filter1(oldLeft) + filter2(oldRight);
newRight = filter1(oldRight) + filter2(oldLeft);

where the impulse response file contains the responses for filter1 and filter2.

I pretty much like that idea wink.gif

bye,
Sebastian
tigre
What SebastianG suggests is what foo_hrtf does. It's somewhat limited (IRs must be 44.1 kHz/24bit/stereo .wav files containing 512 samples) and unstable (full set of IRs must be in C:\HRTF dir together with a file containing a list of IR filenames otherwise it doesn't work and crashs fb2k; input must be 44.1kHz, so using resampler additionally might be necessary etc.)

Anyway, once it works, it does what it should do properly.
tboehrer
In theory, which should give a better result, the hardware based method used by Headroom, or a digital one by various software DSP's? Or does it make any practical difference?
ScorLibran
QUOTE(Mr_Rabid_Teddybear @ Feb 10 2004, 11:00 AM)
Is it possible that you could save your "headphones" settings for Shibatch Super EQ  in foobar preset files (*.feq) an upload them...? It would have been interesting to have a look at them.  smile.gif

Sorry I missed this when it was originally posted.

I can do this when I get home from work this evening. I'll have to figure out how to import my ShiBatch EQ config into foobar, then save it as a foobar preset file. I'll get this uploaded as soon as it's done.
tigre
QUOTE(tboehrer @ Apr 1 2004, 05:30 PM)
In theory, which should give a better result, the hardware based method used by Headroom, or a digital one by various software DSP's?  Or does it make any practical difference?

In theory, almost everything that can be done in hardware (analog) can be simulated by DSP software "good enough" with reasonable (processing) effort. The other way round this isn't possible obviously. Based on this, digital processing (by software) should have the potential to outperform (analog) hardware solutions.
Anyway, in the end this is a matter of religion, like vinyl vs. CD, especially because there's no way to measure (at least generally) which result is better. It's all about what sounds better to the person (with unique head/ear shape and immagination) who is comparing.
SometimesWarrior
QUOTE(SebastianG @ Apr 1 2004, 05:48 AM)
Yup! All the things that have been mentioned above could be done in ONE step by convolving. Unfortunately the Convolver plugin does not support crossfeeding (AFAIK). A crossfeed-mode could be added for stereo impulse responses.

newLeft = filter1(oldLeft) + filter2(oldRight);
newRight = filter1(oldRight) + filter2(oldLeft);

where the impulse response file contains the responses for filter1 and filter2.

This would be wonderful. I use a stereo reverb & early-reflections modeler, Waves TrueVerb, with Winamp, along with Trelane's Crossfeed plugin. I tried using foo_convolver to capture the output of my plugin chain, and it kinda worked, but on songs with hard-panned instruments such as "Taxman", the lack of stereo convolution is a real detriment to the effect. The TrueVerb, in combination with the Crossfeed, really opens up the sound on headphones, without sounding as over-processed and metallic as Dolby Headphone. If anyone would like to hear, just reply or PM me and I'll gladly post some example clips.

It doesn't look like Garf's made the foo_convolver source available. I'm not much of a programmer, but I would take a crack at implementing stereo convolution if I had the opportunity.
ScorLibran
Mr_Rabid_Teddybear:

I haven't have time to figure out how to convert my Shibatch SuperEQ preset files from Winamp (*.eq files) to foobar (*.feq files), and I definitely haven't had the time to manually match the settings in SuperEQ for foobar, so I've just zipped my *.eq files and uploaded them here. I hope this isn't to much trouble for you to open them in WA and check them out.

There are three preset files in the zip archive...one each for my three most-often used headphones: Sennheiser HD-590, Sennheiser MX-500 and Sony MDR-ED228. I haven't created one for my Grado SR-80's, as I hardly ever use them.

I know some of the frequency adjustments are steep, but part of this is to accommodate the lack of low-frequency volume with headphones, and also to adjust for the "dynamic" nature of the HD-590s.

(P.S...I almost PMed this info to you, but realized this may be of value to anyone else interested in using mine as baseline EQ presets for headphone listening.)
Mr_Rabid_Teddybear
@ScorLibran:

Thanks a ton! smile.gif

(BTW: When I first posted this I didn't realize you're a Winamp, not fb2k user.... it was not my intention to put a load of extra work on your shoulders.....)

Since I won't be back home for a couple of days it will be some time before I can have a look at them, though....

@everybody:

I actually have only one pair of headphones; Beyerdynamic DT 911. Any thoughts/ideas/opinions on those, anyone?
High Fidelity
I'm wondering if there is a practical way to involve the effect into "mass encoding" to any file format of choice like ogg, or mp3, once you have found the settings that gives you the best result for you equipment and personal taste.
That way one could use that special version of the music collection for use on portables like ipod, iriver or whatever.
kiit
Interesting chart about equalization I found at;
HeadWize - The Art of Monitoring and Mixing with Headphones.
Labeled: Engineering A Realistic Acoustic Environment In Headphones

Which I duplicated into the foobar2000 equalizer, settings being;
8
5
3
2
1
0
0
1
2
3
5
7
5
3
2
3
5
6
(which is what is in the *.feq file)

Though it does sound odd to me, too much treble. I did play around with lowering the peaks but I still do not use the equalizer normally. I have motherboard sound with some C-Media headphone DSP built in that I played with some too. Some music it sounds good with. Silly thing wants everything at 48kHz.
tigre
QUOTE(High Fidelity @ Apr 17 2004, 02:44 AM)
I'm wondering if there is a practical way to involve the effect into "mass encoding" to any file format of choice like ogg, or mp3, once you have found the settings that gives you the best result for you equipment and personal taste.
That way one could use that special version of the music collection for use on portables like ipod, iriver or whatever.

Sure. Rip to .wav + .cue, load the .cue to foobar2000 and use it for grabbing data from freedB, enable DSPs you need (and make sure that you check "Use DSPs" in diskwriter settings) and encode to your format of choice.
SebastianG
QUOTE(High Fidelity @ Apr 16 2004, 04:44 PM)
I'm wondering if there is a practical way to involve the effect into "mass encoding" to any file format of choice like ogg, or mp3, once you have found the settings that gives you the best result for you equipment and personal taste.
That way one could use that special version of the music collection for use on portables like ipod, iriver or whatever.


There's no need to do so for the iRiver devices. Well, at least if you like this "SRS" / "TruBass" processing it can do. It's been designed for listening with headphones.

I've an H120 and turned TruBass+SRS on with my personal parameter settings.
But it does not sound so well in case of Intensity Stereo coded MP3s/oggs if you drive the first SRS parameter too high.
Anyway this kind of processing should be done online if possible. not before encoding IMHO.

bye
SebastianG
High Fidelity
Thanks Tigre, thanks Sebastian.

QUOTE
There's no need to do so for the iRiver devices. Well, at least if you like this "SRS" / "TruBass" processing it can do.


Currently I still have a CD based mp3 portable, without TruBass+SRS options or something similar (although I'm thinking of purchasing a h140). So encoding the effect could be solution for my current equipment.


QUOTE
Anyway this kind of processing should be done online if possible. not before encoding IMHO.


OK, I agree that processing your "untouched / original" music files stay more flexible for the exchange of equipment and for other listeners, but I am usually the only one who uses my portable with my in-ear buds. Also encoding another mp3 version for the portable from my flac files is not the point (lame became quite fast recently smile.gif ).
As far as I understand, working with the correct HRTF data would be something taylormade...
Did you try and compare both versions? Does irivers solution outperforms a "hard encoded" in front effect ? - What sounds better to you?

To be honest, I'm currently not sure if I really want to get the "sound out of my head" biggrin.gif , but I like to play with that option, listen and decide then (Tigre made me curious with a post on "AudioHQ" and I followed several posts until I came to that thread here - thanks tigre).
One more question: does the quality of the effect depend on the input material, i.E. classical, jazz, hard rock, ... or the stereo quality of the source?
What I mean is, can the effect become different or unpleasant with different source files, or is it always a simulation of the same listening place in front of a fixed pair of speakers in the same room.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.