Musepack Forums

Musepack Forums (https://forum.musepack.net/index.php)
-   General (https://forum.musepack.net/forumdisplay.php?f=6)
-   -   Musepack SV8 beta is out (https://forum.musepack.net/showthread.php?t=395)

Seed 23 September 2007 09:59 pm

Musepack SV8 beta is out
 
The Musepack SV8 beta is out. The new stream version solves all of the format's issues and opens a vast range of possibilties. We have set a goal to make Musepack an optimal choice for any kind of application which demands high quality audio. SV8 offers many improvements and benefits to anyone from users to content providers to application developers.

Musepack audio can now be used in video, online radio, voice communications and more. It's optimal for projects which demand high quality, fast-decoded, truly gapless audio streams and instant, sample-accurate seeking such as video games, interactive or static demonstrations and various specialized applications.


This is a beta of the format's stream version itself and not just the codec's accompanying applications. SV8 is complete, but it needs to be finalized. There is a chance that some bugs have gone unnoticed. The purpose of this beta release is to allow wide-scale testing before the new stream version is finalized. Your participation is essential.

We don't recommend that you start mass-encoding or converting SV7 files to SV8 just yet. If changes to the bitstream will have to be made, they may break compatibility with files created by the beta version. After the public beta testing period is finished (the period of time depends on the findings) and the final version is released, you could safely encode and convert.


Users: if you encounter any trouble with either mpcenc, mpcdec, mpcgain, mpccut, or mpc2sv8, feel free to report it.
Developers: if you have any question to ask, problem to report or patch to submit, feel free to do so.


Package contents:

mpcenc - Musepack SV8 encoder
mpcdec - Musepack SV8 decoder sample application based on the latest decoder library
mpcgain - Musepack SV8 ReplayGain utility based on our new ReplayGain library
mpccut - Musepack SV8 stream cutter
mpc2sv8 - Musepack SV7 to SV8 lossless converter


Changes:

- Packetized stream allowing muxing into audio and video containers (e.g. MKA, MKV, NUT)
- Streamable
- Sample-accurate, fast seeking independent of file length
- Sample-accurate cutting
- No internal clipping. --noxlevel flag removed, not needed anymore
- Bitstream compressed by highly optimized canonical huffman tables - 2% smaller files and faster decoding
- Cleaned up and rearranged code - libmpcdec, libmpcenc, libmpcpsy
- Removed input from audio card (OSS)

SV8 stream options:

--no_ei - do not write encoder information packet (default: off)
--no_st - do not write the seek table (default: off)
--num_frames x x = 0..7 - number of frames in packet = 4^x (default: 3)
--seek_distance x x = 0..15 - keep a seek table entry every 2^x audio packet (default: 1)

SV8 specification


Download:

Windows package
Source code



To test SV8 files, you can use the newly released foobar2000 beta.

Naturally, while SV8 is capable of being used in a new range of applications, support for it has to be implemented in them first. Applications which already support SV7 will have to be updated to allow use of SV8 files.

Antonski 24 September 2007 08:45 am

Thank you!!!
I'm going to start testing tonight :)

\m/

blaggo 24 September 2007 09:31 am

Thanks for the ongoing Musepack development
 
I've always liked the format since several years ago, but I never 'adopted it' - this may change in the very near future.... because of the development which seems to have been taken up again.

I see Musepack now, and since maybe the last 7 years(?) as in a similar position to OGG Vorbis, but OGG Vorbis kind of fizzled out - not ruling out a resurgence there too of course. But anyway, I'm just pleased and grateful to see this kind of development - thanks very very much to all involved.

Muse 28 September 2007 03:54 pm

I have always been loyal to musepack and I'm very happy about this news.

Congratulations and chapeau for the developers!!!


Muse

Rabbit 01 October 2007 10:08 pm

Thanks. ;)

I'm expecting the final version (or, at least, the final stream version).

galova 06 October 2007 03:40 pm

great news!

burning shadow 06 October 2007 11:31 pm

This is FANTASTIC! :) You guys are wonderful! Thank you very much! I'll start testing soon too. :)

Dhry 14 October 2007 05:07 pm

Congrats on the new SV8! ETA for a WinAMP plugin? ;)

