Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
2015/09/20
JUCEで作るオーディオアプリケーション
@hotwatermorning
1
自己紹介
✤ @hotwatermorning
✤ C++オーディオプログラマ
✤ 趣味: DTM
✤ C++ポケットリファレンス(共著)
✤ Microsoft MVP for Visual C++ 2015
2
今日のサンプルコード
https://bitbucket.org/hotwatermorning/jucedj
3
JUCEライブラリとは
4
JUCEライブラリとは
✤ C++で書かれた

クロスプラットフォームライブラリ
✤ Win, Mac, Linux, Android, iOS
✤ オーディオアプリケーション開発や

オーディオプラグイン開発に向いている
✤ もともとTrak...
DAW/プラグインとは
✤ DAW:

オーディオ制作に使う統合制作環境
✤ プログラミングで言うところのIDEみたいなもの
✤ オーディオプラグイン: 

DAW上で動作する楽器やオーディオエフェクトの
アプリケーション
6
Made with JUCE
✤ さまざまなオーディオアプリケーション開発企業
でJUCEが使われている
✤ Arturia / Codex Digital /

Crypton Future Media / Image Line / Korg...
ライセンスについて
✤ GPLと商用ライセンスのデュアルライセンス
✤ Commercial licence for a single product

‒ GBP399
✤ Commercial licence for any number ...
JUCEライブラリの特徴
9
JUCEライブラリとは
✤ nullptr, override, noexcept, RAII, 

スマートポインタなど、モダンなC++のスタイル
で書かれている
10
Features
✤ オーディオアプリケーション向けのライブラリだ
が、その他にも多くの機能を提供している
✤ オーディオデバイスやオーディオファイル
✤ オーディオプラグイン開発
✤ GUI関連クラス、2D/3D描画
✤ Network
✤ ...
Features
✤ JUCEのexampleにあるJuceDemoという

プロジェクトで、JUCEの機能をひと通り眺めら
れる
12
JUCEライブラリを使うと
✤ オーディオアプリケーションが開発できる
✤ オーディオデバイス/MIDIデバイスのオープン
✤ オーディオファイルの読み込み/書き出し
✤ オーディオプラグインのホスト
✤ オーディオプラグインが開発できる
✤ ...
JUCEが得意ではないこと
✤ ゲームエンジンではない
✤ 3Dやアニメーションのクラスもあるが、ゲームに特化
してるわけではない
✤ 信号処理に特化したライブラリではない
✤ 様々なフィルターや信号処理用の関数が っているわ
けではない
✤ ...
JUCEが得意ではないこと
✤ JUCEはさまざまな機能を提供しているが、

それらをJUCEから取り出して特定のモジュール
だけを開発に組み込むような使い方は苦手
15
JUCEを使用した開発
16
JUCEを使用した開発
✤ JUCEを使用したアプリケーションを開発するに
はIntrojucerというツールを使用する
17
Introjucer
✤ JUCEのプロジェクト管理ツール
✤ 各プラットフォームのコンパイラ用のプロジェク
トを生成する
✤ Xcode, Visual Studio, Code::Blocks, make, Ant
✤ CMakeみたいなも...
Introjuerの利点
✤ さまざまなプラットフォームに向けた

プロジェクト設定を一括で管理できる
✤ ソースファイルや、プロジェクトで使うJUCEの

モジュールを、それぞれのプラットフォームごとに

整備しなくてもいい
19
Introjuerの利点
✤ さらに、簡易なコードエディタやGUIの設計

ツールが付いている
20
Introjucerの欠点
✤ コードエディターが日本語にうまく対応してない
21
プロジェクトのテンプレート
✤ 開発したいアプリケーション向けのテンプレート
が用意されている
✤ コンソールアプリケーション
✤ GUIアプリケーション
✤ オーディオアプリケーション
✤ オーディオプラグイン

などなど
✤ 初期化や基本的...
JuceDemo
✤ JUCEのexampleに入っているデモプロジェクト
✤ さまざまなJUCEの機能が体験できる
23
ありがとうございました
24
Upcoming SlideShare
Loading in …5
×
Upcoming SlideShare
オーディオ用レベルメータを作ってみよう
Next
Download to read offline and view in fullscreen.

11

Share

Download to read offline

Juceで作るオーディオアプリケーション

Download to read offline

SampleApp for #TokyoEDGE2015

Related Books

Free with a 30 day trial from Scribd

See all

