Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
Random tests have floating point errors.
But 0 expects
0.000000
instead of0.0000000
, which only has 6 decimal places. Similarly, when values have leading zeroes it expects more than 7 decimal places, like-0.06421801
instead of-0.0642180
,-0.004701102
instead of-0.0047011
, ... This is actually 7 significant digits, not 7 decimal places.Seriously, 6 solves without anyone catching this?
The input is not real MIDI: delta time in MIDI note packets are given as integer ticks, not actual duration in seconds. In the current design there would also be possibilities that a note do not last a whole tick.
The provided link is just a Wikipedia dump to the MIDI article. Please be more specific what is actually wanted.
Why the hell is
Test.expectError
used with empty string argument, 4 times, in the test fixture? This is intentional hostile abuse of test framework.reference solution (hence the tests) is incorrect: A and B notes are associated with the wrong octave (1 higher than what they should be)description is misleading (see edits below)EDIT: Mmmmmh, wait... Might be that the description is misleading, without the link, actually... I'm not musician, so I don't know, but does A0 exists or not? the current state of the description suggests it doesn't, hence my second point above, but is that the case, actually?
EDIT²: confirmed, that's the info missing with the link. A0 is considered to be after C0, not before...
Link in the description is dead.
Julia translation kumited. I've changed the description a little, the description of how octave numbering works didn't match the MIDI spec or the test cases.
No random tests.
Test.expectError
does not provide useful information on fail.Would really appreciate a full example. Just use the input you showed, and show us the output.
Also, I'm pretty confused about the whole 10,000 times a second thing. If the length is 0.5 (assuming this means half a second--though you should explain this also), shouldn't there be 5,000 values?
Also, does each sine wave start at 0 degrees?
It sounds like an interesting kata to me, but for someone who doesn't understand the details of sound engineering it's difficult to grasp.