回答編集履歴

1

改行削除

2024/03/04 09:45

投稿

TN8001
TN8001

スコア9326

test CHANGED
@@ -1,167 +1,83 @@
1
1
  今頃回答するのもなんですが、誰か検索で来たりするかもしれませんので書いておきます。
2
+ ヌルポが出るのは、`AudioInput`がない(=マイクが刺さっていない)からだと思います。
3
+ waxogawaさんがやりたかったのは、mp3の波形だと思われるので`in`を`player`に置き換えました。
2
4
 
3
- ヌルポが出るのは、
4
-
5
- AudioInputがない=マイクが刺さっていないから
6
-
7
- だと思います。
8
-
9
- waxogawaさんがやりたかったのは、mp3の波形だと思われるのでinをplayerに置き換えます。
10
-
11
- コメントのところが変更した部分
5
+ コメントのところが変更した部分
12
-
13
6
  ```Processing
14
-
15
7
  import ddf.minim.analysis.*;
16
-
17
8
  import ddf.minim.*;
18
-
19
9
  import ddf.minim.effects.*;
20
-
21
10
  import ddf.minim.signals.*;
22
-
23
11
  import ddf.minim.spi.*;
24
-
25
12
  import ddf.minim.ugens.*;
26
-
27
-
28
13
 
29
14
  final int BUFSIZE = 512;
30
15
 
31
-
32
-
33
16
  Minim minim;
34
-
35
17
  AudioPlayer player;
36
18
 
37
-
38
-
39
19
  //AudioInput in;
40
-
41
20
  FFT fft;
42
21
 
43
-
44
-
45
22
  int grid = 50;
46
-
47
23
  float gridWidth;
48
-
49
24
  float [][] zs;
50
25
 
51
-
52
-
53
26
  public void settings() {
54
-
55
27
  size(800, 800, P3D);
56
-
57
28
  smooth();
58
-
59
29
  }
60
30
 
61
-
62
-
63
31
  void setup() {
64
-
65
32
  minim = new Minim(this);
66
-
67
33
  // in = minim.getLineIn(Minim.STEREO, 1024);
68
-
69
34
  player = minim.loadFile("SHINICHI OSAWA LOVE WILL GUIDE YOU feat. TOMMIE SUNSHINE.mp3");
70
-
71
35
  player.play();
72
-
73
36
  fft = new FFT(player.bufferSize(), player.sampleRate());
74
-
75
37
  // fft = new FFT(in.bufferSize(), in.sampleRate());
76
38
 
77
-
78
-
79
39
  zs = new float[grid + 1][grid + 1];
80
-
81
40
  for (int w = 0; w< grid; w++) {
82
-
83
41
  for (int h = 0; h<grid; h++) {
84
-
85
42
  zs[w][h] = 0.0;
86
-
87
43
  }
88
-
89
44
  }
90
-
91
45
  gridWidth = width/float(grid);
92
46
 
93
-
94
-
95
47
  //player = minim.loadFile("SHINICHI OSAWA LOVE WILL GUIDE YOU feat. TOMMIE SUNSHINE.mp3");
96
-
97
48
  //player.play();
98
-
99
49
  }
100
50
 
101
-
102
-
103
51
  void draw() {
104
-
105
52
  lights();
106
53
 
107
-
108
-
109
54
  // fft.forward(in.mix);
110
-
111
55
  fft.forward(player.mix);
112
56
 
113
-
114
-
115
57
  for (int w=grid-1; w>=0; w--) {
116
-
117
58
  for (int h = grid - 1; h >= 0; h--) {
118
-
119
59
  if (h == 0) {
120
-
121
60
  zs[w][h] = fft.getBand(w) * 3;
122
-
123
61
  } else {
124
-
125
62
  zs[w][h] = zs[w][h - 1];
126
-
127
63
  }
128
-
129
64
  }
130
-
131
65
  }
132
66
 
133
-
134
-
135
67
  background(0);
136
-
137
68
  translate(0, 0, -300);
138
-
139
69
  rotateX(PI/4.0);
140
-
141
70
  for (int w = 0; w < grid; w++) {
142
-
143
71
  for (int h = 0; h < grid; h++) {
144
-
145
72
  beginShape();
146
73
 
147
-
148
-
149
74
  vertex(w * gridWidth, h * gridWidth, zs[w][h]);
150
-
151
75
  vertex((w + 1) * gridWidth, h * gridWidth, zs[w + 1][h]);
152
-
153
76
  vertex((w + 1) * gridWidth, (h + 1) * gridWidth, zs[w + 1][h + 1]);
154
-
155
77
  vertex(w * gridWidth, (h + 1) * gridWidth, zs[w][h + 1]);
156
-
157
78
  endShape(CLOSE);
158
-
159
79
  }
160
-
161
80
  }
162
-
163
81
  }
164
-
165
82
  ```
166
-
167
83
  ![実行結果](e8acdc40421388ac389b54714054bd0f.png)