Getting a warning with audiowrite ( audiowrite​>clipInput​Data)

5 Ansichten (letzte 30 Tage)
carine
carine am 14 Jun. 2023
Kommentiert: Walter Roberson am 15 Jun. 2023
I'm trying to read an audio file, add a white noise and then write the resampled audio to a file at 48 kHz. I'm getting a warning
" Warning: Data clipped when writing file. > In audiowrite>clipInputData (line 481)"
can someone please help me with that?
clc
clear
[y, Fs] = audioread('test.wav');% y samples from audio with Fs sampling frequency in [Hz]
sound(y, Fs); % listen to the audio input
Sigma = 1; % Standard deviation of the noise
N = length(y); % sample lenth
w = Sigma*randn(1,N); % Generate Gaussian noise
x = y+w'; % Add noise to the audio signal
figure (1)
plot(x); % Plot the noisy audio signal
figure (2)
plot(y); % plot the audio
x_sampled = resample(x,3,1); % sampling frequency to 48 kHz
audiowrite('Noisy_resampled.wav',x_sampled, Fs); % Write the resampled audio to a file
[y, Fs] = audioread('Noisy_resampled.wav'); % Read the resampled audio
sound(y, Fs);

Antworten (1)

Richard Burnside
Richard Burnside am 14 Jun. 2023
Bearbeitet: Richard Burnside am 14 Jun. 2023
Probably exceeding the audiowrite range for the data type. ML Docs shows:
Data Type of Y Valid Range for Y
-----------------------------------
uint8 0 <= Y <= 255
int16 -32768 <= Y <= +32767
int32 -2^31 <= Y <= 2^31-1
single -1.0 <= Y <= +1.0
double -1.0 <= Y <= +1.0
"Data beyond the valid range is clipped."
You could try a scalar attenuation of your data.
  2 Kommentare
carine
carine am 14 Jun. 2023
thanks for your response Ricahard. how can I do the scalar attenuation?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Audio Plugin Creation and Hosting finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by