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