Live data from Hacker News

Programmers generate every possible melody in MIDI to prevent lawsuits

musictech.net

161–170 of 340 posts

Re: Programmers generate every possible melody in MIDI to prevent lawsuits

#161
post #66

The code is written in Rust. The core algorithm can be found here: https://github.com/allthemusicllc/atm-cli/blob/master/src/ut... (Specifically the function gen_sequences. It basically uses multi_cartesian_product to iterate over all permutations.) Isn't it a bit of wasted space to store the generated data on archive.org ( https://archive.org/download/allthemusicllc-datasets )? I mean, as we see, it's trivial to cre…

> Isn't it a bit of wasted space to store the generated data on archive.org Could the algorithm be considered a form of compression?

Yes, mathematically. But copyright requires copying, strictly speaking, so you need a copy from which to have copied.

An algorithm that generates all possible English sentences doesn't demonstrate that I copied this sentence from it, and the balance of probabilities (used in tort cases) suggests that I came up with the sentence, run-on as it is, rather than performing that algo and then selecting that sentence. Moreover 17USC (102? sorry I don't recall) says that media needs to be "fixed" to acquire copyright; so me having to perform the algo makes it no impediment to my owning copyright of a sentence that, if performed, the algo would by expected produce (which is sensible really, perhaps the algo is errant and can't make this sentence, maybe it only forms grammatical sentences ...

Re: Programmers generate every possible melody in MIDI to prevent lawsuits

#163
post #14

It's interesting to think about this from a more general perspective: what if we're not limited to midi, and we're talking about a more general kind of _design_ problem, where the design problem is to select a good solution to a problem within some (large) but finite and theoretically enumerable search space. We can think of selecting a good melody to fit into a song as one example of a design problem -- searching th…

>Can we enumerate some large finite space of possible arrangements of atoms into molecules and then copyright them all, without putting any effort into analysis or experimental testing to see if any of the proposed molecules are fit for any purpose?

Pharma corps do this (with patents), ostensibly, but IP rights have a reasonable cost to them so they pre-filter.

Re: Programmers generate every possible melody in MIDI to prevent lawsuits

#164

Earlier quoted context omitted.

All the possible byte sequences contain all the possible programs. All the possible programs can receive input of infinite length and output bytes of infinite length depending on input. So if we can supply any input to any program and treat its output as part of result, does this argument still work? Is there such a number that can't be constructed by some program receiving some input?

> All the possible byte sequences contain all the possible programs. Correct. > Is there such a number that can't be constructed by some program receiving some input? Yes. Most numbers are not representable by a program...unless you allowed a program to be infinite length, in which case the first statement is no longer true. There's nothing particularly unique about a digit-based encoding for Cantor's diagonal argume…

> in which case the first statement is no longer true.

Why is that? What would be an example of an infinite program that could not be represented by an infinite byte sequence? Indeed, it seems trivial to map an infinite series of machine code instructions to an infinite series of bytes.

Edit: It seems like the first statement is false only if you use a different understanding of "possible" for "possible byte sequences" and "possible programs" where the former excludes infinite length and the latter does not.

Re: Programmers generate every possible melody in MIDI to prevent lawsuits

#165

Earlier quoted context omitted.

The code actually can produce every possible melody in MIDI. They simply have not stored every possible melody explicitly (uncompressed) on a hard drive (which is impossible, as the size is infinity). However, if you interpret the program itself as a self-extracting compressed archive, they actually have stored every possible melody (in a compressed way). So the question reduces to how much the type of compression ma…

Gotta love programmers. > So the question reduces to how much the type of compression matters here If you compress, you can copyright the compressed bytes. If you don't compress, you can copyright the uncompressed bytes. As far as that copyright extending to derivations, e.g. decompressions, the answer indeed situation-dependent. For example, converting a copyrighted font from TTF to WOFF does not remove the copyrigh…

This is true of fonts, as per the copyright office's "Policy decision on copyrightability of digitized typefaces".

However the example here, and the situation with fonts seem different. It is the case that font data is viewed as utilitarian and uncopyrightable. So we have a copyrightable program, producing uncopyrightable data. The argument here seems that we have a copyrightable program producing copyrightable data.

Re: Programmers generate every possible melody in MIDI to prevent lawsuits

#166

Earlier quoted context omitted.

It's definitely satire, but it's satire in the face of comical law. That's the point. If copyright lawyers want to argue originality based on an arrangement of notes in a 12 tone scale, and in a limited number of bars, then this is a completely valid argument against such a weak argument. The reality is that many number one songs can be tonally compared to many classical pieces, or even pieces from the last 40 years.…

> copyright lawyers want to argue originality based on an arrangement of notes in a 12 tone scale Interestingly, there are writers who want to argue originality based on the arrangement of letters in 26-letter alphabet! The world is indeed a strange place for the dogmatically logical programmer.

The whole concept of IP is absurd, and there are many absurd consequences you can derive from it.

But there are degrees of absurdity, it's one thing to do that when there's 26^100000 possible combinations, it's another when there's just 12^100 (and if you only care about melody it's overestimation, most songs will use much smaller subset of that).

Re: Programmers generate every possible melody in MIDI to prevent lawsuits

#168

Earlier quoted context omitted.

Ha! It does not work however, as a person's sexual preference is a fact, and a statement that either guesses or spits out all recognized variants is not a source of factual information -- no-one is any the wiser afterwards than before.

On the other hand if you offered it up as a fact with reckless disregard for its truthfulness... Again we see programmers trying to understand the law in terms of ‘how can a piece of data be illegal?’ while the law is quite happily focusing on making specific actions illegal. ‘You can’t arrest me, gold bars aren’t illegal!’ ‘Yes, but carrying them out of the federal reserve vault without permission is.’

"I invented this later but independently" isn't a valid defense, even if you can prove it. So it's not actions (like copying or plagiarism) that is prohibited, it's the result.

That's the problem with IP law.

In effect you give people monopoly on numbers. When the numbers are big nobody is bothered by this, because chance of arriving at the exact same one is effectively zero. But for songs the numbers are pretty small (depending on the encoding used to compare the songs), and the absurdity is evident.

Re: Programmers generate every possible melody in MIDI to prevent lawsuits

#169

It can be argued that since the melodies were generated by an algorithm, they are not a product of creative process and therefore not subject to copyright.

Now all we need is some “head cheese” [0] to generate the same thing using human neurons

[0]: http://www.technovelgy.com/ct/content.asp?Bnum=687

Re: Programmers generate every possible melody in MIDI to prevent lawsuits

#170
post #164

Earlier quoted context omitted.

> All the possible byte sequences contain all the possible programs. Correct. > Is there such a number that can't be constructed by some program receiving some input? Yes. Most numbers are not representable by a program...unless you allowed a program to be infinite length, in which case the first statement is no longer true. There's nothing particularly unique about a digit-based encoding for Cantor's diagonal argume…

> in which case the first statement is no longer true. Why is that? What would be an example of an infinite program that could not be represented by an infinite byte sequence? Indeed, it seems trivial to map an infinite series of machine code instructions to an infinite series of bytes. Edit: It seems like the first statement is false only if you use a different understanding of "possible" for "possible byte sequence…

I internally editorialized your first statement to be "all the possible [finite] byte sequences contain all the possible programs".

Because you cannot enumerate all infinite byte sequences, according to Cantor's diagonal argument as linked earlier. [1]

Calling certain numerical representations "computer programs" in no way changes the fundamentals. There is no way -- no matter how clever your encoding -- to enumerate all real numbers.

[1] https://en.wikipedia.org/wiki/Cantor%27s_diagonal_argument

Post reply on HN