Bug 192422

Summary: BiquadFilterNode.getFrequencyReponse gives all 1's
Product: WebKit Reporter: ae
Component: Web AudioAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: jer.noble, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 12   
Hardware: iPhone / iPad   
OS: iOS 12   
Attachments:
Description Flags
Frequency response as returned by WebKit / iOS
none
Frequency response as returned on Chrome (exactly same code / setup) none

Description ae 2018-12-05 12:19:29 PST
getFrequencyResponse doesn't seem to be working. No matter what I do, the frequency response array is filled with all 1s (obviously, I'm using non-flat filter settings). Chrome working correctly (fills in the actual frequency response).
Comment 1 ae 2018-12-05 12:24:15 PST
Created attachment 356639 [details]
Frequency response as returned by WebKit / iOS
Comment 2 ae 2018-12-05 12:24:55 PST
Created attachment 356640 [details]
Frequency response as returned on Chrome (exactly same code / setup)
Comment 3 ae 2018-12-05 12:27:03 PST
(the screenshots show a white noise source running through the "Spectral EQ" insert FX, which shows a spectrum analyser (AnalyserNode) and applies a single EQ with some gain and center frequency at 1500 Hz. The AnalyserNode is after the EQ. In Chrome, the frequency response curve (blue) as returned by FilterNode.getFrequencyResponse exactly corresponds to the observed spectrum. In WebKit, it is just flat (all 1s)).
Comment 4 ae 2018-12-06 04:09:57 PST
The EQ is a BiquadFilterNode of type 'peaking', frequency 1500, gain 20, and Q 1. Calling getFrequencyResponse on this filter gives a flat (all 1) response. Also, the phase response is all 0 (wrong too).
Comment 5 Radar WebKit Bug Importer 2018-12-06 10:07:56 PST
<rdar://problem/46526644>