Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Monkey\'s Audio source code available ! (Read 13495 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Monkey\'s Audio source code available !

Monkey's Audio lossless audio compressor source code is now available!

http://www.monkeysaudio.com/cgi-bin/YaBB/Y...&num=1016262232

"Here's a pre-release of the upcoming 3.96b1 SDK which includes the source code to Monkey's Audio. (just the compression guts for now, but more will follow)"

Monkey\'s Audio source code available !

Reply #1
[span style='font-size:24']That is brilliant![/span]

1. Does that mean "you" (i.e. all the people who kept telling us to use inferior software because it was open source) will be happy for everyone to use Monkey's Audio now?

2. Who is going to be the first to get the lossy mode back in there? I'm serious. It was great. Be nice though - make it impossible for people to confuse the lossless and lossy modes.

Cheers,
David.
http://www.David.Robinson.org/

EDIT: P.S. Matt works for J River who do Media Jukebox, not Music Match who do MusicMatch Jukebox. That was (unintentionally) a very nasty thing to say! ;-)

Monkey\'s Audio source code available !

Reply #2
Quote
Originally posted by 2Bdecided
1. Does that mean "you" (i.e. all the people who kept telling us to use inferior software because it was open source) will be happy for everyone to use Monkey's Audio now?


These same people will now start complaining it isn't GPL.

BTW: I started a news thread on the matter. It surely deserves...

Monkey\'s Audio source code available !

Reply #3
Quote
1. Does that mean "you" (i.e. all the people who kept telling us to use inferior software because it was open source) will be happy for everyone to use Monkey's Audio now?

Unfair. Monkey's Audio is the best lossless compressor - it's not inferior. Until now, however, the file format was completely closed, and the program that understood the file format was only available for one OS.

Sadly, but understandably, the source code license is very restrictive - condition 2 in particular. Condition 3 stops it from being used in BSD licensed software.
Quote
1. This source code is completely free for personal or educational use.

2. The use of any of the Monkey's Audio source code or any component thereof from another program requires express written permission from the author of Monkey's Audio.

3. The use of Monkey's Audio or the Monkey's Audio source code for any commercial purposes including, but not limited to, implementation in shareware packages is strictly prohibited without first obtaining written permission from the author.

5. All code changes and improvements must be contributed back to the Monkey's Audio project free from restrictions or royalties for the sake of the common good.

6. Although the software has been tested thoroughly, the author is in no way responsible for damages due to bugs or misuse.

7. If you do not completely agree with all of the previous stipulations, you must cease using this source code and remove it from your storage device.

(yes, there's no condition 4 .
So yes, I'll continue using FLAC, but I'm much happier now for the future of Monkey's Audio. I'd be even happier if he used a more liberal license for the *decoding* portion of the source code.

Monkey\'s Audio source code available !

Reply #4
i'm not going to complain its not GPL, i'm going to complain that with a license like that it might as well have stayed closed

I don't really care what license they use, as long as its 'open' .. this isn't

I may be stupid, but I know the difference between "open so everyone can use freely and possibly use for themselves" and "open so people improve a closed project for nothing in return"

Monkey\'s Audio source code available !

Reply #5
Oh I am SO sorry!

I thought this board was to support people not bash them.

Meff, I can disagree more with you. Its odd that you would tell me off for enjoying a lossless format that compressed 3% better and runs 30% faster.
Both are free and this is obvious intent for Matt, who has always come off as a good spirited person to me, to expand APE to everyone.
Can you tell me does FLAC support tagging? I have never bothered to use it since I read all over on websites and bulliten board how terrible it is.

The point of this thread is the APE is being tested for LINUX. Lets try to stay on this subject.

Darwyn

Monkey\'s Audio source code available !

Reply #6
Jon,

I was saying that everything else is inferior compared to Monkey!


Meff,

Well, it depends how strict Matt is in imposing what he asks. Point (2) isn't even propper English. But it'll be interesting to see if he intends

a) to prevent any one from making any money out of monkey
b) to prevent any one from wrecking monkey, or
c) to prevent any one from even using monkey at all!

