Processing:Библиотеки/Sound/Класс Sound
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Класс Sound[1]
Класс
Sound
Описание
Класс Sound позволяет настраивать глобальные свойства для синтеза и проигрывания звука – вроде устройства для вывода данных, частоты дискретизации и общей громкости для выходных аудиоданных. Информацию о доступных устройствах ввода и вывода данных можно получить при помощи функции Sound.list().
Методы
- list() – печатает и возвращает информацию о доступных аудиоустройствах, а также о количестве имеющихся у них входных/выходных каналов.
- sampleRate() – считывает или задает внутреннюю частоту дискретизации для движка синтеза звука.
- inputDevice() – выбирает устройство (звуковую карту), которое нужно использовать для считывания входных аудиоданных при помощи объекта AudioIn.
- outputDevice() – выбирает устройство (звуковую карту), которому нужно отправить выходные аудиоданные, сгенерированные при помощи библиотеки Sound.
- volume() – задает общую громкость для выходных аудиоданных, сгенерированных при помощи библиотеки Sound.
Синтаксис
Sound(parent)
Sound(parent, sampleRate, outputDevice, inputDevice, volume)
Параметры
parent – как правило, используется «this». Тип данных – PApplet.
sampleRate – частота дискретизации, используемая движком для синтеза звука (по умолчанию – «44100»). Тип данных – int.
outputDevice – ID устройства (например, звуковой карты), на котором нужно проиграть звук. Тип данных – int.
inputDevice – ID устройства (например, звуковой карты), звук которого необходимо использовать в качестве входных данных. Тип данных – int.
volume – общая громкость выходных аудиоданных, сгенерированных при помощи библиотеки Sound (по умолчанию – «1.0»). Тип данных – float.
Пример
import processing.sound.*;
Sound s;
void setup() {
size(200, 200);
// запускаем два осциллятора, генерирующих синусный сигнал,
// но с немного разными частотами, чтобы получить красивый «бит»:
SinOsc sin = new SinOsc(this);
sin.play(200, 0.2);
sin = new SinOsc(this);
sin.play(205, 0.2);
// создаем объект Sound,
// чтобы глобально контролировать звук выходящих аудиоданных:
s = new Sound(this);
}
void draw() {
// подгоняем вертикальное перемещение
// курсора мышки к изменению громкости:
float amplitude = map(mouseY, 0, height, 0.4, 0.0);
// вместо того, чтобы менять громкость у каждого осциллятора
// по отдельности, меняем общую громкость выходных аудиоданных,
// генерируемых библиотекой Sound:
s.volume(amplitude);
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |