Page 1 of 1

Some Music

Posted: Sat Feb 20, 2016 9:31 pm
by MikroTourette
# Preludio from Partita No. 3 E major for solo Mikrotik
# BWV 1006 
# Johann Sebastian Bach
# Transcription MikroTourette 2016
#
:local notes 88,87,88,83,80,83,76,78,76,75,76,71,68,71,64,71,66,71,68,71,69,71,68,71,66,71,64,76,75,73,71,76;
:local notes ($notes, 75,73,71,69,68,66,64,71,66,71,68,71,69,71,68,71,66,71,64,76,75,73,71,76,75,73,71,69,68,66,64,66);
:local notes ($notes, 68,69,71,73,75,76,78,80,81,78,80,83,76,78,80,81,83,85,87,88,85,87,88,83,81,83,80,83,81,83,80,83);
:local notes ($notes, 78,83,76,88,87,85,83,76,85,76,83,76,81,76,80,83,78,83,80,83,81,83,80,83,78,83,76,88,87,85,83,76);
:local notes ($notes, 85,76,83,76,81,76,80,76,76,76,75,76,76,76,78,76,75,76,76,76,80,76,78,76,80,76,81,76,78,76,80,76);
:local notes ($notes, 76,76,75,76,76,76,78,76,75,76,76,76,80,76,78,76,80,76,81,76,78,76,80,76,80,76,80,76,80,76,80,76);
:local notes ($notes, 80,76,80,76,80,75,80,76,80,75,80,76,80,75,80,76,80,74,80,76,80,74,80,76,80,74,81,76,81,73,81,76);
:local notes ($notes, 81,73,81,76,81,73,81,76,81,71,81,76,81,71,81,76,81,71,80,76,80,71,80,76,80,71,80,76,80,71,80,76);
:local notes ($notes, 80,69,80,76,80,69,80,76,80,69,78,76,78,69,78,76,78,69,78,76,78,69,78,76,78,68,78,76,78,68,78,76);
:local notes ($notes, 78,68,76,76,76,68,76,76,76,68,76,76,76,68,76,76,76,66,76,76,76,66,76,76,76,66,75,76,75,66,75,76);
:local notes ($notes, 75,66,75,76,75,66,64,66,64,66,68,71,64,66,68,71,64,66,68,69,68,69,71,76,68,69,71,76,68,69,71,73);
:local notes ($notes, 71,73,74,80,71,73,74,80,71,73,74,83,80,76,74,71,68,64,62,61,62,59,61,63,61,63,65,68,61,63,65,68);
:local notes ($notes, 61,63,65,66,65,66,68,73,65,66,68,73,65,66,68,69,68,69,71,77,68,69,71,77,68,69,71,80,77,73,83,80);
:local notes ($notes, 81,78,77,80,73,71,69,73,69,66,78,75,76,73,72,75,68,66,64,68,64,61,64,68,73,68,76,73,80,73,72,75);
:local notes ($notes, 72,68,80,79,80,79,80,75,76,73,72,75,72,68,78,77,78,77,78,75,76,73,72,75,72,68,69,68,69,68,69,63);
:local notes ($notes, 64,61,60,66,61,66,63,66,61,66,60,66,63,66,56,66,75,66,72,66,75,66,72,66,75,66,56,64,73,64,76,64);
:local notes ($notes,73,64,76,64,73,64,56,66,75,66,72,66,75,66,72,66,75,66,56,64,73,64,76,64,73,64,76,64,73,64,56,67);
:local notes ($notes,73,67,76,67,73,67,76,67,73,67,56,67,73,67,76,67,73,67,76,67,73,67,56,68,73,68,75,68,73,68,75,68);
:local notes ($notes,73,68,56,66,72,66,75,66,72,66,75,66,72,66,61,73,71,69,68,73,68,66,64,68,64,63,61,73,68,66,64,68);
:local notes ($notes,64,63,61,64,61,59,58,66,73,66,76,66,73,66,76,66,73,66,58,66,76,66,73,66,76,66,73,66,76,66,59,83);
:local notes ($notes,82,80,78,83,78,76,75,78,75,73,71,83,78,76,75,78,75,73,71,75,71,69,68,74,76,74,80,74,83,74,80,74);
:local notes ($notes,76,74,68,74,76,74,68,74,66,74,68,74,64,74,73,76,81,80,81,76,74,76,73,76,71,76,69,81,80,78,76,69);
:local notes ($notes,78,69,76,69,74,69,73,76,71,76,73,76,74,76,73,76,71,76,69,81,80,78,76,69,78,69,76,69,74,69,73,69);
:local notes ($notes,69,69,68,69,69,69,71,69,68,69,69,69,73,69,71,69,73,69,74,69,71,69,73,69,69,69,68,69,69,69,71,69);
:local notes ($notes,68,69,69,69,73,69,71,69,73,69,74,69,71,69,73,69,73,69,73,69,73,69,73,69,73,69,73,69,73,68,73,69);
:local notes ($notes,73,68,73,69,73,68,73,69,73,67,73,69,73,67,73,69,73,67,74,69,74,66,74,69,74,66,74,69,74,66,74,69);
:local notes ($notes,74,64,74,69,74,64,74,69,74,64,73,69,73,64,73,69,73,64,73,69,73,64,73,69,73,62,73,69,73,62,73,69);
:local notes ($notes,73,62,71,69,71,62,71,69,71,62,71,69,71,62,71,69,71,61,71,69,71,61,71,69,71,61,69,69,69,61,69,69);
:local notes ($notes,69,61,69,69,69,61,69,69,69,59,69,69,69,59,69,69,69,59,68,69,68,59,68,69,68,59,68,69,68,59,57,59);
:local notes ($notes,57,59,61,64,57,59,61,64,57,59,61,62,61,62,64,69,61,62,64,69,61,62,64,66,64,66,67,73,64,66,67,73);
:local notes ($notes,64,66,67,76,73,74,76,73,70,71,73,70,66,64,62,61,59,61,62,66,59,61,62,66,59,61,62,64,62,64,66,71);
:local notes ($notes,62,64,66,71,62,64,66,68,66,68,69,75,66,68,69,75,66,68,69,78,75,76,78,75,72,73,75,72,68,66,65,83);
:local notes ($notes,80,81,83,80,77,78,80,77,73,71,69,85,81,83,85,81,78,80,81,78,74,73,71,86,83,85,86,83,80,81,83,80);
:local notes ($notes,77,80,73,75,73,75,77,80,73,75,77,80,73,75,77,78,77,78,80,83,77,78,80,83,77,78,80,81,80,81,83,86);
:local notes ($notes,80,81,83,86,80,81,83,86,83,80,77,83,80,77,73,83,81,80,78,80,81,78,71,81,80,78,73,80,78,77,74,76);
:local notes ($notes,78,74,68,78,76,74,70,76,74,73,71,73,74,71,65,74,73,71,66,73,71,69,68,69,71,69,68,71,69,71,68,71);
:local notes ($notes,66,71,65,66,68,69,71,65,74,65,73,65,71,65,66,69,66,61,57,61,66,61,69,61,66,61,65,68,65,61,65,68);
:local notes ($notes,73,68,77,73,80,71,69,73,69,66,69,73,78,73,81,78,85,78,77,80,77,73,85,84,85,84,85,80,81,78,77,80);
:local notes ($notes,77,73,83,82,83,82,83,80,81,78,77,80,77,73,74,73,74,73,74,68,69,66,65,68,73,83,83,80,81,78,77,80);
:local notes ($notes,73,71,69,73,78,85,85,81,83,80,78,81,74,73,71,74,67,66,65,68,61,59,57,61,66,68,69,66,71,66,73,66);
:local notes ($notes,74,66,61,66,68,65,66,69,68,69,69,69,68,69,66,69,64,69,63,69,64,69,66,69,68,69,69,69,66,69,68,69);
:local notes ($notes,68,66,64,76,75,76,73,76,71,76,70,76,71,76,73,76,75,76,76,76,73,76,75,76,75,73,71,73,75,76,78,80);
:local notes ($notes,81,78,83,71,69,71,68,71,66,71,64,71,62,71,61,64,66,68,69,71,73,74,76,78,80,76,81,69,68,69,66,69);
:local notes ($notes,64,69,63,69,61,69,59,63,64,66,68,69,71,73,75,76,78,75,80,64,62,64,61,64,59,64,57,64,56,64,57,64);
:local notes ($notes,73,71,73,76,81,80,81,78,73,76,59,66,75,73,75,78,81,80,81,78,75,78,59,68,71,69,71,76,80,78,80,76);
:local notes ($notes,71,76,59,70,73,71,73,76,82,80,82,76,73,76,75,83,82,80,78,83,78,76,75,78,75,73,71,83,81,80,78,81);
:local notes ($notes,78,76,75,78,75,73,71,81,80,78,76,80,76,75,73,76,73,71,69,80,78,76,75,78,75,73,71,75,71,69,68,76);
:local notes ($notes,73,71,69,73,69,68,66,69,66,64,63,66,69,73,71,75,78,81,81,80,81,78,80,76,80,83,88,83,80,76,71,78);
:local notes ($notes,88,87,88,83,80,76,74,76,73,76,74,76,71,76,73,76,81,76,73,76,71,76,73,76,69,76,71,76,80,76,71,76);
:local notes ($notes,69,76,71,76,68,76,69,76,78,76,75,76,76,76,78,76,80,76,59,66,75,81,83,64,71,80,57,81,80,81,78,80);
:local notes ($notes,78,80,78,80,78,80,78,80,78,80,78,76,76,88,87,85,83,88,81,88,80,88,78,88,76,76,75,73,71,76,69);
:local notes ($notes,76,68,76,66,76,64,68,71,75,76,80,83,87,88);
:local speed 60ms;
:local stacc 3ms;
:local transpose -60;
:local frqtab 8372,8869,9397,9956,10548,11175,11839,12543,13288,14080,14916,15804;
:local n0; :local n;
:local d0; :local d;
:local l;
:local midi;
:local i;
:local octa;
:local frq;
:for i from=0 to= ([:len $notes]-1) do={
:set midi [:pick $notes $i];
:set midi ($midi + $transpose);
:set octa 0;
:while ( $midi < 60) do={:set midi ($midi + 12); :set octa ($octa + 1   ); };
:set midi ($midi - (12 * ($midi /12)));
:set frq [:tonum [:pick $frqtab $midi]];
:set frq ($frq>>($octa));
:set d0 2;
:if ($i >1 && $i<6) do={:set d0 4};
:if ($i >9 && $i<14) do={:set d0 4};
:if ($i > 1585 && $i <1589) do={:set d0 1};
:if ($i = 1589) do={:set d0 9};
:if ($i = 1590) do={:set d0 4};
:if ($i = 1591) do={:set d0 1};
:if ($i = 1592) do={:set d0 1};
:if ($i = 1593) do={:set d0 6};
:if ($i > 1596 && $i <1612 ) do={:set d0 1};
:if ($i = 1611) do={:set d0 4};
:if ($i = 1644) do={:set d0 12};
:set d ($d0 * $speed );
:set l ($d0 * ($speed - $stacc));
# :put $midi;
# :put $frq;
# :put $octa;
:beep fr=$frq le=$l;
:delay $d;
}



Re: Some Music

Posted: Thu Feb 25, 2016 6:09 pm
by simobeliata
That is AWESOME!!! :D
Please, give us some more!

Re: Some Music

Posted: Thu Mar 10, 2016 6:21 am
by Sinan
This is really Awesome

Re: Some Music

Posted: Tue Dec 27, 2016 4:07 pm
by MikroTourette
OK,
now for something completely different: Thunderstruck (AC/DC)
# =================
# Thunderstruck AC/DC
# =================
:local n11 63,66;
:local n12 64,67;
:local n21 71,69,68,69,68,66,68,64,66,63;
:local n22 64,63;

:local n11 ($n11,$n11);
:local n12 ($n12,$n12);
:local n1 ($n11,$n11,$n12,$n12);
:local n2 ($n21,$n22,$n22,$n22);
:local notes ($n1,$n1,$n2,$n2);
  
:local ticks 2;
:local speed 55ms;
:local stacc 5ms;
# Transposition
:local transpose -48;
# ==============================
# Don't change this:
:local frqtab 8372,8869,9397,9956,10548,11175,11839,12543,13288,14080,14916,15804;
:local n0; :local n;
:local d0; :local d;
:local l;
:local midi;
:local i;
:local octa;
:local frq;
:for i from=0 to= ([:len $notes]-1) do={
:set midi [:pick $notes $i];
:set midi ($midi + $transpose);
:set octa 0;
:while ( $midi < 60) do={:set midi ($midi + 12); :set octa ($octa + 1   ); };
:set midi ($midi - (12 * ($midi /12)));
:set frq [:tonum [:pick $frqtab $midi]];
:set frq ($frq>>($octa));
:set d0 $ticks;
:set d ($d0 * $speed );
:set l ($d0 * ($speed - $stacc));
:beep fr=$frq le=$l;
:delay $d;
:set midi 59;
:set midi ($midi + $transpose);
:set octa 0;
:while ( $midi < 60) do={:set midi ($midi + 12); :set octa ($octa + 1   ); };
:set midi ($midi - (12 * ($midi /12)));
:set frq [:tonum [:pick $frqtab $midi]];
:set frq ($frq>>($octa));
:set d0 $ticks;
:set d ($d0 * $speed );
:set l ($d0 * ($speed - $stacc));
:beep fr=$frq le=$l;
:delay $d;
}

