4
INTRODUCTION This report: A. Covers the design, implementation and testing of a stereo three band tone control with switchable loudness control. B. Looks at the execution of this as a MATLAB function ‘toneControl’ with the arguments (input, lowCutoffFrequency, highCutoffFrequency, toneLowValue, toneMidValue, toneHighValue, loudnessValue) C. Where: ● output (stereo, matrix with two columns) is the output signal ● input (stereo, matrix with two columns) is the input signal ● lowCutoffFrequency (scalar) is the highest frequency affected by the "low" tone control, and the lowest frequency affected by the "mid" tone control ● highCutoffFrequency (scalar) is the lowest frequency affected by the "high" tone control, and the highest frequency affected by the "mid" tone control ● toneLowValue, toneMidValue, toneHighValue, loudnessValue (scalars): these are the values of the "knobs" of the tone control. A value of 0 means "knob fully counterclockwise" (max attenuation), a value of 1 means "knob fully clockwise" (max boost), so that the central position (no boost/attenuation) of the knob corresponds to a value of 0.5. ● loudnessValue (scalar): whether the loudness emphasis should be on (1) or off (0) SPECIFICATIONS The main aim of the toneControl() is to allow users to personalise their listening experience in the same way as a traditional three-band tone control would on a HiFi system. Once achieved, a further aim is to include a switchable loudness control that compensates for discrepancies in human hearing.We know that three separate filters are required to replicate a conventional tone control and that these three filters will have an affect on the low, mid and high frequency bands and will need to be connected in such a way that an input signal is passed through these bands sequentially [4]. The loudness control needs to be “switchable” , that is, engaged when a user enters an “on” value and bypassed when a user enters an “off” value. WHAT IS FIXED AND WHAT IS USER SPECIFIED? A. FIXED ELEMENTS OF TONE CONTROL
● The filters types: low shelving, peak/notch and high shelving. Filter types and their coefficients are hardcoded within the function, however, users will be able to define