Musepack Forums  

Go Back   Musepack Forums > Main > General

Reply
 
Thread Tools Search this Thread Display Modes
Old 03 March 2009, 11:37 pm   #1
dev
Member
 
Join Date: Mar 2009
Posts: 21
Default What is that?

Hi

I have no doubts about Musepack quality i`m just curious as to why and what for there is added constant sinwave on actual sound.
Test file sweep 50-22000 Hz



Can somebody please explain this to me.
thx
dev is offline   Reply With Quote
Old 04 March 2009, 01:18 am   #2
Shy
Admin
 
Shy's Avatar
 
Join Date: Jul 2004
Posts: 372
Default

1. your "graphs" are undetailed, to say the least.

2. it can't be simply explained in one sentence or even many. You should learn how various forms of audio processing, and specifically, audio coding formats work if you want to understand exactly what you can see in graphs.

3. In short, with a sine wave sweep, more than with any other audio content, you will see lots of interesting "artifacts" when you apply any form of audio processing. Be it dividing the audio into bands (as Musepack does, among many other things), applying simple filtering, various forms of FFT processing, resampling, etc. etc.
What you see in a graph (and especially one of a processed pure sine wave), doesn't necessarily reflect what you hear.

Suggestion: try to generate a sawtooth tone or sweep, then look closely and ask yourself how come while what you're hearing is a sawtooth wave, the actual graphical representation of it looks more like a swirly ramp.
Shy is offline   Reply With Quote
Old 04 March 2009, 08:22 am   #3
dev
Member
 
Join Date: Mar 2009
Posts: 21
Default

Quote:
Originally Posted by Shy View Post
1. your "graphs" are undetailed, to say the least.

2. it can't be simply explained in one sentence or even many. You should learn how various forms of audio processing, and specifically, audio coding formats work if you want to understand exactly what you can see in graphs.

3. In short, with a sine wave sweep, more than with any other audio content, you will see lots of interesting "artifacts" when you apply any form of audio processing. Be it dividing the audio into bands (as Musepack does, among many other things), applying simple filtering, various forms of FFT processing, resampling, etc. etc.
What you see in a graph (and especially one of a processed pure sine wave), doesn't necessarily reflect what you hear.

Suggestion: try to generate a sawtooth tone or sweep, then look closely and ask yourself how come while what you're hearing is a sawtooth wave, the actual graphical representation of it looks more like a swirly ramp.

1. Yes, I wanted to put it simply, but to correct that; on my spectrum analizer original PCM is shown above, the "Musepack" graphs, I wanted to show that added sinwave in slideshow, as it goes from left to right and gets biger... .

2. Problem is that there is not much specification on Musepack from what I could find, and from technical point of view I`m intreested as to why this sinvawe goes louder and louder as sweep goes up on frequency, I`m not asking as "why the hell it`s there? :evil: ", simply what for what that gives, some ath, noise normalization... ?

