Arduino Playground will be a regular website and not a wiki

Hello, and thank you for having had the Playground be an editable wiki in the past. In 2009, I contributed the "Much improved version" at the bottom of the following page:
https://playground.arduino.cc/Code/MusicalAlgoFun
I made edits to it for clarification several times since. Some random person apparently found it useful enough to credit me in a YouTube video:

When I saw that the Playground would become read-only, I thought "OK, I can't think of further edits to that code anyway." However, last night, it occurred to me that I could make the code more efficient and eliminate floating-point math from the loop. Is there a process in place yet to migrate individual pages to the Tutorials or ProjectHub for further edits? If yes, I'd like to request that page, and the pages to which it refers, be nominated for such a migration. If no, I'd like to request that an admin replace my code on that page with the following:

/*

  • Square wave tune with an Arduino and a PC speaker.
  • The calculation of the tones is made following the mathematical
  • operation:
  • timeUpDown = 1/(2 * toneFrequency) = period / 2
  • )c( Copyleft 2009,2019 Daniel Gimpelevich
  • Inspired from AlexandreQuessy's Arduino Playground - HomePage
    */

const byte ledPin = 13;
const byte speakerOut = 11;
/* That makes a standard old PC speaker connector fit nicely over the pins. */

long freqTable[128]; /* 10.5 octaves :: semitones. 60 = do, 62 = re, etc. */

/* our song: Each number pair is a MIDI note and a note symbol. */

/* MIDI notes from 0, or C(-1), to 127, or G9. /
/
Rests are note number -1. */

/* Symbols are 1 for whole, -1 for dotted whole, 2 for half, /
/
-2 for dotted half, 4 for quarter, -4 for dotted quarter, etc. */

const int BPM = 120;
const char song[] = {
64,4,64,4,65,4,67,4, 67,4,65,4,64,4,62,4,
60,4,60,4,62,4,64,4, 64,-4,62,8,62,2,
64,4,64,4,65,4,67,4, 67,4,65,4,64,4,62,4,
60,4,60,4,62,4,64,4, 62,-4,60,8,60,2,
62,4,62,4,64,4,60,4, 62,4,64,8,65,8,64,4,60,4,
62,4,64,8,65,8,64,4,62,4, 60,4,62,4,55,2,
64,4,64,4,65,4,67,4, 67,4,65,4,64,4,62,4,
60,4,60,4,62,4,64,4, 62,-4,60,8,60,2};

int period, note;
unsigned int i;
unsigned long timeUp;
byte statePin = LOW;

void setup() {
pinMode(ledPin, OUTPUT);
pinMode(speakerOut, OUTPUT);
for (note = 128; note--:wink:
freqTable[note] = 105600 * pow(2, (note - 69) / 12.0);
digitalWrite(speakerOut, LOW);
}

void loop() {
for (i = 0; i < sizeof(song):wink: {
statePin = !statePin;
digitalWrite(ledPin, statePin);

note = song[i++];
period = (note < 0 ? 240000 : freqTable[note]) / (song[i++] * BPM);
if (period < 0)
period = period * -3 / 2;

if (note < 0) {
delay(period);
continue;
}
timeUp = 120000000 / freqTable[note];
while (period--) {
digitalWrite(speakerOut, HIGH);
delayMicroseconds(timeUp);
digitalWrite(speakerOut, LOW);
delayMicroseconds(timeUp);
}
delay(50);
}
delay(1000);
}