Highly compressed, all data in 4 variables and 16 notes.

Re: Some Music

Posted: Thu Jan 12, 2017 12:58 am
by MikroTourette
Another one:
# Solfeggietto c minor for solo Mikrotik
# H 220, Wq. 117: 2
# C. P. E. Bach
# Transcription MikroTourette 2017
#
:local notes 51,48,51,55,60,63,62,60,59,55,59,62,67,65,63,62;
:local notes ($notes, 63,60,63,67,72,75,74,72,74,72,71,69,67,65,63,62);
:local notes ($notes, 63,60,63,67,72,75,74,72,71,67,71,74,79,77,75,74);
:local notes ($notes, 75,72,75,79,84,87,86,84,86,84,83,81,79,77,75,74);
:local notes ($notes, 75,72,67,63,60,84,79,75,80,53,56,60,65,68,72,75);
:local notes ($notes, 74,70,65,62,58,82,77,74,79,51,55,58,63,67,70,74);

:local notes ($notes, 72,69,68,69,72,69,68,69,75,72,67,69,75,72,67,69);
:local notes ($notes, 74,72,66,69,81,72,66,69,78,72,62,69,72,69,66,62);
:local notes ($notes, 70,43,46,50,55,58,57,55,54,50,54,57,62,60,58,57);
:local notes ($notes, 58,55,58,62,67,70,69,67,69,67,66,64,62,60,58,57);
:local notes ($notes, 58,55,58,62,67,70,69,67,66,62,66,69,74,72,70,69);
:local notes ($notes, 70,67,70,74,79,82,81,79,81,79,78,76,74,72,70,69);
:local notes ($notes, 70,67,70,74,79,74,70,67,53,79,74,71,67,71,74,79);
:local notes ($notes, 72,67,79,67,72,67,79,67,71,67,77,67,71,67,77,67);
:local notes ($notes, 75,72,75,79,84,79,75,72,58,84,79,76,72,76,79,84);
:local notes ($notes, 77,72,84,72,77,72,84,72,76,72,82,72,76,72,82,72);
:local notes ($notes, 80,41,44,48,53,56,55,53,52,48,52,55,60,58,56,55);
:local notes ($notes, 56,53,56,60,65,68,67,65,67,65,64,62,60,58,56,55);
:local notes ($notes, 56,53,56,60,65,68,67,65,64,60,64,67,72,70,68,67);
:local notes ($notes, 68,65,68,72,77,80,79,77,79,77,76,74,72,70,68,67);
:local notes ($notes, 68,77,72,68,65,72,68,65,60,68,65,60,56,65,60,56);
:local notes ($notes, 49,80,77,76,77,79,77,76,77,48,68,65,64,65,67,65);
:local notes ($notes, 64,65,47,86,77,79,80,79,77,75,74,75,79,84,79,82);
:local notes ($notes, 80,79,77,75,75,74,75,74,75,74,75,74,72,67,79,67);
:local notes ($notes, 72,67,79,67,71,67,77,67,71,67,77,67,70,67,76,67);
:local notes ($notes, 70,67,76,67,69,75,84,75,69,75,84,75,68,65,74,65);
:local notes ($notes, 68,65,74,65,67,73,82,73,67,73,82,73,66,63,72,63);
:local notes ($notes, 66,63,72,63,65,72,84,72,65,72,84,72,63,72,75,79);
:local notes ($notes, 84,79,75,72,79,75,72,67,77,74,71,65,63,48,51,55);
:local notes ($notes, 60,63,62,60,59,55,59,62,67,65,63,62,63,60,63,67);
:local notes ($notes, 72,75,74,72,74,72,71,69,67,65,63,62,63,60,63,67);
:local notes ($notes, 72,75,74,72,71,67,71,74,79,77,75,74,75,72,75,79);
:local notes ($notes, 84,87,86,83,84,79,75,74,72,67,63,62,60);

:local speed 50ms;
:local stacc 10ms;
:local transpose -48;
:local frqtab 8372,8869,9397,9956,10548,11175,11839,12543,13288,14080,14916,15804;
:local n0; :local n;
:local d0; :local d;
:local l;
:local midi;
:local i;
:local octa;
:local frq;
:for i from=0 to= ([:len $notes]-1) do={
:set midi [:pick $notes $i];
:set midi ($midi + $transpose);
:set octa 0;
:while ( $midi < 60) do={:set midi ($midi + 12); :set octa ($octa + 1   ); };
:set midi ($midi - (12 * ($midi /12)));
:set frq [:tonum [:pick $frqtab $midi]];
:set frq ($frq>>($octa));
:set d0 2;
:if ($i >371 && $i<380) do={:set d0 1};
:if ($i =336) do={:set d0 16};
:if ($i =345) do={:set d0 16};
:if ($i =354) do={:set d0 16};
:if ($i =371) do={:set d0 8};
:if ($i =524) do={:set d0 16};

:set d ($d0 * $speed );
:set l ($d0 * ($speed - $stacc));
# :put $midi;
# :put $frq;
# :put $octa;
:beep fr=$frq le=$l;
:delay $d;
}



Re: Some Music

Posted: Thu Jan 12, 2017 7:33 am
by macgaiver
This is on completely another level compared to all other PC speaker music we had here - really impressed!

Re: Some Music

Posted: Sun Jan 15, 2017 11:27 pm
by lapsio
Oh my god... This is exactly what i was looking for as notification sound about detected server failure... MORE :D

Re: Some Music

Posted: Thu Feb 09, 2017 6:29 pm
by null31
OK,
now for something completely different: Thunderstruck (AC/DC)
# =================
# Thunderstruck AC/DC
# =================
:local n11 63,66;
:local n12 64,67;
:local n21 71,69,68,69,68,66,68,64,66,63;
:local n22 64,63;

:local n11 ($n11,$n11);
:local n12 ($n12,$n12);
:local n1 ($n11,$n11,$n12,$n12);
:local n2 ($n21,$n22,$n22,$n22);
:local notes ($n1,$n1,$n2,$n2);
  
:local ticks 2;
:local speed 55ms;
:local stacc 5ms;
# Transposition
:local transpose -48;
# ==============================
# Don't change this:
:local frqtab 8372,8869,9397,9956,10548,11175,11839,12543,13288,14080,14916,15804;
:local n0; :local n;
:local d0; :local d;
:local l;
:local midi;
:local i;
:local octa;
:local frq;
:for i from=0 to= ([:len $notes]-1) do={
:set midi [:pick $notes $i];
:set midi ($midi + $transpose);
:set octa 0;
:while ( $midi < 60) do={:set midi ($midi + 12); :set octa ($octa + 1   ); };
:set midi ($midi - (12 * ($midi /12)));
:set frq [:tonum [:pick $frqtab $midi]];
:set frq ($frq>>($octa));
:set d0 $ticks;
:set d ($d0 * $speed );
:set l ($d0 * ($speed - $stacc));
:beep fr=$frq le=$l;
:delay $d;
:set midi 59;
:set midi ($midi + $transpose);
:set octa 0;
:while ( $midi < 60) do={:set midi ($midi + 12); :set octa ($octa + 1   ); };
:set midi ($midi - (12 * ($midi /12)));
:set frq [:tonum [:pick $frqtab $midi]];
:set frq ($frq>>($octa));
:set d0 $ticks;
:set d ($d0 * $speed );
:set l ($d0 * ($speed - $stacc));
:beep fr=$frq le=$l;
:delay $d;
}

Highly compressed, all data in 4 variables and 16 notes.
Excellent!
I tested this and recorded in a video.
> https://www.youtube.com/watch?v=UqiR_CcDZhg

Re: Some Music

Posted: Wed Aug 29, 2018 5:20 pm
by georgionic
Can you do Africa by Toto? That would be the coolest thing ever.

Re: Some Music

Posted: Thu Aug 30, 2018 6:45 pm
by yuridee

Re: Some Music

Posted: Fri Aug 31, 2018 9:50 am
by nichky
wowww

Re: Some Music

Posted: Fri Jun 04, 2021 6:23 am
by DilysGerda
I did check it out and it was really cool, but I remember hearing it somewhere, apparently on the radio performed by the singer.

Re: Some Music

Posted: Fri Jun 04, 2021 6:24 am
by nichky
nice

Re: Some Music

Posted: Fri Jun 04, 2021 11:04 pm
by SiB
Please do a music from "IT Crown" https://www.youtube.com/watch?v=6bH-MdVCLWM
AnyOne can use many tools to convert mp3 to midi but how you do that to use midi in script, maybe you can create some generator for all of us :) This give us a full power of MUSIC at MikroTik :)

Re: Some Music

Posted: Wed Jun 09, 2021 2:48 am
by anav
This is weird I played the same script copy paste into my hex, an RB450Gx4 and the music worked like a charm.
I ran the script on an RB4011 and the other end heard nothing???

Is there anything special about an RB4011 to get tunes playing??

Re: Some Music

Posted: Wed Jun 09, 2021 4:24 am
by Cablenut9
RB4011 doesn't have a beeper :)

Re: Some Music

Posted: Wed Jun 09, 2021 2:30 pm
by anav
Well now thats almost criminal LOL. Okay, thanks good to know so I dont waste anymore time on that!

Re: Some Music

Posted: Thu Sep 16, 2021 2:05 am
by MxW
Star Wars main theme
# 
# Star Wars Main Theme
# MikroTik Music
#
:beep frequency=698 length=167ms;
:delay 177ms;
:beep frequency=698 length=167ms;
:delay 177ms;
:beep frequency=698 length=167ms;
:delay 177ms;
:beep frequency=932 length=1000ms;
:delay 1010ms;
:beep frequency=1397 length=1000ms;
:delay 1010ms;
:beep frequency=1245 length=167ms;
:delay 177ms;
:beep frequency=1175 length=167ms;
:delay 177ms;
:beep frequency=1047 length=167ms;
:delay 177ms;
:beep frequency=1865 length=1000ms;
:delay 1010ms;
:beep frequency=1397 length=500ms;
:delay 510ms;
:beep frequency=1245 length=167ms;
:delay 177ms;
:beep frequency=1175 length=167ms;
:delay 177ms;
:beep frequency=1047 length=167ms;
:delay 177ms;
:beep frequency=1865 length=1000ms;
:delay 1010ms;
:beep frequency=1397 length=500ms;
:delay 510ms;
:beep frequency=1245 length=167ms;
:delay 177ms;
:beep frequency=1175 length=167ms;
:delay 177ms;
:beep frequency=1245 length=167ms;
:delay 177ms;
:beep frequency=1047 length=667ms;
:delay 677ms;
:delay 333ms;

:beep frequency=698 length=167ms;
:delay 177ms;
:beep frequency=698 length=167ms;
:delay 177ms;
:beep frequency=698 length=167ms;
:delay 177ms;
:beep frequency=932 length=1000ms;
:delay 1010ms;
:beep frequency=1397 length=1000ms;
:delay 1010ms;
:beep frequency=1245 length=167ms;
:delay 177ms;
:beep frequency=1175 length=167ms;
:delay 177ms;
:beep frequency=1047 length=167ms;
:delay 177ms;
:beep frequency=1865 length=1000ms;
:delay 1010ms;
:beep frequency=1397 length=500ms;
:delay 510ms;
:beep frequency=1245 length=167ms;
:delay 177ms;
:beep frequency=1175 length=167ms;
:delay 177ms;
:beep frequency=1047 length=167ms;
:delay 177ms;
:beep frequency=1865 length=1000ms;
:delay 1010ms;
:beep frequency=1397 length=500ms;
:delay 510ms;
:beep frequency=1245 length=167ms;
:delay 177ms;
:beep frequency=1175 length=167ms;
:delay 177ms;
:beep frequency=1245 length=167ms;
:delay 177ms;
:beep frequency=1047 length=667ms;
:delay 677ms;

Re: Some Music

Posted: Thu Sep 16, 2021 10:51 am
by SiB
I hope someone can do a some generator :)

Re: Some Music

Posted: Fri Sep 17, 2021 6:15 pm
by brg3466
Bravo !

This is really amazing ! I took great effort to find my RB951G which has a beeper to test it. Really nice !

How can you do it ?

Re: Some Music

Posted: Fri Sep 17, 2021 6:32 pm
by brg3466
It is a pity that most of the current Mikrotik models don't have beeper anymore !

Re: Some Music

Posted: Mon Nov 01, 2021 1:42 pm
by kehrlein


These are really great. Thank you :)

Enhanced MIDI player

Posted: Sun May 15, 2022 2:27 am
by jgro
I enhanced and documented the MIDI player MikroTourette posted so other people could use it. It now has better documentation and more easily supports variable length notes and rests.

