Generador de letras de reggaetón

Disclaimer: this is completely unrelated to computer science or VOIP :D.

Este post es mi respuesta a @mharcos y @markosbenitez quienes me desafiaron a hacer un programa que genere letras de reggaetón a partir de unas instrucciones (abajo) posteadas en facebook.

Con un script hecho en PHP fui capaz de generar letras como esta:

Gata yo quiero azotarte fuerte hasta manhana
Chica yo quiero cogerte lento hasta manhana
Chica vamos a castigarte duro hasta manhana
Perra vamos a cogerte fuerte hasta que salga el sol

[CORO]
azotarte azotarte azotarte, toda la noche, suave … x3

Perra vamos a castigarte duro todo el dia
Perra yo voy a castigarte duro hasta manhana
Gata vamos a cogerte suave todo el dia
Chica yo quiero encenderte rapido hasta el amanecer

[CORO]
azotarte azotarte azotarte, toda la noche, lento … x3

Perra yo quiero darte suave hasta manhana
Mami yo vengo a azotarte lento hasta que salga el sol
Chica yo voy a encenderte suave hasta el amanecer
Chica vamos a castigarte lento hasta el amanecer

[CORO]
darte darte darte, hasta que salga el sol, suave … x3

Con éste enlace podés generar más letras aleatorias. Con cada recarga se genera una nueva.

Para los entendidos del tema, acá les dejo el script.

[php]

define(‘RENGLONES_POR_ESTROFA’, 4);
define(‘MAXIMO_ESTROFAS’, 3);
define(‘NL_MARKER’, “n”);

$bloque_1 = array(‘Mami’, ‘Gata’, ‘Perra’, ‘Zorra’, ‘Chica’);
$bloque_2 = array(‘yo quiero’, ‘vamos a’, ‘yo voy a’, ‘yo quiero’, ‘yo vengo a’);
$bloque_3 = array(‘castigarte’, ‘cogerte’, ‘encenderte’, ‘darte’, ‘azotarte’);
$bloque_4 = array(‘duro’, ‘rapido’, ‘lento’, ‘suave’, ‘fuerte’);

$bloque_5 = array(‘hasta que salga el sol’,
‘toda la noche’,
‘hasta el amanecer’,
‘hasta manhana’,
‘todo el dia’);

$bloque_6 = array(‘sin miedo’,
‘sin anestesia’,
‘en el piso’,
‘contra la pared’,
‘sin compromiso’);

function GenerarLetra()
{
$estrofa = array();
$letra = array();

for ($i = 0; $i < MAXIMO_ESTROFAS; $i++)
{
$estrofa = array();

for ($j = 0; $j < RENGLONES_POR_ESTROFA; $j++)
array_push($estrofa, GenerarRenglon());

array_push($letra, implode(NL_MARKER, $estrofa).NL_MARKER);
array_push($letra, “[CORO]”);
array_push($letra, GenerarCoro().” … x3″.NL_MARKER);
}

print implode(NL_MARKER, $letra);
}

print GenerarLetra().”n”;

function GenerarRenglon()
{
global $bloque_1, $bloque_2, $bloque_3, $bloque_4, $bloque_5, $bloque_6;

return “{$bloque_1[rand() % count($bloque_1)]} “.
“{$bloque_2[rand() % count($bloque_2)]} “.
“{$bloque_3[rand() % count($bloque_3)]} “.
“{$bloque_4[rand() % count($bloque_4)]} “.
“{$bloque_5[rand() % count($bloque_5)]}”;
}

function GenerarCoro()
{
global $bloque_3, $bloque_4, $bloque_5;

$verbo = $bloque_3[rand() % count($bloque_3)];

return “$verbo $verbo $verbo, {$bloque_5[rand() % count($bloque_5)]}, {$bloque_4[rand() % count($bloque_4)]}”;

}

 

[/php]

Espero les sirva de algo xD

8 thoughts on “Generador de letras de reggaetón”

  1. Excelente!! Voy a probarlo con 666 JUVENTU SATANA y esas cosas! Buenisimo!

  2. Jajajajaja!!! Hola mundo, I wanna make you un post jugoso hasta el amanecer! Ou yeaaaaaahhh

  3. Fuckyou Caru, haz puesto en marcha el fin de los tiempos, los web crawlers de google van a tomar este codigo y empezar a integrarlo en los servidores en la nube y asi por tu culpa va nacer “Don Skynet”!!!!

    Oh shit!

  4. Esta es mi versión escrita en Python.

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    import random

    cantidad_de_versos = 4
    cantidad_de_estrofas = 4

    frase1 = [“Mami”, “Gata”, “Perra”, “Zorra”, “Chica”]
    frase2 = [“yo quiero”, “vamos a”, “yo voy a”, “yo quiero”, “yo vengo a”]
    frase3 = [“castigarte”, “cogerte”, “encenderte”, “darte”, “azotarte”]
    frase4 = [“duro (MUY DURO),”, “rápido (FANTÁSTICO)”, “lento (Y NO MIENTO)”, “suave (MUY SUAVE)”, “fuerte (MÁS FUERTE)”]
    frase5 = [“hasta que salga el sol”, “toda la noche”, “hasta el amanecer”, “hasta mañana”, “todo el día”]
    frase6 = [“SIN MIEDO”, “SIN ANESTESIA”, “EN EL PISO”, “CONTRA LA PARED EH EH”, “SIN COMPROMISO”]

    def coro():
    random.shuffle(frase3)
    random.shuffle(frase4)
    random.shuffle(frase5)

    letra_del_coro = frase3[0] + “, ” + frase3[0] + “, ” + frase3[0] + “, ” + frase5[0] + ” ” + frase4[0] + “!”

    return letra_del_coro

    def verso():
    random.shuffle(frase1)
    random.shuffle(frase2)
    random.shuffle(frase3)
    random.shuffle(frase4)
    random.shuffle(frase5)
    random.shuffle(frase6)

    un_verso = frase1[0] + “: ” + frase2[0] + ” ” + frase3[0] + ” ” + frase4[0] + ” ” + frase5[0] + “, ” + frase6[0] + “!”

    return un_verso

    el_coro = coro()

    for i in range(cantidad_de_estrofas):
    for j in range(cantidad_de_estrofas):
    print verso()
    print “n” + el_coro + “n”

    1. Lo que está (EN MAYUSCULAS) es la parte que el coro que canta haciendo la segunda voz…

  5. hola el compilador no funciona, me gustaria ver si lo puedes repara quisiera probarlo

  6. Wenas, he probado el codigo PHP en editores online pero siempre da error (si no es por una cosa, es por otra) sabeis donde puedo ejecutarlo bien? o si es disponible en alguna web este maravilloso código
    Gracias

Comments are closed.