Valid HTML 4.0! Valid CSS!

How To Write a Rap / House / Disco Song

By Brendan Jones

LYRICS:

Simply take one word or phrase from each of the three columns below, in order to make one line. Repeat randomly four times. Repeat process again twice to make chorus. Repeat last line 17 times. Don't worry if they don't make sense.

Column 1Column 2Column 3
Move itTriple BeatThe City Streets
Get UpBody HeatYou'll be Humpin
Pump It UpFeel the BeatBefore the Night is Over
Get DownGet AroundShake your Meat
Shake itThe Joint Is JumpinBustin Loose
Pump the JamFeet are StompinDisco Heat

BACKBEAT:

Program a drum machine in never ending 4/4 time. Add occasional snare.

BODY:

Add monotonous bass in one key. Overlay with puncy sounding synth. Get previously unknown singer to talk the lyrics so as not to test the range of the vocal chords.

PRODUCTION:

Put above ingredients together on master tape. Press discs. Give the label a suitably techno-funk sounding name, like "Mixmastermeatbeaters". Sell 5 million copies to unsuspecting public. Win MTV Award.

The sad thing is the public will think you've been creative...

Better still, this process can be automated via a lyric C program, a random synth base and music generator, and the discs mastered directly by computer control.

This relieves the composer of decisions regarding which phrases and notes to use in production. By pressing the <RET> key, more than 100 CD's a week can be generated.

This I have done, below is a sample composition guaranteed to make megabucks:

Shake it

by Mixmastermeatbeaters

Move it Feet are Stompin You'll be Humpin
Move it Feet are Stompin Bustin Loose
Get Down Feel the Beat Before the Night is Over
Get Up Feel the Beat Bustin Loose

Chorus:
Move it Feet are Stompin You'll be Humpin
Pump the Jam Feel the Beat Disco Heat

Pump the Jam Triple Beat You'll be Humpin
Move it The Joint Is Jumpin Disco Heat
Pump It Up The Joint Is Jumpin The City Streets
Get Down Get Around Before the Night is Over

Chorus:
Move it Feet are Stompin You'll be Humpin
Pump the Jam Feel the Beat Disco Heat

Pump the Jam Feet are Stompin Bustin Loose
Pump the Jam Feet are Stompin Bustin Loose
Pump the Jam Feet are Stompin Bustin Loose
Pump the Jam Feet are Stompin Bustin Loose
Pump the Jam Feet are Stompin Bustin Loose
(repeat)

Note that this is indistinguishable from the human generated version.

For those who wish to compose themselves, the program appears in the next posting. I hope for a cut in the royalties :-)

Generate another hit single!.


#include <stdio.h>
#include <time.h>
#include <ctype.h>

static char     col1[6][30] = {
        "Move it",
        "Get up",
        "Pump it up",
        "Get down",
        "Shake it",
        "Pump the jam"
};

static char     col2[6][30] = {
        " to triple beat ",
        " get body heat ",
        " feel the beat ",
        " get around ",
        " the joint is jumpin' ",
        " feet are stompin' "
};

static char     col3[6][30] = {
        "in the city streets\n",
        "you'll be humpin'\n",
        "'til the night is over\n",
        "shake your meat\n",
        "I'm bustin loose\n",
        "with disco heat\n"
};

main()
{
        int     chor[2][3];
        int     i,j,getpid();
        long    now;

/* Generate random seed */

        now = time(&now) / rand();
        srand(getpid() + (int)((now >> 16) + now + time(&now)));

/* Generate chorus and title */

    for (i = 0; i < 2; i++)
            for (j = 0; j < 3; j++)
                    chor[i][j] = rand() % 6;
    printf ("\n\"%s\" by Mixmastermeatbeaters\n\n",col1[(chor[0][0])]);

/* Print out song */

        verse();
        chorus(chor);
        verse();
        chorus(chor);
        lastline(chor);
        printf("-----\n");
}

chorus(chor)
int     chor[2][3];
{
        int     i;

        printf("\n(chorus)\n");
        for (i = 0; i < 2; i++) {
                printf("%s",col1[(chor[i][0])]);
                printf("%s",col2[(chor[i][1])]);
                printf("%s",col3[(chor[i][2])]);
        }
        printf("\n");
}

verse()
{
        int     i;

        for (i = 0; i < 4; i++) {
                printf("%s",col1[rand()%6]);
                printf("%s",col2[rand()%6]);
                printf("%s",col3[rand()%6]);
        }
}

lastline(chor)
int     chor[2][3];
{
        int     i;

        for (i = 0; i < 17; i++) {
                printf("%s",col1[chor[1][0]]);
                printf("%s",col2[chor[1][1]]);
                printf("%s",col3[chor[1][2]]);
        }
        printf("\n");
}


Auswege: Humor im Internet, meine Homepage.
Links: Humor on the Internet, my homepage.


Thomas Bätzler, Thomas@Baetzler.de
$Id$