Processing:Библиотеки/Sound/Класс Sound

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску


Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



Класс 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);
}

См.также

Внешние ссылки