Создание мелодий в Nokia 3310

Эму-Ленд. Форум о приставочных играх и эмуляции

Меню навигации

  • Форум
  • Участники
  • Правила
  • Регистрация
  • Войти

Пользовательские ссылки

Объявление

Врагу не сдаётся наш гордый Варяг!

Информация о пользователе

Вы здесь » Эму-Ленд. Форум о приставочных играх и эмуляции » Разное » Коды монофонических мелодий для Nokia Composer

Коды монофонических мелодий для Nokia Composer

Сообщений 1 страница 5 из 5

Поделиться12009-01-30 14:28:19

  • Автор: Аvenger
  • Новичок
  • Зарегистрирован : 2009-01-30
  • Приглашений: 0
  • Сообщений: 15
  • Провел на форуме:
    1 час 42 минуты
  • Последний визит:
    2009-01-30 16:02:38

Короче, есть в телефоне типа «Кирпич» (Nokia 3310, 1100 и т.п.) такая функция, как «Композитор» и там можно вводя ноты (выглядят типа «4c1; 16d2») с клавиатуры мобилы вбить туда мелодию. Так вот не подскажите сайт, где можно найти современные мелодии, а то натыкаюсь только на всякие «Чёрные Бумеры» и «Бригады». И ещё стыдно спрашивать, но это не мне, короче, нужен код мономелодии Ранетки (любой песни)

Поделиться22009-01-30 17:36:06

  • Автор: Luigi=)))
  • Администратор
  • Откуда: Пермь
  • Зарегистрирован : 2009-01-28
  • Приглашений: 0
  • Сообщений: 115
  • Пол: Мужской
  • Возраст: 29 [1991-12-24]
  • Провел на форуме:
    10 часов 11 минут
  • Последний визит:
    2012-07-05 00:27:41

Ранетки — Мы ранетки!

Из Аниме Shaman King — «Over Soul»

Потом ещё накидаю))

Вот тебе ещё тема для размышлений:

Nokia 3310: Коды *#06# — Показывает серийный номер телефона (IMEI) *#0000# — Показывает версию Программного Обеспечения 1-ая строка — Версия 2-ая строка — Дата выпуска програмного обеспечения 3-ья строка — Тип телефона Гарантийные коды: Введите *#92702689# (= *#war0anty#). Будет выдан запрос на ввод типа «гарантийного кода» На экран будет выведено сервисное меню: IMEI (International Mobile Equipment Identification) Дата выпуска телефона MM/YY Дата покупки телефона (здесь вы также можете ввести дату покупки, но если дата будет введена не правильно вы не сможете ее, потом изменить!) Дата ремонта (если таковой имелся) Передать данные пользователя? *3370# Активизация режима полноразрядного кодирования (Увеличивается качество связи, уменьшается время работы батарей) Возможность данного режима зависит от конкретной сети. В более новых версиях программного обеспечения (возможно начиная с версии 4.73 и более поздние) режим полноразрядного кодирования установлен по умолчанию. Поэтому данная комбинация может не работать на новых телефонах. #3370# Деактивация режима полноразрядного кодирования. Примечание: После ввода данных кодов телефон будет перезапущен с новыми установками. *4720# Активация режима полуразрядного кодирования. Качество связи падает, но время работы батарей увеличивается на 30% (уменьшается потребление энергии). #4720# Деактивация режима полуразрядного кодирования. *#746025625# (= *#sim0clock#) Проверить можно ли остановить SIM Clock Дополнительно: [*#war0anty#] (*#92702689#) — слyжебная инфоpмация: дата изготовления, сеpийный номеp, дата покyпки, был ли pемонт и когда. Выход — выключение и включение аппаpата. [*#sim_clock#] (*#746025025#) — поддеpживает СИМ фазy2 (pежим сна) или нет. Коды для опpеделения yстановлен ли ЛОК на аппаpат или нет Ваша Hокия может быть блокиpована 4 видами локов: SPROVIDER-LOCK — 1 NETWORK-LOCK — 2 COUNTRY-LOCK — 3 SIMCARD-LOCK — 4 Для пpовеpки статyса этих локов вводится стpока: #pw+(MASTERCODE)+(y)#, где — p = нажать * 3 pаза — w = нажать * 4 pаза (в оpигинале наобоpот w — 3 pаза, p — 4) — + = нажать * 2 pаза — МАSTERCODE = именно та штyка, котоpой залочили Ваш аппаpат. Hо для пpовеpки статyса вводится 1234567890 — y = номеp от 1 до 4 Пpимеp: #pw+1234567890+1# — телефон должен выдать инфо о состоянии SPLOCK, но еще раз стоит отметить, что некоторые Nokia 3310 выдают одинаковый ответ на все 4 запроса, наверное этот ответ на SIMCARD-LOCK.