Seed 15 October 2007 12:53 pm

There is one. With permission from the author we'll release it.

Lost Angel 16 October 2007 08:31 pm

sounds great in foobar right now... though I've a feeling bass is reduced... might be wrong as I don't remember the original (should've compared better)...

But I've a request to make - some simple frontend to convert older mpc files, please.

xmixahlx 17 October 2007 04:55 pm

dude...

you can't just flippantly say "bass is reduced" without being cyber-bitchslapped around here. you need to figure that shit out before posting it.

Shy 18 October 2007 11:48 am

It's not possible, as any changes that could affect that are simply non-existent. Cyber-bitchslapping isn't really needed ;), but it's true that writing something as serious as that, requires that you actually check things first.

A simple sv7-to-sv8 converter frontend might be available later after the final version.

mll 02 November 2007 12:20 pm

Good news indeed. :)
 
About wider adoption by the industry (videogames etc.): they are scared about the legal (non-)status of Musepack. Is it truly, 100% free (as in speech) ? If so, sketch up a page that clearly answers all the lingerings arguments about this, one by one.

Shy 02 November 2007 04:20 pm

I don't know of anyone being "scared" in the industry. There is no argument which shows that what we've already clearly stated is false. We've learned from the Vorbis legality debate fiasco in the past to avoid referring to baseless FUD. It's up to companies to conduct their own research if they're concerned.
The decoder is under a BSD-like license, the encoder is under an LGPL license, and the format is patent-free.

Lost Angel 11 November 2007 06:40 pm

take it easy, guys, I told you, I've not compared, just had that subjective impression :)

Dhry 02 December 2007 04:14 pm

For those, like me, who were following this thread and waiting for the WinAMP plugin to be released 'with the author's permission', it's been released.

http://www.hydrogenaudio.org/forums/...howtopic=59303

Seed 03 December 2007 01:56 pm

The latest version is here

Keep in mind that the encoder binary is not as optimized as in the official beta package. This archive has an updated mpcdec which I advise to use instead of the older one.

Dirkvl 31 December 2007 07:58 pm

dBpowerAmp plugin
 
I've scripted an encoding plugin for dBpowerAmp 12 and placed it at
http://dirkvl.dommel.be/MPC_SV8.exe

-Dirk-

Seed 01 January 2008 02:26 am

Cool. We'll check it out.

Happy new year to everyone (who celebrates it) :D

Sina 13 January 2008 07:23 am

...
 
Really, when will you release the final version?


Seed 13 January 2008 12:24 pm

When it's ready to be released :)

We aren't going to discuss a specific date. Everyone has to be patient and test every feature of the current beta as much as they can.

slomo 22 March 2008 05:18 pm

Will libmpcenc be compiled as a shared library and be installed for the release? Or is this still considered unstable and for internal use by mppenc, etc only?

slomo 22 March 2008 05:23 pm

Quote:

Originally Posted by slomo (Post 1811)
Will libmpcenc be compiled as a shared library and be installed for the release? Or is this still considered unstable and for internal use by mppenc, etc only?

Also, mpcgain does not build because configure doesn't check for any installed replaygain/gain_analysis.h header (where should this come from?) or because this header is simply missing from SVN ;)

r2d 24 March 2008 09:25 pm

Quote:

Originally Posted by slomo (Post 1811)
Will libmpcenc be compiled as a shared library and be installed for the release? Or is this still considered unstable and for internal use by mppenc, etc only?

libmpcenc / libmpcpsy will not be installed as shared library because there is no clear API, and part of the needed functions to encode to musepack are still in the mpcenc code.

Quote:

Originally Posted by slomo (Post 1812)
Also, mpcgain does not build because configure doesn't check for any installed replaygain/gain_analysis.h header (where should this come from?) or because this header is simply missing from SVN ;)

Yes, configure doesn't check for libreplaygain. You need to build libreplaygain from the svn and add the "include" dir in the list of includes.

slomo 07 April 2008 10:59 am

Quote:

Originally Posted by r2d (Post 1813)
libmpcenc / libmpcpsy will not be installed as shared library because there is no clear API, and part of the needed functions to encode to musepack are still in the mpcenc code.

