バーチャルYouTuber犬 Virtual youtube dog

人の声に合わせて口を動かす犬です。
マウスの方向に顔を向けます。
YouTubeの動画を作る時に、画面端に置いて、犬に解説してもらうと、楽しいかもしれません。

The illustration of this dog moves his mouth according to the voice of a person.
This dog points his face toward PC mouse.
When creating a YouTube movie it may be fun to let the dog explain it by placing it on the edge of the screen.

Download Processing Zip here ↓

ProcessingのZipダウンロードは、こちら

犬の画像

下のプログラムをprocessingにコピー&ペーストして、ご利用ください。

import ddf.minim.*;
PImage bg;
PImage mask;
PImage fmask;
PImage o0;
PImage me;
PImage hana;
PImage o1;
PImage o125;
PImage o2;
PImage o25;
PImage o3;
PImage o4;
Minim minim;
AudioInput in;
float volumeIn;
float vs;
float un;
int on;
void setup() {
  bg = loadImage("bg.png");  
  mask = loadImage("mask.png");  
  fmask = loadImage("fmask.png");  
  hana = loadImage("hana.png");  
  o0 = loadImage("0.png");  
  o1 = loadImage("1.png"); 
  o125 = loadImage("125.png"); 
  o2 = loadImage("2.png");  
  o25 = loadImage("2.5.png");  
  o3 = loadImage("3.png");  
  o4 = loadImage("4.png");  
  me = loadImage("me.png");  
  noStroke();
  noSmooth();
  size(512, 512);
  minim = new Minim(this);//Minin生成←(3)
  in = minim.getLineIn(Minim.MONO, 2046);
  fill(200, 0, 0);
  frameRate(120);
}
float k;
float f;
float h;
float xx;
float yy;
float ky;
void draw() {
  background(130, 200, 255);
  volumeIn =in.left.level()*2;
  //println(volumeIn);
  //println(frameRate);
  image(bg, 0, -0, 512, 512+(f*0));

  if (volumeIn >= 0 && volumeIn < 0.2)image(o0, xx*1.3, h+(yy*1.5)-ky, 512, 512);
  if (volumeIn >= 0.2 && volumeIn < 0.3)image(o125, xx*1.3, h+(yy*1.5)-ky, 512, 512);
  if (volumeIn >= 0.3 && volumeIn < 0.5)image(o1, xx*1.3, h+(yy*1.5)-ky, 512, 512);
  if (volumeIn >= 0.5 && volumeIn < 0.7)image(o2, xx*1.3, h+(yy*1.5)-ky, 512, 512);
  if (volumeIn >= 0.7 && volumeIn < 0.85)image(o25, xx*1.3, h+(yy*1.5)-ky, 512, 512);
  if (volumeIn >= 0.85 && volumeIn < 0.95)image(o3, xx*1.3, h+(yy*1.5)-ky, 512, 512);
  if (volumeIn >= 0.95)image(o4, xx*1.3, h+(yy*1.5), 512, 512);
  if (un > 0)un -= 1;
  if (un <= 0)un += 1;
  if (volumeIn > 99) {
    un -= k;
    if (k > 0)k -= 0.05;
  } else {
    if (un <= 0)un += 4; 
    k = 2;
  }
  //f = volumeIn*10;
  h = (un+15-(volumeIn*10));
  image(hana, xx*2, un/2+(yy*3), 512, 512);
  image(me, xx, un/3+(yy*1), 512, 512);
  xx = -(256-mouseX)/8;
  yy = -(256-mouseY)/8;
  if (mouseY < 256) {
    ky = volumeIn*((256-(512-mouseY))*5);
  }
  if (mouseY >= 256) {
    ky = 0;
  }
  if(ky < 0)ky = 0;
  image(fmask, 0, -0, 512, 512+(f*0));
  image(mask, 0, -0, 512, 512+(f*0));
}
void stop() {
  in.close(); //音声再生オブジェクトを閉じる
  minim.stop();  //Minimオブジェクトをクリア
  super.stop();  //自分でstop()を定義した時、必須
}
void mouseWheel(MouseEvent e ) {
  if ( e.getAmount() < 0 ) {
    un += 7;
  } else {
    un += -7;
  }
}

 

動画です↓

koha妹が声優です。

 

 

 

 

 

Follow me!

コメントを残す