Как обещал) Вот код мелодии из игры Donkey Kong Country на SNES (подводный уровень)

Из фильма «Миссия невыполнима»:

Поделиться32009-02-26 01:40:12

  • Автор: Luigi=)))
  • Администратор
  • Откуда: Пермь
  • Зарегистрирован : 2009-01-28
  • Приглашений: 0
  • Сообщений: 115
  • Пол: Мужской
  • Возраст: 29 [1991-12-24]
  • Провел на форуме:
    10 часов 11 минут
  • Последний визит:
    2012-07-05 00:27:41

Чип и Дейл (очень похоже как на Денди))

Поделиться42009-06-20 19:50:37

  • Автор: Ведьмак
  • Участник
  • Откуда: Усть-Каменогорск
  • Зарегистрирован : 2009-06-04
  • Приглашений: 0
  • Сообщений: 204
  • Пол: Мужской
  • Провел на форуме:
    2 дня 3 часа
  • Последний визит:
    2010-06-12 23:06:23

Помню была у меня такая древняя сотка. Тока сониерикссон. Но компо там был

Поделиться52009-06-22 04:56:21

  • Автор: The BAT
  • Новичок
  • Зарегистрирован : 2009-06-04
  • Приглашений: 0
  • Сообщений: 11
  • Провел на форуме:
    44 минуты
  • Последний визит:
    2009-08-17 23:20:45

Эхххх Нокия «Кирпич» 3310. классная штуковина! А ещё был 1100.

Создание мелодий в Nokia 3310

Начнём по порядку.
Скажем так, Вы всё же решили преукрасить свою жизнь и сделать её разнообразной, в частности выделить себя среди массы, стать оригинальным. Тогда первым делом начинаем читать инструкцию к своему телефону в которой должно быть сказано, какие операции с Л.С.М. можно осуществлять в вашем телефоне.
В большинстве случаев, можно именить лого оператора вашей сети. В более современных (выпущенных максимум 1-2 назад) моделях, предусмотрены загрузки Л.С.М. из сети итернет, от самого оператора (если есть наличе такой услуги) либо через кабель/инфракрасный порт подключенные к компьютеру и телефону.

Безусловно лучшим вариантом «изменения внешности» вашего телефона, а также его звучания является загрузка Л.С.М. через соотвествующий кабель, подключенный к телефону и Com-порту компьютера (для каждого телефона — свой специфический кабель. Средняя стоимость кабеля составляет

$10-15).
Далее нам необходимо иметь программное обеспечение, которое бы позволяло бы выполнять все процедуры загрузки Л.С.М. в телефон. Обычно производители мобильных телефонов предоставляют своим пользователям данную продукцию.
Но есть и сторонние разрабочики, которые также неплохо себя зарекомендовали на этом поприще.
На следующем этапе Вы просто ищите мелодию в формате mid, txt или ином (в зависимости от того, с какими файлами может работать программа) — программа конвертирует его в понятный для телефона звук и загружает в телефон в течение нескольких секунд. Это же касается и логотипов.

Другим способом загрузки Л.С.М. может быть WAP-протокол. Если у вас телефон поддерживает его, то вы можете загружать из Internet. Вы соединяетесь с соотвествующим порталом и оттуда загружаете понравившиеся мелодии или картинки.
На «Западе» загрузка Л.С.М. — является достаточно прибыльным делом, поэтому в большинстве случаев — эта услуга платная. Но это не панацея.

И, наконец, загрузка Л.С.М. от своего оператора. Тут говрить собственно не о чем, все инструкции по этому поводу должен предоставлять сам оператор.

Итак.
Вот небольшой пречень телеофнов, которые имеют возможность загрузки дополнительного кол-ва мелодий, предусмотренных конструкцией телефона.

