allthemusicllc / libatm Goto Github PK
View Code? Open in Web Editor NEWLibrary for generating and working with MIDI files
Home Page: http://allthemusic.info
License: Other
Library for generating and working with MIDI files
Home Page: http://allthemusic.info
License: Other
Hi,
watching the TED talk brought me to the idea to enhance libatm with a simple function to compare all the melodies generated with MIDI melodies available in the http://millionsongdataset.com/
Filtering for copyrightable melodies in the set (some are too old already etc.) allthemusic could release a dataset of def. "free melodies" one could use today because it's "copyrighted" by allthemusic (green spot).
Also, the website could be enhanced with a web audio midi player (I could help with this) where you can choose from "free" melodies at random or selective by scale, mode etc.
Best,
Aron
Hello Damien, Hello Rubin,
I've just read about your project (all possible melodies) a couple of hours ago. I did exactly the same and I started the project about 7 years ago. I can proof it because I uploaded large parts of my created melodies to external servers (e. g. box.net) which have time stemps of 2014. I even stepped a lot of steps furher: I tried to generate countless chord melodies (almost the half of all possible variations in a 4 chord scenario) and "full" MIDI Songs, too, which contain up to 80 bars. I have several terrabytes of generated MIDI Data.
I decided to NOT release any of this past to public. You will face the same problem. You declared a huge amount of melodies as CC0 but you are not the original creator ALL of them (copyright is even not the related issue in the first place) . I am not sure if you know what you did... You re-created pre-existing melodies and you did not only gave them away for free, you told the world that they can be used for almost all purposes - but there ARE a lot of melodies included in this library who will have ownership by 3rd parties.
Besides song rights, there are a lot of MIDI and and audio loop based companies, who have a copyright of millions of that files you declared as CC0 and you have no option to filter that at all!
It is comparable to someone uploading a Michael Jackson Song and it declare it as Public Domain - it won't work out and it will result in lawsuits. Times thousand in this case.
The next main thing is: there ARE owner rights, even if the product is declared as "CC0". The user of "your" files is NOT allowed to claim to be the creator - this right is exclusively granted to the original creator of the CC0 content.
Sincerly,
Wolfgang
$ if [ -f $CARGO ] && [ -x $CARGO ]
then
echo "::: INFO: Checking code for errors" &&
cargo check --lib &&
echo "::: INFO: Building code in release mode" &&
cargo build --release &&
echo "::: INFO: Running library and doc tests" &&
cargo test --lib && cargo test --doc
else
echo "::: ERROR: Failed to locate cargo executable"
exit 1
fi
::: INFO: Checking code for errors
Checking atm v0.2.0 (/home/li)
error[E0433]: failed to resolve: could not findMIDINoteSequence
inlibatm
--> src/directives.rs:214:27
|
214 | let seq = libatm::MIDINoteSequence::new(
| ^^^^^^^^^^^^^^^^ could not findMIDINoteSequence
inlibatm
error[E0412]: cannot find type MIDINoteSequence
in crate libatm
--> src/directives.rs:13:75
|
13 | fn parse_sequence_argument<'a>(matches: &clap::ArgMatches<'a>) -> libatm::MIDINoteSequence {
| ^^^^^^^^^^^^^^^^ not found in libatm
error[E0412]: cannot find type MIDINoteSequence
in crate libatm
--> src/directives.rs:15:45
|
15 | let sequence = sequence.parse::libatm::MIDINoteSequence().unwrap();
| ^^^^^^^^^^^^^^^^ not found in libatm
error[E0412]: cannot find type MIDINoteSequence
in crate libatm
--> src/directives.rs:87:27
|
87 | pub sequence: libatm::MIDINoteSequence,
| ^^^^^^^^^^^^^^^^ not found in libatm
error[E0412]: cannot find type MIDINoteSequence
in crate libatm
--> src/directives.rs:128:27
|
128 | pub sequence: libatm::MIDINoteSequence,
| ^^^^^^^^^^^^^^^^ not found in libatm
error[E0412]: cannot find type MIDINoteSequence
in crate libatm
--> src/directives.rs:241:27
|
241 | pub sequence: libatm::MIDINoteSequence,
| ^^^^^^^^^^^^^^^^ not found in libatm
error[E0599]: no method named gen_buffer
found for type libatm::MIDIFile
in the current scope
--> src/utils.rs:367:19
|
367 | mfile.gen_buffer().unwrap().as_slice(),
| ^^^^^^^^^^ method not found in libatm::MIDIFile
error: aborting due to 7 previous errors
Some errors have detailed explanations: E0412, E0433, E0599.
For more information about an error, try rustc --explain E0412
.
error: could not compile atm
.
To learn more, run the command again with --verbose.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.