4

オーディオを録音し、それを変更 (ピッチ?) し、iPhone でユーザーに再生する方法を誰かが説明できるかどうか疑問に思っています。

私は誰かにこれをやってもらうように頼んでいるわけではありません。AVAudioSessionドキュメントを見ると、 、AVAudioRecorderおよびAVAudioPlayer( AVFoundation.Framework) を録音再生パートに使用する必要があるようです。または、を使用する必要がありCoreAudio.Frameworkますか?次に、オーディオの変更に関する質問があります。

4

3 に答える 3

2

AVAudioUnitTimePitchでうまくいくはずです。

udacity.com Intro to iOS App Development with Swiftのサンプル コード:

func playAudioWithVariablePitch(pitch: Float) {
    audioEngine.stop()
    audioEngine.reset()

    let audioPlayerNode = AVAudioPlayerNode()
    audioEngine.attachNode(audioPlayerNode)

    let changePitchEffect = AVAudioUnitTimePitch()
    changePitchEffect.pitch = pitch
    audioEngine.attachNode(changePitchEffect)

    audioEngine.connect(audioPlayerNode, to:changePitchEffect, format:nil)
    audioEngine.connect(changePitchEffect, to:audioEngine.outputNode, format:nil)

    audioPlayerNode.scheduleFile(audioFile, atTime:nil, completionHandler: nil)
    try! audioEngine.start()

    audioPlayerNode.play()
}
于 2015-10-04T18:31:21.523 に答える
0

OpenAL は、探しているものをサポートするライブラリです。そして、iPhoneで非常に人気があるので、これを見てみるのもいいかもしれません. つまり、サンプルのピッチはコマンド 1 つだけで簡単に変更できます。

alSourcef(source, AL_PITCH, pitch);

しかし、AVFoundation または CoreAudio クラスでもピッチ変更が可能かどうかはわかりませんが、それらを使用したことはありません。

于 2010-12-09T00:24:30.487 に答える
0

これは役立つかもしれません。DIRAC-mobileは、ポリフォニック オーディオ信号のリアルタイム テンポおよびピッチ操作用のライブラリです。また、ライブラリをダウンロードした後に参照できるサンプル コードも用意されています。

于 2010-12-09T00:56:14.050 に答える