Будет
Итак, у нас есть таблица, допустим из 256 значений синусоиды.
Если индекс = 1 ( т.е. приращение указателя, который берет значения из таблицы) это позволяет генерировать звук частотой F = (T0CLK/510/256).
256 - количество данных в таблице, максимальное 510 количество значений счетчика.
Этот то, что было в прошлом примере.
Если мы будем увеличивать индекс на 2, то весь массив будет пройден вдвое быстрее, т.е. получим частоту F*2 , если будем увеличивать индекс на 3, то получим частоту F*3.
Полностью здесь автор "САБ" даже с расчетами объясненяет как зависит частота от шага выборки:
http://chipenable.ru/index.php/forum/2- ... -shim.htmlНадо понять как этот пример работает.
Т.е. имея всего лишь одну таблицу можно по ней генерировать звук в большом диапазоне частот.
Вопросы?
Вопрос не совсем про заонок... Больше по практической реализации синтеза многоголосого звучания. Вообще меня изначально заинтересовала другая конструкция (сенсорное пианино В.Тимофеева на Pic16f88). Вернее не весь проект, а именно полифония шимом. У Вас, если не ошибаюсь, тот же принцип используется? Или я чего то не понимаю,или неправильно считаю... Частота прерываний выбрана 19500 кГц.
Есть массив на 64 точки мгновенных значений амплитуды синусоиды. Если с частотой прерываний прочитать 64 точки, получим на выходе 305 Гц. Если каждую вторую, то 710 Гц. Каждую третью - 1015 Гц. Получаем ряд частот с шагом 305 Гц.(примерно). Попадание в частоты каждого полутона звукоряда начинается где то с чтения каждой 13 точки. И это уже 5 октава. Максимальная частота около 9.46 кГц при каждой 31 точке. При 32 получается прямая линия. Больше 32 вообще одно изменение на период. Синусоидой уже и не пахнет. То есть Реально можно получить полторы октавы довольно высокого писка. Можно и больше вниз, но не будем попадать в частоты нот. А у автора используется три октавы, и судч по звучанию в ролике ориентировочно с 1 по 3 октаву. Как???
И как повышение частоты прерываний улучшит ситуацию?
По ссылке, поиведенной в цитируемом посте тоже используется 64 точки. И указана идеальная частота выборки значений из таблицы 44 кГц. Так в этом случае дискретность получаемых частот будет около 690 Гц ? И очень высокие звуки. Где я ошибаюсь? Хочу сам програмно попробовать этот метод, но что то не клеится с расчетами...