Таблица 2.4
Переменные, используемые в подпрограмме «Echo»
| Имена переменных | Тип | Описание | 
| i, j, k | integer | Переменные-счетчики | 
| DelaySmp | Cardinal | Равно Ti – Ti-1 | 
| SmpBuf | array[0..64] of Int64 | Хранит выборку аудио-данных | 
| Mult | Real | Коэффициент для полу-чения значения амплиту-ды отражения | 
| Smp | Integer | Текущая амплитуда | 
| Channel | Word | Количество каналов | 
| MaxValue | Cardinal | Макс. значение ампли-туды в обрабатываемом фрагменте | 
Описание входных данных подпрограммы представлено в табл.2.5.
Таблица 2.5
Входные данные подпрограммы «Echo»
| Имена переменных | Тип | Описание | 
| AudioData | TAudioData | Передаваемая исходная совокупность значений амплитуд и времен | 
| Start | Cardinal | Стартовая позиция, с которой необходимо начать обработку | 
| Count | Cardinal | Количество позиций, которые необходимо обработать относительно стартовой | 
| Number | Cardinal | Количество откликов | 
| Delay | Cardinal | Время между откликами | 
| Volume | Real | Громкость отклика отно-сительно предыду-щего | 
Выходные данные подпрограммы:
AudioData – измененная совокупность значений амплитуд и времен с эффектом эха.
В подпрограмме используются следующие подпрограммы:
1. ReadSample(Number, Channel: LongInt; var Value: Integer) – процедура чтения данных из звукового файла;
2. WriteSample(Number, Channel: LongInt; Value: Integer) – процедура записи данных в звуковой файл.
Схема подпрограммы «Echo» приведена на рис. 2.18.
| Имена переменных | Тип | Описание | 
| i, j, k, n, NewCount | integer | Переменные-счетчики | 
| Buf | Int64 | Выравнивание (число каналов х разрядность) | 
| Interval | Real | Интервал времени между двумя значениями амплитуд | 
| Smp1, Smp2 | Integer | Значения амплитуд | 
| Channel | Byte | Количество каналов | 
Описание входных данных подпрограммы представлено в табл.2.7.
Таблица 2.7
Входные данные подпрограммы «SetSpeedOfAudio»
| Имена переменных | Тип | Описание | 
| AudioData | TAudioData | Передаваемая исходная совокупность значений амплитуд и времен | 
| Start | Cardinal | Стартовая позиция, с которой необходимо начать обработку | 
| Count | Cardinal | Количество позиций, которые необходимо обработать относительно стартовой | 
| Speed | Real | Новая скорость звуко-вого сигнала | 
Выходные данные подпрограммы:
AudioData – измененная совокупность значений амплитуд и времен с измененным темпом.
В подпрограмме используются следующие подпрограммы:
1) ReadSample(Number, Channel: LongInt; var Value: Integer) – процедура чтения данных из звукового файла;
2) WriteSample(Number, Channel: LongInt; Value: Integer) – процедура записи данных в звуковой файл.
Схема подпрограммы «SetSpeedOfAudio» приведена на рис. 2.19.
| Имена переменных | Тип | Описание | 
| i | integer | Переменная-счетчик | 
| MaxValue | Cardinal | Макс. значение ампли-туды в обрабатываемом фрагменте | 
| Value | Cardinal | Текущее значение амплитуды | 
| Channel | Word | Количество каналов | 
Описание входных данных подпрограммы представлено в табл.2.9.
Таблица 2.9
Входные данные подпрограммы «SetVolumeOfAudio»
| Имена переменных | Тип | Описание | 
| AudioData | TAudioData | Передаваемая исходная совокупность значений амплитуд и времен | 
| Start | Cardinal | Стартовая позиция, с которой необходимо начать обработку | 
| Count | Cardinal | Количество позиций, которые необходимо обработать относительно стартовой | 
| Volume | Real | Новая громкость звуко-вого сигнала | 
Выходные данные подпрограммы:
AudioData – измененная совокупность значений амплитуд и времен с измененным уровнем громкости.
В подпрограмме используются следующие подпрограммы: