Convolution processing

Submit your proposals and ideas here.
Post Reply
Joe Bloggs
Posts: 12
Joined: Fri Dec 30, 2011 11:13 am

Convolution processing

Post by Joe Bloggs » Sun Aug 23, 2015 2:13 pm

With parametric equalization Neutron is catering to the audio processing savvy audience for music players. Here's another feature that this audience is looking for: convolution.

Implementation-wise it's dead simple, just an FIR filter with its kernel open to selection by the user by loading an impulse response file (usually simply a short standard .wav file). But such a simple option opens endless opportunities to the end user, basically the ability to specify almost any kind of audio processing they desire by a simple configuration file (the .wav file).

One application for such a capability would be to implement correction filters for headphones, such as the ones available here
http://forum.xda-developers.com/showthr ... ?t=2372750
(where IRS stands for "Impulse Response Sample" and have the same format as .wav files)

edit: I just realize that I've posted about this a few years before and the response was that it would make the program too complex. I've thought about this and I think one solution would be to make it a hidden / Easter Egg feature, e.g. there could be no UI for the feature but the program could look for a specific convolve.wav file in some specified directory during startup and activate convolution only if such a file is found :)

In the meantime, Viper4Android had proven that convolution can be driven by many current ARM devices now :) Even some quite long samples (>1s) are being loaded and run by users :D

bgtip
Posts: 11
Joined: Thu Mar 15, 2012 8:01 am

Re: Convolution processing

Post by bgtip » Thu Sep 10, 2015 1:28 pm

I use Viper4Android with DTS+ IRS and Neutron. This combo is marvelous. So why don't you?

korrika2010
Posts: 3
Joined: Wed Jan 27, 2021 6:27 pm

Convolution processing

Post by korrika2010 » Fri Feb 19, 2021 7:47 pm

Hello,

I am a new user of Neutron Player and I like it quite a lot.
I would like to have a full-stereo convolver in Neutron. It could be used for many things, but above all I would like it to improve the sound when using headphones.
I have tried the stereo-convolver in foobar2000 it works much better than BS2B crossfeed.

https://www.head-fi.org/threads/natural ... 837/page-2

As explained in the previous link, the process would be like this one:
Get HRTF's:
http://recherche.ircam.fr/equipes/salle ... ounds.html
- try which one works best for you(remember the number)
http://recherche.ircam.fr/equipes/salle ... nload.html
- download and extract whichever worked best for you
for 30° speaker angle:
- load "IRC_1003\COMPENSATED\WAV\IRC_1003_C\IRC_1003_C_R0195_T030_P000.wav" for left channel in stereo convolver
- load "IRC_1003\COMPENSATED\WAV\IRC_1003_C\IRC_1003_C_R0195_T330_P000.wav" for right channel in stereo convolver

The source code for the stereo convolver can be downloaded here: https://hydrogenaud.io/index.php?topic=90662.0
Another source could be this one: https://github.com/james34602/JamesDSPManager

I would like the developers to keep this request for a future feature in Neutron.
Thank you!

blaubär
Posts: 1915
Joined: Tue Apr 02, 2019 6:48 am

Re: Convolution processing

Post by blaubär » Mon Feb 22, 2021 12:00 pm

korrika2010 wrote:
Fri Feb 19, 2021 7:47 pm
I have tried the stereo-convolver in foobar2000 it works much better than BS2B crossfeed.
Could you elaborate what you mean by "works better" ? You seem to compare the two with regard to the use case where one listens with headphones to music not produced for headphones. Does it achieve the same objectives, but with less error and/or less calculation ? Or does it have other objectives which you think are more suitable for this use case ?

korrika2010
Posts: 3
Joined: Wed Jan 27, 2021 6:27 pm

Re: Convolution processing

Post by korrika2010 » Mon Feb 22, 2021 1:54 pm

blaubär wrote:
Mon Feb 22, 2021 12:00 pm
korrika2010 wrote:
Fri Feb 19, 2021 7:47 pm
I have tried the stereo-convolver in foobar2000 it works much better than BS2B crossfeed.
Could you elaborate what you mean by "works better" ? You seem to compare the two with regard to the use case where one listens with headphones to music not produced for headphones. Does it achieve the same objectives, but with less error and/or less calculation ? Or does it have other objectives which you think are more suitable for this use case ?
I'll try, but english it is not my first language. Both methods try to obtain loudspeaker-like sound with headphones. BS2B crossfeed does it in a more simplistic way with more emphasis in the lower frequencies, because higher ones are more dependent on individual head and ears.
The other method uses head related measurements of real subjects and achieves a better localization of the sound, and a better loudspeaker-like sensation (at least for me). It requires more computations. If you find a subject in the IRCAM database ( http://recherche.ircam.fr/equipes/salle ... ounds.html ) with similar head-ear model to yours, the effect improves (In my case: subject 1045).
I find bs2b crossfeed OK for less fatiguing headphone experience, but I prefer the sound of the other method. It's something subjective. Both of them should not be used simultaneously.

If you want to give it a try, you can try it for free in windows (with foobar): https://audiophilestyle.com/forums/topi ... oobar2000/

I would like to have that experience in android too, so I request this option in neutron.

blaubär
Posts: 1915
Joined: Tue Apr 02, 2019 6:48 am

Re: Convolution processing

Post by blaubär » Mon Feb 22, 2021 2:43 pm

korrika2010 wrote:
Mon Feb 22, 2021 1:54 pm
Both methods try to obtain loudspeaker-like sound with headphones. BS2B crossfeed does it in a more simplistic way with more emphasis in the lower frequencies, because higher ones are more dependent on individual head and ears.
The other method uses head related measurements of real subjects and achieves a better localization of the sound, and a better loudspeaker-like sensation (at least for me). It requires more computations. If you find a subject in the IRCAM database ( http://recherche.ircam.fr/equipes/salle ... ounds.html ) with similar head-ear model to yours, the effect improves (In my case: subject 1045).
Thanks a lot ! So convolution would offer two things :
  • a general user-customizable data-transformation-engine, and as a special case
  • an alternative crossfeed which would
    • be customizable as to head-ear-models
    • use more ressources
    • promise better quality
Sounds good !

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests