バーチャル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にコピー&ペーストして、ご利用ください。
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妹が声優です。