3. "What you see in a graph (and especially one of a processed pure sine wave), doesn't necessarily reflect what you hear." - I know they don`t
dev is offline   Reply With Quote
Old 04 March 2009, 09:32 am   #4
Shy
Admin
 
Shy's Avatar
 
Join Date: Jul 2004
Posts: 372
Default

Coming from me or anyone with little knowledge, the answers to why it increases as the frequency of the sine sweep rises could be many, neither of which is accurate. I'm sorry, but any answer I give can only be very partially accurate, as I can only refer to parts that make up Musepack's analysis and synthesis and not the sum of the parts (in essence the entire audio coder, psychoacoustic model and all, which you have to be very knowledgable to understand), which is the only thing to refer to if you want a real, accurate answer.

You may find a detailed specification of MPEG-1 Layer 2 coding tools and start from there. Musepack was based on it, and extended with various own tools/psymodel. It includes subband-based selectable channel coupling (search channel coupling info), adaptive noise shaping (or "ANS". various info available as well), clear voice detection (no info. basically, it helps the psymodel perform better during changes of the base frequency of harmonic signals). The spreading function that depends on the mid frequency and sound pressure level of critical bands is non-linear. Temporal masking with a variable time constant is used.

To give a superficial answer: it's probably related to the way the psychoacoustic model treats audio differently at different frequencies, the nature of polyphase quadrature filters, and maybe as high as 5th order filters are used in the adaptive noise shaping when the audio is a pure sine wave, and all that contributes to the non-linear, colorful and variable representation you may see on a graph.
Shy is offline   Reply With Quote
Old 04 March 2009, 09:50 am   #5
dev
Member
 
Join Date: Mar 2009
Posts: 21
Default

thx

btw, who is that on Your avatar?
dev is offline   Reply With Quote
Old 04 March 2009, 09:55 am   #6
Shy
Admin
 
Shy's Avatar
 
Join Date: Jul 2004
Posts: 372
Default

A girl I don't know, with a face I like .
Shy is offline   Reply With Quote
Old 04 March 2009, 10:46 am   #7
dev
Member
 
Join Date: Mar 2009
Posts: 21
Default

ye, now I wanna know who she is :>

and btw I have one sample that i like to test and results worry me,
audiacity says that Musepack --braindead has no cliping, vorbis -q8 is clipping and as resoult in output from foobar Musepack i heavly distorted.
What I don`t get, is: if there is no internal clipping in SV8 but sample file has distortion insted and lowering peak value to ~1.230000 makes no distortion/clipping whatever it is

Test Sample

Last edited by dev; 04 March 2009 at 12:12 pm.
dev is offline   Reply With Quote
Old 04 March 2009, 05:09 pm   #8
dev
Member
 
Join Date: Mar 2009
Posts: 21
Default

One more question; encoder in SV8 is 1.16 it`s "development" stopted from SV7 to SV8 becouse of lack of time or that the development of SV8 whose more important or the 1.16 encoder is just "rock solid" and there is nothing to change in the way it works ?.
What is the approach here: constant, never ending development and optimization to encoder or make it good once and enjoy it`s quality ?.
dev is offline   Reply With Quote
Old 04 March 2009, 10:09 pm   #9
Shy
Admin
 
Shy's Avatar
 
Join Date: Jul 2004
Posts: 372
Default

The encoded file has no clipping. Clipping can occur in the decoding/output process. If you can output at 24-bit, and not use the default DirectShow output (which passes through the Windows kmixer), but kernel streaming or ASIO output instead, then once you lower the output in fb2k by ~2db, you won't hear any noise/crackle.

Note that ReplayGain calculation is pretty useless with this extreme sample. The very high energy high frequency content is not taken into account properly in the calculation. Also, note that this sample may be good for emphasizing limitations of decoders, encoders or analyzers, but definitely doesn't reflect real world situations.

As for the encoder, we hardly touched it because it's very easy to ruin everything by changing a single minor parameter. It's pointless to mess around with the psymodel when you don't have a very in-depth knowledge of it. Only a handful of people could even begin to understand it, and those people are busy nowadays with other, bigger projects that take all of their time.

The encoder is extremely optimized as it is, as can easily be noticed, but there is always room for improvement and we've already thought of some things that could be optimized, but before we do anything, we'll have to cooperate with someone at the same high technical level as Frank Klemm.
Shy is offline   Reply With Quote
Old 04 March 2009, 11:45 pm   #10
dev
Member
 
Join Date: Mar 2009
Posts: 21
Default

I use ASIO, yes lowering volume in f2k shows no clipping :>, and yes, samples like this are a bit pointless!

"As for the encoder, we hardly touched it because it's very easy to ruin everything by changing a single minor parameter." - good to hear that, i like things i can count on, encode and enjoy it.
OK, thx for replies and rich answers and for SV8 which makes MPC usage "painless"

btw; IMHO it`s better to have solid format fixed on quality rather than alwayes evolving, if i get it corectly that`s the main Musepack idea.
dev is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 02:30 pm.


Powered by vBulletin® Version 3.8.11 Beta 2
Copyright ©2000 - 2019, vBulletin Solutions Inc.