Normally, when people say "ask permission to use" it means they'll probably give permission. Otherwise, there's no point to saying "look, here's the source code - but HA - you can't use it!"

And to be fair, Monkey is already the best - better than all the open and closed alternatives - what improvements do you think he's looking for "for free"?

Still, we'll see what happens.


Cheers,
David.
http://www.David.Robinson.org/

Monkey\'s Audio source code available !

Reply #7
Eh, What happens now?
Will Flac suddenly become better?
Juha Laaksonheimo

Monkey\'s Audio source code available !

Reply #8
Quote
Originally posted by darwyn
Oh I am SO sorry!

I thought this board was to support people not bash them.

Meff, I can disagree more with you. Its odd that you would tell me off for enjoying a lossless format that compressed 3% better and runs 30% faster.
Both are free and this is obvious intent for Matt, who has always come off as a good spirited person to me, to expand APE to everyone.
Can you tell me does FLAC support tagging? I have never bothered to use it since I read all over on websites and bulliten board how terrible it is.

The point of this thread is the APE is being tested for LINUX. Lets try to stay on this subject.

Darwyn


i'm not bashing anyone, I am stating my opinion.

I never told you off.

As far as tagging, I don't see a reason if you use good descriptions on your directories and maybe even CD-TEXT (like a bunch of my buddies are using) files. But, hey, it could be added, quite easily even. I'm sure if theres enough 'want' then it will be.

What would be really interesting is to see APE contribute optimizations to FLAC, and to create a open merger, being these are the two best lossless codec's with open-style licenses.

Monkey\'s Audio source code available !

Reply #9
Quote
I was saying that everything else is inferior compared to Monkey!

Yes, of course you were. Must be too early in the morning for me... (is 3pm too early?  ).

And you're quite right about the license being unclear about what his intentions are. Reading the rest of the material, he seems to want people to write plugins for XMMS etc., which implies that he'd like to see the code widely used.

If he wants to keep tight control of the code, but allow it to be widely used, then he'd be best to create a 'libMonkey', with liberal linking conditions.

Monkey\'s Audio source code available !

Reply #10
Quote
Originally posted by 2Bdecided
Jon,

I was saying that everything else is inferior compared to Monkey!


Meff,

Well, it depends how strict Matt is in imposing what he asks. Point (2) isn't even propper English. But it'll be interesting to see if he intends

a) to prevent any one from making any money out of monkey
b) to prevent any one from wrecking monkey, or
c) to prevent any one from even using monkey at all!

Normally, when people say "ask permission to use" it means they'll probably give permission. Otherwise, there's no point to saying "look, here's the source code - but HA - you can't use it!"

And to be fair, Monkey is already the best - better than all the open and closed alternatives - what improvements do you think he's looking for "for free"?

Still, we'll see what happens.


Cheers,
David.
http://www.David.Robinson.org/


a) use the GPL or a variant.
b) trademark the name. let people branch it if they want to, maybe you'll learn something.

if its the best doesn't matter, a good example.. would you rather pay for Oracle which "is 'hack'proof" hehe, or a open SQL alternative? sure, MySQL doesn't have Larry's seal of approval, but it sure as hell does 'good enough', and its being improved all the time, with the sourcecode open.

anyways, I wasn't trying to come off as 'bashing' or flaming anyone, I am just throwing in some opinions into the mix, be constructive, and please don't turn this into a war and I won't

