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 дней.