Ok... do you plan to provide a library for encoding at a later stage?

Quote:

Originally Posted by r2d (Post 1813)
Yes, configure doesn't check for libreplaygain. You need to build libreplaygain from the svn and add the "include" dir in the list of includes.

Ok, next issue is that mpcchap needs the cuetools source... would be nice if all sources required are in SVN. cuetools doesn't build a library one can link to it seems.

r2d 08 April 2008 09:43 pm

Quote:

Originally Posted by slomo (Post 1816)
Ok... do you plan to provide a library for encoding at a later stage?

The plan was mainly to simplify hacking, so people interested in the psymodel can understand the code more easily. As a side effect there may be encoding libraries, but it's not for now I think.


Quote:

Originally Posted by slomo (Post 1816)
Ok, next issue is that mpcchap needs the cuetools source... would be nice if all sources required are in SVN. cuetools doesn't build a library one can link to it seems.

Sorry, I added the code since your last post :)
cuetools doesn't provide a shared library, but there is a static lib in the /lib directory. I'll try to link the svn repository to the cuetools one to be able to checkout everything at once.

Antonski 09 April 2008 08:59 am

May we assume that the "Chapter-Tag Packet" has a beta-status now? Actually, how it is supposed to be used?

Edit: I mean, about chapter-tags, is there an analogy with another format? Are they used and by which application? Just curious.

~

slomo 20 April 2008 09:13 am

Quote:

Originally Posted by r2d (Post 1817)
The plan was mainly to simplify hacking, so people interested in the psymodel can understand the code more easily. As a side effect there may be encoding libraries, but it's not for now I think.

Ok, if there were encoding libraries I would create a gstreamer encoding plugin ;)


On another issue, is there a bugtracker where one can create bug reports? The trac only allows this for people with an account and there seems to be no way to create one...

Well, currently libmpcdec exports some symbols which probably shouldn't be exported:

Cnk
Cnk_len
Cnk_lost
Res_bit
_Huffman_MakeTree
_Huffman_PrintCodes
__Cc
__Dc
crc32
huff_init_lut
streaminfo_encoder_info
streaminfo_gain
streaminfo_read_header_sv7
streaminfo_read_header_sv8


These should probably get a "mpc_" prefix or should not be exported at all. The most critical one here is "crc32", if you use libmpcdec in an application that also uses zlib (which exports crc32 too, with a different signature) you're unable to decode sv8 files because stuff simply segfaults.

It might make sense to simply use a libtool symbol export regexp here:

libmpcdec_la_LDFLAGS = -export-symbols-regex '^mpc_.*$$'

r2d 21 April 2008 01:48 pm

Quote:

Originally Posted by Antonski (Post 1818)
May we assume that the "Chapter-Tag Packet" has a beta-status now? Actually, how it is supposed to be used?

Edit: I mean, about chapter-tags, is there an analogy with another format? Are they used and by which application? Just curious.
~

ATM no player supports it. I suppose they should display each chapter as a track, like cue files. I'll let it with the alpha status until it is implemented in a player.

Quote:

Originally Posted by slomo (Post 1820)
Ok, if there were encoding libraries I would create a gstreamer encoding plugin ;)~

Does the current decoding plugin handles sv8 ?
radscorpion seems to be working on the encoding lib.

Quote:

Originally Posted by slomo (Post 1820)
Well, currently libmpcdec exports some symbols which probably shouldn't be exported

This should be much better now. Thanks for pointing this out, I didn't know about the issue.

slomo 24 April 2008 08:39 am

Quote:

Originally Posted by r2d (Post 1821)
Does the current decoding plugin handles sv8 ?.

Yes, I have a pending patch that I'll commit shortly to add support for the new libmpcdec API in the decoder plugin (SV8 files will magically work then ;) ).

Quote:

Originally Posted by r2d (Post 1821)
This should be much better now. Thanks for pointing this out, I didn't know about the issue.

Looks good now IMHO :)


Another issue I found now, is that for example mplayer (and probably xine too) is using mpc_decoder_decode_frame() from the old API. The function still exists with the new API but the mpc_bits_reader type which is needed for this is not exported by any public header file.