Модель Мелодии (Количество)
Nokia 3210 +(1)
Nokia 3310/3330 +(7)
Nokia 5110/5130
Nokia 5210/5510 +(7)
Nokia 6110/6130/6150 +(1)
Nokia 6210 /6310/6510 +(5)
Nokia 6250 +(5)
Nokia 7110 +(5)
Nokia 8210/8310 +(5)
Nokia 8250 +(5)
Nokia 8810 +(5)
Nokia 8850/8890 +(5)
Nokia 9110 +(99)
Nokia 9210 +(99)
Samsung R200 +(3)
Samsung R210 +(3)
Samsung R220 +(3)
Samsung N620 +(3)
Siemens C45 +(4)
Siemens S45 +(4)
Siemens ME45 +(4)
Читайте также  Новый альбом Killswitch Engage выйдет осенью 2019 года

Нужно отметить, что наибольшую функциональность по загрузке Л.С.М. имеют телефоны Nokia, поэтому для этих телефонов имеется ряд различного программного обеспечения специально предназначенного для этих целей.
По моему мнению, лучший программой для Nokia является Oxygen Phone Manager. Она поддерживает практически весь модельный ряд:
3210, 3310, 3330, 3350, 3390, 3410, 3510, 3510i, 3590, 5110, 5130, 5190, 5210, 5510, 6100, 6110, 6130, 6150, 6190, 6210, 6250, 6310, 6310i, 6340(*), 6360(*), 6370(*), 6510, 6590, 6610, 7110, 7190, 7210, 8210, 8250, 8290, 8310, 8390, 8850, 8855, 8890, 8910.
* — частичная поддержка.
Является универсальным средством и очень многофункциональным.

Также неплохая программа для редактирования логотипов и загрузки мелодий LogoManager и Operator-Logo Uploader

Что касается других программ для других производителей, надеюсь вы их пополните в этом сабже сами. Я естественно буду также принимать непосредственное в этом участие.

[здесь] — лежат масса бесплатных логотипов (включая цветные) и около 300 мелодий для телефонов SonyEricsson, которые вы можете загрузить через WAP-протокол прямо с вашего телефона, в любое время.

Масса Л.С.М. находится в сетях KaZaA и eDonkey.

Теперь что мне удалось узнать по отдельным маркам телефонов и общим вопросам.
Q. Что означает 7******, 666* или > в тексте мелодии?
A. Значит столько раз надо нажать соотвествующую клавишу (1 раз «7» и 6 раз «*»). «>» — это джостиком в право.

Q. Как записать мелодию в Nokia 8310 ?
A. Через инфракрасный порт, использую программные средства от Nokia.

Q. Какой формат картинки для скринсейвера используется в Siemens МЕ45?
A. BMP (bitmap), двухцветный, размер — 101х64 точки

Q. Слышал, что есть картинки зашитые в Siemens, как их пресылать ?
A. Пишите сообщение и вставляете соотвествующий код картинки (обязательно в кавычках): «%Cake» «%Heart» «%Shark» «%Dinner» «%Idea» «%Kiss» «%Running» «%No» «%Yes» «%Biker» «%Heartache» «%Theatre» «%Break» «%Flowers» «%Gift» «%Trip» «%Halloween» «%Love» «%Holiday» «%Music» «%Shopping» «%Skyline» «%Sorry» «%Turtle». Поддерживаются начиная в телефонах с 35-ой серии.

для EMS, начиная с 45-й серии(S/ME45i и С/S55 картинки анимационные, а для S55 ещё и цветные)
«%A00″(I am ironic, flirty) «%A01″(I am glad) «%A02″(I am sceptic) «%A03″(I am sad) «%A04″(WOW!) «%A05″(I am crying) «%A06″(I am winking) «%A07″(I am laughing) «%A08″(I am Indifferent) «%A09″(In love / Kissing) «%A10″(I am confused) «%A11″(Tongue hanging) «%A12″(I am angry) «%A13″(Wearing glasses) «%A14″(Devil)

Всё что касается Siemens — зайдите на http://www.o45m.ru/. Много плезного.

