Живий звук в Processing

У прикладі Програвання аудіофайлів ви навчилися програвати аудіофайл У цьому прикладі ми навчимося підключати до скетчу мікрофонний вхід Це прекрасна властивість бібліотеки Minim і працювати з ним дуже легко Цей приклад можна рассмотриваются як перший крок для тих, хто хоче створити художню інсталяцію, що відповідає на звук

Як це робиться

Перше, що ми зробимо – імпортуємо бібліотеку minim, оголосимо обєкт Minim і обєкт AudioInput

import ddfminim*

import ddfminimsignals* import ddfminimanalysis* import ddfminimeffects*

Minim minim AudioInput in

У функції setup () ми використовуємо метод getLineIn () з класу Minim для відкриття лінійного входу вашого компютера

void setup()

{

size( 640, 480 )

smooth()

minim = new Minim( this )

in = minimgetLineIn( MinimSTEREO, 512 )

background( 0 )

}

У функції draw () для візуалізації вхідного звуку ми використовуємо метод bufferSize () для обєкта AudioInput Не забудемо також додати функцію stop () для загритія лінійного входу при виході з скетчу

void draw()

{

fill( 0, 16 )

noStroke()

rect( 0, 0, width, height/2 )

stroke( 255 ) noFill()

float r = 0

for ( int i = 0 i &lt inbufferSize() i++ ) { r += abs( inmixget( i ) ) * 20

}

ellipse( width/2, height/2, r, r )

}

void stop()

{

inclose()

minimstop()

superstop()

}

Запустіть скетч і спробуйте поговорити або посвістеть і подивіться, що виходить Бет приблизно так само, як на цьому скріншоті У деяких операційних системах потрібно додатково налаштувати мікрофон і звуковий вхід

Метод minimgetLineIn () повертає обєкт AudioInput Це дозволить отримати доступ до мікрофона, підключеному до вваш компютера Швидше за все, ви будете використовувати цю функцію з двома параметрами, але в ній є безліч інших опцій Перший параметр це тип входу Ви можете вказати тут Minim STEREO для стереоканалу і MinimMONO для каналу моно Другий параметр це розмір буфера очетов в даному випадку я використав 512 Якщо ви не вкажете тут нічого, то розмір буфера буде 1024

У функції draw () я використовував метод bufferSize () для перегляду аудіобуфера і обчислення радіусу кола Етто метод повертає негативні і позитивні числа, тому я застосував функцію abs () для взяття модуля чисел Перегляд аудіуфера часто застосовується для малювання тимчасових діаграм Щоб навчитися робити це, перейдемо до наступного рецептом

Джерело: Ян Вантомм, Processing 2: креативне програмування, переклад з англійської Олександри Мішутіної, Published by Packt Publishing Ltd, 2012, BIRMINGHAM – MUMBAI

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*