Recording Impulse Responses for Speaker Virtualization

Jan 15, 2020 at 12:07 PM Post #241 of 2,028
@lowdown: I have a feeling you don't understand what musicreo is saying. Normally impulcifer uses your headphone measurement to insert the headphone equalisation (or compensation) in the resulting hesuvi.wav file. So when using it with the HeSuVi software you don't use additional headphone compensation (because then you would compensate double).
When you run python impulcifer.py you can use the option --no_headphone_compensation and then no headphone compensation is inserted in the resulting hesuvi.wav, then your headphone measurements are not used at all.

You're right, I don't understand all the options or how the pieces of this sonic puzzle fit together. It's taken me a while to even figure out how to connect the HW correctly. :) I very much appreciate you taking the time to clarify. I haven't tried the no_headphone_compensation option. Would that be useful in figuring out why I get good results from such a flawed measurement? (edit) It's not clear to me what a "no headphone measurement" hesuvi.wav file would reflect, and how it would be used. Sorry for the noob questions.
 
Last edited:
Jan 15, 2020 at 1:29 PM Post #242 of 2,028
It's not clear to me what a "no headphone measurement" hesuvi.wav file would reflect, and how it would be used.
Ha ha, actually I don't know exactly why @musicreo asked. You could use it in HeSuVi either without any headphone compensation or with one of the standard headphone compensation files (if there is one for your headphones). (I don't remember now if you have to download those seperately somewhere...)
If you use it without any headphone compensation then as a net result the frequency response of your headphones (on your head) is "added" to (applied as an extra filtering on...) the frequency response of the virtual speakers plus room.
 
Last edited:
Jan 15, 2020 at 2:01 PM Post #243 of 2,028
I asked because I'm not sure if the strange headphone measurement really have an impact on the result. A check if the raw measurement with channel balance correction already sounds very similar would answer the question.
 
Jan 15, 2020 at 2:45 PM Post #244 of 2,028
I asked because I'm not sure if the strange headphone measurement really have an impact on the result. A check if the raw measurement with channel balance correction already sounds very similar would answer the question.

Interesting. I don't understand your rationale, but I just tried re-running my command line with --no_headphone_compensation and it does sound just like my previous best version. I didn't use a channel balance option before so left it out this time as well. I did try channel balance previously but got better results without it. So, what does that tell us? That strange flat fuzzy headphone response was doing nothing, and I really prefer the sound with no headphone/ear compensation? Am I really only thinking it's so great because it's much better than the results from that other measurement with the big dip in it? Am I so used to the sound of my headphones, that as long as I'm getting that and the illusion of speaker localization it sounds "right"? Seems like now that I've figured out how to get a proper headphone measurement I've got some experimenting to do. Thanks for any clarification and advice.
 
Jan 15, 2020 at 3:11 PM Post #245 of 2,028
I did try channel balance previously but got better results without it.
Can you show us the "Results" plot. For me the channel balance option so far never made things worse.

So, what does that tell us? That strange flat fuzzy headphone response was doing nothing, and I really prefer the sound with no headphone/ear compensation?
Yes! I already thought yesterday that the measurement have so many ups and downs that in sum it will do only minor changes.
 
Jan 15, 2020 at 3:27 PM Post #246 of 2,028
Can you show us the "Results" plot. For me the channel balance option so far never made things worse.


Yes! I already thought yesterday that the measurement have so many ups and downs that in sum it will do only minor changes.

Sure, here's the Results plot:

https://i.imgur.com/FXZKmDG.png

I did have the thought yesterday that if just a basically flat headphone plot gave such good results why not skip that measurement and stick in a flat line. :) I didn't take it the next step like you did. For me using the channel balance option messed up the imaging, so I dropped it. I thought i had read a post by Jaakkco saying the results could be mixed and it wasn't always best, which fit my result.

So, worst case I have something I really like, and best case I can now start doing real measurements and perhaps improve on it. Thanks for helping me sort through it.
 
Last edited:
Jan 16, 2020 at 4:07 AM Post #247 of 2,028
For me the plot looks good but still your right speaker is louder in the range up to 800Hz. On headphones you should normally hear this difference. I would guess that the soundstage is not perfectly centered and shifted to the right side.
Can you show us also the same plot but using the channel balance trend option?
 
Jan 16, 2020 at 10:01 AM Post #248 of 2,028
For me the plot looks good but still your right speaker is louder in the range up to 800Hz. On headphones you should normally hear this difference. I would guess that the soundstage is not perfectly centered and shifted to the right side.
Can you show us also the same plot but using the channel balance trend option?

Sorry, I wish I could, but I've inadvertently overwritten some files and now can't recreate that specific plot. I had been using the trend option but as I mentioned I noticed some anomalies in imaging. That flat headphone graph looked like the L/R balance was overall so close that I tried a run without channel_balance and liked it better on the test tracks I used. Now that I've figured out how to set up the recording correctly and am getting normal plots I'm focusing on tweaking the options for those runs. There is a noticeable balance issue in the uncorrected recording. Previously I had only tried the trend option, or no balance option, but with these new recordings I've found that using "right" is working best.

The headphone plot:

