brendan@otc.otca.oz.au (06/08/90)
How To Write a Rap / House(glorified disco) / Disco Song
--------------------------------------------------------
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 1 Column 2 Column 3
Move it Triple Beat The City Streets
Get Up Body Heat You'll be Humpin
Pump It Up Feel the Beat Before the Night is Over
Get Down Get Around Shake your Meat
Shake it The Joint Is Jumpin Bustin Loose
Pump the Jam Feet are Stompin Disco Heat
BACKBEAT:
Program a drum machine in neverending 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:
-----
"Get down" by Mixmastermeatbeaters
Get down the joint is jumpin' you'll be humpin'
Shake it feet are stompin' in the city streets
Pump the jam feel the beat with disco heat
Move it get around 'til the night is over
(chorus)
Get down to triple beat shake your meat
Pump it up get around in the city streets
Pump the jam to triple beat you'll be humpin'
Shake it get body heat 'til the night is over
Get up the joint is jumpin' you'll be humpin'
Pump it up feet are stompin' I'm bustin loose
(chorus)
Get down to triple beat shake your meat
Pump it up get around in the city streets
Pump it up get around in the city streets
Pump it up get around in the city streets
Pump it up get around in the city streets
etc..
-----
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 :-)
!-----------------------------------------------------------------------
#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");
}
!-----------------------------------------------------------------------
Brendan Jones ACSnet: brendan@otc.otca.oz
R&D Contractor UUCP: {uunet,mcvax}!otc.otca.oz!brendan
Services R&D Phone: (02)2874676 Fax: (02)2874990
|||| OTC || Snail: GPO Box 7000, Sydney 2001, AUSTRALIA
--
Edited by Brad Templeton. MAIL your jokes (jokes ONLY) to funny@looking.ON.CA
Attribute the joke's source if at all possible. A Daemon will auto-reply.
Jokes ABOUT major current events should be sent to topical@looking.on.ca
Anything that is not a joke submission goes to funny-request@looking.on.ca