Q. Как вбивать мелодию в Nokia с клавиатуры телефона?
A. Выбрать в меню: «Сигналы» (tones) — «Синтезатор мелодий» (composer).
1)одно событие (либо нота, либо пауза) — это одна группа символов между пробелами.
Сначала выбирается буква. Это делается клавишами с цифрами: С=[1] D=[2] E=[3] F=[4] G=[5] A=[6] B=[7]
2) устанавливается цифра перед буквой (длительность ноты)
— уменьшить кнопкой [8]
— увеличить кнопкой [9]
3) если после ноты есть значок # — нажать клавишу [#]
4) устанавливается цифра после буквы (октава) — клавишей
листается от 1 до 4
5) значок — (минус), означает пауза, нажимается кнопкой [0], длительность устанавливается так же, как у ноты (длительность по умолчанию 1/4).

Q. Как вбивать мелодию в Ericsson с клавиатуры телефона?
A. Выбрать в меню «Установки» (settings) — «Ред. мелодии» (edit melody) — «Собств1/собств2″(own1/own2)
1) выбирается буква: С=[1](«До») D=[2](«Ре») E=[3](«Ми») F=[4](«Фа») G=[5](«Соль») A=[6](«Ля») B=[7](«Си») +C[8](«До (вторая октава») +D[9](«Ре (вторая октава»)
2) если нажать клавишу коротко — отображается маленькая буква, если удерживать — большая (маленькая буква означает короткую ноту, большая — длинную)
3) если перед буквой есть значок # — нажимается клавиша [#] (1 раз — # (диез); 2 раза — b (бемоль))
4) если перед буквой есть значок + (плюс) нажать клавишу [0] (означает повышение октавы)
5) буква «p», что означает пауза, нажимается кнопкой
, длительность ее всегда одинакова(1/8).
6) две сдвоенные буквы bb означают Си бемоль, а не две ноты Си

Q. Как вбивать мелодию в Motorola с клавиатуры телефона?
A. «Настройка телефона» — «Изменение муз. Тона»
1) МОДЕЛЬ ВВОДА НОТ: А+1 — («А» — нота, «+» — изменение октавы, «1» — длительность). Без знака изменения октавы — октава стандартная.
2) 2 -> А (До); В (Ре); С (Ми)
3 -> D (Фа); E (Соль); F (Ля)
4 -> G (Си)
7 ->R (Пауза)
9 -> Пробел
0 -> + (Октава выше); — (Октава ниже); # (Диез)
Движение в конец
3) цифры (1-8) — Это длительность. В начале строки вводится число 2, 3 или 4
2 — это : А1 А2 — До — 1 такт До — 2,5 такта
3 — это : А1 А2 — До — 0,5 такта До — 2 такта
4 — это : А1 А2 — До — 0,5 такта До — 1,5 такта
4) длина строки с нотами — 35 нот, включая паузы, но пауза может быть R1 R1 — 2 ноты, R2 — 1 нота (ноты А-1 нет)
5) после сохранения мелодии нота E#1 по меняется на F1

Q. Как вбивать мелодию в Sony с клавиатуры телефона?
A. 1 — C
1# — Cis
2 — D
2# — Dis
3 — E
4 — F
4# — Fis
5 — G
5# — Gis
6 — A
6# — Ais
7 — B
JD — JogDial
1) продолжительность представлена, графически музыкальными символоми и значениями:
Длина паузы:
1/16 0000
1/8 00000
1/4 0
1/2 00
1/1 000
пример 1/8 паузы: (JD)00000
2) нажимая
вы можете определять длину ноты
1/16 ****
1/8 *****
1/4 *
1/2 **
1/1 ***
пример 1/2 ноты Ais: 6#**
3) чтобы сделать октаву выше или ниже нажать клавишу с цифрой ноты 2 раза для высокой октавы, или нужную клавишу 3 раза для низкой.
4) когда мелодия начинается с цифры 1, то цифру один можно убрать т.к. курсор уже стоит на ноте С

Соединение: тип кабеля или IR(инфракрасный порт) используемого для соединения соответствующего телефона с компьютером.

Уже готовый список Ringtones из более 500 современных мелодий — http://www.geocities.com/ringtonemadness/Big_List.txt

Польский или Хорватский сайт имеющий различного рода ссылки на программы, Л.С.М., а также ссылки на другие подобные ресурсы.

$1
http://www.starport.com.ua — только для сети Киевстар (Украина) и причём бесплатно . В данное время, услуга отправления мелодий и логотипов реализована только для телефонов фирмы Nokia.