I hope now some people will post some tunes in the form of notes arrays.
# 
# MIDI player by MikroTourette 2017
# with enhancements by jgro 2022
#
# notes is array of MIDI notes with optional length: note/length
# Length is number of ticks. If omitted, length will be set to $defaultTicks.
# Use 0 for rests.
:local notes 65,65,65,62/16,0,64,64,64,61/32;

# Tempo
# Because clock resolution is only 10ms, you need much longer ticks than standard MIDI
:local tick 50ms;      # length of a tick
:local defaultTicks 4; # default number of ticks for a note
:local stacc 10ms;     # length of break between notes
:local transpose 0;    # number to add to or subtract from each note (12 is 1 octave)

# MIDI player
# Frequencies from C9 (MIDI 120) through B9 (beyond MIDI top note of 127)
:local frqtab 8372,8869,9397,9956,10548,11175,11839,12543,13288,14080,14916,15804;
:local n0; :local n;
:local d0; :local d;
:local l;
:local midi;
:local i;
:local octa;
:local frq;
:local tones;
:local durations;
:for i from=0 to= ([:len $notes]-1) do={
  :local entry [:pick $notes $i];
  :local div [:find $entry "/"];
  :if ([:typeof $div] = "nil") do={
    :set tones ($tones, $entry);
    :set durations ($durations, $defaultTicks);
  } else={
    :set tones ($tones, [:pick $entry 0 $div]);
    :set durations ($durations, [:pick $entry ($div + 1) [:len $entry]]);
  }
}
  
:for i from=0 to= ([:len $notes]-1) do={
  :set midi [:pick $tones $i];
  :set midi ($midi + $transpose);
  :set octa 0;
  :while ($midi < 120) do={:set midi ($midi + 12); :set octa ($octa + 1); };
  :set midi ($midi % 12);
  :set frq [:tonum [:pick $frqtab $midi]];
  :set frq ($frq>>($octa));
  :set d0 [:pick $durations $i];
  
  :set d ($d0 * $tick );
  :set l ($d - $stacc);
  # :put $midi;
  # :put $frq;
  # :put $octa;
  if ($frq >= 20) do={
    :beep frequency=$frq length=$l;
  }
  :delay $d;
}

Re: Some Music

Posted: Thu May 19, 2022 4:31 am
by brg3466
Nice, thanks for sharing !

Re: Some Music

Posted: Sun Nov 26, 2023 3:37 pm
by powerhosting
I needed a birthday song, but there were none, or not good.

https://github.com/fortmes/mikrotik-happy-birthday-song

Re: Some Music

Posted: Mon Nov 27, 2023 1:37 am
by rextended
I needed a birthday song, but there were none, or not good.

https://github.com/fortmes/mikrotik-happy-birthday-song
And what do you expect? the London Philharmonic?

Re: Some Music

Posted: Mon Nov 27, 2023 2:21 am
by brg3466
It is not easy to find a Mikrotik router nowadays with beeper! Seems all the new models don't have beeper anymore.

Re: Some Music

Posted: Mon Nov 27, 2023 10:20 am
by rextended
It is not easy to find a Mikrotik router nowadays with beeper! Seems all the new models don't have beeper anymore.
A beeper is only included if supported directly by the "CPU", it is never added as an add-on. So if not natively supported by the CPU, it is not added superfluously.

Although for sure people would pay €5 more a piece to add additional features, such as for some the beeper, others the USB port, others the microSD reader, etc...

Re: Some Music

Posted: Fri Jan 05, 2024 10:08 pm
by powerhosting
I needed a birthday song, but there were none, or not good.

https://github.com/fortmes/mikrotik-happy-birthday-song
And what do you expect? the London Philharmonic?
Nah, just wanted to share what I put together.

Re: Some Music

Posted: Fri Jan 05, 2024 10:31 pm
by Amm0
Although for sure people would pay €5 more a piece to add additional features, such as for some the beeper, others the USB port, others the microSD reader, etc...
How about the buzzer/beeper on a USB stick? ;)

Re: Some Music

Posted: Sat Jan 06, 2024 2:03 pm
by jaclaz
How about the buzzer/beeper on a USB stick? ;)
Something like that actually already exists!

JFYI:
http://www.yoctopuce.com/EN/article/the-yocto-buzzer

(though the prices of these devices seem way off)

Re: Some Music

Posted: Thu Feb 15, 2024 5:09 pm
by mykytalvov
Few more songs

Benny Benassi - Satisfaction
:beep frequency=233.08 length=312.5ms; # Bb 4
:delay 321.429ms;

:beep frequency=174.61 length=312.5ms; # F 4
:delay 321.429ms;

:beep frequency=116.54 length=419.643ms; # Bb 3
:delay 642.857ms;

:beep frequency=246.94 length=44.6429ms; # B 4
:delay 107.143ms;

:beep frequency=246.94 length=22.3214ms; # B 4
:delay 107.143ms;

:beep frequency=246.94 length=151.786ms; # B 4
:delay 214.286ms;

:beep frequency=233.08 length=312.5ms; # Bb 4
:delay 321.429ms;

:beep frequency=174.61 length=312.5ms; # F 4
:delay 321.429ms;

:beep frequency=233.08 length=205.357ms; # Bb 4
:delay 214.286ms;

:beep frequency=246.94 length=205.357ms; # B 4
:delay 214.286ms;

:beep frequency=233.08 length=205.357ms; # Bb 4
:delay 214.286ms;

:beep frequency=246.94 length=205.357ms; # B 4
:delay 214.286ms;

:beep frequency=233.08 length=205.357ms; # Bb 4
:delay 214.286ms;

:beep frequency=233.08 length=312.5ms; # Bb 4
:delay 321.429ms;

:beep frequency=174.61 length=312.5ms; # F 4
:delay 321.429ms;

:beep frequency=116.54 length=419.643ms; # Bb 3
:delay 642.857ms;

:beep frequency=246.94 length=44.6429ms; # B 4
:delay 107.143ms;

:beep frequency=246.94 length=22.3214ms; # B 4
:delay 107.143ms;

:beep frequency=246.94 length=151.786ms; # B 4
:delay 214.286ms;

:beep frequency=233.08 length=312.5ms; # Bb 4
:delay 321.429ms;

:beep frequency=174.61 length=312.5ms; # F 4
:delay 321.429ms;

:beep frequency=233.08 length=205.357ms; # Bb 4
:delay 214.286ms;

:beep frequency=246.94 length=205.357ms; # B 4
:delay 214.286ms;

:beep frequency=233.08 length=205.357ms; # Bb 4
:delay 214.286ms;

:beep frequency=246.94 length=205.357ms; # B 4
:delay 214.286ms;

:beep frequency=233.08 length=205.357ms; # Bb 4
:delay 214.286ms;

:beep frequency=233.08 length=312.5ms; # Bb 4
:delay 321.429ms;

:beep frequency=174.61 length=312.5ms; # F 4
:delay 321.429ms;

:beep frequency=116.54 length=419.643ms; # Bb 3
:delay 642.857ms;

:beep frequency=246.94 length=44.6429ms; # B 4
:delay 107.143ms;

:beep frequency=246.94 length=22.3214ms; # B 4
:delay 107.143ms;

:beep frequency=246.94 length=151.786ms; # B 4
:delay 214.286ms;

:beep frequency=233.08 length=312.5ms; # Bb 4
:delay 321.429ms;

:beep frequency=174.61 length=312.5ms; # F 4
:delay 321.429ms;

:beep frequency=233.08 length=205.357ms; # Bb 4
:delay 214.286ms;

:beep frequency=246.94 length=205.357ms; # B 4
:delay 214.286ms;

:beep frequency=233.08 length=205.357ms; # Bb 4
:delay 214.286ms;

:beep frequency=246.94 length=205.357ms; # B 4
:delay 214.286ms;

:beep frequency=233.08 length=205.357ms; # Bb 4
:delay 214.286ms;

:beep frequency=233.08 length=312.5ms; # Bb 4
:delay 321.429ms;

:beep frequency=174.61 length=312.5ms; # F 4
:delay 321.429ms;

:beep frequency=116.54 length=419.643ms; # Bb 3
:delay 642.857ms;

:beep frequency=246.94 length=44.6429ms; # B 4
:delay 107.143ms;

:beep frequency=246.94 length=22.3214ms; # B 4
:delay 107.143ms;

:beep frequency=246.94 length=151.786ms; # B 4
:delay 214.286ms;

:beep frequency=246.94 length=44.6429ms; # B 4
:delay 107.143ms;

:beep frequency=246.94 length=22.3214ms; # B 4
:delay 107.143ms;

:beep frequency=246.94 length=151.786ms; # B 4
:delay 214.286ms;

:beep frequency=246.94 length=44.6429ms; # B 4
:delay 107.143ms;

:beep frequency=246.94 length=22.3214ms; # B 4
:delay 107.143ms;

:beep frequency=246.94 length=151.786ms; # B 4
:delay 214.286ms;

:beep frequency=246.94 length=44.6429ms; # B 4
:delay 107.143ms;

:beep frequency=246.94 length=22.3214ms; # B 4
:delay 107.143ms;

:beep frequency=246.94 length=151.786ms; # B 4
:delay 214.286ms;

:beep frequency=246.94 length=44.6429ms; # B 4
:delay 107.143ms;

:beep frequency=246.94 length=22.3214ms; # B 4
:delay 107.143ms;

:beep frequency=246.94 length=151.786ms; # B 4
:delay 214.286ms;

Epic Sax Guy
:beep frequency=1244.51 length=250ms; # Eb 7
:delay 250ms;

:beep frequency=1864.66 length=375ms; # Bb 7
:delay 750ms;

:beep frequency=1244.51 length=250ms; # Eb 7
:delay 250ms;

:beep frequency=1864.66 length=250ms; # Bb 7
:delay 250ms;

:beep frequency=1864.66 length=125ms; # Bb 7
:delay 125ms;

:beep frequency=1864.66 length=125ms; # Bb 7
:delay 125ms;

:beep frequency=1661.22 length=125ms; # G# 7
:delay 125ms;

:beep frequency=1864.66 length=375ms; # Bb 7
:delay 375ms;

:beep frequency=1864.66 length=250ms; # Bb 7
:delay 750ms;

:beep frequency=987.77 length=250ms; # B 6
:delay 250ms;

:beep frequency=1864.66 length=250ms; # Bb 7
:delay 250ms;

:beep frequency=1864.66 length=125ms; # Bb 7
:delay 125ms;

:beep frequency=1864.66 length=125ms; # Bb 7
:delay 125ms;

:beep frequency=1661.22 length=125ms; # G# 7
:delay 125ms;

:beep frequency=1864.66 length=375ms; # Bb 7
:delay 375ms;

:beep frequency=1864.66 length=250ms; # Bb 7
:delay 750ms;

:beep frequency=2217.46 length=500ms; # C# 8
:delay 500ms;

:beep frequency=1864.66 length=250ms; # Bb 7
:delay 500ms;

:beep frequency=1661.22 length=500ms; # G# 7
:delay 500ms;

:beep frequency=1479.98 length=125ms; # F# 7
:delay 500ms;

:beep frequency=1244.51 length=250ms; # Eb 7
:delay 250ms;

:beep frequency=1244.51 length=250ms; # Eb 7
:delay 250ms;

:beep frequency=1396.91 length=250ms; # F 7
:delay 250ms;

:beep frequency=1479.98 length=250ms; # F# 7
:delay 250ms;
Smash Mouth - All Star
:beep frequency=369.99 length=416.667ms; # F# 5
:delay 500ms;

:beep frequency=554.37 length=244.792ms; # C# 6
:delay 250ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=466.16 length=416.667ms; # Bb 5
:delay 500ms;

:beep frequency=415.3 length=244.792ms; # G# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=493.88 length=494.792ms; # B 5
:delay 500ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=415.3 length=244.792ms; # G# 5
:delay 250ms;

:beep frequency=415.3 length=244.792ms; # G# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 500ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=554.37 length=244.792ms; # C# 6
:delay 250ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=415.3 length=244.792ms; # G# 5
:delay 250ms;

:beep frequency=415.3 length=244.792ms; # G# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=311.13 length=494.792ms; # Eb 5
:delay 500ms;

:beep frequency=277.18 length=671.875ms; # C# 5
:delay 1255.21ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=554.37 length=244.792ms; # C# 6
:delay 250ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=415.3 length=244.792ms; # G# 5
:delay 250ms;

:beep frequency=415.3 length=244.792ms; # G# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=493.88 length=494.792ms; # B 5
:delay 500ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=415.3 length=244.792ms; # G# 5
:delay 250ms;

:beep frequency=415.3 length=244.792ms; # G# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=554.37 length=494.792ms; # C# 6
:delay 500ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=415.3 length=494.792ms; # G# 5
:delay 500ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=415.3 length=494.792ms; # G# 5
:delay 500ms;

:beep frequency=311.13 length=671.875ms; # Eb 5
:delay 1255.21ms;

:beep frequency=369.99 length=369.792ms; # F# 5
:delay 375ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 375ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=466.16 length=119.792ms; # Bb 5
:delay 125ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 375ms;

:beep frequency=466.16 length=119.792ms; # Bb 5
:delay 125ms;

:beep frequency=554.37 length=119.792ms; # C# 6
:delay 125ms;

:beep frequency=554.37 length=244.792ms; # C# 6
:delay 250ms;