I am sure (though I've never used it) that MA *IS* a really good codec, but it'll get my full respect once a less restrictive license is placed on its codebase.

-r

Monkey\'s Audio source code available !

Reply #11
Actually, FLAC looks rather unattractive now. MAC has an unbelievable speed/compression ratio and now that it is (partially) open source, the disadvantages of FLAC look to be too much...for the moment.

The nice thing about lossless is that if you pick the "wrong" format you can reconvert without losing the source.

Monkey\'s Audio source code available !

Reply #12
Ok, I moved some open source discussion to this thread from the "Monkey's Audio goes Linux thread"
Juha Laaksonheimo

Monkey\'s Audio source code available !

Reply #13
Some people just want to complain, and they'll do so about anything. When it's GPL, they'll whine that it can't be used in LGPL programs, and vice versa. When it's PD, they'll bitch about it not having such a big userbase as FLAC already has (at least in the Open Source community). It's just stubbornness on their part. But with the source available, there is really no need to worry about other Open Source projects saying "Oh, I won't use this", because frankly, their support isn't needed since MAC is already superior to theirs.

Monkey\'s Audio source code available !

Reply #14
Quote
Originally posted by mithrandir
Actually, FLAC looks rather unattractive now. MAC has an unbelievable speed/compression ratio and now that it is (partially) open source, the disadvantages of FLAC look to be too much...for the moment.
I wonder if FLAC can be tweaked using some of the ideas from MAC. I mean you can protect source with licences, but you can't protect ideas.
And FLAC is streamable, at least MAC 3.80 is not (I'm not sure about latest MAC bitstream). Not sure what other advantages there are in FLAC bitstream compared to MAC bitstream.
Juha Laaksonheimo

Monkey\'s Audio source code available !

Reply #15
oh yeah baby!  open source wooo!

looks like my post in the "monkey's audio goes linux" thread has no relavence anymore, now that flac's biggest leg up on monkey's audio has just been eliminated.  wooooo!

hope people start porting monkey's audio to even more OS's soon.

Monkey\'s Audio source code available !

Reply #16
Quote
Originally posted by SNYder
hope people start porting monkey's audio to even more OS's soon.


That would really be great.

And I hope it helps to consolidate MA as lossless compression scheme of choice. That would be even better!

Monkey\'s Audio source code available !

Reply #17
so much bashing...so much...

when monkey's is able to:
1. compress/decompress
2. playback through plugins
3. be available to the public
4. become freely distributable [gpl, etc.] *well, this may be optional...
5. and still be superior to flac [compression ratio, speed performance, stability, etc.]

...for all operating systems who previously used flac, guess what?  they won't use flac anymore [probably].  until then, everyone will continue using flac...cause they can't use monkey's yet.  why is this such a complex rationale for some of you.  it isn't even close to being complicated.

Monkey\'s Audio source code available !

Reply #18
I am glad Matt is going the way everyone wanted him to go.

Monkey\'s Audio source code available !

Reply #19
Yeah, even though Monkey's Audio [strike]is now open source[/strike] source code is available, there's not much support for it at all outside Win32, nobody knows what it's going to be.
Also, have to say that at the moment I believe much more to the FLAC-project as a whole.
It really is a long way for MA and Matt or someone else to start whole new project in order to Monkey's Audio to be similar to FLAC (development, goals, support, etc.)

Knowing that FLAC is a nice open source project going on already and it even has hardware support, I'd more willingly like to see FLAC adapt some of the ideas of Monkey's Audio to increase compression. Of course it would be nice if this was done in co-operation with Matt, and proper credit to Matt could be given.

I guess what I want to say is, that FLAC is better and more clear project with specific goals and wider support.
Juha Laaksonheimo

Monkey\'s Audio source code available !

Reply #20
First off: kudos to Matt.

Second: If I were Matt and you starting complaining after I just threw you a bone, I'd seriously consider taking the bone back. Matt will not do this because he's such a cool guy.

What I gather from his license is that he wants to know what you're doing and he doesn't want you to go make a profit on something that's 95% his code. I suspect he also doesn't want the great Monkey's Audio name being tainted... I can just picture all the clones now: .COW, .MOO, .BEAR, .GOAT (ack!)... hahaha

Monkey\'s Audio source code available !

Reply #21
I tend to not like describing things like this as "open source," because it confuses the issue.  When I (and many other people) use the term "open source" we mean that the source is available under a license that meets the requirements of the Open Source Definition as stated by the Open Source Initiative (these are essentially identical to the Debian Free Software Guidelines).  To most people when you say "this is an open source project," it means that the source is available and you can modify it and distribute modified copies.  I.e. it's a community project, anybody can get the code, improve it, and distribute their improved versions.

This I'd called "source available."  Certainly that's a good thing, and better than closed-source, but it's not the same as "open source."  For example there are versions of Solaris for which the source code is available, but it's certainly not an open source project.

Note: this isn't meant to be an attack on the license; it's his code, he can license it however he wants, and I'm certainly glad that he's chosen to release the code for others to view.  But I'd like to avoid using confusing terminology, since to most people involved in the open source community the term "open source software" has a very specific meaning, and Monkey's Audio as currently licensed is not open source software.

Note2: This isn't directed in any sense at the Monkey's Audio author, since from what I can see he himself describes it as "the source code is available," and doesn't call it "open source"; but some other people are doing so, which is what I'm correcting.

Monkey\'s Audio source code available !

Reply #22
Quote
Originally posted by JohnV
I wonder if FLAC can be tweaked using some of the ideas from MAC. I mean you can protect source with licences, but you can't protect ideas.
And FLAC is streamable, at least MAC 3.80 is not (I'm not sure about latest MAC bitstream). Not sure what other advantages there are in FLAC bitstream compared to MAC bitstream.


Well, now that I've looked through the code, let me post what I've found.

First, the license does not preclude a reimplementation.  In the US, probably no license could (yet).  From the FLAC point of view, for this option to make sense, all of these have to be true:

1. The algorithm should not be covered by any patents.

2. The algorithm should be faster in a cross-platform way, i.e. it should not be faster than the basic FLAC algo on one machine because of assembly, and slower on another when both are in C.

3. The resulting complexity should be worth the improvement for all situations the format is designed for.

First, take #1.  If a format had a patent on it and not backed by a huge conglomerate, it is dead.  From the companies I've talked to, even if your method looks complicated enough that it seems there's a chance of part already being patented, that's enough to make people nervous.  So either someone else has a patent (possible, see #3), Matt has/will have a patent (less likely), or it's scary (see #3) or it's free and clear.

2. Don't know too much about this one yet since I haven't tried to compile it yet (the binary he distributed wouldn't link at runtime for me).  The only thing we know is that without the inline assembly the higher modes are 2-3x slower (from his docs).

3. Let's compare FLAC vs. MAC this way:

FLAC:

- break audio into blocks
- simple interchannel decorrelation for stereo
- construct FIR filter via LPC analysis
- code the residual with static Rice coding

MAC:

- break audio into blocks
- simple interchannel decorrelation for stereo
- fixed first order linear filter
- low order adaptive linear filter
- 0-2 levels of small neural nets
- code the residual with a range coder

Now if you know about this stuff MAC is way more complex.  I'm actually pretty impressed.  But it tells us a few things.  One is, to get the high compression and good speed you have to code the neural net stuff in assembly.  Next, you'll have a hard time convincing someone there isn't a patent on anything in that already.  Last, with all that in mind, it is pretty hard to pop that sucker into an embedded device, which FLAC is intended to do.

So, there is a lot for study there.  I may be able to build off what he's done in a way that is consistent with FLAC goals.  It will be interesting to study his adaptive filter and neural net more.

Josh

Monkey\'s Audio source code available !

Reply #23
Quote
to get the high compression and good speed you have to code the neural net stuff in assembly. 
:eek:  didn't see that coming...

Monkey\'s Audio source code available !

Reply #24
Honestly, it's a little depressing to be taking damage for giving MAC away.  I've put a lot of work into it and turned down a lot of money to keep it free for everyone.  The license is there to protect me and the Monkey's Audio project -- not because I'm an ass.

Anybody who has ever wished to use MAC in their own product that has been considerate enough to contact me first has been given free reign to do anything they want with it.

Thanks to everyone who has been supportive...

-Matt