Зайдите на сайт и почитайте F.A.Q., в разделе «УСЛУГА «СтарПорт»
(ДОСТУП С ПОМОЩЬЮ WEB-БРАУЗЕРА)» вопрос №11 и №12, в котором написано чёрным по белому:

Цитата:

МОГУТ ЛИ ПОЛЬЗОВАТЕЛИ ДРУГИХ СЕТЕЙ ПОЛЬЗОВАТЬСЯ УСЛУГАМИ ОТПРАВКИ МЕЛОДИЙ И ЛОГОТИПОВ НА МОБИЛЬНЫЙ ТЕЛЕФОН?
Учитывая особенности портала «СтарПорт», многие услуги, в том числе и «Услуги отправки мелодий и логотипов», доступны только абонентам «Киевстар Дж.Эс.Эм.».
КАК ЗАГРУЗИТЬ МЕЛОДИЮ ИЛИ ЛОГОТИП НА ТЕЛЕФОНЫ ДРУГИХ ПРОИЗВОДИТЕЛЕЙ КРОМЕ NOKIA?
В данное время, услуга отправления мелодий и логотипов реализована только для телефонов фирмы Nokia.

Nokia LogoExpress freeware: for Nokia 5110, 5190, 6110, 6190, 8210, 8290, 8810, 8850, 8890

Читайте также  Студия звукозаписи UK Records английский лейбл Джонатана Кинга

Добавлено
Софт отсортированный в зависимости от фирмы производителя.

Создание мелодий в Nokia 3310

3310 Composer
версия: 3.0.2

Последнее обновление программы в шапке: 30.09.2018

Краткое описание:
Сочиняйте и прослушивайте мелодии так, как это было на неубиваемой Nokia 3310

Описание:
Помните такой олдскульный телефон Nokia 3310? А приложение на нем Синтезатор мелодий (Nokia Composer)? Правда было здорово? И вот сегодня вы опять можете сочинять и прослушивать любимые Nokia-мелодии на своем android устройстве. Погрузись в ностальгию.

Что умеет приложение:
— Проигрывать рингтоны (есть более 800 предустановленных рингтонов)
— Редактировать рингтоны
— Создавать свои рингтоны
— Сохранять рингтон в общее облако
— Обмениваться рингтонами в виде текста
— Экспортировать рингтоны в *.wav формат
— Экспортировать рингтоны в *.mp3 формат
— Ставить рингтоны на вызовы, уведомления и будильник.

Дорогой пользователь, надо ли развивать приложение дальше и какие новые возможности стоит добавить? Пожалуйста, если не сложно, оставляйте свои пожелания и оценки тут.

Требуется Android: 4.0+
Русский интерфейс: Да

Сообщение отредактировал gserp1983 — 30.09.18, 16:04

Приложение отличное.
Только одно но.
Как-бы сделать так, чтоб можно было прослушивать все моно как в плеере.
Или при выборе ставилась галочка и оставалась на выборе.
А-то приходится каждый раз (800. ) перелистывать и искать где что выбирал.

(- Сохранять рингтоны на телефон
— Обмениваться рингтонами с друзьями)
Я немного найти путь куда сохраняет и чё-то не могу понять как передать.

Сообщение отредактировал BOTROBOTMOD — 16.11.15, 10:04

Пишем конвертер для генератора мелодий от Nokia 3310

Любителям всего старого, но безумно интересного, добрый вечер!

Помните такой телефон — Nokia 3310? Разумеется, помните! А такую штуку как синтезатор мелодий в нем? Тоже помните, отлично. А по старым, теплым и ламповым мелодиям скучаете? Вот и я скучаю. А еще мне на глаза попался сайтик с более чем сотней нотных листов для этого редактора. И что я должен был оставить эту прелесть без внимания? Нет уж. Что я сделал? Правильно! Взял и написал точно такой же генератор мелодий, который позволяет на выходе получить Wave — файл с мелодией. Интересно, что из этого получилось? Тогда прошу под кат.

Nokia Composer был встроен в целую кучу телефонов, подобных Nokia 3310. Кроме 7 нот, он позволял записать 5 диезов, указать октаву и длительность в частях. А еще были ноты, которые не звучали — паузы. То есть «нота» в Composer’e была действительно нотой.

