Bird
Raised Fist0
Signal Processingdata~20 mins

Audio compression basics in Signal Processing - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Audio Compression Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:00remaining
What is the main goal of audio compression?

Audio compression is used to reduce the size of audio files. What is the main goal of this process?

ATo reduce file size while keeping sound quality as high as possible
BTo increase the file size for better sound quality
CTo convert audio files into text format
DTo remove all background noise from the audio
Attempts:
2 left
💡 Hint

Think about why we want smaller audio files but still want them to sound good.

❓ Predict Output
intermediate
1:30remaining
What is the output of this Python code simulating audio compression ratio?

Consider this simple Python code that calculates the compression ratio of an audio file:

original_size = 5000  # in KB
compressed_size = 1250  # in KB
compression_ratio = original_size / compressed_size
print(round(compression_ratio, 2))

What will be printed?

Signal Processing
original_size = 5000  # in KB
compressed_size = 1250  # in KB
compression_ratio = original_size / compressed_size
print(round(compression_ratio, 2))
A3750
B0.25
C6250
D4.0
Attempts:
2 left
💡 Hint

Compression ratio is original size divided by compressed size.

❓ data_output
advanced
2:00remaining
What is the shape of the compressed audio data array?

Given a numpy array representing raw audio data with shape (44100, 2) for 1 second stereo audio sampled at 44.1kHz, after compression the data is downsampled by a factor of 4 and converted to mono by averaging channels.

What is the shape of the compressed audio data array?

Signal Processing
import numpy as np
raw_audio = np.random.rand(44100, 2)
compressed_audio = raw_audio[::4].mean(axis=1)
print(compressed_audio.shape)
A(11025, 2)
B(11025,)
C(44100,)
D(44100, 2)
Attempts:
2 left
💡 Hint

Downsampling by 4 reduces samples by 4 times. Averaging channels reduces 2 channels to 1.

❓ visualization
advanced
2:00remaining
Which plot shows the effect of lossy audio compression on frequency spectrum?

You have two frequency spectrum plots of the same audio: one original and one after lossy compression. Which plot likely shows the compressed audio?

APlot with completely flat line at zero
BPlot with more high-frequency spikes and noise
CPlot with fewer high-frequency components and smoother curve
DPlot with random spikes across all frequencies
Attempts:
2 left
💡 Hint

Lossy compression often removes high-frequency details to save space.

🔧 Debug
expert
2:00remaining
What error does this audio compression code raise?

Consider this Python code snippet that attempts to compress audio data by quantization:

import numpy as np
audio = np.array([0.1, 0.5, 0.9])
quantized = audio // 0.5
print(quantized)

What error will this code produce when run?

Signal Processing
import numpy as np
audio = np.array([0.1, 0.5, 0.9])
quantized = audio // 0.5
print(quantized)
ANo error, output: [0. 1. 1.]
BValueError: operands could not be broadcast together
CTypeError: unsupported operand type(s) for //: 'numpy.ndarray' and 'float'
DSyntaxError: invalid syntax
Attempts:
2 left
💡 Hint

Check if floor division (//) works with float operands in numpy arrays.

Practice

(1/5)
1. What is the main goal of audio compression?
easy
A. To reduce the file size while keeping sound quality acceptable
B. To increase the file size for better quality
C. To convert audio files into video files
D. To remove all background noise completely

Solution

  1. Step 1: Understand the purpose of audio compression

    Audio compression aims to make audio files smaller so they use less space and bandwidth.
  2. Step 2: Identify the correct goal

    The goal is to reduce size but keep the sound quality good enough for listening.
  3. Final Answer:

    To reduce the file size while keeping sound quality acceptable -> Option A
  4. Quick Check:

    Audio compression = smaller files with good quality [OK]
Hint: Compression means smaller size, not bigger [OK]
Common Mistakes:
  • Thinking compression increases file size
  • Confusing audio with video conversion
  • Assuming all noise is removed
2. Which of the following is a correct statement about lossy audio compression?
easy
A. It keeps all original audio data intact
B. It removes some audio data permanently to reduce size
C. It converts audio to text format
D. It increases the audio file size

Solution

  1. Step 1: Define lossy compression

    Lossy compression removes some audio data permanently to save space.
  2. Step 2: Compare options

    Only It removes some audio data permanently to reduce size correctly describes lossy compression; others are incorrect or unrelated.
  3. Final Answer:

    It removes some audio data permanently to reduce size -> Option B
  4. Quick Check:

    Lossy = data removed permanently [OK]
Hint: Lossy means some data is lost forever [OK]
Common Mistakes:
  • Confusing lossy with lossless compression
  • Thinking lossy keeps all data
  • Believing audio is converted to text
3. Consider this Python code snippet simulating audio compression bitrate calculation:
original_bitrate = 1411  # in kbps for CD quality
compression_ratio = 0.1
compressed_bitrate = original_bitrate * compression_ratio
print(int(compressed_bitrate))

What is the output of this code?
medium
A. 1411
B. 14
C. 141
D. 0

Solution

  1. Step 1: Calculate compressed bitrate

    Multiply original bitrate 1411 kbps by compression ratio 0.1: 1411 * 0.1 = 141.1
  2. Step 2: Convert to integer and print

    int(141.1) is 141, so the output is 141.
  3. Final Answer:

    141 -> Option C
  4. Quick Check:

    1411 * 0.1 = 141 [OK]
Hint: Multiply bitrate by ratio, then convert to int [OK]
Common Mistakes:
  • Forgetting to multiply by compression ratio
  • Confusing int conversion rounding
  • Printing original bitrate instead
4. This code tries to calculate compressed audio size but has an error:
file_size_mb = 50
compression_rate = 0.2
compressed_size = file_size_mb / compression_rate
print(compressed_size)

What is the error in this code?
medium
A. Division by zero error
B. Variable names are invalid
C. Missing import statement
D. It should multiply, not divide, by compression_rate

Solution

  1. Step 1: Understand compression calculation

    Compressed size should be original size multiplied by compression rate (fraction less than 1).
  2. Step 2: Identify the error in code

    The code divides file_size_mb by compression_rate, which increases size incorrectly.
  3. Final Answer:

    It should multiply, not divide, by compression_rate -> Option D
  4. Quick Check:

    Compression size = original size * rate [OK]
Hint: Compression reduces size, so multiply by rate [OK]
Common Mistakes:
  • Using division instead of multiplication
  • Assuming variable names cause error
  • Expecting import needed for math
5. You have a 100 MB audio file and want to compress it to about 25% of its size using lossy compression. Which bitrate should you choose if the original bitrate is 160 kbps?

Options:
A) 40 kbps
B) 80 kbps
C) 120 kbps
D) 160 kbps
hard
A. 40 kbps
B. 80 kbps
C. 120 kbps
D. 160 kbps

Solution

  1. Step 1: Calculate target bitrate for 25% size

    25% means 0.25 times original bitrate: 160 kbps * 0.25 = 40 kbps.
  2. Step 2: Choose bitrate matching target

    40 kbps is 40 kbps, which matches the target bitrate for 25% size.
  3. Final Answer:

    40 kbps -> Option A
  4. Quick Check:

    160 * 0.25 = 40 kbps [OK]
Hint: Multiply original bitrate by compression fraction [OK]
Common Mistakes:
  • Choosing bitrate higher than target size
  • Confusing percentage with absolute value
  • Ignoring lossy compression effect
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard