HydrogenAudio

Hydrogenaudio Forum => Scientific Discussion => Topic started by: eshylay on 2003-11-27 21:16:14

Title: Software Psychoacoustic processing?
Post by: eshylay on 2003-11-27 21:16:14
Sorry about the messed up topic description there. Was meant to read: 'RE: "natural" sounding headphones"... I accidentally hit Submit before I was ready

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 (http://headroom.headphone.com/layout.php?topicID=36&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
Title: Software Psychoacoustic processing?
Post by: picmixer on 2003-11-27 22:14:25
There is actually a crossfeed plugin available for Foobar2000 here (http://www.saunalahti.fi/~cse/foobar2000/).

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".
Title: Software Psychoacoustic processing?
Post by: tigre on 2003-11-27 22:20:06
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 (http://www.hydrogenaudio.org/forums/index.php?showtopic=7763&hl=headplug) and here (http://www.hydrogenaudio.org/forums/index.php?showtopic=9072&hl=headplug).
(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)...
Title: Software Psychoacoustic processing?
Post by: eshylay on 2003-11-28 06:51:42
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


eshylay
eshylay@hotmail.com
Title: Software Psychoacoustic processing?
Post by: ScorLibran on 2003-11-29 07:21:30
Hi.  I personally use two plugins with Winamp that give me the exact sound I want with headphones.

I use Naive Software's Crossfeed (http://www.naivesoftware.com/crossfeed.html) 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 (http://classic.winamp.com/plugins/detail.jhtml;$sessionid$NDJAE3A1GPHZZTN241GBCZY?componentId=133170), 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) (http://shibatch.sourceforge.net/download/superequ-0.03.zip).  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² (http://classic.winamp.com/plugins/detail.jhtml?componentId=775&componentFlag=P).  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.
Title: Software Psychoacoustic processing?
Post by: blessingx on 2003-11-29 09:06:07
For OS X users, there's the great Canz3D (http://www.midnightwalrus.com/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.
Title: Software Psychoacoustic processing?
Post by: knik on 2003-12-18 11:01:17
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.
Title: Software Psychoacoustic processing?
Post by: ScorLibran on 2003-12-18 11:34:39
Quote
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!
Title: Software Psychoacoustic processing?
Post by: tigre on 2003-12-18 13:22:02
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! (http://www.hydrogenaudio.org/forums/index.php?showtopic=16166&)
Frequency response of equipment - Some questions, related to stereo -> binaural conversion (http://www.hydrogenaudio.org/forums/index.php?showtopic=16568&).
________________________________________

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.
Title: Software Psychoacoustic processing?
Post by: knik on 2003-12-18 17:28:54
Quote
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.
Title: Software Psychoacoustic processing?
Post by: knik on 2003-12-27 10:22:21
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.
Title: Software Psychoacoustic processing?
Post by: ExUser on 2003-12-28 00:21:00
Quote
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) (http://shibatch.sourceforge.net/download/superequ-0.03.zip).  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?
Title: Software Psychoacoustic processing?
Post by: tigre on 2003-12-28 09:46:14
Quote
Quote
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) (http://shibatch.sourceforge.net/download/superequ-0.03.zip).  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.
Title: Software Psychoacoustic processing?
Post by: MugFunky on 2004-01-04 19:04:16
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.
Title: Software Psychoacoustic processing?
Post by: Mr_Rabid_Teddybear on 2004-02-10 16:00:11
@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. 
Title: Software Psychoacoustic processing?
Post by: SebastianG on 2004-04-01 14:48:05
Quote
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

bye,
Sebastian
Title: Software Psychoacoustic processing?
Post by: tigre on 2004-04-01 15:05:27
What SebastianG suggests is what foo_hrtf (http://uberfast.ece.ucsb.edu/~mgrund/hrtf/index.htm) 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.
Title: Software Psychoacoustic processing?
Post by: tboehrer on 2004-04-01 16:30:27
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?
Title: Software Psychoacoustic processing?
Post by: ScorLibran on 2004-04-01 16:32:44
Quote
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.  

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.
Title: Software Psychoacoustic processing?
Post by: tigre on 2004-04-01 17:44:59
Quote
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.
Title: Software Psychoacoustic processing?
Post by: SometimesWarrior on 2004-04-02 09:51:18
Quote
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.
Title: Software Psychoacoustic processing?
Post by: ScorLibran on 2004-04-03 03:47:27
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 (http://scorlibran.jaywebdesigns.com/eq_presets/SuperEQPresets.zip).  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.)
Title: Software Psychoacoustic processing?
Post by: Mr_Rabid_Teddybear on 2004-04-03 16:25:11
@ScorLibran:

Thanks a ton! 

(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?
Title: Software Psychoacoustic processing?
Post by: High Fidelity on 2004-04-17 01:44:35
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.
Title: Software Psychoacoustic processing?
Post by: kiit on 2004-04-17 05:41:00
Interesting chart about equalization I found at;
HeadWize - The Art of Monitoring and Mixing with Headphones. (http://headwize2.powerpill.org/articles/mixing_art.htm)
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.
Title: Software Psychoacoustic processing?
Post by: tigre on 2004-04-17 08:23:12
Quote
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.
Title: Software Psychoacoustic processing?
Post by: SebastianG on 2004-04-17 11:43:52
Quote
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
Title: Software Psychoacoustic processing?
Post by: High Fidelity on 2004-04-18 01:15:03
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  ).
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"  , 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.
SimplePortal 1.0.0 RC1 © 2008-2021