It'd also like to use that API in the future for the gstreamer decoding plugin as with the mpc_demux_* API it's not exactly easy to add support for decoding musepack stream inside of container formats like matroska for example.

r2d 24 April 2008 10:17 am

Quote:

Originally Posted by slomo (Post 1822)
Yes, I have a pending patch that I'll commit shortly to add support for the new libmpcdec API in the decoder plugin (SV8 files will magically work then ;) ).

That's good :)

Quote:

Originally Posted by slomo (Post 1822)
Another issue I found now, is that for example mplayer (and probably xine too) is using mpc_decoder_decode_frame() from the old API. The function still exists with the new API but the mpc_bits_reader type which is needed for this is not exported by any public header file.

It'd also like to use that API in the future for the gstreamer decoding plugin as with the mpc_demux_* API it's not exactly easy to add support for decoding musepack stream inside of container formats like matroska for example.

I moved mpc_bits_reader definition in mpcdec.h, thanks for your help.

Nicolas

slomo 24 April 2008 10:56 pm

Quote:

Originally Posted by r2d (Post 1823)
That's good :)

...and committed :)

Quote:

Originally Posted by r2d (Post 1823)
I moved mpc_bits_reader definition in mpcdec.h, thanks for your help.

Great, thanks :)

Another thing I noticed is, that libreplaygain exports more symbols than what is shown as public API by the header file. Could you add the same visibility stuff as for libmpcdec to libreplaygain? :) Apart from that it would be nice if libreplaygain would get properly namespaced (i.e. prefixed) symbols. Stuff like AnalyzeSamples is a good candidate for causing conflicts later...

r2d 25 April 2008 02:16 pm

Quote:

Originally Posted by slomo (Post 1825)
Another thing I noticed is, that libreplaygain exports more symbols than what is shown as public API by the header file. Could you add the same visibility stuff as for libmpcdec to libreplaygain? :) Apart from that it would be nice if libreplaygain would get properly namespaced (i.e. prefixed) symbols. Stuff like AnalyzeSamples is a good candidate for causing conflicts later...

Ok, changed that too.

xmixahlx 11 May 2008 06:26 am

i'm breaking out the cuetools lib from upstream, so look for a tarball in a bit, r2d.

xmixahlx 11 May 2008 08:44 am

from cuetools in svn...

patches for mpcchap:
http://xmixahlx.dyndns.org/dev/cueto...xmixahlx.patch
http://xmixahlx.dyndns.org/dev/cueto...xmixahlx.patch

patch for cuetools:
http://xmixahlx.dyndns.org/dev/cueto...xmixahlx.patch

tarball for cuetools:
http://xmixahlx.dyndns.org/dev/cueto...00.orig.tar.gz

patch for debian:
http://xmixahlx.dyndns.org/dev/cueto...wares1.diff.gz


new debian packages for replaygain, cuetools and musepack are upped to rarewares/debian

r2d, perhaps we should host the cuetools source like replaygain...

also, cuetools from svn includes some important updates from the debian maintainer, so anyone NOT on debian should grab from svn anyways.

slomo, are you the official debian maintainer for sv8 packages?


later

slomo 05 June 2008 11:56 am

Quote:

Originally Posted by xmixahlx (Post 1836)
slomo, are you the official debian maintainer for sv8 packages?

Yes... so in cuetools SVN a shared library is built? That's good, I've disabled mpcchap in the packages for now and will enable them again once the cuetools Debian package provides the library

xmixahlx 06 June 2008 06:25 am

well... i grabbed cuetools from svn, patched, and made my own packages (shared lib + dev)

...and after patching SV8 from svn it builds & works fine.

just grab my patches, etc. from the previous post and it will all make sense.


later

Antonski 02 September 2008 03:34 pm

Latest compilation?
 
Would somebody compile the binaries from the latest code?
Once I've tried, but my files were significant bigger and slower.
I would like to play a bit with chapter utility, just curious.

Seed 03 September 2008 03:37 am

There is an archive compiled by the latest GCC. It'll be shared sometime today.

Antonski 03 September 2008 09:23 pm

Great! Would you post the link, please?


All times are GMT. The time now is 08:31 pm.

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