狠狠撸
Submit Search
Audio Unit Extensions ?オーディオエフェクトのアプリ間共有?
?
17 likes
?
27,784 views
Shuichi Tsutsumi
Follow
iOS 9 の新機能「Audio Unit Extensions」について、そのメリットや実装方法を紹介しています。
Read less
Read more
1 of 48
Download now
Download to read offline
More Related Content
Audio Unit Extensions ?オーディオエフェクトのアプリ間共有?
1.
Audio Unit Extensions オーディオエフェクトのアプリ間共有 堤
修一 @shu223 2015.6.21 WWDC2015報告共有会@ネクスト
2.
? iOS専業フリーランス ? ブログ『Over&Out
その後』 ? 著書 - 『iOS×BLE?Core Bluetoothプログラミング』 - 『iOSアプリ開発 達人のレシピ100』 堤 修一
3.
お手伝いしたプロダクト(BLE関連) Music for the
Deaf
4.
iOS 9 /
watchOS 2 関連の これまでのアウトプット おさらい
5.
API Di?s から見る
iOS 9 の新機能 ? 基調講演やニュース記事を見 るだけではわからない、iOS 9 の細かい新機能を「API Di?s」 「What’s new」から抜粋 ? http://d.hatena.ne.jp/ shu223/20150609/1433813938
6.
watchOS-2-Sampler ? watchOS 2
の新機能のサンプルコード集 - Accelerometer - Gyroscope - Pedometer - Heart Rate - Table Animations - Animated Properties - Audio Rec & Play - Picker Styles - Taptic Engine - Alert - Animation with Digital Crown - Interactive Messaging - Open System URL - Audio File Player ? GitHub で公開中 - github.com/shu223/watchOS-2-Sampler ? 紹介記事 - d.hatena.ne.jp/shu223/20150614/1434313771
7.
watchOS 2 新機能の細かい話5つ ?
watchOS-2-Sampler 実装にあたって気付いた細かい 諸々について - 2つのアセットカタログの 使い分け - メディアデータの 保存場所 - WKAudioFilePlayer - ウォッチ側 Bluetooth の (直接)利用 - Watch Connectivity のメッセージ送信可否の条件 ? 『potatotips #18』での発表 ? slideshare.net/t26v0748/uiux-watchos-2-3 ? d.hatena.ne.jp/shu223/20150616/1434454680
8.
UI/UX に影響の大きい watchOS
2 の新機能 ? watchOS 2 の数ある新機能の中で、 UI/UX に影響の大きそうな機能を3 つ抜粋して紹介 ? 『UI Crunch #5』というデザイナー さん、ディレクターさんも来る勉強 会での発表 - (なのでコードは出てきません) ? http://www.slideshare.net/t26v0748/ uiux-watchos-2-3
9.
Core Image の新機能 ?
iOS 9 の Core Image の新機能について 紹介&デモ - 文字認識 - 新フィルタ47種 ? @『WWDC Afterparty Roppongi』 ? slideshare.net/t26v0748/ios-9-core-image ? d.hatena.ne.jp/shu223/20150622/ 1434924215
10.
今日の発表内容: Audio Unit Extensions ※Appleの公開ドキュメントの範囲で発表します
11.
Audio Unit とは?
12.
Audio Unit とは? ?
Core Audio においてもっとも低 レベル(ハードより)に位置す るフレームワーク
13.
Audio Unit とは? ?
Core Audio においてもっとも低 レベル(ハードより)に位置す るフレームワーク ? 低遅延での音声処理が可能
14.
Audio Unit とは? ?
Core Audio においてもっとも低 レベル(ハードより)に位置す るフレームワーク ? 低遅延での音声処理が可能 ? ユニット同士を繋げて複雑なオー ディオ処理を実現可能 (図:iOS 5 プログラミングブック より)
15.
Audio Unit とは? ?
Core Audio においてもっとも低 レベル(ハードより)に位置す るフレームワーク ? 低遅延での音声処理が可能 ? ユニット同士を繋げて複雑なオー ディオ処理を実現可能 ? iOS 8 より AVFoundation に AVAudioEngine が追加され、 Audio Unit の利用ハードルが グッと下がった (図:iOS 5 プログラミングブック より)
16.
Audio Unit Extensions
とは?
17.
Audio Unit Extensions
とは? ? iOS 9 で追加された Extension Point のひとつ
18.
Audio Unit Extensions
とは? ? iOS 9 で追加された Extension Point のひとつ ? Audio Unit をアプリ間で共有できる
19.
Audio Unit Extensions
とは? ? iOS 9 で追加された Extension Point のひとつ ? Audio Unit をアプリ間で共有できる - 自作ユニットを他社のアプリでも使用できるようにする
20.
Audio Unit Extensions
とは? ? iOS 9 で追加された Extension Point のひとつ ? Audio Unit をアプリ間で共有できる - 自作ユニットを他社のアプリでも使用できるようにする - 他社が制作したユニットを自分のアプリでも利用する
21.
Audio Unit Extensions
とは? ? iOS 9 で追加された Extension Point のひとつ ? Audio Unit をアプリ間で共有できる - 自作ユニットを他社のアプリでも使用できるようにする - 他社が制作したユニットを自分のアプリでも利用する ? すなわち???
22.
こういうことができるようになる!
23.
Audio Unit のタイプはエフェクトだけではない
24.
GarageBand が提供予定の AU
Extension AU Instruments
25.
まずは体験してみる: Audio Unit Extensions 利用側の実装方法
26.
準備 ? WWDC サンプルコード“AudioUnitV3Example”に入っ ている“FilterDemo”をインストールしておく ?
このサンプルが Extension を contain している
27.
利用可能なユニットのリストを取得 ? AVAudioUnitComponentManager の
componentsMatchingDescription: メソッドを利用 ? AVAudioUnitComponent (Audio Unit のタイプや制作者等の情報を提供 するクラス)のリストが得られる
28.
FilterDemo が contain
していた Extension も入っている ※NDAに配慮しスクリーンショットは会場のみとします
29.
エフェクトを適用する 1. 選択された AVAudioUnitComponent
の AudioComponentDescription (構造体)を取得 2. AVAudioUnit を instantiateWithComponentDescription:options: で生成 3. AVAudioEngine に attachNode 4. エフェクトノードと、プレイヤー?ミキサー 等のノードを connect ※ このあたりの AVAudioEngine の基本的なサンプ ルは、iOS8-Sampler にも入っています?→
30.
Extension が提供するビューを表示する
31.
Extension が提供するビューを表示する ? AUViewController
32.
Extension が提供するビューを表示する ? AUViewController -
要 CoreAudioKit
33.
Extension が提供するビューを表示する ? AUViewController -
要 CoreAudioKit - 定義はこれだけ
34.
Extension が提供するビューを表示する ? AUViewController -
要 CoreAudioKit - 定義はこれだけ → 所望の AUAudioUnit に対して requestViewController ~すると AUViewController オブジェクトを返してくれる(持っていなければ nil)
35.
例)FilterDemo の Extension
が提供するビュー ? 波形をドラッグしてカットオ フ周波数とレゾナンスを変化 させられる ? Auto Layout やタッチハンドラ でビューサイズ変更が考慮さ れているので、画面の下半分 に表示、といったことも可能 ? バグ:再生中に波形をいじっ ても反映されない(どこかに ちゃんと明記してあった) ※NDAに配慮しスクリーンショットは会場のみとします
36.
Audio Unit Extensions 作成方法
37.
? Xcode: [File]
> [New] > [Target] ※NDAに配慮しスクリーンショットは会場のみとします
38.
? Xcode: [File]
> [New] > [Target] Audio Unit Extension がない!!!! ※NDAに配慮しスクリーンショットは会場のみとします
41.
→ Xcode テンプレートはまだないのでサンプルからコピペしてね
42.
まとめ
43.
まとめ ? Audio Unit
を用いると、ユニット同士を繋げて複雑なオー ディオ処理を低遅延で実行することができる
44.
まとめ ? Audio Unit
を用いると、ユニット同士を繋げて複雑なオー ディオ処理を低遅延で実行することができる ? Audio Unit Extensions は、Audio Unit をアプリ間で共有できる iOS 9 の新機能
45.
まとめ ? Audio Unit
を用いると、ユニット同士を繋げて複雑なオー ディオ処理を低遅延で実行することができる ? Audio Unit Extensions は、Audio Unit をアプリ間で共有できる iOS 9 の新機能 - AVAudioUnitComponentManager???利用可能なユニットのリストの取 得。ここに AU Extension も入ってくる
46.
まとめ ? Audio Unit
を用いると、ユニット同士を繋げて複雑なオー ディオ処理を低遅延で実行することができる ? Audio Unit Extensions は、Audio Unit をアプリ間で共有できる iOS 9 の新機能 - AVAudioUnitComponentManager???利用可能なユニットのリストの取 得。ここに AU Extension も入ってくる - AUViewController???Audio Unit Extension が提供するカスタムビュー。 AUAudioUnit の requestViewController~ メソッドを呼ぶとそのオブジェクト を取得できる(提供してなければ nil)
47.
まとめ ? Audio Unit
を用いると、ユニット同士を繋げて複雑なオー ディオ処理を低遅延で実行することができる ? Audio Unit Extensions は、Audio Unit をアプリ間で共有できる iOS 9 の新機能 - AVAudioUnitComponentManager???利用可能なユニットのリストの取 得。ここに AU Extension も入ってくる - AUViewController???Audio Unit Extension が提供するカスタムビュー。 AUAudioUnit の requestViewController~ メソッドを呼ぶとそのオブジェクト を取得できる(提供してなければ nil) - AU Extensions の作成方法???まだテンプレートがない。デモからコピー してくる
48.
watchOS-2-Sampler GitHub: shu223/watchOS-2-Sampler Blog: watchOS
2 の新機能のサンプルコード集『watchOS-2-Sampler』 watchOS 2 新機能のサンプルコード集 - Accelerometer - Gyroscope - Pedometer - Heart Rate - Table Animations - Animated Properties - Audio Rec & Play - Picker Styles - Taptic Engine - Alert - Animation with Digital Crown - Interactive Messaging - Open System URL - Audio File Player
Download