ios-voice-processor 1.1.0

ios-voice-processor 1.1.0

Kwangsoo YeoIan LaveryDavid BartleMohammadreza Rostam维护。



  • Picovoice

iOS语音处理程序

GitHub release GitHub

Cocoapods

由加拿大温哥华的Picovoice制作

Twitter URL

YouTube Channel Views

iOS语音处理程序是一个异步音频捕获库,旨在进行实时音频处理。根据某些规范,库通过监听器将原始音频数据帧提供给用户。

目录

要求

兼容性

  • iOS 11.0+

安装

iOS语音处理器可通过CocoaPods获取。要将它导入到您的iOS项目中,请将以下行添加到您的Podfile中

pod 'ios-voice-processor'

权限

要使用您的iOS设备的麦克风进行录音,您必须在应用的Info.plist文件中添加以下内容

<key>NSMicrophoneUsageDescription</key>
<string>[Permission explanation]</string>

请参阅我们的示例应用此指南了解如何从用户那里正确请求此权限。

用法

访问VoiceProcessor的实例

import ios_voice_processor

let voiceProcessor = VoiceProcessor.instance

添加音频帧和错误的监听器

let frameListener = VoiceProcessorFrameListener { frame in
    // use audio
}

let errorListener = VoiceProcessorErrorListener { error in
    // handle error
}

voiceProcessor.addFrameListener(frameListener);
voiceProcessor.addErrorListener(errorListener);

以期望的帧长度和音频采样率开始音频捕获

do {
    try voiceProcessor.start(frameLength: 512, sampleRate: 16000);
} catch {
    // handle start error
}

停止音频捕获

do {
    try voiceProcessor.stop();
} catch {
}

音频捕获成功开始后,任何分配给VoiceProcessor的帧监听器都将开始接收给定frameLengthsampleRate的音频帧。

使用多个监听器进行捕获

可以给VoiceProcessor实例添加和移除任意数量的监听器。然而,该实例只能使用单个音频配置(frameLengthsampleRate)来录制音频,所有监听器在调用start()方法后都将接收到该音频配置。要添加多个监听器

let listener1 = VoiceProcessorFrameListener({_ in })
let listener2 = VoiceProcessorFrameListener({_ in })
let listeners: [VoiceProcessorFrameListener] = [listener1, listener2];

voiceProcessor.addFrameListeners(listeners);

voiceProcessor.removeFrameListeners(listeners);
// or
voiceProcessor.clearFrameListeners();

示例

iOS Voice Processor 应用程序演示了如何请求用户权限并捕获来自VoiceProcessor的输出。

版本发布

v1.1.0 - 2023年7月31日

  • 许多 API 改进
  • 错误处理改进
  • 允许使用多个监听器而不是单个回调函数
  • 升级测试基础设施和示例应用程序

v1.0.0 - 2021年8月5日

  • 首次公开发行。