Дипломная работа: Разработка музыкального звонка с двумя режимами работы: автономным и от сети
20
Рисунок
2.4 - Функциональная схема электромузыкального звонка
2.5 Разработка алгоритма работы устройства
Для начала нам нужно придумать, как мы будем хранить мелодии в
памяти. Для того, чтобы в памяти можно было что-либо хранить, нужно сначала это
что-то каким-либо способом закодировать. Любая мелодия состоит из нот. Каждая
нота имеет свой тон (частоту) и длительность звучания. Для того, чтобы
закодировать тон ноты, можно просто все ноты пронумеровать по порядку. Удобнее
нумеровать, начиная с самого низкого тона.
Известно, что весь музыкальный ряд делится на октавы. В
современном музыкальном ряду каждая октава делится на 12 нот. Семь основных нот
и пять дополнительных.
Деление на основные и дополнительные ноты сложилось исторически. В
настоящее время используется музыкальный строй, в котором все 12 нот одной
октавы равнозначны. Частоты любых двух соседних нот отличаются друг от друга в
одинаковое количество раз. При этом частоты одноименных нот в двух соседних
октавах отличаются ровно в два раза.
Для нас же важно то, что коды всем этим нотам мы должны
присваивать в порядке возрастания частоты. Начнем мы с ноты «До» первой октавы.
Для электромузыкального звонка более низкие ноты не нужны. В таблице 2.1 показаны
коды для всей первой октавы. Следующая, вторая октава продолжает первую и по
кодировке, и по набору частот. Так нота «До» второй октавы будет иметь код 13,
а частоту f12= fo ∙ 2. А нота «Ре» второй октавы будет иметь код 14 и
частоту f13=f1 ∙ 2. И так далее.
Музыкальная длительность тоже легко кодируется. В музыке применяют
не произвольную длительность, а длительность, выраженную долями от целой (см. таблицу
2.2). В зависимости от темпа реальная длительность целой ноты меняется.
Для сохранения мелодии необходимо соблюдать лишь соотношения между
длительностями. Поэтому нам необходимо закодировать лишь семь вариантов
длительности. Присвоим им коды от 0 до 6. Например так, как это показано в
графе «Код» таблицы 2.2. Назначение графы «Коэффициент деления» мы пока
опустим.
Таблица 2.1- Кодировка
нот первой октавы
Код |
Нота |
Частота |
Код |
Нота |
Частота |
1 |
До |
fo
|
7 |
Фа# |
f6=f5/K
|
2 |
До# |
f1=fo/K
|
8 |
Соль |
f7=f6/K
|
3 |
Ре |
f2=f1/K
|
9 |
Соль* |
f8=f7/K
|
4 |
Ре# |
f3=f2/K
|
10 |
Ля |
f9=f8/K
|
5 |
Ми |
f4=f3/K
|
11 |
Ля# |
f10=f9/K
|
6 |
Фа |
f5=f4/K
|
12 |
Си |
f11=f10/K
|
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 |