Skip to main content

Topic: amplitude range (floating point) (Read 3151 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
amplitude range (floating point)
hello,

i use ov_read_float in my vorbis-player-project to get my pcm data.
i've noticed, that many of these floating point values are slightly out of the "official" amplitude range between -1.0f and 1.0f.
so why is that?
is it okay, just to clip it? JACK expect values *only* in range of -1 and 1.

thank you!

marco

  • benski
  • [*][*][*][*][*]
  • Developer
amplitude range (floating point)
Reply #1
hello,

i use ov_read_float in my vorbis-player-project to get my pcm data.
i've noticed, that many of these floating point values are slightly out of the "official" amplitude range between -1.0f and 1.0f.
so why is that?
is it okay, just to clip it? JACK expect values *only* in range of -1 and 1.

thank you!

marco


Because the reverse transform generates transients that can peak higher than the original sound.  This is common for all transform codecs - I've seen as high as 1.5 before.  Most players are clipping this before outputting to the soundcard.  I've seen some code that will distort the audio (via tanh or similiar) in hopes that it will sound better than clipping, and I've also seen look-ahead limiting done.  These higher-than-1 peaks are one reason why ReplayGain is so popular around here
  • Last Edit: 24 September, 2006, 04:47:47 PM by benski

  • [JAZ]
  • [*][*][*][*][*]
amplitude range (floating point)
Reply #2
JACK expect values *only* in range of -1 and 1.


Jack applies hardclipping when converting to the pcm output, at least on my experience.