warning Data clipped during write to file
28 次查看(过去 30 天)
显示 更早的评论
Im trying to create .wav file
s3 = (s2-min(s2))./(max(s2)-min(s2)).*2-1;
wavwrite(s3, 1250, 16, 'signal.wav');
and I got those warnings:
Warning: Data clipped during write to file:2012-11-23_13-08-18p.wav
> In wavwrite>PCM_Quantize at 285
In wavwrite>write_wavedat at 301
In wavwrite at 138
Does anybody knows how to solve it?
I fougth that clipped during write means that my data are not in the range of -1 and 1?
0 个评论
回答(4 个)
fatima zahra manzah
2021-4-7
I put this to save the 2 songs
f=44100
audiowrite("singingChurch.wav",singingChurch,f)
audiowrite("singingDungeon1.wav",singingDungeon,f)
i got this :
Warning: Data clipped when writing file.
How can i deal with this please
5 个评论
Shan Shaffi
2021-8-9
Sorry for the late reply. I just read your answer. Thank you for taking the time to answer in detail. This was very helpful. I will try with rescale()
Jan
2012-12-5
The documentation explains: For 16 bit precision, the values are limited to –1.0 <= y < +1.0, when the signal is provided as floating point format. A workaround is to convert the data manually before calling wavwrite():
yInt = y * 32768;
yInt(yInt == 32768) = 32767;
5 个评论
Walter Roberson
2021-6-18
编辑:Walter Roberson
2021-6-18
I woud recomment using audiowrite(), which does permit +1 exactly.
Judyta
2012-12-5
1 个评论
Daniel Shub
2012-12-5
They are "reduced" by clipping them to the maximum/minimum allowed value. A difference between 1 and 1-2^15 is probably not anything to worry about.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!