:beep frequency=554.37 length=244.792ms; # C# 6
:delay 250ms;

:beep frequency=493.88 length=119.792ms; # B 5
:delay 125ms;

:beep frequency=493.88 length=119.792ms; # B 5
:delay 125ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 375ms;

:beep frequency=277.18 length=119.792ms; # C# 5
:delay 125ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=311.13 length=119.792ms; # Eb 5
:delay 125ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=311.13 length=119.792ms; # Eb 5
:delay 125ms;

:beep frequency=277.18 length=119.792ms; # C# 5
:delay 375ms;

:beep frequency=466.16 length=119.792ms; # Bb 5
:delay 125ms;

:beep frequency=554.37 length=244.792ms; # C# 6
:delay 250ms;

:beep frequency=466.16 length=119.792ms; # Bb 5
:delay 125ms;

:beep frequency=622.25 length=244.792ms; # Eb 6
:delay 250ms;

:beep frequency=466.16 length=119.792ms; # Bb 5
:delay 125ms;

:beep frequency=554.37 length=244.792ms; # C# 6
:delay 250ms;

:beep frequency=466.16 length=119.792ms; # Bb 5
:delay 125ms;

:beep frequency=622.25 length=244.792ms; # Eb 6
:delay 250ms;

:beep frequency=466.16 length=119.792ms; # Bb 5
:delay 125ms;

:beep frequency=554.37 length=244.792ms; # C# 6
:delay 250ms;

:beep frequency=493.88 length=244.792ms; # B 5
:delay 250ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=415.3 length=244.792ms; # G# 5
:delay 250ms;

:beep frequency=415.3 length=244.792ms; # G# 5
:delay 250ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=415.3 length=244.792ms; # G# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 625ms;

:beep frequency=277.18 length=119.792ms; # C# 5
:delay 125ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 875ms;

:beep frequency=277.18 length=119.792ms; # C# 5
:delay 125ms;

:beep frequency=466.16 length=119.792ms; # Bb 5
:delay 125ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=311.13 length=119.792ms; # Eb 5
:delay 125ms;

:beep frequency=311.13 length=244.792ms; # Eb 5
:delay 250ms;

:beep frequency=311.13 length=416.667ms; # Eb 5
:delay 1000ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=369.99 length=494.792ms; # F# 5
:delay 500ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=311.13 length=119.792ms; # Eb 5
:delay 125ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 500ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=311.13 length=119.792ms; # Eb 5
:delay 125ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 500ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 500ms;

:beep frequency=466.16 length=671.875ms; # Bb 5
:delay 755.208ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=369.99 length=494.792ms; # F# 5
:delay 500ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=311.13 length=119.792ms; # Eb 5
:delay 125ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 500ms;

:beep frequency=369.99 length=119.792ms; # F# 5
:delay 125ms;

:beep frequency=311.13 length=119.792ms; # Eb 5
:delay 125ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 500ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 500ms;

:beep frequency=466.16 length=671.875ms; # Bb 5
:delay 755.208ms;

:beep frequency=466.16 length=416.667ms; # Bb 5
:delay 500ms;

:beep frequency=554.37 length=369.792ms; # C# 6
:delay 375ms;

:beep frequency=554.37 length=119.792ms; # C# 6
:delay 125ms;

:beep frequency=493.88 length=244.792ms; # B 5
:delay 250ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=415.3 length=244.792ms; # G# 5
:delay 250ms;

:beep frequency=415.3 length=244.792ms; # G# 5
:delay 250ms;

:beep frequency=369.99 length=875ms; # F# 5
:delay 1005.21ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=415.3 length=244.792ms; # G# 5
:delay 250ms;

:beep frequency=369.99 length=244.792ms; # F# 5
:delay 250ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=415.3 length=671.875ms; # G# 5
:delay 755.208ms;

:beep frequency=415.3 length=244.792ms; # G# 5
:delay 250ms;

:beep frequency=369.99 length=494.792ms; # F# 5
:delay 500ms;

:beep frequency=415.3 length=244.792ms; # G# 5
:delay 250ms;

:beep frequency=466.16 length=244.792ms; # Bb 5
:delay 250ms;

:beep frequency=311.13 length=838.542ms; # Eb 5
:delay 838.542ms;

Re: Some Music

Posted: Fri Feb 16, 2024 1:19 am
by mykytalvov
made a few more :)

Boney M - Rasputin
:beep frequency=123.47 length=231ms; # B 3
:delay 462ms;

:beep frequency=123.47 length=115ms; # B 3
:delay 231ms;

:beep frequency=110 length=462ms; # A 3
:delay 462ms;

:beep frequency=110 length=231ms; # A 3
:delay 231ms;

:beep frequency=110 length=231ms; # A 3
:delay 231ms;

:beep frequency=110 length=231ms; # A 3
:delay 231ms;

:beep frequency=98 length=300ms; # G 3
:delay 462ms;

:beep frequency=98 length=115ms; # G 3
:delay 231ms;

:beep frequency=92.5 length=462ms; # F# 3
:delay 462ms;

:beep frequency=92.5 length=231ms; # F# 3
:delay 231ms;

:beep frequency=92.5 length=231ms; # F# 3
:delay 231ms;

:beep frequency=92.5 length=231ms; # F# 3
:delay 231ms;

:beep frequency=123.47 length=300ms; # B 3
:delay 462ms;

:beep frequency=123.47 length=115ms; # B 3
:delay 231ms;

:beep frequency=110 length=462ms; # A 3
:delay 462ms;

:beep frequency=110 length=231ms; # A 3
:delay 231ms;

:beep frequency=110 length=231ms; # A 3
:delay 231ms;

:beep frequency=110 length=231ms; # A 3
:delay 231ms;

:beep frequency=98 length=300ms; # G 3
:delay 462ms;

:beep frequency=98 length=115ms; # G 3
:delay 231ms;

:beep frequency=92.5 length=462ms; # F# 3
:delay 462ms;

:beep frequency=92.5 length=231ms; # F# 3
:delay 231ms;

:beep frequency=92.5 length=231ms; # F# 3
:delay 231ms;

:beep frequency=92.5 length=231ms; # F# 3
:delay 231ms;

:beep frequency=246.94 length=231ms; # B 4
:delay 462ms;

:beep frequency=246.94 length=115ms; # B 4
:delay 462ms;

:beep frequency=246.94 length=115ms; # B 4
:delay 115ms;

:beep frequency=277.18 length=115ms; # C# 5
:delay 115ms;

:beep frequency=293.66 length=115ms; # D 5
:delay 115ms;

:beep frequency=329.58 length=115ms; # E 5
:delay 115ms;

:beep frequency=369.99 length=115ms; # F# 5
:delay 231ms;

:beep frequency=493.88 length=115ms; # B 5
:delay 115ms;

:beep frequency=440 length=115ms; # A 5
:delay 115ms;

:beep frequency=493.88 length=115ms; # B 5
:delay 231ms;

:beep frequency=440 length=115ms; # A 5
:delay 231ms;

:beep frequency=493.88 length=115ms; # B 5
:delay 231ms;

:beep frequency=369.99 length=115ms; # F# 5
:delay 462ms;

:beep frequency=329.58 length=115ms; # E 5
:delay 231ms;

:beep frequency=369.99 length=115ms; # F# 5
:delay 462ms;

:beep frequency=246.94 length=231ms; # B 4
:delay 462ms;

:beep frequency=246.94 length=231ms; # B 4
:delay 462ms;

:beep frequency=246.94 length=115ms; # B 4
:delay 115ms;

:beep frequency=277.18 length=115ms; # C# 5
:delay 115ms;

:beep frequency=293.66 length=115ms; # D 5
:delay 115ms;

:beep frequency=329.58 length=115ms; # E 5
:delay 115ms;

:beep frequency=369.99 length=115ms; # F# 5
:delay 231ms;

:beep frequency=493.88 length=115ms; # B 5
:delay 115ms;

:beep frequency=440 length=115ms; # A 5
:delay 115ms;

:beep frequency=493.88 length=115ms; # B 5
:delay 231ms;

:beep frequency=440 length=115ms; # A 5
:delay 231ms;

:beep frequency=493.88 length=115ms; # B 5
:delay 231ms;

:beep frequency=369.99 length=231ms; # F# 5
:delay 462ms;

:beep frequency=329.58 length=115ms; # E 5
:delay 693ms;

:beep frequency=246.94 length=231ms; # B 4
:delay 462ms;

:beep frequency=369.99 length=231ms; # F# 5
:delay 462ms;

:beep frequency=369.99 length=462ms; # F# 5
:delay 693ms;

:beep frequency=369.99 length=231ms; # F# 5
:delay 231ms;

:beep frequency=392 length=231ms; # G 5
:delay 231ms;

:beep frequency=440 length=231ms; # A 5
:delay 231ms;

:beep frequency=392 length=231ms; # G 5
:delay 231ms;

:beep frequency=369.99 length=231ms; # F# 5
:delay 231ms;

:beep frequency=369.99 length=231ms; # F# 5
:delay 462ms;

:beep frequency=277.18 length=231ms; # C# 5
:delay 231ms;

:beep frequency=293.66 length=231ms; # D 5
:delay 231ms;

:beep frequency=329.58 length=231ms; # E 5
:delay 462ms;

:beep frequency=329.58 length=231ms; # E 5
:delay 462ms;

:beep frequency=329.58 length=231ms; # E 5
:delay 462ms;

:beep frequency=277.18 length=231ms; # C# 5
:delay 231ms;

:beep frequency=293.66 length=231ms; # D 5
:delay 231ms;

:beep frequency=329.58 length=115ms; # E 5
:delay 231ms;

:beep frequency=329.58 length=231ms; # E 5
:delay 231ms;

:beep frequency=293.66 length=231ms; # D 5
:delay 231ms;

:beep frequency=277.18 length=231ms; # C# 5
:delay 231ms;

:beep frequency=246.94 length=462ms; # B 4
:delay 923ms;

:beep frequency=246.94 length=231ms; # B 4
:delay 462ms;

:beep frequency=369.99 length=231ms; # F# 5
:delay 462ms;

:beep frequency=369.99 length=462ms; # F# 5
:delay 693ms;

:beep frequency=369.99 length=231ms; # F# 5
:delay 231ms;

:beep frequency=392 length=231ms; # G 5
:delay 231ms;

:beep frequency=440 length=231ms; # A 5
:delay 231ms;

:beep frequency=392 length=231ms; # G 5
:delay 231ms;

:beep frequency=369.99 length=231ms; # F# 5
:delay 231ms;

:beep frequency=369.99 length=231ms; # F# 5
:delay 462ms;

:beep frequency=277.18 length=231ms; # C# 5
:delay 231ms;

:beep frequency=293.66 length=231ms; # D 5
:delay 231ms;

:beep frequency=329.58 length=231ms; # E 5
:delay 462ms;

:beep frequency=329.58 length=231ms; # E 5
:delay 462ms;

:beep frequency=329.58 length=231ms; # E 5
:delay 462ms;

:beep frequency=277.18 length=231ms; # C# 5
:delay 231ms;

:beep frequency=293.66 length=231ms; # D 5
:delay 231ms;

:beep frequency=329.58 length=115ms; # E 5
:delay 231ms;

:beep frequency=329.58 length=231ms; # E 5
:delay 231ms;

:beep frequency=293.66 length=231ms; # D 5
:delay 231ms;

:beep frequency=277.18 length=231ms; # C# 5
:delay 231ms;

:beep frequency=246.94 length=231ms; # B 4
:delay 923ms;

:beep frequency=185 length=115ms; # F# 4
:delay 231ms;

:beep frequency=185 length=115ms; # F# 4
:delay 231ms;

:beep frequency=185 length=115ms; # F# 4
:delay 231ms;

:beep frequency=185 length=115ms; # F# 4
:delay 231ms;

:beep frequency=185 length=231ms; # F# 4
:delay 693ms;

:beep frequency=185 length=231ms; # F# 4
:delay 231ms;

:beep frequency=196 length=231ms; # G 4
:delay 231ms;

:beep frequency=220 length=231ms; # A 4
:delay 231ms;

:beep frequency=196 length=231ms; # G 4
:delay 231ms;

:beep frequency=185 length=231ms; # F# 4
:delay 231ms;

:beep frequency=185 length=231ms; # F# 4
:delay 462ms;

:beep frequency=277.18 length=231ms; # C# 5
:delay 231ms;

:beep frequency=293.66 length=231ms; # D 5
:delay 231ms;

:beep frequency=329.58 length=462ms; # E 5
:delay 462ms;

:beep frequency=329.58 length=462ms; # E 5
:delay 462ms;

:beep frequency=329.58 length=462ms; # E 5
:delay 462ms;

:beep frequency=277.18 length=231ms; # C# 5
:delay 231ms;

:beep frequency=293.66 length=231ms; # D 5
:delay 231ms;

:beep frequency=329.58 length=115ms; # E 5
:delay 231ms;

:beep frequency=329.58 length=231ms; # E 5
:delay 231ms;

:beep frequency=293.66 length=231ms; # D 5
:delay 231ms;

:beep frequency=277.18 length=231ms; # C# 5
:delay 231ms;

