ZX Forum
#04
19 ноября 1997 |
|
Мир звуков Спектрума - глава 5.1: Создание эффектов оператором PLAY.
5.1. Создание эффектов на PLAYе С помощью оператора PLAY можно созда- вать очень интересные звуковые эффекты. Причем делается это значительно проще, чем в случае с BEEPом. Количество возможных эффектов ограничено только фантазией прог- раммиста. Чаще всего в них используются громкостные эффекты, многоголосие и гене- ратор шума. Так как количество эффектов в данном случае неимоверно велико, не буду описы- вать каждый из них (принципы те же, что и в главе 2.1), а приведу несколько приме- ров с необходимыми комментариями. Пример первый: 10 PLAY "X16384W0O6U9B" воспроизводит плавно затухающую ноту. Пример второй: 10 PLAY "O6X1000W3U1BX16384W0 9B" модификация предыдущего эффекта. Громкость ноты сначала возрастает от минимальной до максимальной (мягкая атака), а затем плав- но затухает. Пример третий: 10 PLAY "T240W0X3000UO8(B&c&)" этот эффект практически полностью аналоги- чен предыдущим, но звучит совсем по-друго- му. Пример четвертый: 10 PLAY "O4X16384W3U9B" здесь используется эффект, который в музы- ке называется мягкой атакой звука. В этих четырех эффектах применяется чистый тон, но Вы можете использовать и шум, вставив команду M8, или смесь тона с шумом (команда M9). Следующий пример такой: 10 LET A$="T240" 20 FOR A=1 TO 8 30 LET A$=A$+"O"+STR$ A+" 1CDEFGAB" 40 NEXT A: PLAY A$ В этом эффекте сначала подготавливает- ся музыкальная программа, а затем проигры- вается. Ее можно было бы задать прямо в операторе PLAY, но тогда это выглядело бы ужасно (несколько строк однотипного тек- ста!) Если же воспроизводить ее одновре- менно с созданием (в цикле), то появятся нежелательные паузы. Перед заданием основных данных в пере- менную A$ заносится команда T240, что поз- воляет ускорить эффект. Попробуйте кроме T240 добавить M8 или M9. Следующий пример: 10 LET A$="T240": LET B$="" 20 FOR A=1 TO 8 30 LET A$=A$+"O"+STR$ A+" 1CDEFGAB" 40 LET B$=B$+"O"+STR$ (9-A)+" 1BAGFEDC" 50 NEXT A: PLAY A$, B$ Этот эффект очень похож на предыдущий. Но в данном случае используются два голо- са, частоты которых смещаются в противопо- ложных направлениях. Еще один пример: 10 PLAY "O3 1cdefgabC","O5 1cdefgabC", "O6 1cdefgabC" Здесь используются все три канала, нас- троенные на разные частоты, что звучит до- вольно интересно. В последнем примере нетрадиционно ис- пользуется генератор огибающей. С его по- мощью формируется необычный тембр: 10 PLAY "W4X1UcdefgabCW7X4cdefgabC" Возможности оператора PLAY не исчерпы- ваются приведенными эффектами. Вы можете поэкспериментировать с ним. И в заключении немного критики. Опера- тор PLAY, несмотря на все свои достоин- ства (которые принадлежат скорее музы- кальному сопроцессору), имеет и недостат- ки. Например, он не позволяет воспроизво- дить ноты в режиме легато (слитно), а так- же очень короткие ноты.
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября