SpeechAnalyzer
다른 이름: SpeechTranscriber, Speech 프레임워크
게시
정의
SpeechAnalyzer는 macOS 26 및 iOS 26과 함께 도입된 Apple Speech 프레임워크의 클래스로, 앱이 음성 오디오를 텍스트로 바꾸는 데 사용합니다. SpeechTranscriber 같은 모듈로 분석 세션을 실행하며, Apple에서 다운로드되고 시스템이 관리하는 음성 모델을 사용합니다.
시스템 설정에서는 SpeechAnalyzer를 찾을 수 없습니다. 이것은 개발자 API로, 앱이 자체 모델을 포함하지 않고 음성을 텍스트로 변환하고 싶을 때 호출하는 기반 구조입니다. Apple에 따르면 같은 기술이 이미 메모, 음성 메모, 일기의 기능을 구동하고 있습니다.
Mac 사용자에게 중요한 이유는 두 가지입니다. 이를 기반으로 만든 앱은 기기에서 전사하며, 앱마다 자체 모델을 디스크에 추가하는 대신 시스템이 관리하는 하나의 모델 세트를 공유합니다.
SpeechAnalyzer는 어떤 일을 하나요?
Apple 문서는 SpeechAnalyzer를 음성 오디오를 분석하고 분석 세션을 관리하는 객체로 설명합니다. 분석기 자체는 전사하지 않습니다. 분석기는 모듈을 보유하며, 각 모듈은 한 종류의 분석을 수행합니다. Apple에 따르면 많은 사용 사례에는 음성을 텍스트로 변환하는 SpeechTranscriber 모듈만 있으면 됩니다.
이 API는 Swift 동시성을 위해 작성되었습니다. 앱은 오디오를 비동기 시퀀스로 입력하고 다른 비동기 시퀀스에서 결과를 읽으므로, 입력, 출력, 세션 제어가 서로 분리됩니다. 분석기는 한 번에 하나의 입력 시퀀스만 분석할 수 있습니다.
- SpeechAnalyzer: 모듈을 보유하고, 오디오 입력을 받고, 전체 분석을 제어합니다.
- SpeechTranscriber: Apple이 일반 대화와 범용에 적합하다고 설명하는 전사 모듈입니다.
- DictationTranscriber: 시스템 받아쓰기 기능과 비슷하고 이전 기기와 호환되는 전사 모듈입니다.
- SpeechDetector: 말소리가 있을 때만 전사하도록 해 전력을 절약할 수 있는 음성 활동 감지 모듈입니다.
- AssetInventory: 모듈에 필요한 모델 에셋을 설치하고 추적합니다.
SpeechAnalyzer vs SFSpeechRecognizer
SFSpeechRecognizer는 iOS 10과 macOS 10.15부터 사용할 수 있는 이전 음성 API입니다. WWDC25 세션에서 Apple은 이 클래스가 Siri를 구동하는 음성-텍스트 변환 모델에 접근할 수 있게 해 주었고, 짧은 받아쓰기에 잘 작동했으며, 리소스가 제한된 기기에서는 Apple 서버를 사용할 수 있었다고 말했습니다. 이 클래스에 대한 Apple 문서는 여전히 음성 인식을 사용량 제한이 있는 네트워크 기반 서비스로 설명합니다.
Apple에 따르면 SpeechTranscriber의 새 모델은 SFSpeechRecognizer로 사용할 수 있던 모델보다 더 빠르고 유연하며, 강의, 회의, 대화처럼 길거나 멀리서 들리는 오디오에 적합합니다. Apple의 참조 페이지는 SFSpeechRecognizer를 지원 중단으로 표시하지 않으므로, 기존 앱은 계속 작동합니다.
- 실행 위치: Apple에 따르면 새 API의 전사는 전적으로 기기에서 이루어집니다. SFSpeechRecognizer는 일부 언어에서 인터넷 연결이 필요할 수 있습니다.
- 오디오 길이: Apple은 개발자에게 SFSpeechRecognizer의 오디오 길이 제한이 1분이라는 점을 고려하라고 안내합니다. 새 모델은 긴 오디오를 위해 만들어졌습니다.
- 오디오를 로컬에 두기: SFSpeechRecognizer에서는 개발자가 requiresOnDeviceRecognition을 설정해야 하며, Apple은 기기 내 요청의 정확도가 그만큼 높지 않다고 안내합니다.
- 언어: Apple에 따르면 이전 클래스는 사용자가 언어를 추가해야 했습니다. 새 API에서는 앱이 언어 모델을 직접 요청할 수 있습니다.
- 결과: 새 API는 빠른 임시 결과를 먼저 제공하고, 나중에 이를 확정된 결과로 대체할 수 있습니다.
SpeechTranscriber vs DictationTranscriber
SpeechTranscriber는 Apple의 새 음성-텍스트 변환 모델을 사용합니다. Apple에 따르면 watchOS를 제외한 모든 플랫폼에서 일정한 하드웨어 요구 사항을 충족하면 사용할 수 있으며, 일부 언어를 지원하고 앞으로 더 늘어날 예정입니다. 앱은 사용하기 전에 현재 기기가 이를 지원하는지 확인해야 합니다.
DictationTranscriber는 지원되지 않는 언어나 기기를 위한 대안입니다. Apple 문서에 따르면 시스템 받아쓰기 기능과 같은 음성-텍스트 변환 모델을 사용하며, 기기 내 작동으로 구성한 SFSpeechRecognizer와도 같은 모델입니다. SFSpeechRecognizer가 네트워크 접근을 통해서만 지원하는 언어는 지원하지 않습니다. Apple은 이전 클래스와 달리 사용자가 설정에 들어가 해당 언어의 Siri나 키보드 받아쓰기를 켤 필요가 없다고 덧붙입니다.
SpeechAnalyzer로 오디오를 전사하는 방법
Apple의 참조 페이지는 오디오 파일과 스트림을 분석하는 일반적인 순서를 제시합니다. 아래 단계는 macOS 26 이상에서 Swift로 Mac 앱을 만드는 개발자를 위해 그 순서를 따릅니다.
- 필요한 모듈을 만들고 구성하세요. 예를 들어 특정 로케일용 SpeechTranscriber를 만듭니다.
- AssetInventory를 사용해 관련 에셋이 설치되어 있거나 이미 있는지 확인하세요.
- 파일이나 마이크 같은 캡처 기기에서 음성 오디오를 전달할 입력 시퀀스를 만드세요.
- 모듈과 입력 시퀀스로 분석기를 만드세요.
- 오디오를 제공하고 분석을 시작하세요.
- 결과가 도착하는 대로 모듈에서 읽고 처리하세요.
- 작업이 끝나면 분석을 종료해 결과 스트림이 끝나게 하세요.
AssetInventory로 음성 모델을 설치하는 방법
모델은 앱에 포함되어 있지 않습니다. Apple은 에셋을 Apple 서버에서 다운로드되고 시스템이 관리하는 머신 러닝 모델로 설명합니다. WWDC25 세션에서 Apple은 모델이 시스템 저장 공간에 보관되어 앱의 다운로드 크기나 저장 공간 크기를 늘리지 않으며, 앱의 메모리 공간 밖에서 실행된다고 말합니다.
에셋이 다운로드되면 시스템이 자동으로 보관하고 업데이트하며 다른 앱과 공유합니다. 각 앱이 예약할 수 있는 로케일 수는 제한되어 있습니다.
- 사용할 구성으로 분석기 모듈을 만드세요.
- 앱의 에셋 예약을 해당 로케일에 할당하세요. 필요하면 AssetInventory가 자동으로 처리하며, 로케일을 직접 예약할 수도 있습니다.
- 해당 모듈의 에셋 설치를 요청하고 다운로드 및 설치 메서드를 호출하세요.
- 다운로드가 끝날 때까지 기다리세요. 에셋이 미리 설치되어 있거나 다른 앱이 이미 다운로드했다면 즉시 끝날 수도 있습니다.
- 앱에서 더 이상 로케일이 필요하지 않으면 예약을 해제해 시스템이 나중에 에셋을 제거할 수 있게 하세요.
SpeechAnalyzer는 개인정보를 보호하나요? 어떤 플랫폼에서 지원되나요?
Apple의 WWDC25 세션에 따르면 전사는 전적으로 기기에서 이루어지지만 모델은 받아와야 합니다. 다운로드는 Apple 서버에서 이루어지며, 그 후 앱이 SpeechTranscriber로 전사하는 오디오는 기기에서 처리됩니다. 앱이 결과 텍스트로 무엇을 하는지는 그 앱에 달려 있으므로, 앱 자체의 개인정보 처리방침이 여전히 적용됩니다.
Apple 문서에는 SpeechAnalyzer와 SpeechTranscriber가 iOS 26, iPadOS 26, Mac Catalyst 26, macOS 26, tvOS 26, visionOS 26용으로 나와 있습니다. DictationTranscriber는 tvOS를 제외한 같은 플랫폼용으로 나와 있습니다. Mac에서는 음성 인식 접근 권한을 요청한 앱이 시스템 설정 → 개인정보 보호 및 보안 → 음성 인식에 표시됩니다.
SpeechAnalyzer는 Mac 앱이 로컬에서 전사하는 한 가지 방법입니다. Whisper와 Parakeet 같은 공개 모델은 또 다른 방법이며, 시스템이 관리하는 대신 앱이 포함하거나 다운로드합니다.
자주 묻는 질문.
SpeechAnalyzer란 무엇인가요?
SpeechAnalyzer는 음성 오디오를 분석하고 분석 세션을 관리하는 Apple Speech 프레임워크의 클래스입니다. SpeechTranscriber 모듈과 함께 macOS 26, iOS 26 이상의 앱에서 음성을 텍스트로 변환합니다.
SpeechAnalyzer는 오프라인에서 작동하나요?
Apple에 따르면 전사는 전적으로 기기에서 이루어지지만, 먼저 모델을 받아와야 합니다. 에셋이 설치되면 시스템이 이를 보관하고 다른 앱과 공유합니다.
SpeechAnalyzer에는 어떤 macOS 버전이 필요한가요?
Apple 문서에 따르면 SpeechAnalyzer는 macOS 26.0부터 사용할 수 있습니다. iOS 26, iPadOS 26, Mac Catalyst 26, tvOS 26, visionOS 26에서도 사용할 수 있습니다.
SFSpeechRecognizer는 지원 중단되었나요?
SFSpeechRecognizer에 대한 Apple의 참조 페이지는 이를 지원 중단으로 표시하지 않습니다. Apple은 더 많은 사용 사례를 지원하는 새 API로 SpeechAnalyzer를 도입했으며, 그 모델이 더 빠르고 유연하다고 말합니다.
SpeechTranscriber와 DictationTranscriber의 차이는 무엇인가요?
SpeechTranscriber는 지원되는 기기에서 일반 전사와 긴 오디오 전사에 Apple의 새 모델을 사용합니다. DictationTranscriber는 시스템 받아쓰기 기능과 같은 모델을 사용하며, 이전 기기와 다른 언어를 위한 대안입니다.
SpeechAnalyzer 모델이 앱의 용량을 차지하나요?
아니요. Apple에 따르면 모델은 시스템 저장 공간에 보관되어 앱의 다운로드 크기나 저장 공간 크기를 늘리지 않으며, 앱의 메모리 공간 밖에서 실행됩니다.