:beep frequency=246.94 length=231ms; # B 4
:delay 231ms;

:beep frequency=246.94 length=115ms; # B 4
:delay 115ms;

:beep frequency=277.18 length=115ms; # C# 5
:delay 115ms;

:beep frequency=293.66 length=115ms; # D 5
:delay 231ms;

:beep frequency=369.99 length=115ms; # F# 5
:delay 115ms;

:beep frequency=440 length=115ms; # A 5
:delay 115ms;

:beep frequency=493.88 length=115ms; # B 5
:delay 462ms;

:beep frequency=493.88 length=115ms; # B 5
:delay 115ms;

:beep frequency=587.33 length=115ms; # D 6
:delay 115ms;

:beep frequency=493.88 length=115ms; # B 5
:delay 115ms;

:beep frequency=440 length=115ms; # A 5
:delay 115ms;

:beep frequency=493.88 length=462ms; # B 5
:delay 923ms;

:beep frequency=196 length=231ms; # G 4
:delay 462ms;

:beep frequency=196 length=231ms; # G 4
:delay 231ms;

:beep frequency=185 length=231ms; # F# 4
:delay 231ms;

:beep frequency=185 length=231ms; # F# 4
:delay 462ms;

:beep frequency=277.18 length=231ms; # C# 5
:delay 231ms;

:beep frequency=293.66 length=231ms; # D 5
:delay 231ms;

:beep frequency=329.58 length=462ms; # E 5
:delay 462ms;

:beep frequency=329.58 length=462ms; # E 5
:delay 462ms;

:beep frequency=329.58 length=462ms; # E 5
:delay 462ms;

:beep frequency=277.18 length=231ms; # C# 5
:delay 231ms;

:beep frequency=293.66 length=231ms; # D 5
:delay 231ms;

:beep frequency=329.58 length=115ms; # E 5
:delay 231ms;

:beep frequency=329.58 length=231ms; # E 5
:delay 231ms;

:beep frequency=293.66 length=231ms; # D 5
:delay 231ms;

:beep frequency=277.18 length=231ms; # C# 5
:delay 231ms;

:beep frequency=246.94 length=115ms; # B 4
:delay 115ms;

:beep frequency=277.18 length=115ms; # C# 5
:delay 115ms;

:beep frequency=293.66 length=115ms; # D 5
:delay 115ms;

:beep frequency=329.58 length=115ms; # E 5
:delay 115ms;

:beep frequency=369.99 length=115ms; # F# 5
:delay 115ms;

:beep frequency=329.58 length=115ms; # E 5
:delay 115ms;

:beep frequency=293.66 length=115ms; # D 5
:delay 115ms;

:beep frequency=277.18 length=115ms; # C# 5
:delay 115ms;

:beep frequency=246.94 length=462ms; # B 4
:delay 462ms;

:beep frequency=246.94 length=231ms; # B 4
:delay 231ms;

:beep frequency=277.18 length=231ms; # C# 5
:delay 231ms;

:beep frequency=293.66 length=462ms; # D 5
:delay 462ms;

:beep frequency=329.58 length=231ms; # E 5
:delay 462ms;

:beep frequency=369.99 length=231ms; # F# 5
:delay 231ms;

:beep frequency=392 length=231ms; # G 5
:delay 231ms;

:beep frequency=369.99 length=231ms; # F# 5
:delay 231ms;

:beep frequency=329.58 length=231ms; # E 5
:delay 231ms;

:beep frequency=293.66 length=462ms; # D 5
:delay 462ms;

:beep frequency=246.94 length=231ms; # B 4
:delay 462ms;

:beep frequency=277.18 length=462ms; # C# 5
:delay 462ms;

:beep frequency=277.18 length=462ms; # C# 5
:delay 462ms;

:beep frequency=277.18 length=231ms; # C# 5
:delay 231ms;

:beep frequency=246.94 length=231ms; # B 4
:delay 231ms;

:beep frequency=246.94 length=231ms; # B 4
:delay 231ms;

:beep frequency=246.94 length=231ms; # B 4
:delay 231ms;

:beep frequency=277.18 length=923ms; # C# 5
:delay 923ms;

:beep frequency=277.18 length=115ms; # C# 5
:delay 115ms;

:beep frequency=246.94 length=115ms; # B 4
:delay 115ms;

:beep frequency=277.18 length=115ms; # C# 5
:delay 115ms;

:beep frequency=293.66 length=115ms; # D 5
:delay 115ms;

:beep frequency=329.58 length=115ms; # E 5
:delay 115ms;

:beep frequency=293.66 length=115ms; # D 5
:delay 115ms;

:beep frequency=329.58 length=115ms; # E 5
:delay 115ms;

:beep frequency=369.99 length=58ms; # F# 5
:delay 115ms;

:beep frequency=246.94 length=462ms; # B 4
:delay 462ms;

:beep frequency=246.94 length=231ms; # B 4
:delay 231ms;

:beep frequency=277.18 length=231ms; # C# 5
:delay 231ms;

:beep frequency=293.66 length=462ms; # D 5
:delay 462ms;

:beep frequency=329.58 length=231ms; # E 5
:delay 462ms;

:beep frequency=369.99 length=231ms; # F# 5
:delay 231ms;

:beep frequency=392 length=231ms; # G 5
:delay 231ms;

:beep frequency=369.99 length=231ms; # F# 5
:delay 231ms;

:beep frequency=329.58 length=231ms; # E 5
:delay 231ms;

:beep frequency=293.66 length=462ms; # D 5
:delay 462ms;

:beep frequency=246.94 length=231ms; # B 4
:delay 462ms;

:beep frequency=277.18 length=462ms; # C# 5
:delay 462ms;

:beep frequency=277.18 length=231ms; # C# 5
:delay 231ms;

:beep frequency=329.58 length=231ms; # E 5
:delay 231ms;

:beep frequency=293.66 length=462ms; # D 5
:delay 462ms;

:beep frequency=277.18 length=462ms; # C# 5
:delay 462ms;

:beep frequency=246.94 length=693ms; # B 4
:delay 923ms;
Brad Breeck - Gravity Falls Main Theme
:beep frequency=698.46 length=187.5ms; # F 6
:delay 187.5ms;

:beep frequency=587.33 length=187.5ms; # D 6
:delay 187.5ms;

:beep frequency=440 length=187.5ms; # A 5
:delay 187.5ms;

:beep frequency=587.33 length=187.5ms; # D 6
:delay 187.5ms;

:beep frequency=698.46 length=187.5ms; # F 6
:delay 187.5ms;

:beep frequency=587.33 length=187.5ms; # D 6
:delay 187.5ms;

:beep frequency=440 length=187.5ms; # A 5
:delay 187.5ms;

:beep frequency=587.33 length=187.5ms; # D 6
:delay 187.5ms;

:beep frequency=698.46 length=187.5ms; # F 6
:delay 187.5ms;

:beep frequency=523.25 length=187.5ms; # C 6
:delay 187.5ms;

:beep frequency=440 length=187.5ms; # A 5
:delay 187.5ms;

:beep frequency=523.25 length=187.5ms; # C 6
:delay 187.5ms;

:beep frequency=698.46 length=187.5ms; # F 6
:delay 187.5ms;

:beep frequency=523.25 length=187.5ms; # C 6
:delay 187.5ms;

:beep frequency=440 length=187.5ms; # A 5
:delay 187.5ms;

:beep frequency=523.25 length=187.5ms; # C 6
:delay 187.5ms;

:beep frequency=659.25 length=187.5ms; # E 6
:delay 187.5ms;

:beep frequency=554.37 length=187.5ms; # C# 6
:delay 187.5ms;

:beep frequency=440 length=187.5ms; # A 5
:delay 187.5ms;

:beep frequency=554.37 length=187.5ms; # C# 6
:delay 187.5ms;

:beep frequency=659.25 length=187.5ms; # E 6
:delay 187.5ms;

:beep frequency=554.37 length=187.5ms; # C# 6
:delay 187.5ms;

:beep frequency=440 length=187.5ms; # A 5
:delay 187.5ms;

:beep frequency=554.37 length=187.5ms; # C# 6
:delay 187.5ms;

:beep frequency=659.25 length=187.5ms; # E 6
:delay 187.5ms;

:beep frequency=554.37 length=187.5ms; # C# 6
:delay 187.5ms;

:beep frequency=440 length=187.5ms; # A 5
:delay 187.5ms;

:beep frequency=554.37 length=187.5ms; # C# 6
:delay 187.5ms;

:beep frequency=659.25 length=187.5ms; # E 6
:delay 187.5ms;

:beep frequency=554.37 length=187.5ms; # C# 6
:delay 187.5ms;

:beep frequency=659.25 length=93.75ms; # E 6
:delay 93.75ms;

:beep frequency=554.37 length=187.5ms; # C# 6
:delay 187.5ms;

:beep frequency=554.37 length=93.75ms; # C# 6
:delay 93.75ms;

:beep frequency=587.33 length=1125ms; # D 6
:delay 1125ms;

:beep frequency=659.25 length=375ms; # E 6
:delay 375ms;

:beep frequency=698.46 length=1500ms; # F 6
:delay 1500ms;

:beep frequency=880 length=562.5ms; # A 6
:delay 562.5ms;

:beep frequency=783.99 length=562.5ms; # G 6
:delay 562.5ms;

:beep frequency=880 length=375ms; # A 6
:delay 375ms;

:beep frequency=523.25 length=1500ms; # C 6
:delay 1500ms;

:beep frequency=587.33 length=1125ms; # D 6
:delay 1125ms;

:beep frequency=659.25 length=375ms; # E 6
:delay 375ms;

:beep frequency=698.46 length=750ms; # F 6
:delay 750ms;

:beep frequency=659.25 length=750ms; # E 6
:delay 750ms;

:beep frequency=783.99 length=750ms; # G 6
:delay 750ms;

:beep frequency=880 length=750ms; # A 6
:delay 750ms;

:beep frequency=783.99 length=750ms; # G 6
:delay 750ms;

:beep frequency=698.46 length=750ms; # F 6
:delay 1125ms;

:beep frequency=698.46 length=375ms; # F 6
:delay 375ms;

:beep frequency=698.46 length=375ms; # F 6
:delay 375ms;

:beep frequency=698.46 length=375ms; # F 6
:delay 375ms;

:beep frequency=880 length=375ms; # A 6
:delay 375ms;

:beep frequency=880 length=375ms; # A 6
:delay 375ms;

:beep frequency=783.99 length=375ms; # G 6
:delay 375ms;

:beep frequency=698.46 length=375ms; # F 6
:delay 750ms;

:beep frequency=880 length=375ms; # A 6
:delay 375ms;

:beep frequency=880 length=375ms; # A 6
:delay 375ms;

:beep frequency=880 length=375ms; # A 6
:delay 375ms;

:beep frequency=783.99 length=375ms; # G 6
:delay 375ms;

:beep frequency=880 length=375ms; # A 6
:delay 375ms;

:beep frequency=783.99 length=375ms; # G 6
:delay 375ms;

:beep frequency=698.46 length=375ms; # F 6
:delay 750ms;

:beep frequency=698.46 length=371.094ms; # F 6
:delay 371.094ms;

:beep frequency=698.46 length=375ms; # F 6
:delay 375ms;

:beep frequency=698.46 length=375ms; # F 6
:delay 375ms;

:beep frequency=880 length=375ms; # A 6
:delay 375ms;

:beep frequency=880 length=375ms; # A 6
:delay 375ms;

:beep frequency=783.99 length=375ms; # G 6
:delay 375ms;

:beep frequency=698.46 length=375ms; # F 6
:delay 750ms;

:beep frequency=880 length=375ms; # A 6
:delay 375ms;

:beep frequency=880 length=375ms; # A 6
:delay 375ms;

:beep frequency=880 length=375ms; # A 6
:delay 750ms;

:beep frequency=1108.73 length=375ms; # C# 7
:delay 375ms;

:beep frequency=1108.73 length=375ms; # C# 7
:delay 375ms;

:beep frequency=1108.73 length=375ms; # C# 7
:delay 750ms;

:beep frequency=698.46 length=371.094ms; # F 6
:delay 371.094ms;

:beep frequency=698.46 length=375ms; # F 6
:delay 375ms;

:beep frequency=698.46 length=375ms; # F 6
:delay 375ms;

:beep frequency=880 length=375ms; # A 6
:delay 375ms;

:beep frequency=880 length=375ms; # A 6
:delay 375ms;

:beep frequency=783.99 length=375ms; # G 6
:delay 375ms;

:beep frequency=698.46 length=375ms; # F 6
:delay 750ms;

:beep frequency=932.33 length=375ms; # Bb 6
:delay 375ms;

:beep frequency=932.33 length=375ms; # Bb 6
:delay 375ms;

:beep frequency=932.33 length=375ms; # Bb 6
:delay 375ms;

:beep frequency=783.99 length=750ms; # G 6
:delay 750ms;

:beep frequency=1046.5 length=750ms; # C 7
:delay 750ms;

:beep frequency=880 length=750ms; # A 6
:delay 750ms;

:beep frequency=1108.73 length=375ms; # C# 7
:delay 750ms;

