質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

Q&A

1回答

1771閲覧

Processing マイクに反応させたい

gogogogo

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

0グッド

0クリップ

投稿2021/12/12 06:59

編集2021/12/12 07:01

Processingについて質問です。初心者なので初歩的な質問かもしれませんが失礼します。
マイクの音声に応じて動くプログラムを作りたいのですがどうしたらいいでしょうか? 現時点でインポートしているのはprocessing公式(?)が出しているやつです(minimよりもコードの書き方が単純だよと言われたため)。
描画したい形としてはhttps://youtu.be/CHP2rwWU5CM←この動画のそれぞれの角で動いているみたいなやつを画面の真ん中に、マイクに音声が認識されている間だけ表示できるようにしたいです。もしくは波形でも構いません。
またマイクのプログラムとは別に手で動かすプログラムも打ち込んでいるのですが、別々に書いた方がいいのでしょうか?

ちなみに今書いているコードです↓
この状態でNullPointerExceptionと出て来てしまっています。FFTやprofessing.soundなどの音声に関するコードを入れていない状態のプログラムは普通に動きます。
import processing.sound.*;

AudioIn in;

FFT fft;

int COUNT = 100;
float[] spectrum = new float[COUNT];

void setup() {
size(800, 600);
background(0);

in = new AudioIn(this);
in.start();

fft=new FFT(this, COUNT);
fft.input(in);
}

void draw() {
fill(random(255), random(255), random(255), 80);
noStroke();
float eSize;
eSize=random(9, 90);
ellipse(random(mouseX-30, mouseX+30), random(mouseY-30, mouseY+30), eSize, eSize);
filter(BLUR, 4);

fft.analyze(spectrum);
// spectrum[0], [1],
// spectrm[0]

for (int i = 0; i < COUNT; i++) {
rect(
i * 10,
height / 2,
10,
-spectrum[i] * 1000
);
}
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

この状態でNullPointerExceptionと出て来てしまっています。

NullPointerExceptionの前に、↓とエラー文が出ているはずです。

Sound library error: number of FFT bands needs to be a power of 2

int COUNT = 100;を、64128にしてください。これはFFTの制限です。

number of frequency bands for the FFT as an integer (default 512). This parameter needs to be a power of 2 (e.g. 16, 32, 64, 128, ...).

FFT / Reference / Processing.org

もしくは波形でも構いません。

Waveformもいいかもしれません(サンプルにも同じものが入っています)
Waveform / Reference / Processing.org

またマイクのプログラムとは別に手で動かすプログラムも打ち込んでいるのですが、別々に書いた方がいいのでしょうか?

最終的に一緒にするんですよね?
実験中は最小限のコードでやったほうがいいですが、確認が済んだら早めに合わせましょう(関数に分けたりはしてください)
両方作りこんだ後に合体さるのは、(作りにもよりますが)大変なこともあります。

投稿2021/12/12 08:35

編集2023/07/29 12:32
TN8001

総合スコア9862

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gogogogo

2021/12/13 01:41

お答えありがとうございました。 さらに質問したいのですが、現段階でこのようなコードを書いているのですが、FFTの山(?音声認識で一番盛り上がるところです。)を真ん中にすることはできないのでしょうか?また今色やぼかしが全部に反映されてしまっているのですが、音声認識の部分だけ色やぼかしを除くことはできますか?
TN8001

2021/12/13 08:23

> さらに質問したいのですが [Java - Processing 音声認識部分の色、ぼかしを除いて色を決めたい|teratail](https://teratail.com/questions/373536 こちらに立てたようですね。 質問タイトルとかけ離れますし、別質問にしたほうがいいでしょうね。 ヌルポが解消したのであれば、この質問は閉じてください。 BLUR自体が激重くないですか?(うちのヘボPCだと、3fpsとかしか出ないんですが^^;
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問