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
Q

What type of Buffer do Delay Lines have?

A

Circular Buffer

26
Q

What is Interpolation?

A

Interpolation is used to approximate values that lie between those in memory.

27
Q

How to turn Samples into Milliseconds?

A

(Time in Samples / SamplingRate) * 1,000

28
Q

How to turn Milliseconds into Samples?

A

Milliseconds * (SamplingRate / 1,000)

29
Q

What happens when you Modulate the Read Index of a buffer?

A

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
Q

What happens in a Linear Audio Effect System?

A

Input is changed in Amplitude and Phase only.
Shape is not changed.

31
Q

What happens in a Nonlinear Audio Effect System?

A

Shape of Input is changed, resulting in additional frequency content.

32
Q

Benefits of WaveShaping? (3)

A
  1. Memoryless
  2. Low Computation
  3. Only relies on Input Signal
33
Q

What is the WaveShaping Function?

A

y = f (x)

y = Output
x = Input
f = Nonlinear Function

34
Q

What is Total Harmonic Distortion?

A

THD measures the harmonies added in distortion.

35
Q

What are the types of symmetrical distortions? (3)

A
  1. Odd - only odd harmonics.
  2. Even - only even harmonics.
  3. Asymmetrical - both odd and even harmonics.
36
Q

What are Multiband Effects?

A

The application of processing in parallel frequency bands

37
Q

What are the types of Crossover Filters? (2)

A
  1. Infinite Impulse Response (IIR)
  2. Finite Impulse Response (FIR)
38
Q

What criteria do Crossover Filters need to meet? (3)

A
  1. Flat pass band with no distortion.
  2. Maximum attenuation (steep) in stop band.
  3. Output should produce flat, unchanged signal.
39
Q

What are common parameters in a Dynamic Range Processor? (4)

A
  1. Threshold
  2. Ratio
  3. Attack/Release Times
  4. Knee (Width)
40
Q

What do Dynamic Range Processors do to the signal? (3)

A
  1. Gain = Boosted or Attenuated
  2. Threshold = Above or Below
  3. Dynamic Range = Increased or Decreased
41
Q

How to code a “For Loop”?

A

for ( int x = 0; x < 10; x++ )
{
“Code Here”
}

42
Q

What happens in the .h File?

A

Declaration

43
Q

What happens in the .cpp File?

A

Definition

44
Q

What must the Audio Buffer be large enough to accommodate for?

A

The maximum number of Input/Output Channels used by the Audio Processor.

45
Q

How to calculate the WriteIndex?

A

writeIndex = (writeIndex + 1) % bufferLength;

46
Q

How to calculate the ReadIndex?

A

readIndex = ((writeIndex - delayTime) + bufferLength) % bufferLength;

47
Q

How to calculate the DelayTime using Read/Write?

A

delayTime = ((writeIndex – readIndex) + bufferLength) % bufferLength;

48
Q

Benefits of a Fractional Delay Time? (2)

A
  1. Allow precise delay times.
  2. Avoid signal discontinuities when the delay time is modulated.
49
Q

How to code a simple DelayLine? (4 Lines)

A

float dry = channelData[i]; // Write Index

float wet = mDelayLine.popSample(channel, DelayTime);

mDelayLine.pushSample(channel, dry + (wet * mFeedback));

channelData[i] = (in + temp) * Wet/DryValue;