본문 바로가기

만들기 / Programming/MAXMSP,Jitter

사운드라이브러리(Sonia)와 카메라라이브러리(JMyron)의 설치방법


JMyron0025.zip

JMyron 0025버젼 - 카메라인풋관련 라이브러리

sonia_v2_9.zip

Sonia 2.9버젼 - 사운드인풋, 플레이관련 라이브러리


SONIA 사운드 라이브러리 설치하기

1. Processing.org 에 가셔서 Reference메뉴의 Library 메뉴를 찾아가세요.
2. 중간의 SONIA 를 찾아서 해당 URL로 이동합니다 (http://sonia.pitaru.com/)
3. SONIA를 실행하기 위해서는 JSyn 이라는 자바 라이브러리가 필요한데, 이 라이브러리는 http://www.softsynth.com/jsyn/plugins/ 에 가셔서 해당 설치 방법에 따라 설치해보세요.
4. 설치시 에러가 생길 수 있습니다. 몇가지 대안 방법을 제시하고 있으니 그 방법에 따라 설치를 진행하세요.
5. SONIA 싸이트의 Download 메뉴를 가신 후 ZIP 파일을 다운받으세요.
6. 다운로드 받은 파일은 C:Processing…Libraries 안에 압축을 푸시고, 압축을 푼 디렉토리 안에서 JSynV142.dll 파일을 복사한 후, C:Processing 폴더 안과, C:WindowsSystem32 폴더에 복사해주세요.
7. Processing을 재시동 하시고, 아래의 예제를 실행해보세요.

/////////////////////////////////////////////////////////////////////
import pitaru.sonia_v2_9.*; // 사운드 캡춰를 하려면 언제나 첨부하세요
void setup(){
  // 사운드캡춰 시작
  Sonia.start(this); //소니아시작
  LiveInput.start(); //사운드인풋시작
  // 여기까지
 
  size(400,400);
}
void draw(){
  // 사운드 볼륨받아오기 //Volume 이 볼륨값정도
  float Volume = LiveInput.getLevel()*500;
  // 여기까지
 
  background(255);
  rectMode(CENTER);
  rect(mouseX,mouseY,Volume, Volume);
   
}
/////////////////////////////////////////////////////////////////////




JMyRon 카메라 라이브러리 설치하기

1. Processing.org 에 가셔서 Reference메뉴의 Library 메뉴를 찾아가세요.
2. 중간의 JMyron 를 찾아서 해당 URL로 이동합니다
(http://webcamxtra.sourceforge.net/)
3. JMyron 싸이트의 Download 메뉴를 가신 후 Processing Library 압축 파일을 다운받으세요.
4. 다운로드 받은 파일은 C:Processing…Libraries 안에 압축을 푸시고, 압축을 푼 디렉토리 안에서 Extra DLLs 폴더안의 DSVL.dll과 myron_ezcam.dll 파일을 복사한 후, C:Processing 폴더 안과, C:WindowsSystem32 폴더에 복사해주세요.
5. Processing을 재시동 하시고, 아래의 예제를 실행해보세요.



/////////////////////////////////////////////////////////////////////////////
// 카메라 인풋라이브러리
import JMyron.*;
// 카메라 인풋 라이브러리를 가지고 카메라 객체 생성..
JMyron m;
void setup() {
  size(320,240);
  // 카메라 활성화, 초기화
  m = new JMyron();
  // 카메라 인풋 사이즈 결정.
  m.start(320,240);
}


// 카메라에서 넘어오는 픽셀 배열 데이터 담을 공간(배열) 마련
int cameraPixels[] = new int[320*240];
void draw() {
  // 카메라 매 프레임마다 픽셀배열 받아오기
  m.update();
  // 카메라 픽셀배열을 따로 마련한 공간에 넘겨주기
  cameraPixels = m.image();
 
  // 윈도우 창의 픽셀을 건드릴 수 있도록 보안해제
  loadPixels();
  for (int i=0; i<320*240; i++) {
    // 윈도우 픽셀하나하나에 카메라 픽셀 하나하나를 넘겨주기.
    pixels[i] = cameraPixels[i];
  }
  // 변형된 픽셀 데이터를 윈도우 창의 픽셀에 덮어쓰기
  updatePixels();
}

/////////////////////////////////////////////////////////////////////////////