:beep frequency=1396.91 length=187.5ms; # F 7
:delay 187.5ms;

:beep frequency=1174.66 length=187.5ms; # D 7
:delay 187.5ms;

:beep frequency=1396.91 length=187.5ms; # F 7
:delay 187.5ms;

:beep frequency=1174.66 length=187.5ms; # D 7
:delay 187.5ms;

:beep frequency=880 length=187.5ms; # A 6
:delay 187.5ms;

:beep frequency=1108.73 length=187.5ms; # C# 7
:delay 187.5ms;

:beep frequency=1318.51 length=187.5ms; # E 7
:delay 187.5ms;

:beep frequency=1108.73 length=187.5ms; # C# 7
:delay 187.5ms;

:beep frequency=1174.66 length=187.5ms; # D 7
:delay 750ms;

:beep frequency=2349.32 length=187.5ms; # D 8
:delay 2167.97ms;
Alexander Alexandrov - State Anthem of the Soviet Union
:beep frequency=196 length=300ms; # G 4
:delay 300ms;

:beep frequency=261.63 length=600ms; # C 5
:delay 600ms;

:beep frequency=196 length=450ms; # G 4
:delay 450ms;

:beep frequency=220 length=150ms; # A 4
:delay 150ms;

:beep frequency=246.94 length=600ms; # B 4
:delay 600ms;

:beep frequency=164.81 length=300ms; # E 4
:delay 300ms;

:beep frequency=164.81 length=300ms; # E 4
:delay 300ms;

:beep frequency=220 length=600ms; # A 4
:delay 600ms;

:beep frequency=196 length=450ms; # G 4
:delay 450ms;

:beep frequency=174.61 length=150ms; # F 4
:delay 150ms;

:beep frequency=196 length=600ms; # G 4
:delay 600ms;

:beep frequency=130.81 length=300ms; # C 4
:delay 300ms;

:beep frequency=130.81 length=300ms; # C 4
:delay 300ms;

:beep frequency=146.83 length=600ms; # D 4
:delay 600ms;

:beep frequency=146.83 length=300ms; # D 4
:delay 300ms;

:beep frequency=164.81 length=300ms; # E 4
:delay 300ms;

:beep frequency=174.61 length=600ms; # F 4
:delay 600ms;

:beep frequency=174.61 length=300ms; # F 4
:delay 300ms;

:beep frequency=196 length=300ms; # G 4
:delay 300ms;

:beep frequency=220 length=600ms; # A 4
:delay 600ms;

:beep frequency=246.94 length=300ms; # B 4
:delay 300ms;

:beep frequency=261.63 length=300ms; # C 5
:delay 300ms;

:beep frequency=293.66 length=900ms; # D 5
:delay 900ms;

:beep frequency=196 length=300ms; # G 4
:delay 300ms;

:beep frequency=329.63 length=600ms; # E 5
:delay 600ms;

:beep frequency=293.66 length=450ms; # D 5
:delay 450ms;

:beep frequency=261.63 length=150ms; # C 5
:delay 150ms;

:beep frequency=293.66 length=600ms; # D 5
:delay 600ms;

:beep frequency=246.94 length=300ms; # B 4
:delay 300ms;

:beep frequency=196 length=300ms; # G 4
:delay 300ms;

:beep frequency=261.63 length=600ms; # C 5
:delay 600ms;

:beep frequency=246.94 length=450ms; # B 4
:delay 450ms;

:beep frequency=220 length=150ms; # A 4
:delay 150ms;

:beep frequency=246.94 length=600ms; # B 4
:delay 600ms;

:beep frequency=164.81 length=300ms; # E 4
:delay 300ms;

:beep frequency=164.81 length=300ms; # E 4
:delay 300ms;

:beep frequency=220 length=600ms; # A 4
:delay 600ms;

:beep frequency=196 length=300ms; # G 4
:delay 300ms;

:beep frequency=174.61 length=300ms; # F 4
:delay 300ms;

:beep frequency=196 length=600ms; # G 4
:delay 600ms;

:beep frequency=130.81 length=300ms; # C 4
:delay 300ms;

:beep frequency=130.81 length=300ms; # C 4
:delay 300ms;

:beep frequency=261.63 length=600ms; # C 5
:delay 600ms;

:beep frequency=246.94 length=450ms; # B 4
:delay 450ms;

:beep frequency=220 length=150ms; # A 4
:delay 150ms;

:beep frequency=196 length=300ms; # G 4
:delay 300ms;

:beep frequency=246.94 length=300ms; # B 4
:delay 300ms;

:beep frequency=261.63 length=300ms; # C 5
:delay 300ms;

:beep frequency=293.66 length=300ms; # D 5
:delay 300ms;

:beep frequency=329.63 length=1200ms; # E 5
:delay 1200ms;

:beep frequency=293.66 length=300ms; # D 5
:delay 300ms;

:beep frequency=261.63 length=300ms; # C 5
:delay 300ms;

:beep frequency=246.94 length=300ms; # B 4
:delay 300ms;

:beep frequency=261.63 length=300ms; # C 5
:delay 300ms;

:beep frequency=293.66 length=900ms; # D 5
:delay 900ms;

:beep frequency=196 length=300ms; # G 4
:delay 300ms;

:beep frequency=196 length=300ms; # G 4
:delay 300ms;

:beep frequency=246.94 length=300ms; # B 4
:delay 300ms;

:beep frequency=261.63 length=300ms; # C 5
:delay 300ms;

:beep frequency=293.66 length=300ms; # D 5
:delay 300ms;

:beep frequency=261.63 length=1200ms; # C 5
:delay 1200ms;

:beep frequency=246.94 length=300ms; # B 4
:delay 300ms;

:beep frequency=220 length=300ms; # A 4
:delay 300ms;

:beep frequency=196 length=300ms; # G 4
:delay 300ms;

:beep frequency=220 length=300ms; # A 4
:delay 300ms;

:beep frequency=246.94 length=900ms; # B 4
:delay 900ms;

:beep frequency=164.81 length=300ms; # E 4
:delay 300ms;

:beep frequency=164.81 length=300ms; # E 4
:delay 300ms;

:beep frequency=196 length=300ms; # G 4
:delay 300ms;

:beep frequency=220 length=300ms; # A 4
:delay 300ms;

:beep frequency=246.94 length=300ms; # B 4
:delay 300ms;

:beep frequency=261.63 length=600ms; # C 5
:delay 600ms;

:beep frequency=220 length=450ms; # A 4
:delay 450ms;

:beep frequency=246.94 length=150ms; # B 4
:delay 150ms;

:beep frequency=261.63 length=600ms; # C 5
:delay 600ms;

:beep frequency=220 length=450ms; # A 4
:delay 450ms;

:beep frequency=246.94 length=150ms; # B 4
:delay 150ms;

:beep frequency=261.63 length=600ms; # C 5
:delay 600ms;

:beep frequency=220 length=300ms; # A 4
:delay 300ms;

:beep frequency=261.63 length=300ms; # C 5
:delay 300ms;

:beep frequency=349.23 length=1200ms; # F 5
:delay 1200ms;

:beep frequency=349.23 length=1200ms; # F 5
:delay 1200ms;

:beep frequency=329.63 length=300ms; # E 5
:delay 300ms;

:beep frequency=293.66 length=300ms; # D 5
:delay 300ms;

:beep frequency=261.63 length=300ms; # C 5
:delay 300ms;

:beep frequency=293.66 length=300ms; # D 5
:delay 300ms;

:beep frequency=329.63 length=900ms; # E 5
:delay 900ms;

:beep frequency=261.63 length=300ms; # C 5
:delay 300ms;

:beep frequency=261.63 length=1200ms; # C 5
:delay 1200ms;

:beep frequency=293.66 length=1200ms; # D 5
:delay 1200ms;

:beep frequency=261.63 length=300ms; # C 5
:delay 300ms;

:beep frequency=246.94 length=300ms; # B 4
:delay 300ms;

:beep frequency=220 length=300ms; # A 4
:delay 300ms;

:beep frequency=246.94 length=300ms; # B 4
:delay 300ms;

:beep frequency=261.63 length=900ms; # C 5
:delay 900ms;

:beep frequency=220 length=300ms; # A 4
:delay 300ms;

:beep frequency=220 length=1200ms; # A 4
:delay 1200ms;

:beep frequency=261.63 length=600ms; # C 5
:delay 600ms;

:beep frequency=246.94 length=300ms; # B 4
:delay 300ms;

:beep frequency=220 length=300ms; # A 4
:delay 300ms;

:beep frequency=196 length=600ms; # G 4
:delay 600ms;

:beep frequency=130.81 length=450ms; # C 4
:delay 450ms;

:beep frequency=130.81 length=150ms; # C 4
:delay 150ms;

:beep frequency=261.63 length=600ms; # C 5
:delay 600ms;

:beep frequency=246.94 length=450ms; # B 4
:delay 450ms;

:beep frequency=220 length=125ms; # A 4
:delay 125ms;

:beep frequency=196 length=900ms; # G 4
:delay 1200ms;

Re: Some Music

Posted: Fri Feb 16, 2024 4:02 am
by brg3466
@mykytalvov, thank you for the new music, enjoyed it very much !
On side note, is there any tutorial of how to make this "beeper" music ? I am very interested. How do you decide what is the frequency and length ?

Re: Some Music

Posted: Fri Feb 16, 2024 4:41 pm
by mykytalvov
@mykytalvov, thank you for the new music, enjoyed it very much !
On side note, is there any tutorial of how to make this "beeper" music ? I am very interested. How do you decide what is the frequency and length ?
Thanks! I'm glad you enjoyed it! I will make a tutorial in my free time, and I will post it here once it's finished.

Re: Some Music

Posted: Fri Feb 16, 2024 5:46 pm
by Amm0
Nice work. Perhaps there needs to be some Mikotik "music notation" e.g. an array of notes/duration? Some of the music scripts get long since each note is it's own line and the ":beep frequency= duration=" while a :foreach k,v in=$musicArray do={ :beep ... } would shorten these music scripts.

# list of strings using Guido notation, with conversation to freq and duration based on time signature
:global musicGuidoList ("B3/4","B3/8") 

# TODO: some code that converts B3 and 4 into a frequency= and duration= stuff into an array like below to actually play:

# list of tuples (list containing another list with two values: frequency,  of two
:global musicBeepTupleList {(123, 231);(123,115)} 

# play array
:foreach i in=$musicBeepTupleList do={ :beep frequency=($i->0) length="$($i->1)ms"; :delay "$($i->1)ms"}

Guido notation -https://wiki.ccarh.org/wiki/Guido_Music_Notation :
whole note 1
half note 2
quarter note 4
eighth note 8
sixteenth note 16
thiry-second note 32

with _ as note means a "rest" e.g. _/2 for a half note rest.
Expressing "beep music" as an array allow tempo to be changed on playback too.

Re: Some Music

Posted: Fri Feb 16, 2024 6:18 pm
by bpwl
FYI only
Although for sure people would pay €5 more a piece to add additional features, such as for some the beeper, others the USB port, others the microSD reader, etc...

