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