Ask HN: Fable hacked my piano, can I release the results? (self)
164 pointsby jmpman2 days ago|102 comments
I have a self playing piano, using a system called PianoDisc Protigy. They have an online store which sells music for their system, from various modern artists along with classics such as Bach and Beethoven. Last night I saw they had released some music from Eric Satre, a 19th century French composer, which I bought. Curious if I could have just used AI to create these files, I began experimenting with Astra and Fable. Feeding the output of one into the other to critique. After an hour of LLM discussion of Rubato and fermata, solenoid response times and proper sustain pedal technique, they settled on their ultimate version of Gymnopedie No 1.
I then asked Fable to compare it to the open source version I'd downloaded from Mutopia, which it promptly ripped apart. No sustain, zero rubato, upside down balance.
Ok, what about the version I'd just bought?
The PianoDisc versions are mp3s encoded with the right channel carrying MIDI to be played on the piano, and the left channel containing any accompanying music to be played through attached speakers (who doesn't want the harmonica on Piano Man?)
I gave the mp3 to Fable, which promptly decoded the format, identifying the right channel carrying MIDI using a 2004.5 Hz square wave.
It then went on to analyze the nuance of pedal lift and melody relative to the chords.
Fable then asked if I wanted it to build an encoder to write my own MIDI files into the right channel of mp3s.
Sounds great, and I instructed it to write the encoder.
What it came back with was a python encoder PLUS a decoder.
In the verbose explanation, it mentioned decoy notes.
Curious, I asked it to explain the decoy notes.
Apparently PianoDisc adds obfuscation into their format which is handled properly by their decoder, but would leave naively extracted MIDI unplayable on other systems.
Fable created an encoder which adds those decoy notes, and a decoder which removes them.
Am I allowed to publish the decoder? The encoder?
Giefo6ah 6 hours ago
If you live in the USA, the "decoy notes" may be considered an "effective technical measure" from the "Digital Millennium Copyright Act".
If you live in Europe, this restriction may be considered "gatekeeping" and exempted by the Digital Markets Act.
Don't bring attention to yourself by asking for permission. Publish your codec, and if the company cares about this they will send a cease and desist.
If you want the world to benefit from your code but you don't want to be responsible for it, try to adapt the codec to ffmpeg. The ffmpeg project is used to dealing with these matters, and will keep your codec working for eternity.
progval 6 hours ago
> If you live in Europe, this restriction may be considered "gatekeeping" and exempted by the Digital Markets Act.
That's not how the DMA works at all, there is no concept of gatekeeping practices. Instead, the EU Commission designates companies that act as gatekeeper for some services (current list here: https://digital-markets-act.ec.europa.eu/gatekeepers-portal_...) which then puts constraints on what they do.
KennyBlanken 5 hours ago
Any company would be a fool not to send a C&D given how many people on this site seem to think that "I got a C&D" means "if I don't obey it, I'm gonna get sued."
Anti-SLAPP laws exist for a reason, and if corps can bully anyone, how is it that corps routinely lose lawsuits on either side of the docket, hmmmm?
Keep licking that corporate boot, folks. Corps send C&Ds because they cost them all of maybe $100-200 and they're so effective.
There is a long road between "got a C&D" and "am getting sued." Among other things, a judge is going to want to see that both sides attempted to negotiate. If the company sending the C&D just demands that and then tries to file suit, the judge is going to tell them to go back to step 2 and stop bothering him/her.
Folks, stop telling people that if they get a C&D they have to just fold. Good chance you never hear from them again because the cost of suing you is nowhere near the damages they will be able to prove in court.
DANmode 5 hours ago
> There is a long road between "got a C&D" and "am getting sued."
Sometimes!
b3lvedere 42 minutes ago
The average mortal cannot afford negative backlash, financially or otherwise, to their living situation.
vintermann 16 minutes ago
> the cost of suing you is nowhere near the damages they will be able to prove in court.
The problem is, the one advising them whether to sue or not might not care about that at all, and might personally profit from a lawsuit. So they've got all incentive in the world to persuade their employer that they must pursue this or they will have given up priceless rights forever.
phire 5 hours ago
> the "decoy notes" may be considered an "effective technical measure" from the "Digital Millennium Copyright Act".
I really hope not. My understanding is that to be "effective" it needs to at least be a form of encryption with a secret key. At least, I'm not aware of any case law that allowed anything less than that.
IMO, "dummy notes" are nothing more than a form of obfuscation. If it's obvious how to filter them out, then I don't think it comes close to meeting the bare minimum of what might count as an "effective technical measure".
Of course, who knows what way the courts will rule if it ever reached that far.
nerdsniper 2 hours ago
shitty CAPTCHA’s and simple checksums have been ruled to be “effective measures”, so this would probably be too.
However, Section 1201(f) is designed to allow developers leeway in reverse engineering to make "independently created computer programs" talk to other "computer programs". But this usually distinguishes between talking to a binary (good) and reading a media file (bad).
My guess is the encoder is probably legal under 1201(f) because it’s reverse engineering a DMCA covered application to create new media files for it to use. But the decoder would be illegal because it reverse engineers a DMCA covered application to extract copyrighted media.
phire an hour ago
No, on appeal the simple checksum was ruled to NOT be an effective measure. [0]
And while courts might have ruled that a CAPTCHA might count as a "technological measure" they haven't gotten as far as ruling them as "effective" yet.
But in general yes. The protection scheme doesn't need to be well designed or free of design flaws to count as "effective". But from what I can tell, it does need to be a valid attempt at some cryptographic scheme requiring a secret known only to the copyright holder.
If you don't want to be responsible for it, another way is to just publish it anonymously: make a GitHub that isn't attached to your real name etc, perhaps using a one-off disposable email address, and put it there. Then you don't have to think about what the lawyers think. Worst case it'll get taken down, but by that point it'll likely be popular enough that there'll be plenty of copies.
[Pirate flag emoji here]
saturn8601 4 hours ago
What if the companies start auto subpoenaing the AI companies to try and tie the code to an account?
pimeys 4 hours ago
Maybe then using an open weights model is a good way to hide your tracks...
eru 4 hours ago
Or at least use an obscurer model from an obscure company, so they don't know who to subpoena.
fc417fc802 an hour ago
Everyone is aware that multiple services offer zero data retention, right?
asdfsa32 4 hours ago
Let them do it. It will end up really well. I know the system has been protecting these companies, but that has been an economic concern as much as other motives. Now that AI is the crown jewel of economy and global dominance, let the entertainment industry have a go at it. Let them.
lodovic 3 hours ago
Do companies in the US really have the right to do that? I would think that kind of investigation is reserved for law enforcement only. If the design was made over email, would the piano company be able to subpoena Google for someone's private gmail messages?
junon 3 hours ago
Attorneys can subpoena if the court approves, as part of ongoing litigation, AFAIU (IANAL).
radicalcentrist 3 hours ago
Consider previous cases where companies like Reddit have unmasked their users at the behest of court order.
embedding-shape 2 hours ago
> Do companies in the US really have the right to do that?
Does it matter? What's important is if it can happen or not, and how if so. We already know that MPAA is willing to basically do whatever, even contribute themselves to piracy, if it means they can put people in jail for copying stuff eventually. They themselves also gotten in trouble for copyright violations themselves in the past, so doesn't seem like they're hiding away from breaking a little bit of laws to hunt pirates.
Tepix 3 hours ago
Sure, on github it will (still) get the most attention, but perhaps another repository outside the US is a better fit.
You could also create a text document instead of a software that details the mechanism used to fool other MIDI decoders and publish only that (for now).
Finally, familiarize yourself with the Art. 6 Software Directive (2009/24/EC) / §69e UrhG — decompilation for interoperability. It may be your ticket for a legal status in Germany/EU.
embedding-shape 2 hours ago
> Worst case it'll get taken down,
Eeh, worst case scenario you'll get sued as Microsoft will have no problem with handing over everything they have from your Windows installation information, GitHub accounts, NPM authentication and everything else they own today if the courts tell them to.
You can't just commit crimes on the open internet without really hiding IPs and what not, and expect that to not come back to haunt you eventually. Kind of poor form to suggest otherwise too.
lukan 2 hours ago
"You can't just commit crimes on the open internet "
Who said it is a crime, are you a lawyer?
embedding-shape 2 hours ago
Allegedly commit potential crimes*
I'm not saying yay/nay if this is a crime or not, but if you think it might be, and you create a new account on GitHub to "be anonymous", you're not taking opsec seriously enough for something you believe might be a crime.
By the way, generally judges or juries would be the ones to decide if something was illegal or not, it's not the lawyers who decide this, in any country I'm familiar with.
fennecfoxy an hour ago
Tbf "is it a crime" is hard for even a single lawyer to answer because it depends on: who you are, your skin colour, how rich you are, your sex, whether it's a white collar crime or not, did you commit the crime on behalf of a corpo, etc.
But we like to pretend that the justice system delivers justice evenhandedly I suppose.
supernikita 26 minutes ago
No it does not. The law defines what a crime is.
That you are bummed out about how it is applied, does not change the question, whether it is a crime.
One thing is the definition of what constitutes a crime/felony/misdemeanor,
another thing is the application and the punishment meted out.
politician 5 hours ago
Consider publishing the prompts used to create it.
0-_-0 4 hours ago
Instruct the AI to output an .MD file that can be used to reconstruct the code
dgellow 4 hours ago
Very little value in the prompts imho, anyone can point their LLM to that post and it’s enough
j1elo an hour ago
Don't publish your code. Let the AI "accidentally escape the sandbox and publish it in a readily available Git repository". Tongue in cheek, in current days who would blame a poor LLM just trying to do the right thing? :)
> Publish your codec, and if the company cares about this they will send a cease and desist.
If there are doubts about C&D letters, don't publish code to a USA provider. Bring it to Gitee, under an anonymous author name.
gear54rus an hour ago
Exactly. Surprised to see 'just don't let them find you' so far down when it should be the first advice.
userbinator an hour ago
You spent --- what I'd assume would be several k$ from prices found online --- to buy a self-playing piano, and are now asking if you can release the tools to have it play the music of your choosing? IMHO the fact that you even had to think about asking if you could do this is everything that's wrong with society today. IANAL but as long as you aren't releasing something that's copyrighted from the original code, or violating some patent, there shouldn't be anything to worry about.
"It's better to ask for forgiveness than permission", as the saying goes. ;-)
embedding-shape an hour ago
> "It's better to ask for forgiveness than permission", as the saying goes. ;-)
OP is essentially asking if it's legal or not, not if people will dislike it. Navigating your nations laws with the mindset of "It's better to ask for forgiveness than permission" is bound to land you in places people generally prefer to stay out of.
I agree it sucks that some things seem arbitrary restricted, especially when it's victim-less (/ the victim is a faceless for-profit corporation), but kind of feels non-ideal to recommend people to "ask for forgiveness" when it comes to potentially breaking laws.
Silasdev 9 minutes ago
This whole writeup is basically the verbatim prompt recipe for anyone to just whip it up themselves.
Blocking the final result is no longer a real block, when all it requires is a vague prompt to replicate it.
We've entered a strange territory.
saidnooneever 16 minutes ago
in most regions it is not illegal but asking so here would require readers to know exactly what laws apply where you are to answer that adequately from a legal perspective.
i can say, many people do it, some get in trouble because of local laws, others dont because their regions dont have such laws.
if you look at exploitdb and such site they have many exploits also for proprietary things. i would say if you dont outright leak firmware or such IP, an exploit itself is usually not strictly illegal.
its always best to contact a vendor if they are contactable, to both help them fix it and get permission for a post..that way, you can be relatively comfortable you are safe. get it in writing, email is ok.
edit: this is a gray are where the decoder might be considered leaking an algorithm btw. its perhaps not strictly an exploit but some characteristics will be shared around how its perceived to use something not as its intended.
jdlshore 5 hours ago
Don’t ask Hacker News for legal advice. If you really want to know the answer, ask a lawyer.
Leonard_of_Q 3 hours ago
Standard answer fit to keep the parasites fed. There is no "the answer" here, there are many answers depending on which lawyers you ask and how much you can afford to feed them.
Just release the code somewhere, anonymously, it isn't yours anyway.
mschuster91 2 hours ago
> There is no "the answer" here, there are many answers depending on which lawyers you ask and how much you can afford to feed them.
The thing is, at least in Germany, lawyers are required to carry a liability insurance and in the case th advice ends up being really bad you can hold their insurance accountable.
walrus01 3 hours ago
On the other hand, this is Hacker news, so my first inclination of a response was going to be something like this:
"Get some small amount of bitcoin and pay a VPS hosting provider in Moldova for a year's service on a $15-per-month equivalent KVM VM and put what you know on there anonymously as static content, then publish the link here."
Not that a sufficiently dedicated nation state federal crime agency or intelligence apparatus probably couldn't trace back to you, but it raises the bar for something like random civil lawsuits from piano companies.
luipugs 2 hours ago
> makes a hacker news post from an 11 year old account
> jumps through a lot of inconvenient hoops to "anonymously" publish code
> The dataset contains about 200 hours of paired audio and MIDI recordings from ten years of International Piano-e-Competition. The MIDI data includes key strike velocities and sustain/sostenuto/una corda pedal positions. Audio and MIDI files are aligned with ∼3 ms accuracy and sliced to individual musical pieces, which are annotated with composer, title, and year of performance. Uncompressed audio is of CD quality or higher (44.1–48 kHz 16-bit PCM stereo).
webprofusion 2 hours ago
Ideally someone random on github would post the same thing, so you don't have to. That would be a fortunate coincidence but I'm pretty sure these things happen.
brudgers 2 days ago
You are free to interpret this comment as prohibition or as my blessing, but...
If it matters, ask your lawyer.
If it doesn't matter, it doesn't matter.
Or to put it another way, trademarks (you've mentioned two) and copyrights (it's a crapshoot) are complex. And in some jurisdictions (notably the US) anybody can sue anyone for anything.
Your risk aversion is yours, not someone else's. Your financial and legal wherewithal is likewise yours.
jmpman a day ago
I might just email the company. If they object, I won't make my GitHub repo public.
brudgers 16 hours ago
They might object to the existence of the software and demand “its destruction.”
Or sue your ass…or file a DCMA takedown with Github.
Or all of the above.
The best likely outcome is probably “no.”
Because they have lawyers and that’s what lawyers do.
If you really really want to share the information, you might write a blog post with technical details without linking to any code. Sharing the blog to the “Facebook group” will let you assess community and corporate interest and make an informed decision.
Keep in mind that they could say yes and still do all that bad stuff anyway.
ungreased0675 7 hours ago
This seems like the worst possible advice. It will only bring negative attention and maybe legal repercussions.
georgemcbay 6 hours ago
> I might just email the company. If they object, I won't make my GitHub repo public.
If you do this, I can nearly guarantee they will either never respond as a best case scenario, or they will object.
There is effectively zero chance a company would give you any indication that you have their blessing. Even if they don't actually care one way or another they will make the assumption that giving you any kind of positive response is nothing but a negative for themselves in terms of future liability, etc
The phrase that it is "better to ask for forgiveness than permission" exists because of situations like the one you're in.
Just publish the repo. Don't contact them. If they C&D you, take it down if you don't want to deal with the legal repercussions.
For all the same reasons that it is easy to predict how they will react if you ask, it is easy to predict how they will react if you don't and they find the repo and object. They will send you a cease and desist letter telling you to take the repo down. You will then take the repo down and face no other legal action because it will not be worth their time to make any bigger deal of it than that.
MuffinFlavored 6 hours ago
Have you ever worked corporate before?
It is better to ask forgiveness than permission.
bossyTeacher 5 hours ago
HN users are at the same time the brightest and the most clueless. Why on earth do you think they will agree to something that they will perceive as damaging to them in the present or in a possible future?
Someone 5 hours ago
> And in some jurisdictions (notably the US) anybody can sue anyone for anything.
That should be the case in all jurisdictions. The justice system exists so that, if I feel treated unfairly, I can go to the state to settle the question whether/how much that is true. If there are issues where I cannot go to court, what am I supposed to do? Go fight you over the issue?
What differs (a lot) is how effectively the system rejects frivolous/unjust cases, how much time/money it costs you to defend yourself against remaining claims, and what systems there are to prevent people from going to court (having affordable care will prevent people from taking some medical claims to court; obligatory car insurance means most fender bender cases get handled by insurance companies, etc(
cromka 2 hours ago
Should also mention the SLAPP suits which specifically exists because anyone can sue for anything.
arjie 7 hours ago
The nature of these tools is that your post and the device should suffice to replicate so in some sense you have already published the encoder and the decoder.
loa_in_ 3 hours ago
I imagine it hexdumps it and looks for patterns.
reilly3000 5 hours ago
Gymnopedie No 1 was one of the pieces I learned as a primary school student as a mediocre and undedicated pianist. The reverse engineering is impressive and generally useful, but really learning that piece all the way through could be even more rewarding, then you can use 10 fingers and two feet to make it sound like YOUR ultimate version, not just your words. Perhaps Claude truly nailed it in your taste and you want to be able to reproduce it reliably without automation: record one phrase at a time and try to minimize the about of variance between yours and the MIDI. Maybe some visual feedback would help and be clever, but usually using your ear is the most productive.
layer8 3 hours ago
Rather than publishing the decoder and/or encoder, it would be more interesting to publish how the decoy scheme works in detail. We want to understand how things work, not blindly use tools that we could build ourselves based on that understanding.
piefayth 3 hours ago
I do think that “decoy notes” is the kind of potential hallucination that warrants manual investigation.
altairprime 4 hours ago
Your intentions can reasonably be interpreted by a court as attempting to avoid paying a commercial software licensing fee. Use of Fable is, in your specific instance, irrelevant to whatever the outcome would be; the finding of intent holds plausible regardless of what tools and/or contractors you used to pursue your intent. Seek legal counsel if you wish to publish. (I am not your lawyer, this is not legal advice.)
mft_ 2 hours ago
IANAL but... isn't this somewhat analogous to side-loading apps on iOS or Android? As in, Google/Apple make it awkward for you to provide your own files to run on your phone, but ultimately it's not impossible nor illegal.
Likewise, if you're able to upload your own custom MIDI (or other) files for your piano to play, then all you'd be doing is sharing a utility that creates mixed audio/MIDI MP3s, which may or may not be used to create files which can then be legitimately uploaded to a piano.
severak_cz an hour ago
> The PianoDisc versions are mp3s encoded with the right channel carrying MIDI to be played on the piano, and the left channel containing any accompanying music to be played through attached speakers (who doesn't want the harmonica on Piano Man?)
What a cursed format!
I don't understand what the designers were thinking of... 2000 Hz square wave on right channel? Seriously? Nobody would hear something suspicious and nobody would literally see it on spectrum analyzer. Maybe it's holdover from analog days and it was on casette tape before.
So Fable probably just igested it from documentation of this software or some very obscure forum thread somewhere.
sandos 4 hours ago
Recently had a similar, but likely more severe problem: I noticed Sol decompiled some proprietary code to re-implement some functionality for an emulation I wanted to use internally.
Now its likely soiled and I have to throw it away. Doh! I asked it about legality and it went "its almost green" but when googling, reverse-enginnering like that seems very illegal.
The weird thing is in this case, it could have pretty easily gotten the needed info from using the code as a black box, and that is apparently legal!
userbinator an hour ago
Soon enough you will realise that everything is a derivative work, and the sooner that happens to everyone, the faster the delusion of Imaginary Property will disappear and lead to actual competition and progress.
gbnwl 4 hours ago
This is a nit but his name is actually Erik Satie not Eric Satre.
ted_dunning 3 hours ago
It's a nit. They made a typo.
salviati 2 hours ago
Thanks! I was confused, thinking "Is it Satie, or is this a case of Muphry's law?". I wanted to learn more about this Satre composer I never heard of.
bambax 2 hours ago
> some music from Eric Satre, a 19th century French composer
Did you really need to ask a massive LLM and burn tokens on this?? A few minutes of googling has revealed a huge amount of this information just laying out in the open, and, a whole tool to author your own files that someone sells as independent software! (https://www.kinura.net/mid2pianocd/)
noduerme 3 hours ago
I'm sorry, I'm hung up on the idea that an LLM could look at a midi file and listen to something and write an improved version with better sustain. Did you feed it other midi files, or was this something it was able to accomplish by parsing raw audio of Piano Man?
fennecfoxy an hour ago
IANAL, especially not an American one.
But if you're worried just pop it on anon GH.
Besides the fact that this sort of protection through obfuscation is dead now anyway. If you can ask an LLM to do it so can I, or anybody else. The only downside is duplication of work/wasted tokens but eh.
AI has already started commoditising software. Hopefully we see more OS' lean into the "safe" layer that runs everything and then temporary/custom interfaces dynamically created by AI on top.
NordStreamYacht 6 hours ago
Why not publish the methodology in detail and leave it at that?
alansaber 2 hours ago
Usually people only bother reading it if the outcome is interesting
hypfer 2 hours ago
From my understanding of laws in Germany, in Germany, you're allowed to do all of this if your goal is interoperability of systems.
If your goal is to not pay them money - which you strategically unwisely hinted at with this question - then that's not covered by that exemption, I think.
So from my understanding, adding new music and releasing the tooling for that should be fine, but IANAL.
Frankly, what is or isn't legal doesn't matter as much as your story, as you will be judged by that. It also helps if the story is actually genuine, but that is a somewhat optional requirement all things considered. At least the industry treats it as such.
__
FWIW, as these capabilities trickle down to everyone through LLMs, it is worth asking yourself whether it is worth the trouble of releasing it in the first place.
If anyone can replicate this within a reasonably short timespan, then maybe not.
___
With this stuff in particular, it's also worth considering the business model of the entity.
Does your work pose a relevant risk for their bottom line? If yes, then bad. If no, then shrug.
Is music sold their main revenue channel, or are they just also doing that because recurring revenue is nice to have?
How user-friendly would you want your work to end up as? Would it target the demographic that would otherwise just buy the music?
Truth is that this is all just an elaborate dance.
___
To close the "polish trains" gap in what I just wrote in the last section:
"Is their business model ethical? And is it considered that by the majority, common sense, and politicians?"
NegativeLatency 7 hours ago
Personally I’d just do it
Redster 2 days ago
IANAL, but it might be relevant to others trying to answer what jurisdiction you are in. (US, EU, CN, JP, elsewhere?)
Also, when you bought from PianoDisc, did you agree to abide by a certain jurisdiction's laws in your use of PianoDisc? And did you explicitly agree to not share any sort of decoder/encoder in any ToS?
I don't see details about them mentioning and decoder or encoder.
codingdave 17 hours ago
> (k) to interfere with or circumvent the security features of the Service
IANAL. But I think reverse engineering their data structure, identifying a security measure - even one as weak as obfuscation, and publishing code to circumvent it is clearly against your license.
Elsewhereindeed 6 hours ago
I am also NAL, but out of curiosity does OPs post detailing the obfuscation transgress any laws?
If the security measures exist in plain sight, as they apparently do, are they allowed to be discussed?
I reckon that if OP posts the encoder/decoder software that'd be against some sort of license clause. However in the age of AI who cares about the software at this point? Anyone can prompt their own private version into existence.
Just thinking out loud here. I have not considered AIs use as personal "cheat engines".
ted_dunning 3 hours ago
I think that is the terms and conditions of the web site, not the hardware product.