【iPhoneアプリ】【Swift】SolPlayer開発記(2)AVAudioKitで音声ファイルを再生する
すべてをソルフェジオ音源に変えるiPhoneアプリ、
「SolPlayer」(ソルプレイヤー)をリリースしました。
前回の記事はこちら↓
前回のおさらいは以下です。
・ソルフェジオ化とは、すなわち440Hz→444Hz(432Hz)へのピッチ変換
・実現するには、iPhone上でピッチ変換する必要がある
・iPhoneアプリ開発においては、「AVAudioEngine」というすごいエンジンが用意されている。
・上記エンジンを使えば、iPhone上でピッチ変換することが可能
まずはAVAudioEngineで音楽を再生する
さて。それではAVAudioEngineを使って
実際にソルフェジオを実装する方法を紹介します。
AVAuidoEngineを使えば、iPhone上でピッチ変換し、
ソルフェジオ化することが可能です。
…が、そもそも音源を再生できなければ話になりません。
再生機能がないと、せっかくソルフェジオ音源に変換しても聴けませんからねorz。
というわけで、まずはAudioEngineで
音源を再生する方法を紹介します。
AVAudioKit - 基本は3点セット
AVAudioEngineを使って再生するためには、
基本的には「AVKit」というライブラリを使います。
このライブラリの中で、
・AVAudioEngine
・AVAudioSession
・AVAudioPlayerNode
という3つのクラスを主に使って、
音楽を再生していきます。
詳しくはこちら。
※また、これからは「AVAudioEngine」を使って再生、という表現ではなく、
「AVAudioKit」を使って再生」という表現に変えていきます。
AVKitを使った再生方法について
さて、それではこのAVAudioEngineもとい
AVKitを使った音楽再生をしてみましょう。
(「他人の記事の紹介ばっかじゃねーか!」という感じですが。。
基本、他人のフンドシで相撲を取るのがスタイルです笑)
まずは上記サイトのソースコードをそのまま書いてみてください。
AVKitで再生することができるはずです。
とりあえず[1]〜[8](実際に使うのは[1]〜[6])までやってみてください。
なお、[9]以降の「実装(バッファから再生する)」については
今回の開発記では解説しません。
なぜ、AVPlayerViewControllerを使わないのか?
なお、Swiftには「AVPlayerViewController」というクラスが用意されていて、
一瞬でオーディオプレイヤー機能を実装することができます。
ただ、このやり方だと今回の「AVAudioEngine」を使った
リアルタイムでのピッチ変換ができないっぽいんです。
(ただ自分が紐つけ方がわからなかっただけで、
実際はできるかもしれませんが汗)
なので、今回は「AVPlayerViewController」は使わず、
機能も画面も、独自で一から実装していく方法を取ります。
次回は本当に解説します笑
さて、再生もできたことですし(何も解説してないけどね^^;)
次回は「ソルフェジオモード」の実装方法を解説します。
(次回はちゃんと解説します笑)
お楽しみに。