Juceで作るオーディオアプリケーション

  1. 1. 2015/09/20 JUCEで作るオーディオアプリケーション @hotwatermorning 1
  2. 2. 自己紹介 ✤ @hotwatermorning ✤ C++オーディオプログラマ ✤ 趣味: DTM ✤ C++ポケットリファレンス(共著) ✤ Microsoft MVP for Visual C++ 2015 2
  3. 3. 今日のサンプルコード https://bitbucket.org/hotwatermorning/jucedj 3
  4. 4. JUCEライブラリとは 4
  5. 5. JUCEライブラリとは ✤ C++で書かれた
 クロスプラットフォームライブラリ ✤ Win, Mac, Linux, Android, iOS ✤ オーディオアプリケーション開発や
 オーディオプラグイン開発に向いている ✤ もともとTraktionという
 オーディオ制作用アプリケーション(DAW)の
 開発用に作られた ✤ オープンソース(商用ライセンスあり) 5
  6. 6. DAW/プラグインとは ✤ DAW:
 オーディオ制作に使う統合制作環境 ✤ プログラミングで言うところのIDEみたいなもの ✤ オーディオプラグイン: 
 DAW上で動作する楽器やオーディオエフェクトの アプリケーション 6
  7. 7. Made with JUCE ✤ さまざまなオーディオアプリケーション開発企業 でJUCEが使われている ✤ Arturia / Codex Digital /
 Crypton Future Media / Image Line / Korg / Presonus / Uberschall / etc., 7
  8. 8. ライセンスについて ✤ GPLと商用ライセンスのデュアルライセンス ✤ Commercial licence for a single product
 ‒ GBP399 ✤ Commercial licence for any number of products
 ‒ GBP699 8
  9. 9. JUCEライブラリの特徴 9
  10. 10. JUCEライブラリとは ✤ nullptr, override, noexcept, RAII, 
 スマートポインタなど、モダンなC++のスタイル で書かれている 10
  11. 11. Features ✤ オーディオアプリケーション向けのライブラリだ が、その他にも多くの機能を提供している ✤ オーディオデバイスやオーディオファイル ✤ オーディオプラグイン開発 ✤ GUI関連クラス、2D/3D描画 ✤ Network ✤ 暗号化 ✤ マルチスレッド ✤ XML/JSON
 などなど 11
  12. 12. Features ✤ JUCEのexampleにあるJuceDemoという
 プロジェクトで、JUCEの機能をひと通り眺めら れる 12
  13. 13. JUCEライブラリを使うと ✤ オーディオアプリケーションが開発できる ✤ オーディオデバイス/MIDIデバイスのオープン ✤ オーディオファイルの読み込み/書き出し ✤ オーディオプラグインのホスト ✤ オーディオプラグインが開発できる ✤ VST, Audio Unit, AAX, RTAS 13
  14. 14. JUCEが得意ではないこと ✤ ゲームエンジンではない ✤ 3Dやアニメーションのクラスもあるが、ゲームに特化 してるわけではない ✤ 信号処理に特化したライブラリではない ✤ 様々なフィルターや信号処理用の関数が っているわ けではない ✤ IIRフィルター用のクラスは用意されている 14
  15. 15. JUCEが得意ではないこと ✤ JUCEはさまざまな機能を提供しているが、
 それらをJUCEから取り出して特定のモジュール だけを開発に組み込むような使い方は苦手 15
  16. 16. JUCEを使用した開発 16
  17. 17. JUCEを使用した開発 ✤ JUCEを使用したアプリケーションを開発するに はIntrojucerというツールを使用する 17
  18. 18. Introjucer ✤ JUCEのプロジェクト管理ツール ✤ 各プラットフォームのコンパイラ用のプロジェク トを生成する ✤ Xcode, Visual Studio, Code::Blocks, make, Ant ✤ CMakeみたいなもの 18
  19. 19. Introjuerの利点 ✤ さまざまなプラットフォームに向けた
 プロジェクト設定を一括で管理できる ✤ ソースファイルや、プロジェクトで使うJUCEの
 モジュールを、それぞれのプラットフォームごとに
 整備しなくてもいい 19
  20. 20. Introjuerの利点 ✤ さらに、簡易なコードエディタやGUIの設計
 ツールが付いている 20
  21. 21. Introjucerの欠点 ✤ コードエディターが日本語にうまく対応してない 21
  22. 22. プロジェクトのテンプレート ✤ 開発したいアプリケーション向けのテンプレート が用意されている ✤ コンソールアプリケーション ✤ GUIアプリケーション ✤ オーディオアプリケーション ✤ オーディオプラグイン
 などなど ✤ 初期化や基本的なコードがすでに生成されている ので、書きたい部分のコードから開発できる 22
  23. 23. JuceDemo ✤ JUCEのexampleに入っているデモプロジェクト ✤ さまざまなJUCEの機能が体験できる 23
  24. 24. ありがとうございました 24
  • ssuser1317fd

    Oct. 8, 2019
  • kurokoji

    Nov. 18, 2017
  • iwadon

    Sep. 6, 2016
  • junt74

    Aug. 4, 2016
  • manabushimada

    Dec. 7, 2015
  • CO_CO_

    Nov. 28, 2015
  • MasakazuYoshida1

    Oct. 25, 2015
  • furuya02

    Sep. 21, 2015
  • funchs

    Sep. 21, 2015
  • tadsan

    Sep. 21, 2015
  • TakashiHanada

    Sep. 20, 2015

SampleApp for #TokyoEDGE2015

Views

Total views

9,713

On Slideshare

0

From embeds

0

Number of embeds

1,434

Actions

Downloads

20

Shares

0

Comments

0

Likes

11

×