Сама запись ноты для Composer’a выглядела так:

То есть, в начале идет длительность (в частях от целой), затем могла присутствовать точка, удлиняющая звучание в полтора раза, сама нота в буквенном обозначении, и октава. При этом после паузы октава не указывается (логично?), а длительность указывается ровно так же, как и для нормальной ноты.

Ладно, наговорились.

Давайте напишем скрипт, который будет принимать ноту, как она есть и возвращать кортеж параметров.

(пишем на Python 2.7, да)

Во! То есть, сначала мы переводим ее в ВЕРХНИЙ РЕГИСТР, а затем — с помощью регулярных выражений разбираем на составляющие. Отдельно проверяем наличие точки (увеличиваем в 1.5 раза) и учитываем паузу.

Готото!
Теперь если передать функции, например, 16C2, на выходе получим (2, C, 2) то есть длительность в долях, ноту и октаву.

Что? Откуда взялось число 32? Это просто
Оригинальный Nokia Composer позволял установить длительность ноты как 1/32 «полной» ноты. При этом для него существуют еще и 1/16, 1/8, 1 / 4, 1 /2 и 1 длительности. То есть каждая следующая длительность отличается от предыдущей ровно в 2 раза. Тогда мы можем сделать вот что:

Возьмем 1/32 ноты как «единичную ноту». Тогда 1/16 — это уже 2 единичных ноты, 1/8 — 4 и так далее. Тогда мы можем взять и поделить 32 на полученную длительность.

С этим разобрались. Теперь осталось понять, как мы будем все это дело превращать в Wav — файл.

Если очень грубо — в Wave файле, кроме заголовка записаны напряжения, которые подаются на динамик. Если чуть точнее — части напряжений от максимального. То есть, если в двухбайтовом фрейме записано число 32765 — это означает, что нужно подать максимальное напряжение. Изменяя уровни напряжений с течением времени, мы можем добиться колебаний мембраны динамика. А если эти колебания будут в нужном нам диапазоне… Правильно! Мы услышим звук определенной частоты.

Теперь, о том, как это сделать.

Давайте напряжем память и… вспомним школьный курс физики! Примерно ту часть, в которой говорится о гармонических колебаниях.

Если очень просто: гармонические колебания — тип колебаний, колеблющаяся величина которых изменяется по закону синуса (ну или косинуса, как хотите)

Общая формула этого безобразия выглядит как:

При этом циклическая частота это

Вспомнили? Отлично! Теперь надо понять — зачем.

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

Result = (32765*VOL*math.sin(6.28*FREQ*i/44100))

Откуда все это взялось? Рассказываю.

32765 — Фрейм у нас двухбайтовый, поэтому максимальное значение амплитуды ровно 32765. VOL — переменная, задающая громкость. Изменяется в диапазоне от 0 (полная тишина) до 1 (орет как на площади)

6.28 — это всего-навсего 2*Pi. Можно каждый раз высчитывать, но мы ж не звери.

FREQ — А это то, ради чего все и затевалось — нужная нам частота.

i/44100 — время, относительно начала отсчета. Почему мы делим на 44100? А потому что это частота дискретизации выходного файла (ну это я так придумал. Можно и меньше. Качество будет ниже). За секунду проходит 44100 отсчетов, поэтому и делим. Надеюсь, получилось объяснить

Ну вот. Один фрейм мы задавать научились. Теперь нужно сделать так, чтобы это все работало. То есть, помимо частоты задать еще и длительность.

А раз уж частота фиксированная… Ага! Обернем в цикл.

Вот в такой.

Опять непонятности. Откуда взялось TIME/10*441? Из моего воображения. Нет, серьезно. Это я так решил, что минимальное время звучания — 0.001 секунда. Как я уже говорил — один отсчет (при данной частоте дискретизации) это 1/44100 секунды. Соответственно, 0.001 секунда это 44.1 отсчета. А 44.1 = 441/10. А если надо задать N миллисекунд… домножим, ага. Вот мы и получаем то, что написали (TIME — это как раз таки время в миллисекундах, да)

Так ну и обернем все это дело функцию, надеюсь никто не против?

Во! Теперь мы можем генерировать звук абсолютно любой частоты.

Осталось записать то, что получилось в wave — файл.

