RTTTL Обфускация

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. Ваша задача - создать запутанную программу, которая выдает «Hello, World!» (точно) это также действительная песня RTTTL, которая имеет длину не менее пяти секунд .

Чтобы протестировать вашу песню RTTTL, вы можете использовать этот сайт, чтобы конвертировать вашу песню в файл MIDI, а затем прослушать ее в проигрывателе MIDI. Это . Удачи!

РЕДАКТИРОВАТЬ: Вот веб-сайт для преобразования MIDI в RTTTL, если вы этого хотите. Ссылка на сайт

РЕДАКТИРОВАТЬ 2: Эта блестящая награда будет вручена победителю (наиболее одобренный пост) в течение 7 дней.

спагетто
источник
Может ли число ударов в секунду быть десятичным?
вниз
Кроме того, это должно было быть ударов в минуту, я исправил это.
спагетто
1
Есть ли способ конвертировать MIDI-файл в песню RTTTL?
The_Basset_Hound
Я уверен, что есть. Может быть, попытаться найти его? (Вы должны убедиться , что файл MIDI не содержит аккорды, которые RTTTL не поддерживает.)
в spaghetto
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 с Привет, я люблю тебя .

Скачать конвертированный MIDI

Фабиан Шменглер
источник
Моему плееру это не нравится octave: 2, Cannot index into a null array.. Вопрос сказал, что действительны только октавы 4-8, так что это все, что я кодировал. Звучит неплохо на связанном веб-сайте.
TessellatingHeckler
Ах да, я забыл об этом. Некоторые игроки будут поддерживать больше октав, а некоторые нет. Стандартная Nokia поддерживает только 4-8, поэтому я упомянул это.
спагетто
8

H9 +, 157 007 байт

MIDI !!!!

Это слишком долго для поста. Так вот, есть пастин . (У пасты нет правильной прописной буквы, к вашему сведению.) Я использовал следующие программы:

Песня «Гимн нашего умирающего дня», по сюжету года. Это полная, 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, ни +s, я убедился. Хорошо, что это не .

Конор О'Брайен
источник
Magnifique. +1 для вас
спагетто
@ Quartata Merci!
Конор О'Брайен
1
Хм, звучит так, будто стадо лам бегает на 10 роялях, это задумано, или какая-то проблема с воспроизведением на моей стороне?
aditsu
@aditsu Это вроде как; это просто довольно интенсивная рок-песня.
Конор О'Брайен,
4
-1 не реализует спецификацию (" которая выдает" Hello, World! "(Точно) ") и не написана на языке программирования .
Питер Тейлор
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 идут к Мартину Бюттнеру .

Фабиан Шменглер
источник
Вау, никогда не видел этот язык раньше. Хороший!
spaghetto
2

Python 2.7, 1606 байт

Хорошо, это не удивительно запутано, но это работает. Я преобразовал его в 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 Единственный способ проверить, является ли он действительным, - преобразовать его в миди-файл, так что ... ты должен сказать мне, как он недействителен.
Статус
3
Ну, 2f#'кажется, не является действительной запиской, и не является ''.join(map(chr, и т. Д.
aditsu
1
Это прямо здесь, в тексте запроса: «Формат заметки - DPO, где D - продолжительность заметки […]» - прочитайте весь абзац.
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

За ним следуют многие миллиарды пробелов, так что общая длина составляет 1503067254052474248130826710950095559309723063752973669017211342225634633600256839764013637347067987383739706498363734706798738542991492

Преобразование и загрузка (примечание: код усекается для экономии пропускной способности, но получаемый миди должен быть таким же)

aditsu
источник
2
Лайонел Ричи - "Привет"?
LukStorms
@LukStorms да! :)
aditsu