teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

改行削除

2024/03/04 09:45

投稿

TN8001
TN8001

スコア10108

answer CHANGED
@@ -1,84 +1,83 @@
1
- 今頃回答するのもなんですが、誰か検索で来たりするかもしれませんので書いておきます。
2
- ヌルポが出るのは、
3
- AudioInputがない=マイクが刺っていない
4
- だと思います。
5
- waxogawaさんがやりたかったは、mp3の波形だ思われるのでinをplayerに置き換えます。
6
- コメントのところが変更した部分。
7
- ```Processing
8
- import ddf.minim.analysis.*;
9
- import ddf.minim.*;
10
- import ddf.minim.effects.*;
11
- import ddf.minim.signals.*;
12
- import ddf.minim.spi.*;
13
- import ddf.minim.ugens.*;
14
-
15
- final int BUFSIZE = 512;
16
-
17
- Minim minim;
18
- AudioPlayer player;
19
-
20
- //AudioInput in;
21
- FFT fft;
22
-
23
- int grid = 50;
24
- float gridWidth;
25
- float [][] zs;
26
-
27
- public void settings() {
28
- size(800, 800, P3D);
29
- smooth();
30
- }
31
-
32
- void setup() {
33
- minim = new Minim(this);
34
- // in = minim.getLineIn(Minim.STEREO, 1024);
35
- player = minim.loadFile("SHINICHI OSAWA LOVE WILL GUIDE YOU feat. TOMMIE SUNSHINE.mp3");
36
- player.play();
37
- fft = new FFT(player.bufferSize(), player.sampleRate());
38
- // fft = new FFT(in.bufferSize(), in.sampleRate());
39
-
40
- zs = new float[grid + 1][grid + 1];
41
- for (int w = 0; w< grid; w++) {
42
- for (int h = 0; h<grid; h++) {
43
- zs[w][h] = 0.0;
44
- }
45
- }
46
- gridWidth = width/float(grid);
47
-
48
- //player = minim.loadFile("SHINICHI OSAWA LOVE WILL GUIDE YOU feat. TOMMIE SUNSHINE.mp3");
49
- //player.play();
50
- }
51
-
52
- void draw() {
53
- lights();
54
-
55
- // fft.forward(in.mix);
56
- fft.forward(player.mix);
57
-
58
- for (int w=grid-1; w>=0; w--) {
59
- for (int h = grid - 1; h >= 0; h--) {
60
- if (h == 0) {
61
- zs[w][h] = fft.getBand(w) * 3;
62
- } else {
63
- zs[w][h] = zs[w][h - 1];
64
- }
65
- }
66
- }
67
-
68
- background(0);
69
- translate(0, 0, -300);
70
- rotateX(PI/4.0);
71
- for (int w = 0; w < grid; w++) {
72
- for (int h = 0; h < grid; h++) {
73
- beginShape();
74
-
75
- vertex(w * gridWidth, h * gridWidth, zs[w][h]);
76
- vertex((w + 1) * gridWidth, h * gridWidth, zs[w + 1][h]);
77
- vertex((w + 1) * gridWidth, (h + 1) * gridWidth, zs[w + 1][h + 1]);
78
- vertex(w * gridWidth, (h + 1) * gridWidth, zs[w][h + 1]);
79
- endShape(CLOSE);
80
- }
81
- }
82
- }
83
- ```
1
+ 今頃回答するのもなんですが、誰か検索で来たりするかもしれませんので書いておきます。
2
+ ヌルポが出るのは、`AudioInput`がない(=マイクが刺さっていない)からだと思います。
3
+ waxogawaんがやりたったのは、mp3の波形だと思われるので`in`を`player`に置き換えました。
4
+
5
+ コメントのところが変更した部分
6
+ ```Processing
7
+ import ddf.minim.analysis.*;
8
+ import ddf.minim.*;
9
+ import ddf.minim.effects.*;
10
+ import ddf.minim.signals.*;
11
+ import ddf.minim.spi.*;
12
+ import ddf.minim.ugens.*;
13
+
14
+ final int BUFSIZE = 512;
15
+
16
+ Minim minim;
17
+ AudioPlayer player;
18
+
19
+ //AudioInput in;
20
+ FFT fft;
21
+
22
+ int grid = 50;
23
+ float gridWidth;
24
+ float [][] zs;
25
+
26
+ public void settings() {
27
+ size(800, 800, P3D);
28
+ smooth();
29
+ }
30
+
31
+ void setup() {
32
+ minim = new Minim(this);
33
+ // in = minim.getLineIn(Minim.STEREO, 1024);
34
+ player = minim.loadFile("SHINICHI OSAWA LOVE WILL GUIDE YOU feat. TOMMIE SUNSHINE.mp3");
35
+ player.play();
36
+ fft = new FFT(player.bufferSize(), player.sampleRate());
37
+ // fft = new FFT(in.bufferSize(), in.sampleRate());
38
+
39
+ zs = new float[grid + 1][grid + 1];
40
+ for (int w = 0; w< grid; w++) {
41
+ for (int h = 0; h<grid; h++) {
42
+ zs[w][h] = 0.0;
43
+ }
44
+ }
45
+ gridWidth = width/float(grid);
46
+
47
+ //player = minim.loadFile("SHINICHI OSAWA LOVE WILL GUIDE YOU feat. TOMMIE SUNSHINE.mp3");
48
+ //player.play();
49
+ }
50
+
51
+ void draw() {
52
+ lights();
53
+
54
+ // fft.forward(in.mix);
55
+ fft.forward(player.mix);
56
+
57
+ for (int w=grid-1; w>=0; w--) {
58
+ for (int h = grid - 1; h >= 0; h--) {
59
+ if (h == 0) {
60
+ zs[w][h] = fft.getBand(w) * 3;
61
+ } else {
62
+ zs[w][h] = zs[w][h - 1];
63
+ }
64
+ }
65
+ }
66
+
67
+ background(0);
68
+ translate(0, 0, -300);
69
+ rotateX(PI/4.0);
70
+ for (int w = 0; w < grid; w++) {
71
+ for (int h = 0; h < grid; h++) {
72
+ beginShape();
73
+
74
+ vertex(w * gridWidth, h * gridWidth, zs[w][h]);
75
+ vertex((w + 1) * gridWidth, h * gridWidth, zs[w + 1][h]);
76
+ vertex((w + 1) * gridWidth, (h + 1) * gridWidth, zs[w + 1][h + 1]);
77
+ vertex(w * gridWidth, (h + 1) * gridWidth, zs[w][h + 1]);
78
+ endShape(CLOSE);
79
+ }
80
+ }
81
+ }
82
+ ```
84
83
  ![実行結果](e8acdc40421388ac389b54714054bd0f.png)