RTTTL Obfuscation


15

RTTTL або Мова передачі тексту дзвінка - це музичний формат, який було винайдено компанією Nokia на світанку часу, коли динозаври блукали по землі . Це дозволяє досить грубі музичні твори (без акордів чи нічого), а формат досить простий, тому я вважаю, що це досить круто. Погляньте на це:

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

Розчленуємо формат. На початку "DejaVu" - це назва - це не більше десяти символів. Значення d і o - це значення за замовчуванням для тривалості та октави - якщо в примітці не вказано тривалість чи октава, вони використовуватимуться ці. Нарешті, b - це удари в хвилину.

Після цього перераховані фактичні ноти пісні. Формат примітки - DPO, де D - тривалість ноти (1, 2, 4, 8, 16), P - крок (A, B, C, D, E, F, G, A #, B # , C #, D #, E #, F #, G #), і O - октава (4-8 у реалізації Nokia, проте для інших реалізацій вона відрізняється. Для цілей завдання ми скажемо, що це 1-8) . Якщо тривалість або октава не вказані, використовуються параметри за замовчуванням. Крім того, нота може мати крапку після неї - це по суті збільшує тривалість на 1,5.

У нашому прикладі ми маємо дві ноти E без тривалості та октави, що означає, що вони мають тривалість за замовчуванням та октаву (8, або восьму ноту та октаву 5), C без тривалості та октави, E та a G. Заключна нота - це нота G тривалістю 2 (півміста) та октавою 4.

Тепер, коли ми перейшли за формат, яка проблема? Завдання насправді не має занадто великого відношення до RTTTL. Ваше завдання - створити приховану програму, яка виводить "Привіт, світ!" (саме), що також є дійсною піснею RTTTL, яка триває принаймні п’ять секунд .

Щоб перевірити свою пісню RTTTL, ви можете скористатися цим сайтом для перетворення пісні у файл MIDI, а потім прослухати її у програвачі MIDI. Це . Удачі!

EDIT: Ось веб-сайт для перетворення MIDI в RTTTL, якщо ви цього хочете. Посилання

EDIT2: Ця блискуча нагорода буде присуджена переможцю (найвигідніший пост) через 7 днів.


Чи може удари в секунду бути десятковою?
Пуховина

Ні. Також це повинно було битися в хвилину, я це виправив.
спагетто

1
Чи є спосіб перетворити файл midi в пісню RTTTL?
The_Basset_Hound

Я впевнений, що є. Може, спробуйте погуглити його? (Вам доведеться переконатися, що файл MIDI не містить акорди, які RTTTL не підтримує.)
спагетто

1
Знайдено той, що працює: midi.mathewvp.com/midi2RTTL.php
The_Basset_Hound

Відповіді:


13

Пробіл, 2748 байт

(замінити \tфактичними вкладками)

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,

Це жахлива версія мелодії "The Doors with Hello, I love you" .

Завантажте конвертований MIDI


Моєму гравцеві це не подобається octave: 2, Cannot index into a null array.. У запитанні сказано, що справедливі лише октави 4-8, тож це все, що я зашифрував. Хоча це добре звучить на пов'язаному веб-сайті.
TessellatingHeckler

Ага так, я забув про це. Деякі гравці підтримуватимуть більше октав, а деякі ні. Стандартний Nokia One підтримує лише 4-8, тому я це згадав.
спагетто

8

H9 +, 157,007 байт

МІДІ !!!!

Занадто довго для посади. Отож, майте пастебін . (Пастебін не має належної літери, FYI.) Я використовував такі програмні засоби:

Пісня - «Гімн нашого вмираючого дня», «Історія року». Це повна, 3,5-хвилинна пісня. ^-^.

Він починається з:

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

Hзвичайно, відбитки Hello, World!. І в коді немає 9ні s, ні +, я переконався. Добре, що це не з .


Magnifique. +1 для вас
спагето

@quartata Merci!
Conor O'Brien

1
Гм, це звучить, як стадо лам розбігається на 10 піаніно, це призначено, чи якась проблема відтворення на моєму боці?
aditsu кинути, тому що SE - EVIL

@aditsu Це свого роду; це просто досить напружена рок-пісня.
Conor O'Brien

4
-1 не реалізує специфікацію (" яка виводить" Привіт, світ! "(Точно) ") і не записується мовою програмування .
Пітер Тейлор

7

123 , 816 байт

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

Завантажити мелодію

Це просто ритмічний звуковий сигнал, але мова, безумовно, має більший потенціал для цього виклику, оскільки в 123 році всі символи, крім 1, 2 та 3, ігноруються. Кредити за оригінальний 123 код надходять до Мартіна Бюттнера .


Нічого не бачив цієї мови раніше. Хороший!
спагетто

2

Python 2.7, 1606 байт

Гаразд, так це не дивно затуманено, але це працює. Я перетворив його у файл midi, і він грає.

Мелодія все ще жива від порталу . Звідси я отримав мелодію як файл midi , який потім перетворив на RTTL. Останні кілька записів відключені, але я думаю, що це нормально.

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]

Схоже, він перемкнувся навколо мелодії та резервної / контра-мелодійної частин у різних місцях. Десь може бути версія з мелодією.
Коул

Гм .. ваша програма, здається, не є дійсною піснею RTTTL
aditsu киньте, оскільки SE - EVIL

@aditsu Єдиним способом я можу перевірити, чи є його дійсним, перетворивши його у файл midi, так що ... вам доведеться сказати, як це недійсно.
Статус

3
Ну, 2f#'здається , це не є дійсною заміткою, і ні, і ні ''.join(map(chr.
aditsu кинь, тому що SE - EVIL

1
Тут прямо в тексті виклику: "Формат нотатки - DPO, де D - тривалість нотатки [...]" - прочитайте весь параграф.
aditsu кинути, тому що SE - EVIL

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

Після цього багато газиліонів пробілів, так що загальна довжина дорівнює 150306725405247424813082671095009555930972306375297366901721134222563463360025683976401363734706798738542991492

Перетворення та завантаження (зверніть увагу: код врізається, щоб зберегти пропускну здатність, але отримана міді повинна бути однаковою)


2
Ліонель Річі - "Привіт"?
LukStorms

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.