RTTTL Ofuscación


15

RTTTL , o Ring Tone Text Transfer Language es un formato de música que fue inventado por Nokia en los albores de los tiempos cuando los dinosaurios deambulaban por la tierra . Permite piezas de música bastante crudas (sin acordes ni nada), y el formato es bastante simple, por eso creo que es genial. Echa un vistazo a este:

DejaVu: d=8,o=5,b=200: e, e, c, e, g, 2g4

Diseccionemos el formato. La parte "DejaVu" al principio es el título: no puede tener más de diez caracteres. Los valores d y o son los valores predeterminados de duración y octava; si una nota no especifica la duración u octava, los usará. Finalmente, la b son los latidos por minuto.

Después de eso, se enumeran las notas reales de la canción. El formato de una nota es DPO, donde D es la duración de la nota (1, 2, 4, 8, 16), P es el tono (A, B, C, D, E, F, G, A #, B # , C #, D #, E #, F #, G #) y O es la octava (4-8 en la implementación de Nokia, sin embargo, es diferente para otras implementaciones. A los fines del desafío, diremos que es 1-8) . Si no se especifica la duración o la octava, se utilizan los valores predeterminados. Además, una nota puede tener un punto después, esto esencialmente multiplica la duración por 1.5.

En nuestro ejemplo aquí, tenemos dos notas E sin duración y octava, lo que significa que tienen la duración y octava por defecto (8, o corchea y octava 5), ​​una C sin duración y octava, una E y una G. La nota final es una nota G con una duración de 2 (media nota) y una octava de 4.

Ahora que hemos revisado el formato, ¿cuál es el desafío? El desafío en realidad no tiene mucho que ver con RTTTL. Su tarea es crear un programa ofuscado que muestre "¡Hola, mundo!" (exactamente) que también es una canción RTTTL válida que tiene al menos cinco segundos de duración .

Para probar su canción RTTTL, puede usar este sitio para convertir su canción a un archivo MIDI y luego escucharla en un reproductor MIDI. Este es . ¡Buena suerte!

EDITAR: aquí hay un sitio web para convertir MIDI a RTTTL si así lo desea. Enlace

EDIT2: esta recompensa brillante se otorgará al ganador (la publicación más votada) en 7 días.


¿Pueden los latidos por segundo ser un decimal?
Downgoat

No. También se suponía que eso era latidos por minuto, lo arreglé.
un spaghetto

1
¿Hay alguna forma de convertir un archivo midi a una canción RTTTL?
The_Basset_Hound

Estoy seguro de que lo hay. ¿Quizás intentar buscarlo en Google? (Tendrías que asegurarte de que el archivo MIDI no contenga acordes, que RTTTL no admite).
un spaghetto

1
Encontré uno que funciona: midi.mathewvp.com/midi2RTTL.php
The_Basset_Hound

Respuestas:


13

Espacio en blanco, 2748 bytes

(reemplazar \tcon pestañas reales)

Hello:d=4, o=5, b=120:2p, 16a2,
16p, 16a2, 16p, 16a3,\t16p, 16a3, 16p,\t16g2, 16p, 16g2, 16p,
16g3,\t16p,\t16g3, 16p, 16a2, 16p, e3,\td3,
16b2, 16c3, 16b2, 16a2,\t8g2,\t16a2, 16p, 16a2,\t16p, 16a3,\t16p,
16a3,\t16p,\t16g2, 16p, 16g2, 16p, 16g3,\t16p, 16g3,
16p, 16a2, 16p, e3,\td3,\t16b2, 16c3,\t16b2,\t16a2, 8g2, 16a2,
16p,\t16a2,\t16p, 16a3, 16p, 16a3, 16p,\t16g2,\t16p,
16g2, 16p, 16g3, 16p,\t16g3,\t16p, 16a2,\t16p,\te3, d3, 16b2,
16c3,\t16b2,\t16a2, 8g2, 16a2, 16p, 16a2,\t16p, 16a3, 16p,
16a3, 16p, 16g2, 16p,\t16g2,\t16p, 16g3,\t16p,\t16g3,\t16p,\t16a2,
16p,\te3,\td3, 16b2, 16c3, 16b2, 16a2,\t8g2, 16a2,\t16p,
16a2, 16p, 16a3, 16p,\t16a3, 16p,\t16g2,\t16p, 16g2, 16p,
16g3,\t16p,\t16g3, 16p, 16a2, 16p, e3,\td3,\t16b2, 16c3,
16b2, 16a2, 8g2, 16a2,\t16p, 16a2, 16p, 16a3, 16p, 16a3,
16p,\t16g2,\t16p, 16g2, 16p, 16g3, 16p,\t16g3,\t16p,\t16a2,
16p, e3, d3, 16b2,\t16c3,\t16b2,\t16a2, 8g2,\ta2,\t8c#3,\t8e3,
g2,\t8b2,\t8d3, a2, 8c#3, 8e3, g2,\t8b2, 8d3, a2, 8c#3,
8e3, g2, 8b2, 8d3,\ta2,\t8c#3, 8e3,\tg2,\t8b2,\t8d3,\ta2,
8c#3,\t8e3,\tg2, 8b2, 8d3, a2, 8c#3,\t8e3, g2, 8b2,\t8d3,
a2, 8c#3, 8e3, g2,\t8b2,\t8d3,\ta2, 8c#3, 8e3,\tg2, 8b2,
8d3,\t16a2,\t16p, 16a2, 16p, 16a3, 16p,\t16a3, 16p,\t16g2, 16p,
16g2, 16p, 16g3, 16p,\t16g3,\t16p, 16a2,\t16p,\te3, d3, 16b2,
16c3,\t16b2,\t16a2, 8g2, 16a2, 16p, 16a2,\t16p, 16a3,\t16p,\t16a3,
16p, 16g2, 16p, 16g2,\t16p,\t16g3, 16p, 16g3,\t16p, 16a2, 16p,
e3,\td3,\t16b2, 16c3, 16b2, 16a2, 8g2,\t16a2,\t16p, 16a2, 16p,
16a3, 16p, 16a3, 16p,\t16g2, 16p, 16g2, 16p, 16g3,\t16p,
16g3,\t16p,\t16a2, 16p, e3, d3, 16b2,\t16c3,\t16b2, 16a2,\t8g2,
16a2, 16p, 16a2, 16p,\t16a3,\t16p, 16a3,\t16p,
16g2,\t16p,\t16g2, 16p, 16g3, 16p, 16g3,\t16p,\t16a2,\t16p, e3,
d3, 16b2, 16c3, 16b2,\t16a2, 8g2,\ta2, 8c#3,
8e3,\tg2,\t8b2, 8d3, a2, 8c#3, 8e3,\tg2,\t8b2,\t8d3,\ta2,
8c#3, 8e3, g2, 8b2, 8d3,
a2,\t8c#3,\t8e3, g2, 8b2, 8d3, a2, 8c#3,
8e3,
g2, 8b2, 8d3, a2, 8c#3,\t8e3,
g2, 8b2,
8d3, a2,\t8c#3,\t8e3,\tg2, 8b2,
8d3, a2,
8c#3,\t8e3, g2, 8b2,\t8d3, 1a3,
1a2,\td3,
8f#3, 8a3, c3, 8e3, 8g3, d3,\t8f#3,
8a3,\tc3, 8e3, 8g3, d3,
8f#3, 8a3,
c3, 8e3, 8g3,\td3,
8f#3,
8a3, c3, 8e3, 8g3,\td3, 8f#3,
8a3,
c3,
8e3,
8g3,d3,8f#3,8a3,c3,8e3,8g3,d3,8f#3,8a3,c3,8e3,8g3,d3,8f#3,8a3,c3,8e3,8g3,8d3,274p,8f3,274p,8d3,8c#3,8c3,274p,8b2,274c3,8p,8c#3,8d3,274p,8f3,274p,8d3,8c#3,8c3,274p,8b2,274c3,8p,8c#3,8d3,274p,8f3,274p,8d3,8c#3,8c3,274p,8b2,274c3,8p,8c#3,8d3,274p,8f3,274p,8d3,8c#3,8c3,274p,8b2,274c3,8p,8c#3,8d3,274p,8f3,274p,8d3,8c#3,8c3,274p,8b2,274c3,8p,8c#3,8d3,274p,8f3,274p,8d3,8c#3,8c3,274p,8b2,274c3,8p,8c#3,8d3,274p,8f3,274p,8d3,8c#3,8c3,274p,8b2,274c3,8p,8c#3,8d3,274p,8f3,274p,8d3,8c#3,8c3,274p,8b2,274c3,8p,8c#3,8d3,274p,8f3,274p,8d3,8c#3,8c3,274p,8b2,274c3,8p,8c#3,8d3,274p,8f3,274p,8d3,8c#3,8c3,274p,8b2,274c3,8p,8c#3,8d3,274p,8f3,274p,8d3,8c#3,8c3,274p,8b2,274c3,8p,8c#3,8d3,274p,8f3,274p,8d3,8c#3,8c3,274p,8b2,274c3,8p,8c#3,8d3,274p,8f3,274p,8d3,8c#3,

Es una versión de tono horrible de The Doors con Hello, I love you .

Descargar MIDI convertido


A mi jugador no le gusta octave: 2, Cannot index into a null array.. La pregunta decía que solo las octavas 4-8 son válidas, así que eso es todo lo que codifiqué. Sin embargo, suena bien en el sitio web vinculado.
TessellatingHeckler

Ah sí, me olvidé de esto. Algunos jugadores admitirán más octavas y otros no. El Nokia One estándar solo admite 4-8, por eso lo mencioné.
un espagueti

8

H9 +, 157,007 bytes

MIDI !!!!

Es demasiado largo para el post. Así que aquí, toma un pastebin . (El pastebin no tiene las mayúsculas adecuadas, para su información). Usé los siguientes softwares:

La canción es "Anthem of our Dying Day", de Story of the Year. Es la canción completa de 3.5 minutos. ^-^.

Comienza con:

ANTHEM:d=4,o=5,b=120:172c#,86f#,86a4,172p,16p,43a4,86p,43f#4,172a4,10p,57a4,...

H, por supuesto, impresiones Hello, World!. Y no hay 9s ni +s en el código, me aseguré. Lo bueno es que esto no es un .


Magnifique +1 para ti
un spaghetto el

@quartata Merci!
Conor O'Brien

1
Hmm, parece que una manada de llamas corre alrededor de 10 pianos, ¿eso es lo que se pretende o algún problema de reproducción de mi lado?
aditsu

@aditsu Es algo así como; es solo una canción de rock bastante intensa.
Conor O'Brien

44
-1 no implementa la especificación (" que genera" Hello, World! "(Exactamente) ") y no está escrito en un lenguaje de programación .
Peter Taylor

7

123 , 816 bytes

H:d=4,o=4,b=400:2a,2b,2a,2b,1a,1b,2a,1b,1a,2b,1a,1b,1a,2b,1a,1b,2a,2b,2a,2b,2a,2b,2a,2b,1a,1b,2a,1b,1a,1b,1a,2b,1a,1b,1a,2b,1a,1b,2a,1b,1a,2b,2a,2b,2a,2b,2a,2b,2a,1b,1a,2b,1a,1b,2a,1b,1a,3b,3a,1b,2a,1b,1a,2b,1a,3b,1a,2b,1a,2b,1a,1b,2a,2b,2a,2b,2a,2b,2a,2b,1a,1b,1a,2b,1a,1b,2a,1b,3a,3b,1a,2b,1a,1b,2a,1b,3a,1b,2a,2b,2a,2b,2a,2b,2a,2b,1a,1b,1a,2b,1a,1b,3a,3b,2a,1b,1a,3b,3a,1b,2a,1b,1a,2b,2a,2b,2a,2b,2a,1b,1a,1b,2a,1b,1a,2b,3a,3b,1a,1b,2a,3b,3a,2b,2a,2b,2a,2b,2a,2b,1a,1b,1a,1b,2a,1b,1a,1b,1a,1b,2a,1b,1a,2b,2a,2b,2a,2b,1a,1b,1a,1b,2a,1b,1a,2b,1a,1b,2a,2b,2a,2b,2a,2b,2a,2b,1a,1b,2a,1b,1a,1b,1a,1b,2a,1b,1a,2b,1a,1b,2a,1b,1a,2b,2a,2b,2a,2b,2a,2b,1a,1b,1a,1b,1a,2b,1a,1b,2a,1b,1a,2b,1a,1b,2a,2b,2a,2b,2a,1b,3a,3b,1a,2b,1a,1b,2a,1b,3a,1b,2a,2b,2a,2b,2a,2b,2a,2b,1a,1b,2a,1b,1a,1b,3a,3b,2a,1b,1a,3b,3a,1b,2a,1b,1a,2b,1a

Descargar melodía

Este es solo un pitido rítmico, pero el lenguaje seguramente tiene más potencial para este desafío, ya que en 123, todos los caracteres excepto 1, 2 y 3 son ignorados. Los créditos para el código original 123 van a Martin Büttner .


Wow, nunca he visto este idioma antes. ¡Buena esa!
un espagueti

2

Python 2.7, 1606 bytes

Bien, entonces no es asombrosamente ofuscado, pero funciona. Lo he convertido a un archivo midi y se reproduce.

La melodía sigue viva del portal . Obtuve la melodía como un archivo midi desde aquí , que luego convertí en un RTTL. Las últimas notas están apagadas, pero creo que está bien.

print[':d=4,o=5,b=120:2p,8g,8f#,8e,8e,2f#,1p,8a4,8g,8f#,8e,e,f#.,d,8e,1a4,8p,8a4,e,8f#,g.,8e,c#,d.,e,8a4,a4,1f#,2p,8g,8f#,8e,8e,2f#,1p,8a4,8g,8f#,8e,e.,8f#,d.,8e,2a4,2p,e,8f#,g.,8e,c#.,8d,e,8a4,8d,8e,8f,8e,8d,8c,p,8a4,8a#4,c,f,8e,8d,8d,8c,8d,8c,c,c,8a4,8a#4,c,f,8g,8f,8e,8d,8d,8e,f,f,8g,8a,8a#,8a#,a,g,8f,8g,8a,8a,g,f,8d,8c,8d,8f,8f,e,8e,8f#,8f#,8a,8d6,8f#6,8d6,8b,8d6,8f#6,8d6,8a,8d6,8f#6,8d6,8b,8d6,8f#6,8d6,8a,8d6,8f#6,8d6,8b,8d6,8f#6,8d6,p.,8a4,8g,8f#,8e,8e.,2f#,1p,8a4,8g,8f#,8e,e.,8f#,d,e,2a4,2p,e,8f#,g.,e,c#,8d,e.,8a4,a4,2f#,2p,8a4,8p,8b,8p,8a,8p,8g,8p,8g,8p,a,1p,8a4,8p,8b,8p,8a,8p,8g,8p,g.,p.,8a,8p,f#.,p.,8g,8p,2d,2p,e,8f#,g.,e,c#,8d,e,8a4,8d,8e,8f,8e,8d,c.,8a4,8a#4,c,f,8e,8d,8d,8c,8d,8c,c,c,8a4,8a#4,c,f,8g,8f,8e,8d,8d,8e,f,f,8g,8a,8a#,8a#,8a,8a,g,8f,8g,8a,8a,8g,8f,f,8d,8c,8d,8f,8f,e,8e,8f#,2f#,1p,8a4,8g,8f#,8e,8e.,2f#,1p,8a4,8g,8f#,8e,e.,8f#,d,e,2a4,2p,e,8f#,g.,e,c#,8d,e.,8a4,a4,2f#,2p,8a4,8p,8b,8p,8a,8p,8g,8p,8g,8p,a,1p,8a4,8p,8b,8p,8a,8p,8g,8p,g.,p.,8a,8p,f#.,p.,8g,8p,2d,2p,e,8f#,g.,e,c#,8d,e,8a4,8d,8e,8f,8e,8d,c.,8a4,8a#4,c,f,8e,8d,8d,8c,8d,8c,c,c,8a4,8a#4,c,f,8g,8f,8e,8d,8d,8e,f,f,8g,8a,8a#,8a#,8a,8a,g,8f,8g,8a,8a,8g,8f,f,8d,8c,8d,8f,8f,e,8e,8f#,8f#,2a,8p,8a,8a,512p,8a,512p,8b,512p,8a,512p,8f#,512p,d,p,8g,8p,8a,8p,2a,8p,8a,8a,512p,8a,512p,8b,512p,8a,512p,8f#,512p,d,p,8g,8p,8a,8p,2a,8p,8a,8a,512p,8a,512p,8b,512p,8a,512p,8f#,512p,d,p,8g,8p,8a,8p,2a,8p,8a,8a,512p,8a,512p,8b,512p,8a,512p,8f#,512p,d,p,8g,8p,8a,8p,2a,8p,8a,8a,512p,8a,512p,8b,512p,8a,512p,8f#,512p,d,p,8g,8p,8a,8p,a.,p.,8g,8a,a.,p.,8g,8f#,2f#',''.join(map(chr,[72,101,108,108,111,44,32,87,111,114,108,100,33]))][1]

Parece que cambió la melodía y las partes de respaldo / contra-melodía en varios lugares. Puede haber una versión con solo la melodía en alguna parte.
cole

Um ... tu programa no parece ser una canción RTTTL válida
aditsu

@aditsu La única forma en que puedo verificar si es válida es convertirlo a un archivo midi, así que ... me dirás que no es válido.
Estado del

3
Bueno, 2f#'no parece ser una nota válida, y tampoco lo es ''.join(map(chr, etc.
Aditsu

1
Está justo aquí en el texto de desafío: "El formato de una nota es DPO, donde D es la duración de la nota [...]" - lea el párrafo completo.
Aditsu

1

Lenguage

Hello: d=8,o=4,b=130: a, b, 4e5, a, b, 4e5, g, b, 4e5, g, b, 4e5, f, a, 4e5, f, a, 4e5, g, b, 4e5, f, a, 4e5, a, b, 4e5, a, b, 4e5, g, b, 4e5, g, b, 4e5, f, a, 4e5, f, a, 4e5, g, b, 4e5, f, a, e5, e, 4e, a, 4a., b, 4b., c5, 4c.5, 4d.5, 4c5, 2d5, p, g, b, 4e5, f, a, e5, e, e, 4a, 4a, 4b, 4b, 4c5, 2c5, b, c5, 4b, 2a, p, g, b, 4e5, f, a, e5, e, 4e, a, 4a., b, 4b., c5, 4c.5, 4d.5, 4c5, 2d5, p, g, b, 4e5, f, a, e5, d5, 2e5, a, b, 4e5, g, b, 4e5, g, b, d5, c5, e5, 4d.5, d5, c5, 4e5, a, c#5, 4e5, a, c#5, d5, e5, f5, e5, e5, d5, 2d5, g, b, 4d5, g, b, c5, d5, e5, d5, d5, c5, c5, g, 4a, f, a, 4c5, f, a, a#, c5, 4d.5, 4c.5, c5, a#, 4a, 2g#, f#, g#, 4a, a, 4b, a, 4c5, a, c5, 4e5, a, c5, d5, e5, 4f5, f5, 4f5, e5, 4d5, g, b, 4d5, g, b, c5, d5, 4e5, f5, 4e5, d5, c5, g, 2a, f, a, a#, c5, 4d5, c5, 4c5, 4a#, 4a, 2g#., 2p., p, f#, g#, 2a, a, b, 4e5, g, b, 4e5, g, b, 4e5, f, a, 4e5, f, a, 4e5, g, b, 4e5, f, a, 4e5, 4a, 4c#5, 1e5

Seguido de muchos miles de millones de espacios para que la longitud total sea 150306725405247424813082671095009555930972306375297366901721134222563463360025683976401363734706798738542991492

Convertir y descargar (nota: el código se trunca para ahorrar ancho de banda, pero el midi resultante debería ser el mismo)


2
Lionel Richie - "Hola"?
LukStorms

@LukStorms sí! :)
aditsu
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.