Class Test Flashcards

1
Q

What is Procedural Programming?

A

Structured, in sequence, function focused, type of programming.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is Object Oriented Programming?

A

Flexible, divided into objects, more abstraction, type of programming.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Classes can do what? (3)

A
  1. Encapsulate data structures
  2. Define custom data types
  3. Inherit from other classes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Most Classes contain what? (4)

A
  1. Data members (variables specific to class)
  2. Function members (functions of class that define behaviour)
  3. Constructor Function
  4. Destructor Function
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

When does a Constructor function run?

A

When a class instance is created.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

When does a Destructor function run?

A

When object of a class is destroyed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a Object?

A

An instance of a class, each instance needs a name.
Objects can access functions and variables within the class.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the 3 Access Modifiers?

A
  1. Private (only accessible within same class)
  2. Public (accessible anywhere)
  3. Protected (only accessible within same class, and any that inherit it)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the Default Access Modifier?

A

Private.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is Data Encapsulation?

A

Hiding internal state (all interaction through functions)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the Inheritance Hierarchy?

A

Subclasses inherit functionality from Parent classes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are Audio Streams?

A

Flow of audio data, typically broken up into buffers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a Callback, give an example?

A

Audio Devices have quartz crystals used for timed call backs, this is used to process audio.
Processing Block is an example of this.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does a Low Buffer result in? (2)

A
  1. Low latency
  2. High processing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What does a High Buffer result in? (2)

A
  1. High latency
  2. Low processing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is a Buffer Dropout?

A

When the buffer empties faster than it can be refilled.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What type of system do Buffers use to input/output data?

A

FIFO
First In, First Out

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What does “Call by Value” do?

A

Changes a copy of a value.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What does “Call by Reference” do?

A

Changes original value.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What are Subjects also known as?

A

Broadcasters.

21
Q

What are Observers also known as?

A

Listeners.

22
Q

What is the difference between a “Virtual Function” and a “Pure Virtual Function”?

A

Virtual functions CAN be overridden.
Pure Virtual functions MUST be overridden.

23
Q

How to calculate Max Delay Time?

A

BufferSize / SampleRate * 1,000

24
Q

How to calculate Min Delay Time?

A

1 / SampleRate * 1,000,000

25
What type of Buffer do Delay Lines have?
Circular Buffer
26
What is Interpolation?
Interpolation is used to approximate values that lie between those in memory.
27
How to turn Samples into Milliseconds?
(Time in Samples / SamplingRate) * 1,000
28
How to turn Milliseconds into Samples?
Milliseconds * (SamplingRate / 1,000)
29
What happens when you Modulate the Read Index of a buffer?
The Modulation Source is summed with the Read Index, changing the distance from the Write. This change cannot be Higher than the Min/Max Delay Time.
30
What happens in a Linear Audio Effect System?
Input is changed in Amplitude and Phase only. Shape is not changed.
31
What happens in a Nonlinear Audio Effect System?
Shape of Input is changed, resulting in additional frequency content.
32
Benefits of WaveShaping? (3)
1. Memoryless 2. Low Computation 3. Only relies on Input Signal
33
What is the WaveShaping Function?
y = f (x) y = Output x = Input f = Nonlinear Function
34
What is Total Harmonic Distortion?
THD measures the harmonies added in distortion.
35
What are the types of symmetrical distortions? (3)
1. Odd - only odd harmonics. 2. Even - only even harmonics. 3. Asymmetrical - both odd and even harmonics.
36
What are Multiband Effects?
The application of processing in parallel frequency bands
37
What are the types of Crossover Filters? (2)
1. Infinite Impulse Response (IIR) 2. Finite Impulse Response (FIR)
38
What criteria do Crossover Filters need to meet? (3)
1. Flat pass band with no distortion. 2. Maximum attenuation (steep) in stop band. 3. Output should produce flat, unchanged signal.
39
What are common parameters in a Dynamic Range Processor? (4)
1. Threshold 2. Ratio 3. Attack/Release Times 4. Knee (Width)
40
What do Dynamic Range Processors do to the signal? (3)
1. Gain = Boosted or Attenuated 2. Threshold = Above or Below 3. Dynamic Range = Increased or Decreased
41
How to code a "For Loop"?
for ( int x = 0; x < 10; x++ ) { "Code Here" }
42
What happens in the .h File?
Declaration
43
What happens in the .cpp File?
Definition
44
What must the Audio Buffer be large enough to accommodate for?
The maximum number of Input/Output Channels used by the Audio Processor.
45
How to calculate the WriteIndex?
writeIndex = (writeIndex + 1) % bufferLength;
46
How to calculate the ReadIndex?
readIndex = ((writeIndex - delayTime) + bufferLength) % bufferLength;
47
How to calculate the DelayTime using Read/Write?
delayTime = ((writeIndex – readIndex) + bufferLength) % bufferLength;
48
Benefits of a Fractional Delay Time? (2)
1. Allow precise delay times. 2. Avoid signal discontinuities when the delay time is modulated.
49
How to code a simple DelayLine? (4 Lines)
float dry = channelData[i]; // Write Index float wet = mDelayLine.popSample(channel, DelayTime); mDelayLine.pushSample(channel, dry + (wet * mFeedback)); channelData[i] = (in + temp) * Wet/DryValue;