Для работы с Wave в Python (по крайней мере в 2.7) есть прелестный модуль с незабываемым названием — Wave. А для работы со всяческими структурами — struct (вообще, до определенного момента, Python — безумно логичный язык).

Читайте также  Интервью Антона Попова и Porto Moris: смотрим в будущее

После некоторых плясок с бубном и прочих извращений получилась вот такая функция:

(про нее рассказывать не буду, потому как во — первых все понятно, а во — вторых — не будем отдаляться от темы)

Ну вот. Теперь можно сгенерировать звук!
Пробуем.

Полная громкость, 4 килогерца, 5 секунд.
Посмотрим что получилось?

Вот так это звучит:

А вот так выглядит:

Ну, в общем — то, что хотели, то и получили. Звук, правда довольно неприятный.

Кстати, если мне не изменяет память, что в старой библиотеке для Turbo Pascal звук задавался не синусоидой, а меандром. На самом деле достаточно просто изменять напряжение на динамике. Просто синусоида симпатичнее, чем меандр или пила.

Ну вот. Теперь у нас есть функция генерирующая звук нужной частоты и длительности и функция, записывающая то, что мы наделали в настоящий файл.

Теперь нужно научиться записывать ноты.

Чистая (инструментально не окрашенная) нота — это звук определенной частоты.

Диез чистой ноты — звук, с частотой на полтона выше чистой ноты

Бе — моль — звук с частотой на полтона ниже чистой ноты. Бе — моли оригинальный Composer (еще помните, что мы там хотели написать? Отлично!) задавать не дает, поэтому с бе — молями работать не будем. Ну их.

Октава — если упрощенно, это множитель частоты ноты. То есть частота Ре второй октавы вдвое выше той же Ре первой октавы.

Найдем на просторах интернета таблицу нот и их частот

И сделаем из нее словарь.

(Вообще, наверно, правильнее писать C#, а не #C, но как правило все мелодии для Composer’a указывались именно в таком формате)

А теперь напишем еще одну функцию, генерирующую звук определенной ноты

Так, тут надо еще кое — что дорассказать.

С первой частью все понятно — значение нужной частоты берется из словаря, домножается на октаву и пишется в список.

Зачем нужна вторая?

Очень просто. Если желаемая длительность не кратна периоду синусоиды, то в момент времени T1 на динамик может подаваться большое напряжение, а в T1+1 уже ничего подаваться не будет. На мой медвежий слух, это звучит как внезапно оборвавшаяся фраза убитого товарища — неприятно. Поэтому мы доводим нашу синусоиду до ближайшего нуля. При высокой частоте дискретизации заметно это будет мало, а на слух будет выглядеть как та же обрывающаяся фраза товарища, если на глазах мертвеющий (но вопящий) товарищ падает в колодец. Тоже не Бог весть что, но для генерации Нокиевских мелодий сгодится.

Теперь осталось написать функцию, которая будет принимать список нот и поэлементно скармливать его генератору.

Приблизительно вот так.

Снова что — то непонятно? Это нормально, я тоже ничего не понимаю, сейчас разберемся.

BPM — это количество ударов в минуту. Грубо говоря, это «скорость игры». Это самое BPM равно количеству четвертных нот за одну минуту. То есть одна четвертная нота должна играться 60/BPM секунд. А поскольку, мы решили, что длительность единичной ноты у нас это 1/32 — это значение равно 60/32*4/BPM = 7.5/BPM. Звучит одна четвертная нота ровно 1000 миллисекунд (композиторы почему — то так придумали), а потом этот результат домножается еще и на количество таких 1/32 нот.

Когда функция отработает в списке Frame окажется готовый файл, который останется только записать.

Ну и поскольку мне лень писать GUI я люблю консольные интерфейсы, напишем обработчик последовательности нот, который принимает эту последовательность, BPM и имя выходного файла в списке аргументов и скармливает функции Append_Notes()

Теперь осталось только передать программе исходные данные и забрать готовую мелодию.

Вгоняем в генератор…

И забираем результат:

По — моему неплохо.

Еще примеров? Легко!

Хотите сами писать? Попробуйте!

Вот темп: 200

Пропустите через генератор и посмотрите что получится (А кто-то может и на глаз узнает).

Надеюсь, вам понравилось!

Искренне Ваш, слушающий монофонического Моцарта, GrakovNe

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: