【6ステップでできる】Processingで音を出す方法

未分類

こんにちは、コンスキです。

今回はProcessingを実行中に音楽などを流す方法をご紹介します。

1. Minimをインストールする

まずは、Minimというライブラリをインストールします。

「スケッチ > ライブラリをインポート… > ライブラリを追加…」のように選択してください。

左上のFilterと書かれた検索欄に「minim class」と入れて検索します。

表示された「Minim」という名前のライブラリをクリックしてから、右下にある「Install」ボタンを押します。

インストールが完了したらProcessingを再起動してください。

2. import文を書く

次のようなimport文を書くことで、ライブラリを使用できるようにします。

import ddf.minim.*;

3. 2つの変数を宣言する

次のようにMinim型の変数とAudioPlayer型の変数を宣言します。

import ddf.minim.*;

Minim minim;
AudioPlayer player;

4. インスタンスを生成する

setup関数の中でnew演算子を使い、Minimインスタンスを生成します。

import ddf.minim.*;

Minim minim;
AudioPlayer player;

void setup() {
  minim = new Minim(this);
}

5. 音声ファイルを読み込む

次のようにして音声ファイルを読み込みます。

import ddf.minim.*;

Minim minim;
AudioPlayer player;

void setup() {
  minim = new Minim(this);
  player = minim.loadFile("./sound/sample.mp3");
}

sample.mp3の部分には音声ファイルのパスまたはURLを入れます。

読み込める音声ファイルの拡張子には次のようなものがあります。

  • .mp3
  • .wav
  • .aiff
  • .au

同じスケッチ(フォルダ)内に「data」というのフォルダを作成し、その中に音声ファイルを入れておけば、ファイル名だけでも読み込めます。

6. 音を出す

draw関数の中で音を出すためのplayメソッドを使います。

import ddf.minim.*;

Minim minim;
AudioPlayer player;

void setup() {
  minim = new Minim(this);
  player = minim.loadFile("./sound/sample.mp3");
  player.play();
}
void draw() {
//何も描画しない場合もdraw関数は必要
}

音声ファイルをずっと流し続けたい場合はplayメソッドの代わりにloopメソッドを使ってください。

約束ごと

これまでのステップを完了してから実行すれば、音を出すことはできると思いますが、お約束ごとして次のstop関数を書くようしていただきたいです。

import ddf.minim.*;

Minim minim;
AudioPlayer player;

void setup() {
  minim = new Minim(this);
  player = minim.loadFile("./sound/sample.mp3");
  player.play();
}
void draw() {
//何も描画しない場合でもdraw関数は必要みたいです...
}
void stop() {
  out.close();
  minim.stop();
  super.stop();
}

コメント

タイトルとURLをコピーしました