Last active
December 16, 2015 18:38
-
-
Save vi/5478693 to your computer and use it in GitHub Desktop.
Reference sample for [codegolf](http://codegolf.stackexchange.com/questions/11463/mozart-golf-mini-rondo)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
71 3 | |
69 3 | |
68 3 | |
69 3 | |
72 12 | |
74 3 | |
72 3 | |
71 3 | |
72 3 | |
76 12 | |
77 3 | |
76 3 | |
75 3 | |
76 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
84 12 | |
81 6 | |
84 6 | |
79 1 | |
81 1 | |
83 4 | |
81 6 | |
79 6 | |
81 6 | |
79 1 | |
81 1 | |
83 4 | |
81 6 | |
79 6 | |
81 6 | |
79 1 | |
81 1 | |
83 4 | |
81 6 | |
79 6 | |
78 6 | |
76 12 | |
71 3 | |
69 3 | |
68 3 | |
69 3 | |
72 12 | |
74 3 | |
72 3 | |
71 3 | |
72 3 | |
76 12 | |
77 3 | |
76 3 | |
75 3 | |
76 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
84 12 | |
81 6 | |
84 6 | |
79 1 | |
81 1 | |
83 4 | |
81 6 | |
79 6 | |
81 6 | |
79 1 | |
81 1 | |
83 4 | |
81 6 | |
79 6 | |
81 6 | |
79 1 | |
81 1 | |
83 4 | |
81 6 | |
79 6 | |
78 6 | |
76 12 | |
76 6 | |
77 6 | |
79 6 | |
79 6 | |
81 3 | |
79 3 | |
77 3 | |
76 3 | |
74 6 | |
67 6 | |
76 6 | |
77 6 | |
79 6 | |
79 6 | |
81 3 | |
79 3 | |
77 3 | |
76 3 | |
74 12 | |
72 6 | |
74 6 | |
76 6 | |
76 6 | |
77 3 | |
76 3 | |
74 3 | |
72 3 | |
71 6 | |
64 6 | |
72 6 | |
74 6 | |
76 6 | |
76 6 | |
77 3 | |
76 3 | |
74 3 | |
72 3 | |
71 12 | |
71 3 | |
69 3 | |
68 3 | |
69 3 | |
72 12 | |
74 3 | |
72 3 | |
71 3 | |
72 3 | |
76 12 | |
77 3 | |
76 3 | |
75 3 | |
76 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
84 12 | |
81 6 | |
83 6 | |
84 6 | |
83 6 | |
81 6 | |
80 6 | |
81 6 | |
76 6 | |
77 6 | |
74 6 | |
72 13 | |
71 9 | |
69 2 | |
71 2 | |
69 12 | |
76 6 | |
77 6 | |
79 6 | |
79 6 | |
81 3 | |
79 3 | |
77 3 | |
76 3 | |
74 6 | |
67 6 | |
76 6 | |
77 6 | |
79 6 | |
79 6 | |
81 3 | |
79 3 | |
77 3 | |
76 3 | |
74 12 | |
72 6 | |
74 6 | |
76 6 | |
76 6 | |
77 3 | |
76 3 | |
74 3 | |
72 3 | |
71 6 | |
64 6 | |
72 6 | |
74 6 | |
76 6 | |
76 6 | |
77 3 | |
76 3 | |
74 3 | |
72 3 | |
71 12 | |
71 3 | |
69 3 | |
68 3 | |
69 3 | |
72 12 | |
74 3 | |
72 3 | |
71 3 | |
72 3 | |
76 12 | |
77 3 | |
76 3 | |
75 3 | |
76 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
84 12 | |
81 6 | |
83 6 | |
84 6 | |
83 6 | |
81 6 | |
80 6 | |
81 6 | |
76 6 | |
77 6 | |
74 6 | |
72 13 | |
71 9 | |
69 2 | |
71 2 | |
69 12 | |
81 6 | |
83 6 | |
85 12 | |
81 6 | |
83 6 | |
85 6 | |
83 6 | |
81 6 | |
80 6 | |
78 6 | |
80 6 | |
81 6 | |
83 6 | |
80 6 | |
76 6 | |
81 6 | |
83 6 | |
85 12 | |
81 6 | |
83 6 | |
85 6 | |
83 6 | |
81 6 | |
80 6 | |
78 6 | |
83 6 | |
80 6 | |
76 6 | |
81 12 | |
81 6 | |
83 6 | |
85 12 | |
81 6 | |
83 6 | |
85 6 | |
83 6 | |
81 6 | |
80 6 | |
78 6 | |
80 6 | |
81 6 | |
83 6 | |
80 6 | |
76 6 | |
81 6 | |
83 6 | |
85 12 | |
81 6 | |
83 6 | |
85 6 | |
83 6 | |
81 6 | |
80 6 | |
78 6 | |
83 6 | |
80 6 | |
76 6 | |
81 12 | |
85 3 | |
86 3 | |
85 3 | |
83 3 | |
81 3 | |
83 3 | |
81 3 | |
80 3 | |
78 3 | |
81 3 | |
80 3 | |
78 3 | |
77 3 | |
78 3 | |
80 3 | |
77 3 | |
73 3 | |
75 3 | |
77 3 | |
73 3 | |
78 3 | |
77 3 | |
78 3 | |
80 3 | |
81 3 | |
80 3 | |
81 3 | |
83 3 | |
85 3 | |
84 3 | |
85 3 | |
84 3 | |
85 3 | |
86 3 | |
85 3 | |
83 3 | |
81 3 | |
83 3 | |
81 3 | |
80 3 | |
78 3 | |
81 3 | |
80 3 | |
78 3 | |
76 3 | |
78 3 | |
80 3 | |
76 3 | |
73 3 | |
75 3 | |
76 3 | |
73 3 | |
75 3 | |
76 3 | |
78 3 | |
75 3 | |
72 3 | |
73 3 | |
75 3 | |
72 3 | |
73 12 | |
85 3 | |
86 3 | |
85 3 | |
83 3 | |
81 3 | |
83 3 | |
81 3 | |
80 3 | |
78 3 | |
81 3 | |
80 3 | |
78 3 | |
77 3 | |
78 3 | |
80 3 | |
77 3 | |
73 3 | |
75 3 | |
77 3 | |
73 3 | |
78 3 | |
77 3 | |
78 3 | |
80 3 | |
81 3 | |
80 3 | |
81 3 | |
83 3 | |
85 3 | |
84 3 | |
85 3 | |
84 3 | |
85 3 | |
86 3 | |
85 3 | |
83 3 | |
81 3 | |
83 3 | |
81 3 | |
80 3 | |
78 3 | |
81 3 | |
80 3 | |
78 3 | |
76 3 | |
78 3 | |
80 3 | |
76 3 | |
73 3 | |
75 3 | |
76 3 | |
73 3 | |
75 3 | |
76 3 | |
78 3 | |
75 3 | |
72 3 | |
73 3 | |
75 3 | |
72 3 | |
73 12 | |
76 3 | |
74 3 | |
73 2 | |
71 4 | |
69 3 | |
71 3 | |
73 3 | |
74 3 | |
76 3 | |
78 3 | |
80 3 | |
81 3 | |
81 3 | |
80 3 | |
78 3 | |
76 3 | |
76 3 | |
74 3 | |
73 3 | |
71 3 | |
69 3 | |
71 3 | |
73 3 | |
74 3 | |
76 3 | |
78 3 | |
80 3 | |
81 3 | |
82 6 | |
83 6 | |
76 3 | |
74 3 | |
73 3 | |
71 3 | |
69 3 | |
71 3 | |
73 3 | |
74 3 | |
76 3 | |
78 3 | |
80 3 | |
81 3 | |
81 3 | |
80 3 | |
78 3 | |
76 3 | |
76 3 | |
74 3 | |
73 3 | |
71 3 | |
73 3 | |
76 3 | |
69 3 | |
73 3 | |
71 3 | |
74 3 | |
68 3 | |
71 3 | |
69 12 | |
85 3 | |
86 3 | |
85 3 | |
83 3 | |
81 3 | |
83 3 | |
81 3 | |
80 3 | |
78 3 | |
81 3 | |
80 3 | |
78 3 | |
77 3 | |
78 3 | |
80 3 | |
77 3 | |
73 3 | |
75 3 | |
77 3 | |
73 3 | |
78 3 | |
77 3 | |
78 3 | |
80 3 | |
81 3 | |
80 3 | |
81 3 | |
83 3 | |
85 3 | |
84 3 | |
85 3 | |
84 3 | |
85 3 | |
84 3 | |
85 3 | |
82 3 | |
86 3 | |
85 3 | |
86 3 | |
85 3 | |
86 3 | |
85 3 | |
86 3 | |
85 3 | |
86 3 | |
85 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
83 3 | |
80 3 | |
81 3 | |
83 3 | |
85 3 | |
78 3 | |
77 3 | |
78 3 | |
80 3 | |
77 3 | |
78 12 | |
76 3 | |
74 3 | |
73 3 | |
71 3 | |
69 3 | |
71 3 | |
73 3 | |
74 3 | |
76 3 | |
78 3 | |
80 3 | |
81 3 | |
81 3 | |
80 3 | |
78 3 | |
76 3 | |
76 3 | |
74 3 | |
73 3 | |
71 3 | |
69 3 | |
71 3 | |
73 3 | |
74 3 | |
76 3 | |
78 3 | |
80 3 | |
81 3 | |
82 6 | |
83 6 | |
76 3 | |
74 3 | |
73 3 | |
71 3 | |
69 3 | |
71 3 | |
73 3 | |
74 3 | |
76 3 | |
78 3 | |
80 3 | |
81 3 | |
81 3 | |
80 3 | |
78 3 | |
76 3 | |
76 3 | |
74 3 | |
73 3 | |
71 3 | |
73 3 | |
76 3 | |
69 3 | |
73 3 | |
71 3 | |
74 3 | |
68 3 | |
71 3 | |
69 12 | |
85 3 | |
86 3 | |
85 3 | |
83 3 | |
81 3 | |
83 3 | |
81 3 | |
80 3 | |
78 3 | |
81 3 | |
80 3 | |
78 3 | |
77 3 | |
78 3 | |
80 3 | |
77 3 | |
73 3 | |
75 3 | |
77 3 | |
73 3 | |
78 3 | |
77 3 | |
78 3 | |
80 3 | |
81 3 | |
80 3 | |
81 3 | |
83 3 | |
85 3 | |
84 3 | |
85 3 | |
84 3 | |
85 3 | |
84 3 | |
85 3 | |
82 3 | |
86 3 | |
85 3 | |
86 3 | |
85 3 | |
86 3 | |
85 3 | |
86 3 | |
85 3 | |
86 3 | |
85 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
83 3 | |
80 3 | |
81 3 | |
83 3 | |
85 3 | |
78 3 | |
77 3 | |
78 3 | |
80 3 | |
77 3 | |
78 12 | |
81 6 | |
83 6 | |
85 12 | |
81 6 | |
83 6 | |
85 6 | |
83 6 | |
81 6 | |
80 6 | |
78 6 | |
80 6 | |
81 6 | |
83 6 | |
80 6 | |
76 6 | |
81 6 | |
83 6 | |
85 12 | |
81 6 | |
83 6 | |
85 6 | |
83 6 | |
81 6 | |
80 6 | |
78 6 | |
83 6 | |
80 6 | |
76 6 | |
81 12 | |
81 6 | |
83 6 | |
85 12 | |
81 6 | |
83 6 | |
85 6 | |
83 6 | |
81 6 | |
80 6 | |
78 6 | |
80 6 | |
81 6 | |
83 6 | |
80 6 | |
76 6 | |
81 6 | |
83 6 | |
85 12 | |
81 6 | |
83 6 | |
85 6 | |
83 6 | |
81 6 | |
80 6 | |
78 6 | |
83 6 | |
80 6 | |
76 6 | |
81 12 | |
71 3 | |
69 3 | |
68 3 | |
69 3 | |
72 12 | |
74 3 | |
72 3 | |
71 3 | |
72 3 | |
76 12 | |
77 3 | |
76 3 | |
75 3 | |
76 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
84 12 | |
81 6 | |
84 6 | |
79 1 | |
81 1 | |
83 4 | |
81 6 | |
79 6 | |
81 6 | |
79 1 | |
81 1 | |
83 4 | |
81 6 | |
79 6 | |
81 6 | |
79 1 | |
81 1 | |
83 4 | |
81 6 | |
79 6 | |
78 6 | |
76 12 | |
71 3 | |
69 3 | |
68 3 | |
69 3 | |
72 12 | |
74 3 | |
72 3 | |
71 3 | |
72 3 | |
76 12 | |
77 3 | |
76 3 | |
75 3 | |
76 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
84 12 | |
81 6 | |
84 6 | |
79 1 | |
81 1 | |
83 4 | |
81 6 | |
79 6 | |
81 6 | |
79 1 | |
81 1 | |
83 4 | |
81 6 | |
79 6 | |
81 6 | |
79 1 | |
81 1 | |
83 4 | |
81 6 | |
79 6 | |
78 6 | |
76 12 | |
76 6 | |
77 6 | |
79 6 | |
79 6 | |
81 3 | |
79 3 | |
77 3 | |
76 3 | |
74 6 | |
67 6 | |
76 6 | |
77 6 | |
79 6 | |
79 6 | |
81 3 | |
79 3 | |
77 3 | |
76 3 | |
74 12 | |
72 6 | |
74 6 | |
76 6 | |
76 6 | |
77 3 | |
76 3 | |
74 3 | |
72 3 | |
71 6 | |
64 6 | |
72 6 | |
74 6 | |
76 6 | |
76 6 | |
77 3 | |
76 3 | |
74 3 | |
72 3 | |
71 12 | |
71 3 | |
69 3 | |
68 3 | |
69 3 | |
72 12 | |
74 3 | |
72 3 | |
71 3 | |
72 3 | |
76 12 | |
77 3 | |
76 3 | |
75 3 | |
76 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
84 12 | |
81 6 | |
83 6 | |
84 6 | |
83 6 | |
81 6 | |
80 6 | |
81 6 | |
76 6 | |
77 6 | |
74 6 | |
72 12 | |
71 9 | |
69 2 | |
71 2 | |
69 12 | |
76 6 | |
77 6 | |
79 6 | |
79 6 | |
81 3 | |
79 3 | |
77 3 | |
76 3 | |
74 6 | |
67 6 | |
76 6 | |
77 6 | |
79 6 | |
79 6 | |
81 3 | |
79 3 | |
77 3 | |
76 3 | |
74 12 | |
72 6 | |
74 6 | |
76 6 | |
76 6 | |
77 3 | |
76 3 | |
74 3 | |
72 3 | |
71 6 | |
64 6 | |
72 6 | |
74 6 | |
76 6 | |
76 6 | |
77 3 | |
76 3 | |
74 3 | |
72 3 | |
71 12 | |
71 3 | |
69 3 | |
68 3 | |
69 3 | |
72 12 | |
74 3 | |
72 3 | |
71 3 | |
72 3 | |
76 12 | |
77 3 | |
76 3 | |
75 3 | |
76 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
83 3 | |
81 3 | |
80 3 | |
81 3 | |
84 12 | |
81 6 | |
83 6 | |
84 6 | |
83 6 | |
81 6 | |
80 6 | |
81 6 | |
76 6 | |
77 6 | |
74 6 | |
72 13 | |
71 9 | |
69 2 | |
71 2 | |
69 12 | |
69 3 | |
81 3 | |
71 3 | |
83 3 | |
73 3 | |
85 9 | |
69 3 | |
81 3 | |
71 3 | |
83 3 | |
73 3 | |
85 3 | |
71 3 | |
83 3 | |
69 3 | |
81 3 | |
68 3 | |
80 3 | |
66 3 | |
78 3 | |
68 3 | |
80 3 | |
69 3 | |
81 3 | |
71 3 | |
83 3 | |
68 3 | |
80 3 | |
64 3 | |
76 3 | |
69 3 | |
81 3 | |
71 3 | |
83 3 | |
73 3 | |
85 9 | |
69 3 | |
81 3 | |
71 3 | |
83 3 | |
73 3 | |
85 3 | |
71 3 | |
83 3 | |
69 3 | |
81 3 | |
68 3 | |
80 3 | |
66 3 | |
78 2 | |
71 4 | |
83 3 | |
68 3 | |
80 3 | |
64 3 | |
76 3 | |
81 12 | |
69 3 | |
81 3 | |
71 3 | |
83 3 | |
73 3 | |
85 9 | |
69 3 | |
81 3 | |
71 3 | |
83 3 | |
73 3 | |
85 3 | |
71 3 | |
83 3 | |
69 3 | |
81 3 | |
68 3 | |
80 3 | |
66 3 | |
78 3 | |
68 3 | |
80 3 | |
69 3 | |
81 3 | |
71 3 | |
83 3 | |
68 3 | |
80 3 | |
64 3 | |
76 3 | |
69 3 | |
81 3 | |
71 3 | |
83 3 | |
73 3 | |
85 9 | |
69 3 | |
81 3 | |
71 3 | |
83 3 | |
73 3 | |
85 3 | |
71 3 | |
83 3 | |
69 3 | |
81 3 | |
68 3 | |
80 3 | |
66 3 | |
78 2 | |
71 4 | |
83 3 | |
68 3 | |
80 3 | |
64 3 | |
76 3 | |
81 12 | |
85 9 | |
85 4 | |
85 24 | |
85 23 | |
86 3 | |
85 3 | |
83 3 | |
85 3 | |
86 3 | |
85 3 | |
83 3 | |
85 3 | |
86 24 | |
86 1 | |
85 5 | |
86 1 | |
85 5 | |
86 1 | |
85 5 | |
86 1 | |
85 5 | |
83 18 | |
88 7 | |
85 24 | |
85 23 | |
86 3 | |
85 3 | |
83 3 | |
85 3 | |
86 3 | |
85 3 | |
83 3 | |
85 3 | |
86 24 | |
86 1 | |
85 23 | |
85 1 | |
83 5 | |
85 1 | |
83 5 | |
85 1 | |
83 5 | |
85 1 | |
83 5 | |
81 12 | |
76 1 | |
81 1 | |
85 7 | |
85 3 | |
86 1 | |
81 1 | |
85 22 | |
76 1 | |
81 1 | |
85 22 | |
86 3 | |
85 3 | |
83 3 | |
85 3 | |
86 3 | |
85 3 | |
83 3 | |
85 3 | |
86 24 | |
86 1 | |
85 5 | |
86 1 | |
85 5 | |
86 1 | |
85 5 | |
86 1 | |
85 5 | |
83 18 | |
88 7 | |
85 24 | |
85 23 | |
86 3 | |
85 3 | |
83 3 | |
85 3 | |
86 3 | |
85 3 | |
83 3 | |
85 3 | |
86 24 | |
86 1 | |
85 23 | |
85 1 | |
83 5 | |
85 1 | |
83 5 | |
85 1 | |
83 5 | |
85 1 | |
83 5 | |
81 18 | |
85 6 | |
81 18 | |
88 6 | |
81 18 | |
85 6 | |
81 6 | |
85 6 | |
81 6 | |
88 6 | |
81 12 | |
81 12 | |
81 12 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/perl -wn | |
# Implemented by Vitaly "_Vi" Shukela | |
# Usage: printf '70 1000\n71 1000\n72 1000\n' | ./play.pl | aplay -f cd | |
our $vq = 0.2; | |
sub tone($$) { | |
my $freq = shift; | |
my $len = shift; | |
$len = int($len * 44100); | |
my $vol = 500 + 10000000/$freq; | |
$vol = 20000 if $vol > 20000; | |
$vol*=$vq; | |
for my $i (0..$len) { | |
my $b = int(sin($i*2*3.14159264358*$freq/44100)*$vol*(1-0.5*$i/$len)); | |
$b+=65535 if($b<0); | |
print pack("vv", $b, $b); | |
} | |
} | |
sub note($$) { | |
my $num = shift; | |
my $len = shift; | |
$len *= 0.04; | |
$num-=60; | |
#print STDERR "n=$num l=$len\n"; | |
tone(440*(2**($num/12)), $len); | |
} | |
/(\d+) (\d+)/; | |
note($1, $2); | |
=cut | |
java -cp /usr/share/java/clojure.jar:/usr/share/java/android-midi-libv3.jar clojure.main -e '(let [events (-> "/home/vi/_/ringtones/example.mid" java.io.File. com.leff.midi.MidiFile. .getTracks (nth 1) .getEvents) notes (filter #(or (isa? (type %) com.leff.midi.event.NoteOn) (isa? (type %) com.leff.midi.event.NoteOff)) events) output (map (fn[n] (format "on=%s tick=%s delta=%s channel=%s note=%s velocity=%s\n" (isa? (type n) com.leff.midi.event.NoteOn) (.getTick n) (.getDelta n) (.getChannel n) (.getNoteValue n) (.getVelocity n))) notes) ] (doall (map print output)) nil)' | perl -ne 'our $prevtick; our $prevnote; /on=(\w+) tick=(\d+) delta=\d+ channel=\d+ note=(\d+) velocity=\d+/; my $o = $1 eq "true"; my $t = $2; my $n = $3; if ($o) { if ($prevtick) { my $l = $t - $prevtick; print "$prevnote $l\n" if $l > 0; } $prevtick = $t; $prevnote = $n; }' | /home/vi/code/_/play.pl | aplay -f cd | |
=cut |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment