Commit graph

940 commits

Author SHA1 Message Date
Ken Cooke
69863dd735 Fix the crash in Debug builds, caused by undeclared metatype for AudioInjector* 2017-03-30 08:52:04 -07:00
Zach Pomerantz
f43706dfe1 clean AudioNoiseGate 2017-03-15 00:14:55 +00:00
Zach Pomerantz
0abcda86a8 mv AudioNoiseGate to audio 2017-03-15 00:14:55 +00:00
Brad Hefta-Gaub
bdab24d9bf fix spelling 2017-03-09 08:25:56 -08:00
Brad Hefta-Gaub
79d8d90581 CR feedback 2017-03-08 20:35:24 -08:00
Brad Hefta-Gaub
2d595c1f87 CR feedback 2017-03-08 20:29:32 -08:00
Brad Hefta-Gaub
1bdad89cbe properly handle silent packet transitions 2017-03-08 17:27:46 -08:00
Thijs Wenker
13b2b6086f Fix recorder.js playback in interface 2017-02-21 19:47:26 +01:00
Zach Pomerantz
ff56eb24c8 Merge pull request #9537 from zzmp/audio/throttle-filter
Add injector/avatar attenuation to audio-mixer throttling
2017-02-07 20:57:43 +01:00
Ken Cooke
63c2aa1dfc Remove obsoleted code 2017-02-06 12:55:03 -08:00
Ken Cooke
a77e4262e3 Remove obsoleted code 2017-02-06 12:47:28 -08:00
Ken Cooke
49605d52e0 Remove debug code 2017-02-06 10:42:32 -08:00
Ken Cooke
8033f932a6 Simulate 1% random packet-loss, for debug/test 2017-02-06 10:16:25 -08:00
Ken Cooke
4acb99cd4f Use interpolated audio (codec packet-loss concealment) or zero samples (if no codec) when audio packets are lost. This audio is still processed by the audio pipeline to avoid clicks/pops. 2017-02-06 09:29:39 -08:00
Zach Pomerantz
1f56814714 Merge branch 'master' of https://github.com/highfidelity/hifi into audio/throttle-filter 2017-01-31 19:35:27 +00:00
Zach Pomerantz
24ca765a39 add hrtf gain getter 2017-01-27 14:36:59 -05:00
Zach Pomerantz
1c5228cb6d fix AudioRingBuffer::appendData 2017-01-26 19:16:02 -05:00
Zach Pomerantz
3d526a1024 Merge branch 'master' of github.com:highfidelity/hifi into audio/threaded-local 2017-01-26 18:56:58 -05:00
Atlante45
f540c94113 Merge branch 'master' of https://github.com/highfidelity/hifi into ess-pr 2017-01-25 13:06:49 -08:00
Atlante45
3f8b2f9cbb Fix invalid volume values in injector options 2017-01-23 11:49:07 -08:00
Zach Pomerantz
061668cba4 use lock-free pipe for local audio in device callback 2017-01-22 00:25:08 -05:00
Zach Pomerantz
bb247fe8a3 rename AudioMixRingBuffer 2017-01-20 14:48:54 -05:00
Zach Pomerantz
75281099bd add conformant explicit instantiation for AudioRingBuffers 2017-01-20 14:33:54 -05:00
Stephen Birarda
1b778a3ee0 fail quietly if local injection cannot happen 2017-01-20 10:42:07 -08:00
Zach Pomerantz
02e62938a4 add AudioRingMixBuffer 2017-01-20 12:29:44 -05:00
Zach Pomerantz
95a7b38ea4 templatize AudioRingBuffer 2017-01-20 12:29:44 -05:00
Zach Fox
b0b6aeac6c Ken's feedback 2017-01-13 13:00:03 -08:00
Ken Cooke
083c7bc523 Add a local HRTF gain adjustment. Gain adjustments are persistent and properly interpolated. 2017-01-11 10:05:39 -08:00
Ken Cooke
afacb59999 Use logarithmic quantization of injector "volume" over the wire.
Allow gains > 1.0 (up to +30dB)
Better quantization at low levels (uniform steps in dB)
2017-01-04 15:38:26 -08:00
Ken Cooke
a42ac89a6d Faster HRTF
New AVX2 implementation of FIR_1x4() achieves 24 FLOPS per clock on HSW/BDW/SKL
Removed old AVX implementation
32-byte alignment of SIMD buffers and tables
Fixed the poorly optimized code produced by GCC -O2
2016-12-30 13:47:31 -08:00
Andrew Meadows
b56a15b60a Merge pull request #9273 from kencooke/audio-ambisonic-src2
Improved audio resampler
2016-12-27 17:07:56 -08:00
Ken Cooke
a2ea6bf36e Improved audio resampler
Added LQ mode (2x faster).
Added HQ mode (2x slower), intended for offline resampling.
Default (MQ) quality is slightly improved (512 filter phases in irrational mode).
2016-12-24 11:10:35 -08:00
Ken Cooke
fc2c2a1906 fix compiler warnings 2016-12-24 10:06:30 -08:00
Ken Cooke
f5d52c3d3b 64-bit code optimizations
Use size_t for inner-loop array indexing, to avoid extraneous MOVSXD instructions when compiled with MSVC x64.
2016-12-24 09:00:23 -08:00
Ken Cooke
b878051cd9 Ambisonic limiter, with gain linking between all channels to preserve imaging 2016-12-24 08:42:56 -08:00
Brad Hefta-Gaub
dbbed462b4 cleanup naked qDebug() calls 2016-12-19 22:24:25 -08:00
David Kelly
b68a07e930 Merge pull request #9197 from davidkelly/dk/injectorVolume
No longer applying volume when reading audio injector buffer
2016-12-16 15:11:33 -08:00
Ken Cooke
b4994a3d89 Ambisonic resampler, optimized using AVX2.
int16_t and float versions.
Removed unused SSE2 version.
Removed unused getExactInput().
Refactored to remove nested #ifdefs.
2016-12-14 15:18:41 -08:00
David Kelly
a8157ae2cd Typo, plus some CR feedback 2016-12-13 17:48:30 -08:00
David Kelly
d6b99ce57e Removed volume from AudioInjectorLocalBuffer
Since it doesn't use it.  Now clamping at 0-1 in the
AudioInjector::getVolume() call.  This is better -- one spot so it now
always gets clamped.
2016-12-13 17:34:56 -08:00
Zach Fox
44c6eb303b Fix the bug 2016-12-13 12:46:31 -08:00
Clément Brisset
050c0fe14a Merge pull request #9188 from kencooke/audio-wav-parser
Fix and improve the WAV file loader
2016-12-12 17:51:20 -08:00
Zach Fox
7030c7b0a6 Space bubble improvements (#9142)
* The space bubble around a player's avatar is now visualized. When another avatar enters a player's bubble, The bubble visualization will appear, a soft tone will play, and the "Bubble" HUD button will flash.
* The space bubble radius setting has been removed. Space bubble size now scales based on avatar scale.
* Space bubble collision detection is now more accurate and reliable.
* CTRL + N toggles the bubble.
* The "Bubble" HUD button has been moved to the proper location.
2016-12-12 14:22:54 -08:00
David Kelly
3f3d922eca No longer applying volume when reading audio injector buffer
Since we also apply the gain in HRTF (on both server and client), the
mono sources sort of had volume^2 applied to them.
2016-12-12 12:01:02 -08:00
Ken Cooke
e4b5c14ea3 PR feedback 2016-12-07 10:15:55 -08:00
Ken Cooke
0f10975a59 Robust WAV parser.
Skips extraneous chunks, handles WAVE_FORMAT_EXTENSIBLE, supports arbitrary sample rates.
2016-12-07 08:44:10 -08:00
Ken Cooke
975cbd8e44 Replace test renderer with spatialized binaural renderer 2016-12-06 10:12:36 -08:00
Ken Cooke
e93e1a7c4f Preliminary support for Ambisonic audio injectors.
Supports 4-channel WAV files, presumed to be B-format (FuMa) first-order Ambisonic.
Supports WAV with arbitrary sample rate (needs optimization).
Supports soundfield volume and orientation set via script.
Supports localOnly client-side injection using simple (non-spatialized) test renderer.
2016-12-02 18:20:57 -08:00
Ken Cooke
452f081366 Add support for WAV assets with arbitrary sample rate, not just 48khz. Fast path when already 24khz. 2016-11-30 14:56:11 -08:00
Ken Cooke
7ad384d731 reformat to meet Coding Standard, more explicit license 2016-11-30 10:44:27 -08:00