Отримання тимчасової діаграми в Processing

Якщо ви коли-небудь використовували редактор аудіо, ви знаєте, що звукю як правило, представляється тимчасової діаграмою У цьому прикладі ми зробимо візуалізацію пісні у вигляді тимчасової діаграми

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

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

import ddfminim*

import ddfminimsignals* import ddfminimanalysis* import ddfminimeffects*

Minim minim AudioPlayer player

void setup()

{

size( 1024, 480 )

smooth()

minim = new Minim( this )

player = minimloadFile(&quotsongmp3&quot, 1024) playerplay()

strokeWeight( 2 )

Код, виконує аналіз аудіо і становить діаграму знаходиться у функції draw () Так як наша пісня є стерео аудіофайлом, ми позначимо лівий і прий канал на екрані різними кольорами Не забудьте додати в кінці функцію stop ()

void draw()

{

background( 255 ) translate( 0, height/2 )

// right channel stroke( 255, 0, 0 )

for ( int i = 0 i &lt playerrightsize() i++ ) { float y = playerrightget( i ) * 220

point( i, y )

}

// left channel stroke( 0 )

for ( int i = 0 i &lt playerleftsize() i++ ) { float y = playerleftget( i ) * 220

point( i, y )

}

}

void stop()

{

playerclose() minimstop()

superstop()

}

Коли ви запустите скетч, результат буде виглядати приблизно так, як на скріншоті Замість точок ви можете застосувати лінії і зробити графік більш гладким

Обєкт AudioPlayer повертає три види діаграм: для лівого каналу, для правого каналу і комбінацію обох Отримати доступ до них можна методами playerleft, playerright і playermix Використовуючи метод size () для цих обєктів, ви можете змінювати довжину буфера Це зручно, якщо ви будете працювати з буфером За допомогою методу get () ви можете отримати доступ до окремої величиною в буфері Ці величини знаходяться в діапазоні від -1 до +1, і ви можете помножити їх на більше число для відображення на екрані

Джерело: Ян Вантомм, 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>

*

*