https://i.imgur.com/S2hNEKm.png

Results with channel_balance=right, which so far is giving very good imaging results.

https://i.imgur.com/qLpa8Os.png

I'm working on tweaking the room_target to get some eq adjustments, but I'm very encouraged that the final results will be even better than what I was so happy with before.

I really appreciate everyone's help, and so kindly putting up with my stumbling learning curve.
 
Last edited:
Jan 17, 2020 at 6:03 AM Post #249 of 2,028
Jaakko - can you please confirm I'm doing the headphone transform correctly? I decided to use my Sony WH-XM3's (over ears) for Impulcifer use - but I don't want to re-record my nearfield measurement because of the hassle. So just like Transform works with IEM's - it should work with over ears. Obviously not as ideal as areal headphone comp but good to save time.

Is this the correct command? I'm trying to use oratory's measurements because the XM3's are actually mine he measured. I'm just always confused at which compensation curve and sound signature to use - guidance here would be good in the wiki. I.e. which curve for rtings, oratory, cinnacle etc.

Code:
python frequency_response.py --input_dir="oratory1990\data\onear\Sony WH-1000XM3" --output_dir="my_results/Bose 700 (WH-1000XM3)" --compensation="compensation/harman_over-ear_2018_wo_bass.csv" --sound_signature="results\oratory1990\harman_over-ear_2018\Bose Headphone 700\Bose Headphone 700.csv" --equalize --parametric_eq --max_filters=5+5 --ten_band_eq --bass_boost=4[/quote]
 
Jan 19, 2020 at 8:23 AM Post #250 of 2,028
I implemented an experimental script for managing reverberation time. The script can be found in research/reverberation-management folder. This script crops reverberant tails of the impulse responses with a Hanning window (in dB scale). I would appreciate everyone trying it out and giving me feedback. If it works without problems, I'll add it to Impulcifer proper. I will try to do this with tracking filter as well because that should make it possible to adjust reverberation times separately for each frequency.

Reducing reverberation of FC channel in my demo recording to 300 ms removes the bass ringing / bleed / cross talk problem. So I guess the problem really is with low frequency ringing artifacts.

Jaakko - can you please confirm I'm doing the headphone transform correctly? I decided to use my Sony WH-XM3's (over ears) for Impulcifer use - but I don't want to re-record my nearfield measurement because of the hassle. So just like Transform works with IEM's - it should work with over ears. Obviously not as ideal as areal headphone comp but good to save time.

Is this the correct command? I'm trying to use oratory's measurements because the XM3's are actually mine he measured. I'm just always confused at which compensation curve and sound signature to use - guidance here would be good in the wiki. I.e. which curve for rtings, oratory, cinnacle etc.

Code:
python frequency_response.py --input_dir="oratory1990\data\onear\Sony WH-1000XM3" --output_dir="my_results/Bose 700 (WH-1000XM3)" --compensation="compensation/harman_over-ear_2018_wo_bass.csv" --sound_signature="results\oratory1990\harman_over-ear_2018\Bose Headphone 700\Bose Headphone 700.csv" --equalize --parametric_eq --max_filters=5+5 --ten_band_eq --bass_boost=4
That command would make XM3 sound like Bose 700. This is correct if you made the headphone compensation recording with Bose 700 and want to listen to virtual speakers with XM3. I added more instructions about this headphone transfer: https://github.com/jaakkopasanen/Impulcifer#headphone-compensation
 
Jan 19, 2020 at 10:31 AM Post #251 of 2,028
Just tried it - it works! No more channel bleed at all - even with the worst offender I had. It also has the benefit of improving clarity without messing around with nearfield recordings.

I've only done a quick test but previously my nearfield recording sounded very good but it was very obvious the sound was coming out close to me. Now I can trim the reverb time on my 1.5-2m recordings to improve clarity but without having the speakers be so close to me. I've literally spent about 5 mins with this though - I'll do some critical listening and watch a few TV shows tomorrow and report back more.

Thanks for the clarification in the wiki - all makes sense now.

Edit: More testing with stereo recorded speech off YouTube - the virtual center with the cropping is so much more accurate - much more like a real surround recording with a center channel there. Without the crop the center channel is less pin point. All this is pretty amazing for movies.

For music I can see where a selectable frequency reverb control would be beneficial. You could then get rid of the bass bleed and leave the pleasing reverb alone.

I'll do some more outputs with lower reverb times and see what I like.
 
Last edited:
Jan 19, 2020 at 2:41 PM Post #252 of 2,028
I'm only using stereo for music at this point so doubt my observation is very helpful. I only tried 300 to see what effect it would have and it moves vocals more inside my head, but didn't cause any other "harm". Nice feature to have it configurable. Can't comment on the bass bleed.

One apparent typo, the example shows a --times option, which throws an error, instead of --reverb.
 
Jan 20, 2020 at 3:24 AM Post #255 of 2,028
Ok, I found it. I will test it in the evening.

Edit: It works. Tested from 100 to 800ms. To small settings start to sound more in the head. So I would not go under 300ms and in the moment I prefer 500-800ms where the changes are very small.
 
Last edited:

Users who are viewing this thread

Back
Top