A ESP32 could deliver this with just a piezo buzzer. (7€ ESP + 1.3€ buzzer)
ESP is powered by USB.
You don't need to buy one to try it out.
"Wokwi" software (on-line website https://wokwi.com/) gives a perfect simulation tool

https://www.youtube.com/watch?v=3GMKdA2G6W4

Re: Some Music

Posted: Fri Feb 16, 2024 9:10 pm
by mykytalvov
Nice work. Perhaps there needs to be some Mikotik "music notation" e.g. an array of notes/duration? Some of the music scripts get long since each note is it's own line and the ":beep frequency= duration=" while a :foreach k,v in=$musicArray do={ :beep ... } would shorten these music scripts.

# list of strings using Guido notation, with conversation to freq and duration based on time signature
:global musicGuidoList ("B3/4","B3/8") 

# TODO: some code that converts B3 and 4 into a frequency= and duration= stuff into an array like below to actually play:

# list of tuples (list containing another list with two values: frequency,  of two
:global musicBeepTupleList {(123, 231);(123,115)} 

# play array
:foreach i in=$musicBeepTupleList do={ :beep frequency=($i->0) length="$($i->1)ms"; :delay "$($i->1)ms"}

Guido notation -https://wiki.ccarh.org/wiki/Guido_Music_Notation :
whole note 1
half note 2
quarter note 4
eighth note 8
sixteenth note 16
thiry-second note 32

with _ as note means a "rest" e.g. _/2 for a half note rest.
Expressing "beep music" as an array allow tempo to be changed on playback too.
Thanks! I'm not that good at scripting, as I'm more of a musician than a network specialist, so this is a new thing for me. I will definitely dive deeper into that. This notation method will help a lot in making larger tunes without using multiple scripts. 

Re: Some Music

Posted: Sat Feb 17, 2024 12:02 am
by Amm0
Scripting is easier for me, my music theory is more limited. Perhaps an interactive player piano script be fun?


** ROUTEROS PLAYER PIANO **
Type a key to play a note... The note will play for 00:00:00.125. Keep holding to continue playing.
A 466 Hz
C 277 Hz
D 311 Hz
F 370 Hz
G 415 Hz
a 440 Hz
b 493 Hz
c 262 Hz
d 294 Hz
e 330 Hz
f 349 Hz
g 392 Hz
Notes are in the 4th octive of the scientific scale.
Sharp # notes are denoted by using a CAPTIAL letter of the note.
Bonus: To play a longer note, type a number
e.g. 2 will play all future notes twice as long so 00:00:00.250. Hit 1 to reset to 00:00:00.125
To QUIT, hit "q"

{
:local nms 125ms
:local scale {"c"=262; "C"=277;"d"=294; "D"=311; "e"=330; "f"=349; "F"=370; "g"=392; "G"=415; "a"=440; "A"=466; "b"=493}
:local "ascii-map" {"";"NUL";"SOH";"STX";"ETX";"EOT";"ENQ";"ACK";"back";"back";"tab";"VT";"FF";"enter";"return";"SI";"DLE";"DC1";"DC2";"DC3";"DC4";"NAK";"SYN";"ETB";"CAN";"EM";"SUB";"ESC";"FS";"GS";"RS";"US";"space";"!";"\"";"comment";"\$";"%";"&";"";"(";")";"*";"+";",";"-";".";"/";"0";"1";"2";"3";"4";"5";"6";"7";"8";"9";":";";";"<";"=";">";"\?";"@";"A";"B";"C";"D";"E";"F";"G";"H";"I";"J";"K";"L";"M";"N";"O";"P";"Q";"R";"S";"T";"U";"V";"W";"X";"Y";"Z";"[";"\\";"]";"^";"_";"`";"a";"b";"c";"d";"e";"f";"g";"h";"i";"j";"k";"l";"m";"n";"o";"p";"q";"r";"s";"t";"u";"v";"w";"x";"y";"z";"{";"|";"}";"~";"delete"}
:local lastkey 65535
:put "** ROUTEROS PLAYER PIANO **"
:put "Type a key to play a note...  The note will play for $nms.  Keep holding to continue playing."
:foreach nltr,nfreq in=$scale do={:put "\t$nltr  \t  $nfreq Hz"}
:put "Notes are in the 4th octive of the scientific scale."
:put "Sharp # notes are denoted by using a CAPTIAL letter of the note."
:put "Bonus: To play a longer note, type a number"
:put "   e.g. 2 will play all future notes twice as long so $($nms*2).  Hit 1 to reset to $(nms)"
:put "To QUIT, hit \"q\""
:local lnms $nms
:while (lastkey != 113) do={
    :set lastkey [/terminal inkey]
    :if ($lastkey = 65535) do={:delay $nms} else={
        :if ($lastkey > 48 && $lastkey < 58) do={:set $lnms ($nms*($lastkey - 48))}
        :local lastascii ($"ascii-map"->$lastkey)
        :local freq ($scale->$lastascii)
        :if ([:typeof $freq]="num") do={
            :beep frequency=$freq length=$lnms
        }
        :delay $lnms
        /terminal cuu 
    }
}
}

Re: Some Music

Posted: Sat Feb 17, 2024 12:46 am
by mykytalvov
Scripting is easier for me, my music theory is more limited. Perhaps an interactive player piano script be fun?


** ROUTEROS PLAYER PIANO **
Type a key to play a note... The note will play for 00:00:00.125. Keep holding to continue playing.
A 466 Hz
C 277 Hz
D 311 Hz
F 370 Hz
G 415 Hz
a 440 Hz
b 493 Hz
c 262 Hz
d 294 Hz
e 330 Hz
f 349 Hz
g 392 Hz
Notes are in the 4th octive of the scientific scale.
Sharp # notes are denoted by using a CAPTIAL letter of the note.
Bonus: To play a longer note, type a number
e.g. 2 will play all future notes twice as long so 00:00:00.250. Hit 1 to reset to 00:00:00.125
To QUIT, hit "q"

{
:local nms 125ms
:local scale {"c"=262; "C"=277;"d"=294; "D"=311; "e"=330; "f"=349; "F"=370; "g"=392; "G"=415; "a"=440; "A"=466; "b"=493}
:local "ascii-map" {"";"NUL";"SOH";"STX";"ETX";"EOT";"ENQ";"ACK";"back";"back";"tab";"VT";"FF";"enter";"return";"SI";"DLE";"DC1";"DC2";"DC3";"DC4";"NAK";"SYN";"ETB";"CAN";"EM";"SUB";"ESC";"FS";"GS";"RS";"US";"space";"!";"\"";"comment";"\$";"%";"&";"";"(";")";"*";"+";",";"-";".";"/";"0";"1";"2";"3";"4";"5";"6";"7";"8";"9";":";";";"<";"=";">";"\?";"@";"A";"B";"C";"D";"E";"F";"G";"H";"I";"J";"K";"L";"M";"N";"O";"P";"Q";"R";"S";"T";"U";"V";"W";"X";"Y";"Z";"[";"\\";"]";"^";"_";"`";"a";"b";"c";"d";"e";"f";"g";"h";"i";"j";"k";"l";"m";"n";"o";"p";"q";"r";"s";"t";"u";"v";"w";"x";"y";"z";"{";"|";"}";"~";"delete"}
:local lastkey 65535
:put "** ROUTEROS PLAYER PIANO **"
:put "Type a key to play a note...  The note will play for $nms.  Keep holding to continue playing."
:foreach nltr,nfreq in=$scale do={:put "\t$nltr  \t  $nfreq Hz"}
:put "Notes are in the 4th octive of the scientific scale."
:put "Sharp # notes are denoted by using a CAPTIAL letter of the note."
:put "Bonus: To play a longer note, type a number"
:put "   e.g. 2 will play all future notes twice as long so $($nms*2).  Hit 1 to reset to $(nms)"
:put "To QUIT, hit \"q\""
:local lnms $nms
:while (lastkey != 113) do={
    :set lastkey [/terminal inkey]
    :if ($lastkey = 65535) do={:delay $nms} else={
        :if ($lastkey > 48 && $lastkey < 58) do={:set $lnms ($nms*($lastkey - 48))}
        :local lastascii ($"ascii-map"->$lastkey)
        :local freq ($scale->$lastascii)
        :if ([:typeof $freq]="num") do={
            :beep frequency=$freq length=$lnms
        }
        :delay $lnms
        /terminal cuu 
    }
}
}
This is AWESOME!!! I already played Smoke on the Water with this script. The key layout needs little improvement, I changed it to be more piano-like, just like in this picture below (ignore octave and velocity keys). But I haven't figured out how to change a script description, so your help will be welcome :)

upd. made a little video with this script :D

https://youtu.be/8ezNAq2OCC0

Image
{
:local nms 125ms
:local scale {"a"=262; "w"=277;"s"=294; "e"=311; "d"=330; "f"=349; "t"=370; "g"=392; "y"=415; "h"=440; "u"=466; "j"=493}
:local "ascii-map" {"";"NUL";"SOH";"STX";"ETX";"EOT";"ENQ";"ACK";"back";"back";"tab";"VT";"FF";"enter";"return";"SI";"DLE";"DC1";"DC2";"DC3";"DC4";"NAK";"SYN";"ETB";"CAN";"EM";"SUB";"ESC";"FS";"GS";"RS";"US";"space";"!";"\"";"comment";"\$";"%";"&";"";"(";")";"*";"+";",";"-";".";"/";"0";"1";"2";"3";"4";"5";"6";"7";"8";"9";":";";";"<";"=";">";"\?";"@";"A";"B";"C";"D";"E";"F";"G";"H";"I";"J";"K";"L";"M";"N";"O";"P";"Q";"R";"S";"T";"U";"V";"W";"X";"Y";"Z";"[";"\\";"]";"^";"_";"`";"a";"b";"c";"d";"e";"f";"g";"h";"i";"j";"k";"l";"m";"n";"o";"p";"q";"r";"s";"t";"u";"v";"w";"x";"y";"z";"{";"|";"}";"~";"delete"}
:local lastkey 65535
:put "** ROUTEROS PLAYER PIANO **"
:put "Type a key to play a note...  The note will play for $nms.  Keep holding to continue playing."
:foreach nltr,nfreq in=$scale do={:put "\t$nltr  \t  $nfreq Hz"}
:put "Notes are in the 4th octive of the scientific scale."
:put "Sharp # notes are denoted by using a CAPTIAL letter of the note."
:put "Bonus: To play a longer note, type a number"
:put "   e.g. 2 will play all future notes twice as long so $($nms*2).  Hit 1 to reset to $(nms)"
:put "To QUIT, hit \"q\""
:local lnms $nms
:while (lastkey != 113) do={
    :set lastkey [/terminal inkey]
    :if ($lastkey = 65535) do={:delay $nms} else={
        :if ($lastkey > 48 && $lastkey < 58) do={:set $lnms ($nms*($lastkey - 48))}
        :local lastascii ($"ascii-map"->$lastkey)
        :local freq ($scale->$lastascii)
        :if ([:typeof $freq]="num") do={
            :beep frequency=$freq length=$lnms
        }
        :delay $lnms
        /terminal cuu 
    }
}
}

Re: Some Music

Posted: Sat Feb 17, 2024 1:09 am
by Amm0
Well since you have a keymap... This has all the octives with your keymap (again in scientific/MIDI scale), defaulting for 4th octive but the "z" and "x" should change it. And even the next octive "k" (C5) "o" (C#5) and "l" (D5) are mapped.

Probably could deal with velocity using keymap (instead of using numbers 1, 2, ... to double, triple, ... length=). I just don't know a good base for the note length and how much velocity should increase with the "c" and "v" velocity keys. If you had a preference, that be easy to add.
{
:local nms 125ms
:local octive 4
:global scalearr {"a"=(33,65,131,262,523,1047,2093,4186,8372) ; 
"w"=(35,69,139,277,554,1109,2217,4435,8870) ;
"s"=(37,73,147,294,587,1175,2349,4699,9397) ;
"e"=(39,78,156,311,622,1245,2489,4978,9956) ;
"d"=(41,82,165,330,659,1319,2637,5274,10548) ;
"f"=(44,87,175,349,698,1397,2794,5588,11175) ;
"t"=(46,92,185,370,740,1480,2960,5920,11840) ; 
"g"=(49,98,196,392,784,1568,3136,6272,12544) ;
"y"=(52,104,208,415,831,1661,3322,6645,13290) ;
"h"=(55,110,220,440,880,1760,3520,7040,14080) ;
"u"=(58,117,233,466,932,1865,3729,7459,14917) ;
"j"=(62,123,247,494,988,1976,3951,7902,15804) ;
"k"=(65,131,262,523,1047,2093,4186,8372,16744) ; 
"o"=(69,139,277,554,1109,2217,4435,8870,17739) ;
"l"=(73,147,294,587,1175,2349,4699,9397,18795) ;
}
:local "ascii-map" {"";"NUL";"SOH";"STX";"ETX";"EOT";"ENQ";"ACK";"back";"back";"tab";"VT";"FF";"enter";"return";"SI";"DLE";"DC1";"DC2";"DC3";"DC4";"NAK";"SYN";"ETB";"CAN";"EM";"SUB";"ESC";"FS";"GS";"RS";"US";"space";"!";"\"";"comment";"\$";"%";"&";"";"(";")";"*";"+";",";"-";".";"/";"0";"1";"2";"3";"4";"5";"6";"7";"8";"9";":";";";"<";"=";">";"\?";"@";"A";"B";"C";"D";"E";"F";"G";"H";"I";"J";"K";"L";"M";"N";"O";"P";"Q";"R";"S";"T";"U";"V";"W";"X";"Y";"Z";"[";"\\";"]";"^";"_";"`";"a";"b";"c";"d";"e";"f";"g";"h";"i";"j";"k";"l";"m";"n";"o";"p";"q";"r";"s";"t";"u";"v";"w";"x";"y";"z";"{";"|";"}";"~";"delete"}

:local lastkey 65535
:put "** ROUTEROS PLAYER PIANO **"
:put "Type a key to play a note...  The note will play for $nms.  Keep holding to continue playing."
:foreach nltr,nfreq in=$scalearr do={:put "\t$nltr  \t  $($nfreq->octive) Hz"}
:put "\t\t\tNotes are in the $($octive) octive of the scientific scale."
:put "\t\t\tSharp # notes are denoted by using a CAPTIAL letter of the note."
:put "\tTo play a longer note, type a number before the note"
:put "\t\te.g. 2 will play all future notes twice as long so $($nms*2).  Hit 1 to reset to $(nms)"
:put "\tCurrent octive is $octive.  Use \"x\" for next higher octive, or \"z\" to lower octive"

:put "\tTo quit, hit \"q\""
:local lnms $nms
:while ($lastkey != 113) do={
    :set lastkey [/terminal inkey]
    :if ($lastkey = 65535) do={:delay $nms} else={
        :if ($lastkey > 48 && $lastkey < 58) do={
            :set $lnms ($nms*($lastkey - 48))
            :put "\t\tnote length = $lnms"
        }
        :local lastascii ($"ascii-map"->$lastkey)
        :if ($lastascii = "x") do={:set octive ($octive+1); :put "\t\toctive = $octive" }
        :if ($lastascii = "z") do={:set octive ($octive-1); :put "\t\toctive = $octive" }
        :local freq ($scalearr->$lastascii->($octive+1))
        :if ([:typeof $freq]="num") do={
            :beep frequency=$freq length=$lnms
            :delay $lnms
            /terminal cuu 
        }
    }
}
}

Re: Some Music

Posted: Sat Feb 17, 2024 1:35 am
by mykytalvov
Well since you have a keymap... This has all the octives with your keymap (again in scientific/MIDI scale), defaulting for 4th octive but the "z" and "x" should change it. And even the next octive "k" (C5) "o" (C#5) and "l" (D5) are mapped.

Probably could deal with velocity using keymap (instead of using numbers 1, 2, ... to double, triple, ... length=). I just don't know a good base for the note length and how much velocity should increase with the "c" and "v" velocity keys. If you had a preference, that be easy to add.
{
:local nms 125ms
:local octive 4
:global scalearr {"a"=(33,65,131,262,523,1047,2093,4186,8372) ; 
"w"=(35,69,139,277,554,1109,2217,4435,8870) ;
"s"=(37,73,147,294,587,1175,2349,4699,9397) ;
"e"=(39,78,156,311,622,1245,2489,4978,9956) ;
"d"=(41,82,165,330,659,1319,2637,5274,10548) ;
"f"=(44,87,175,349,698,1397,2794,5588,11175) ;
"t"=(46,92,185,370,740,1480,2960,5920,11840) ; 
"g"=(49,98,196,392,784,1568,3136,6272,12544) ;
"y"=(52,104,208,415,831,1661,3322,6645,13290) ;
"h"=(55,110,220,440,880,1760,3520,7040,14080) ;
"u"=(58,117,233,466,932,1865,3729,7459,14917) ;
"j"=(62,123,247,494,988,1976,3951,7902,15804) ;
"k"=(65,131,262,523,1047,2093,4186,8372,16744) ; 
"o"=(69,139,277,554,1109,2217,4435,8870,17739) ;
"l"=(73,147,294,587,1175,2349,4699,9397,18795) ;
}
:local "ascii-map" {"";"NUL";"SOH";"STX";"ETX";"EOT";"ENQ";"ACK";"back";"back";"tab";"VT";"FF";"enter";"return";"SI";"DLE";"DC1";"DC2";"DC3";"DC4";"NAK";"SYN";"ETB";"CAN";"EM";"SUB";"ESC";"FS";"GS";"RS";"US";"space";"!";"\"";"comment";"\$";"%";"&";"";"(";")";"*";"+";",";"-";".";"/";"0";"1";"2";"3";"4";"5";"6";"7";"8";"9";":";";";"<";"=";">";"\?";"@";"A";"B";"C";"D";"E";"F";"G";"H";"I";"J";"K";"L";"M";"N";"O";"P";"Q";"R";"S";"T";"U";"V";"W";"X";"Y";"Z";"[";"\\";"]";"^";"_";"`";"a";"b";"c";"d";"e";"f";"g";"h";"i";"j";"k";"l";"m";"n";"o";"p";"q";"r";"s";"t";"u";"v";"w";"x";"y";"z";"{";"|";"}";"~";"delete"}

:local lastkey 65535
:put "** ROUTEROS PLAYER PIANO **"
:put "Type a key to play a note...  The note will play for $nms.  Keep holding to continue playing."
:foreach nltr,nfreq in=$scalearr do={:put "\t$nltr  \t  $($nfreq->octive) Hz"}
:put "\t\t\tNotes are in the $($octive) octive of the scientific scale."
:put "\t\t\tSharp # notes are denoted by using a CAPTIAL letter of the note."
:put "\tTo play a longer note, type a number before the note"
:put "\t\te.g. 2 will play all future notes twice as long so $($nms*2).  Hit 1 to reset to $(nms)"
:put "\tCurrent octive is $octive.  Use \"x\" for next higher octive, or \"z\" to lower octive"

:put "\tTo quit, hit \"q\""
:local lnms $nms
:while ($lastkey != 113) do={
    :set lastkey [/terminal inkey]
    :if ($lastkey = 65535) do={:delay $nms} else={
        :if ($lastkey > 48 && $lastkey < 58) do={
            :set $lnms ($nms*($lastkey - 48))
            :put "\t\tnote length = $lnms"
        }
        :local lastascii ($"ascii-map"->$lastkey)
        :if ($lastascii = "x") do={:set octive ($octive+1); :put "\t\toctive = $octive" }
        :if ($lastascii = "z") do={:set octive ($octive-1); :put "\t\toctive = $octive" }
        :local freq ($scalearr->$lastascii->($octive+1))
        :if ([:typeof $freq]="num") do={
            :beep frequency=$freq length=$lnms
            :delay $lnms
            /terminal cuu 
        }
    }
}
}
Octave change is great! But I dont think you could change velocity in mikrotik, in midi format velocity affect volume of note, and I cant see any possible way how to change loudness of beep in mikrotik. Correct me if im wrong.

Re: Some Music

Posted: Sat Feb 17, 2024 1:47 am
by Amm0
That's right: velocity is loudness/attenuation/volume. Correct, not possible ;). I thought it was "note length". It's how quarter/half/ull notes are handled, not so sure. e.g. currently: 1 = 125ms, 2 = 250ms, 3 = 375ms, etc.

Re: Some Music

Posted: Sat Feb 17, 2024 1:55 am
by mykytalvov
That's right: velocity is loudness/attenuation/volume. Correct, not possible ;). I thought it was "note length". It's how quarter/half/ull notes are handled, not so sure. e.g. currently: 1 = 125ms, 2 = 250ms, 3 = 375ms, etc.
Also need to mention that quarter/half/full value is also affected by bpm count. Heres online calculator - https://muted.io/bpm-to-ms/

Re: Some Music

Posted: Sat Feb 17, 2024 4:49 am
by Amm0
The key layout needs little improvement, I changed it to be more piano-like, just like in this picture below (ignore octave and velocity keys). But I haven't figured out how to change a script description, so your help will be welcome :)
upd. made a little video with this script :D https://youtu.be/8ezNAq2OCC0

Image

I made a better help screen. If using winbox terminal, or any shell with ANSI colors, the NOTES will be reversed and other help shown.


Image


Here is some updated code with better help and formatting. Also made code a function, so it can be called more than once using "$PIANO <base note length in ms>" after the function is loaded.
:global PIANO do={
:local nms 125ms
:if ([:typeof [:totime $1]]="time") do={:set nms [:totime $1]}
:local octive 4
:local scalearr {"a"=(33,65,131,262,523,1047,2093,4186,8372) ; 
"w"=(35,69,139,277,554,1109,2217,4435,8870) ;
"s"=(37,73,147,294,587,1175,2349,4699,9397) ;
"e"=(39,78,156,311,622,1245,2489,4978,9956) ;
"d"=(41,82,165,330,659,1319,2637,5274,10548) ;
"f"=(44,87,175,349,698,1397,2794,5588,11175) ;
"t"=(46,92,185,370,740,1480,2960,5920,11840) ; 
"g"=(49,98,196,392,784,1568,3136,6272,12544) ;
"y"=(52,104,208,415,831,1661,3322,6645,13290) ;
"h"=(55,110,220,440,880,1760,3520,7040,14080) ;
"u"=(58,117,233,466,932,1865,3729,7459,14917) ;
"j"=(62,123,247,494,988,1976,3951,7902,15804) ;
"k"=(65,131,262,523,1047,2093,4186,8372,16744) ; 
"o"=(69,139,277,554,1109,2217,4435,8870,17739) ;
"l"=(73,147,294,587,1175,2349,4699,9397,18795) ;
}
:local "ascii-map" {"";"NUL";"SOH";"STX";"ETX";"EOT";"ENQ";"ACK";"back";"back";"tab";"VT";"FF";"enter";"return";"SI";"DLE";"DC1";"DC2";"DC3";"DC4";"NAK";"SYN";"ETB";"CAN";"EM";"SUB";"ESC";"FS";"GS";"RS";"US";"space";"!";"\"";"comment";"\$";"%";"&";"";"(";")";"*";"+";",";"-";".";"/";"0";"1";"2";"3";"4";"5";"6";"7";"8";"9";":";";";"<";"=";">";"\?";"@";"A";"B";"C";"D";"E";"F";"G";"H";"I";"J";"K";"L";"M";"N";"O";"P";"Q";"R";"S";"T";"U";"V";"W";"X";"Y";"Z";"[";"\\";"]";"^";"_";"`";"a";"b";"c";"d";"e";"f";"g";"h";"i";"j";"k";"l";"m";"n";"o";"p";"q";"r";"s";"t";"u";"v";"w";"x";"y";"z";"{";"|";"}";"~";"delete"}
:local lnms $nms
:local lastkey 65535

:put "\t\t** ROUTEROS PLAYER PIANO **"
:put "Type a key to play a note...  The note will play for $nms."
:put "To play a longer note, type a number before the note"
:put "e.g. 2 will play all future notes twice. Hit 1 to reset to $(nms)"
:put "Current octive is $octive.  Use \"x\" for next higher octive, or \"z\" to lower octive"
:put "To quit, hit \"q\""
:put ""
:put "\t\1B[2;31mLENGTH \1B[1;31m1x\1B[0m \1B[1;31m2x\1B[0m \1B[1;31m3x\1B[0m \1B[1;31m4x\1B[0m \1B[1;31m5x\1B[0m \1B[1;31m6x\1B[0m \1B[1;31m7x\1B[0m \1B[1;31m8x\1B[0m" 
:put "\t\1B[0m    `  1  2  3  4  5  6  7  8  9  0  -  = del"
:put "\t      \1B[2;7mQUIT\1B[0m \1B[1;7mC#\1B[0m \1B[1;7mD#\1B[0m    \1B[1;7mF#\1B[0m \1B[1;7mG#\1B[0m \1B[1;7mA#\1B[0m    \1B[1;7mC#\1B[0m"
:put "\t\1B[0m   tab  q  w  e  r  t  y  u  i  o  p  [  ]  \\"
:put "\t         \1B[1;7mC\1B[0m  \1B[1;7mD\1B[0m  \1B[1;7mE\1B[0m  \1B[1;7mF\1B[0m  \1B[1;7mG\1B[0m  \1B[1;7mA\1B[0m  \1B[1;7mB\1B[0m  \1B[1;7mC\1B[0m  \1B[1;7mD\1B[0m "
:put "\t\1B[0m   caps  a  s  d  f  g  h  j  k  l  ;  '  ret"
:put "\t\1B[1;31m          <  >        "
:put "\t\1B[0m   shft   z  x  c  v  b  n  m  ,  .  /  shft"
:put "\t         \1B[2;31mOCTIVE \1B[1m$octive\1B[0m    \1B[2;31mNOTE \1B[1m$lnms\1B[0m "

:while ($lastkey != 113) do={
    :set lastkey [/terminal inkey]
    :if ($lastkey = 65535) do={:delay $nms} else={
        :if ($lastkey > 48 && $lastkey < 58) do={
            :set $lnms ($nms*($lastkey - 48))
            /terminal cuu
            :put "\t         \1B[2;31mOCTIVE \1B[1m$octive\1B[0m    \1B[2;31mBEAT \1B[1m$lnms\1B[0m "
        }
        :local lastascii ($"ascii-map"->$lastkey)
        :if ($lastascii ~ "x|z") do={
            :if ($lastascii = "z") do={ :set octive ($octive-1); } else={ :set octive ($octive+1); } 
            /terminal cuu
            :put "\t         \1B[2;31mOCTIVE \1B[1m$octive\1B[0m    \1B[2;31mBEAT \1B[1m$lnms\1B[0m "
        }
        :local freq ($scalearr->$lastascii->($octive+1))
        :if ([:typeof $freq]="num") do={
            :beep frequency=$freq length=$lnms
            :delay $lnms
            /terminal cuu 
        }
    }
}
}
$PIANO 125ms

[me@router] > $PIANO 50ms
** ROUTEROS PLAYER PIANO **
Type a key to play a note... The note will play for 00:00:00.050.
To play a longer note, type a number before the note
e.g. 2 will play all future notes twice. Hit 1 to reset to 00:00:00.050
Current octive is 4. Use "x" for next higher octive, or "z" to lower octive
To quit, hit "q"

LENGTH 1x 2x 3x 4x 5x 6x 7x 8x
` 1 2 3 4 5 6 7 8 9 0 - = del
QUIT C# D# F# G# A# C#
tab q w e r t y u i o p [ ] \
C D E F G A B C D
caps a s d f g h j k l ; ' ret
< >
shft z x c v b n m , . / shft
OCTIVE 4 NOTE 00:00:00.050

Re: Some Music

Posted: Sat Feb 17, 2024 4:13 pm
by mykytalvov
Now its perfect! Great job, thank you !

Re: Some Music

Posted: Sun Feb 18, 2024 4:52 am
by Amm0
Now its perfect! Great job, thank you !
Well, not quite. In my experience, every musician wants to record themselves. So added a recording feature, a bpm= option, and better help & improved status bar. Created a thread to discuss further (since I hijacked this one)... with new version of $PIANO here: viewtopic.php?p=1057143#p1057143

Image