아키텍처
네이티브 지시 TTS
네이티브 SDK 지원은 main 소스에서 빌드하세요. Homebrew 등 미리 빌드된 CLI 릴리스에는 이 엔진들이 아직 포함되지 않았을 수 있습니다.
공개된 MLX 번들: aufklarer/FireRedTTS3-Instruct-MLX-fp32 · aufklarer/MOSS-VoiceGenerator-MLX-bf16
FireRedTTS3-Instruct — FireRedTTS3TTS: FireRedTTS3-Instruct는 모델과 디코더의 Float32 가중치를 유지합니다. 완성된 오디오를 한 번에 반환하므로 --stream을 생략하세요. --language는 영어와 중국어 별칭을 허용합니다. 생성 한도에 도달하면 잘린 오디오를 성공으로 반환하지 않고 오류를 냅니다.
MOSS-VoiceGenerator — MossVoiceGeneratorTTS: MOSS-VoiceGenerator는 BF16 언어 가중치와 FP32 합성 코덱을 유지합니다. 점진적 PCM에는 --stream을 사용하세요. --language를 생략하고 언어 요구사항을 --instruct에 넣으세요. 종료 전에 열여섯 코드북을 모두 비웁니다.
텍스트와 지시 필드는 각각 UTF-8 32,768바이트로 제한됩니다. 템플릿을 포함해 렌더링한 전체 입력 프롬프트는 4,096토큰 이하여야 합니다. 어느 한도든 넘으면 입력을 거부합니다.
지시 준수 품질은 아직 채점하지 않았습니다. 짧은 대본 측정은 시험한 구성만 설명하며 기존 모델의 지연 회귀 검증은 결론을 내리지 못했습니다.
Breeze TTS 2 · BreezeTTS
영어·중국어 음성 합성, 음성 디자인, 참조 음성 복제 및 연출, 스트리밍 오디오 지원 (MLX BF16/8-bit, 24 kHz; 연구·비상업용 라이선스).
speech speak "The quick brown fox jumps over the lazy dog." --engine breeze \
--instruct "A clear, calm English narrator." --stream -o design.wav--breeze-model-id:aufklarer/Breeze-TTS-2-MLX-8bit--breeze-bundle-dir--breeze-cache-limit-mib--breeze-reference-text--breeze-temperature:0.9--breeze-top-k:50--breeze-top-p:1--breeze-cfg-scale:4--breeze-max-frames:750--breeze-seed:42--first-chunk-frames:3--chunk-frames:25
Apple 네이티브 런타임 · PocketTTS
PocketTTS는 speech-swift에 네이티브 CoreML 음성 합성을 추가합니다. 모든 단계는 기본적으로 CPU만 사용합니다. 영어 Alba 프리셋은 24 kHz에서 프레임당 1,920개 샘플(80밀리초)을 스트리밍합니다.
speech-swift는 공유 프로토콜, 독립적인 모델 모듈, 통합 CLI를 갖춘 모듈식 Swift 패키지로 구성되어 있습니다. 모든 추론은 MLX (Metal GPU) 또는 CoreML (Neural Engine)을 사용해 온디바이스에서 실행됩니다.
모듈 종속성 그래프
┌──────────┐
│ AudioCLI │ (entry point)
└────┬─────┘
│
┌──────┴──────┐
│ AudioCLILib │ (commands)
└──────┬──────┘
│
┌─────────┬───────┼───────┬──────────┬──────────────┐
│ │ │ │ │ │
┌────┴───┐ ┌──┴──┐ ┌──┴──┐ ┌─┴────┐ ┌───┴────┐ ┌──────┴───────┐
│Qwen3ASR│ │Qwen3│ │Cosy │ │Perso-│ │Speech- │ │ Speech- │
│Parakeet│ │ TTS │ │Voice│ │naPlex│ │ VAD │ │Enhancement │
└────┬───┘ └──┬──┘ └──┬──┘ └──┬───┘ └───┬───┘ └──────┬───────┘
│ │ │ │ │ │
└────────┴───────┼───────┴─────────┘ │
│ │
┌──────┴──────┐ │
│ Qwen3Common │ (shared layers) │
└──────┬──────┘ │
│ │
┌──────┴──────┐ │
│ AudioCommon │ ◄──────────────────────┘
└─────────────┘ (protocols, audio I/O)MLX 버퍼 캐시 예산
MLX 모델 런타임은 가중치 로딩부터 모델 수명이 끝날 때까지 재사용 버퍼의 기본 한도 min(2 GiB, physical RAM / 4)를 공유합니다. MLX.Memory.cacheLimit = 0을 포함한 더 낮은 호출자 예산과 기존 모델별 예산을 유지합니다. 이 한도는 유휴 버퍼에 적용되며, 사용 중인 가중치, KV 캐시와 전체 프로세스 메모리는 한도를 초과할 수 있습니다. MLX는 할당 시 캐시를 정리하므로 마지막으로 해제된 버퍼 때문에 다음 할당 전까지 캐시가 일시적으로 예산을 초과할 수 있습니다.
unload()는 모델의 등록을 해제하며, 이 메서드가 없는 런타임은 소멸 시 해제합니다. 마지막 소유자가 해제되면 호출자 예산을 복원하고, 그 전에는 남은 모델의 한도를 유지합니다. CoreML 전용 경로는 MLX 예산을 등록하지 않습니다.
MOSS Transcribe Diarize
MossTranscribe는 네이티브 CoreML 및 MLX 백엔드로 화자 정보가 있는 타임스탬프 구간을 반환합니다. CoreML은 짧은 녹음용 고정 1,024-token 상태를 사용하고, MLX는 동적 131,072-token 컨텍스트, affine INT5/INT8 디코더 가중치 및 선택적 FP16/INT8 KV 캐시를 사용합니다. 둘 다 스트리밍이 아닌 오프라인 자기회귀 런타임입니다.
VoiceChat 11B
작업 및 참고: 전이중 speech-to-speech. SALM-Duplex: Efficient and Direct Duplex Modeling for Speech-to-Speech Language Model (Interspeech 2025)을 NVIDIA 업스트림 VoiceChat 모델 카드가 인용합니다.
전체 런타임, M5 Pro 48 GB, Release, 80 ms 라이브 주기: 보호된 헤드 INT5의 피크 RSS는 약 8.69 GB이며, 제어된 3회의 전체 파이프라인 RTF는 0.96, 0.96, 0.99였습니다. 최적화된 INT8 성능은 아직 재측정하지 않았습니다.
VoiceChat는 인과 FastConformer 인식, Nemotron-H 전이중 텍스트/함수 채널, 8회 MaskGIT 반복을 사용하는 독립 텍스트 조건부 EAR-TTS 디코더, 22.05 kHz 신경 코덱으로 구성된 완전한 네이티브 MLX 오디오-오디오 경로를 구현합니다. 스트리밍은 계층별 유한 어텐션과 인과 합성곱 캐시를 유지하고, 정상 상태의 8프레임 라이브 코덱 윈도우는 컴파일된 그래프를 사용합니다. 각 80 ms 입력 프레임은 언어 결정, 31개 RVQ 코드, 정확히 1,764개 출력 샘플을 생성합니다. 로더는 완전한 encoder/ + llm/ + tts/ bundle을 요구하며 이전 이해 전용 내보내기를 거부합니다. INT5는 테스트한 M5 Pro에서 평균 RTF 1 미만을 유지하지만 프레임별 p95 여유는 아직 좁습니다.
추론 백엔드
| 백엔드 | 하드웨어 | 모델 |
|---|---|---|
| MLX | Metal GPU | Qwen3-ASR, Qwen3-TTS, Breeze TTS 2, CosyVoice3, IndexTTS2, Qwen3.5-Chat, PersonaPlex, VoiceChat 11B, Omnilingual ASR (300M / 1B / 3B / 7B), Cohere Transcribe 2B, Voxtral Mini 3B, Pyannote, Silero VAD, WeSpeaker, MOSS Transcribe Diarize, SpeechBrain ECAPA LID, Nemotron 3 Diarization, FireRedTTS3-Instruct, MOSS-VoiceGenerator |
| CoreML | CPU / GPU / Neural Engine (ANE) | Qwen3-ASR 인코더 (하이브리드), Parakeet TDT, Parakeet EOU 스트리밍, Omnilingual ASR 300M, Kokoro-82M, Qwen3.5-Chat (옵션), Sortformer 화자 분리, DeepFilterNet3, Silero VAD (옵션), WeSpeaker (옵션), MOSS Transcribe Diarize, SpeechBrain ECAPA LID, Nemotron 3 Diarization |
| Accelerate | CPU (SIMD) | 오디오 전처리 (STFT, 멜, FFT), 신호 처리 |
모델 웨이트 포맷
MLX 모델은 4비트 또는 8비트 양자화 (그룹 크기 64)를 적용한 safetensors 포맷을 사용합니다. CoreML 모델은 컴파일된 .mlmodelc 포맷을 사용합니다. scripts/의 변환 스크립트가 PyTorch 체크포인트로부터 변환합니다.
Cohere와 Voxtral은 MLX 어파인 INT5 번들도 제공합니다. MLX는 어파인 INT7을 지원하지 않으며, 더 높은 품질의 지원 옵션은 INT8입니다.
| 모델 | 파라미터 | 양자화 | 디스크 크기 |
|---|---|---|---|
| Qwen3-ASR 0.6B (MLX) | 약 600M | 4비트 / 8비트 | 680 MB / 1.0 GB |
| Qwen3-ASR 0.6B (CoreML) | 약 186M (인코더) | INT8 | 약 180 MB |
| Qwen3-ASR 1.7B (MLX) | 약 1.7B | 4비트 / 8비트 | 2.1 GB / 3.2 GB |
| Parakeet-TDT 0.6B (CoreML) | 약 600M | INT8 | 500 MB |
| Whisper Large-v3 Turbo (CoreML) | 809M | FP16 | 1.6 GB |
| MOSS Transcribe Diarize 0.9B (MLX) | 908.5M | FP16 audio + INT5 / INT8 decoder | 987.0 MiB / 1,200.1 MiB |
| MOSS Transcribe Diarize 0.9B (CoreML) | ~900M | FP16 / INT8 block-32 | 1.7 GB / 1.2 GB |
| Parakeet-EOU 120M (CoreML) | 약 120M | INT8 | 약 120 MB |
| Omnilingual-ASR-CTC 300M (CoreML) | 326M | INT8 | 312 MB |
| Omnilingual-ASR-CTC 300M (MLX) | 326M | 4비트 / 8비트 | 193 MB / 342 MB |
| Omnilingual-ASR-CTC 1B (MLX) | 1.01B | 4비트 / 8비트 | 549 MB / 1006 MB |
| Omnilingual-ASR-CTC 3B (MLX) | 약 3B | 4비트 / 8비트 | 1.71 GB / 3.16 GB |
| Omnilingual-ASR-CTC 7B (MLX) | 약 7B | 4비트 / 8비트 | 3.55 GB / 6.63 GB |
| Cohere Transcribe 2B (MLX) | 2B | FP16 / INT5 / INT8 | 3.85 / 1.62 / 2.25 GiB |
| Voxtral Mini 3B 2507 (MLX) | 3B | FP16 / INT5 / INT8 | 8.71 / 3.77 / 5.18 GiB |
| Qwen3-ForcedAligner 0.6B (MLX) | 약 600M | 4비트 / 8비트 | 979 MB / 1.4 GB |
| Qwen3-ForcedAligner 0.6B (CoreML) | 약 600M | INT4 / INT8 | 630 MB / 1.0 GB |
| Qwen3-TTS 0.6B (MLX) | 약 600M | 4비트 / 8비트 | 1.7 GB / 2.4 GB |
| Qwen3-TTS 1.7B (MLX) | 약 1.7B | 4비트 / 8비트 | 3.2 GB / 4.8 GB |
| CosyVoice3 0.5B (MLX) | 약 500M | 4비트 LLM | 약 1.2 GB |
| IndexTTS2 expanded bundle (MLX) | 1.5B-class | FP16 + auxiliary models | ~4.8 GB |
| Kokoro-82M (CoreML) | 82M | INT8 (1 버킷) | 약 89 MB |
| Qwen3.5-Chat 0.8B (MLX) | 약 800M | INT4 | 418 MB |
| Qwen3.5-Chat 0.8B (CoreML) | 약 800M | INT8 | 981 MB |
| PersonaPlex 7B (MLX) | 약 7B | 4비트 / 8비트 | 4.9 GB / 9.1 GB |
| VoiceChat 11B (MLX) | ~11B | INT5 / INT8 | 8.56 GB / 12.11 GB |
| Pyannote VAD (MLX) | 약 1.49M | float32 | 약 5.7 MB |
| Silero VAD v5 | 약 309K | float32 | 약 1.2 MB (MLX 및 CoreML) |
| p99 turn-1-mini | 5.3M | Float32 | 22 MB (CoreML) |
| VAP (otoSpeech) | 5.8M | Float32 | 39 MB (CoreML) / 40 MB (ONNX) |
| WeSpeaker ResNet34 | 약 6.6M | float32 | 약 25 MB (MLX 및 CoreML) |
| SpeechBrain ECAPA VoxLingua107 | 21.25M | FP16 | ~40.6 MiB (MLX) / ~40.8 MiB (CoreML) |
| ReDimNet2-B6 | 12.3M | float16 | 약 25 MiB (CoreML) |
| Pyannote Community-1 (CoreML) | 8.35M | float32 + native VBx | ~32 MB |
| Nemotron 3 Diarization (CoreML / MLX) | 100M | INT8 | ~100 MB per backend |
| Sortformer (CoreML) | — | float16 | 약 50 MB |
| DeepFilterNet3 (CoreML) | 약 2.1M | FP16 | 약 4.2 MB |
| LocalVQE v1.4-AEC (CoreML + C++) | 200K + 2,742 | FP16 + FP32 | 약 732 KB |
MLX 모델 초기화
QuantizedLinear.preQuantized는 체크포인트에서 불러오는 양자화 선형 계층에 0으로 된 자리표시자를 만들어 무작위 가중치와 임시 양자화 그래프 생성을 피합니다. withThrowawayRandomState는 폐기할 부동소수점 초기화가 호출자의 난수 키 체인에 연결되지 않도록 격리합니다. 복합 모델 로더는 MAGNeT의 T5와 EnCodec, Stable Audio 3의 T5Gemma와 SAME-L, CSM의 Mimi 코덱 등 각 구성 요소에 별도 범위를 적용합니다. CSM의 양자화 임베딩은 여전히 업스트림 초기화 함수를 사용하므로 초기화 그래프 수명에 관한 알려진 제약이 남아 있습니다.
성능 최적화
- MLX compile() — 자기회귀 루프를 위한 커널 융합. Talker는
compile(shapeless: true)를, Code Predictor는 고정 캐시 크기와 함께compile(shapeless: false)를 사용합니다. - Metal 셰이더 라이브러리 — 사전 컴파일된 metallib로 약 5배의 JIT 컴파일 오버헤드를 회피합니다.
scripts/build_mlx_metallib.sh로 빌드합니다. - 청크 단위 코덱 디코딩 — TTS 디코더는 GPU 타임아웃을 피하기 위해 25 프레임 청크와 10 프레임 컨텍스트 오버랩으로 오디오를 처리합니다.
- 배치 2배 CFG — CosyVoice3 DiT는 조건부 + 무조건부를 함께 배치 처리하여 flow matching 패스를 절반으로 줄입니다.
- 융합 RoPE — 수동 회전 대신 Metal 커널 기반
MLXNN.RoPE를 사용합니다. - BN 융합 — WeSpeaker 배치 정규화는 변환 시 Conv2d 가중치에 융합됩니다.
오디오 처리
모든 오디오 I/O는 Float32 PCM을 사용합니다. 내부 리샘플링이 포맷 변환을 처리합니다:
| 모델 | 요구 샘플레이트 | 포맷 |
|---|---|---|
| Qwen3-ASR | 16 kHz | 모노 Float32 |
| Cohere Transcribe 2B | 16 kHz | Mono Float32 |
| Voxtral Mini 3B | 16 kHz | Mono Float32 |
| Qwen3-TTS | 24 kHz 출력 | 모노 Float32 |
| CosyVoice3 | 24 kHz 출력 | 모노 Float32 |
| Kokoro-82M | 24 kHz 출력 | 모노 Float32 |
| PersonaPlex | 24 kHz I/O | 모노 Float32 |
| Pyannote VAD | 16 kHz | 모노 Float32 |
| Silero VAD | 16 kHz | 모노 Float32 |
| WeSpeaker | 16 kHz | 모노 Float32 |
| SpeechBrain ECAPA LID | 16 kHz | Mono Float32 |
| ReDimNet2-B6 | 16 kHz | 모노 Float32 |
| DeepFilterNet3 | 48 kHz | 모노 Float32 |
소스 구조
Sources/
AudioCommon/ 공유 프로토콜, 오디오 I/O, 시스템 출력 캡처(SystemAudioTap),
HuggingFace 다운로더, SentencePieceModel(protobuf 리더)
MLXCommon/ MLX 유틸리티: 웨이트 로딩, QuantizedLinear 헬퍼,
SDPA 멀티헤드 어텐션 헬퍼, metal budget
Qwen3Common/ 공유 모델 컴포넌트 (KV 캐시, RoPE, 양자화)
Qwen3ASR/ Qwen3-ASR 음성-텍스트 변환
ParakeetASR/ Parakeet TDT 음성-텍스트 변환 (CoreML)
ParakeetStreamingASR/ Parakeet EOU 120M 스트리밍 받아쓰기 (CoreML)
OmnilingualASR/ Meta wav2vec2 + CTC, 1,672개 언어
(CoreML 300M + MLX 300M / 1B / 3B / 7B)
CohereTranscribeASR/ Cohere Transcribe 2B speech-to-text (MLX)
VoxtralASR/ Voxtral Mini 3B speech-to-text (MLX)
Qwen3TTS/ Qwen3-TTS 텍스트-음성 변환
FireRedTTS3TTS/ FireRedTTS3-Instruct (MLX, Float32)
MossVoiceGeneratorTTS/ MOSS-VoiceGenerator (MLX, BF16 + FP32)
CosyVoiceTTS/ CosyVoice3 텍스트-음성 변환
KokoroTTS/ Kokoro-82M 텍스트-음성 변환 (CoreML)
Qwen3Chat/ Qwen3.5-0.8B 온디바이스 LLM 채팅 (MLX + CoreML)
PersonaPlex/ PersonaPlex 음성-음성 변환
SpeechVAD/ VAD (Silero + Pyannote), 화자 분리, 화자 임베딩
SpeechLanguageID/ 음성 언어 식별(SpeechBrain ECAPA, MLX + CoreML, 107개 레이블)
SpeechEnhancement/ DeepFilterNet3 노이즈 억제 (CoreML)
SourceSeparation/ Open-Unmix HQ / UMX-L + HTDemucs (Demucs v4) music source separation (MLX, 4 stems)
MAGNeTMusicGen/ MAGNeT text-to-music generation (MLX, 30 s @ 32 kHz, INT4/INT8)
VoxCPM2TTS/ VoxCPM2 text-to-speech (MLX, 48 kHz, voice cloning + voice design)
IndexTTS2TTS/ IndexTTS2 voice cloning (MLX, semantic GPT + emotion/tempo/pause control + S2Mel + BigVGAN)
VibeVoiceTTS/ VibeVoice long-form / multi-speaker TTS (MLX, EN/ZH)
MADLADTranslation/ MADLAD-400 many-to-many translation (MLX, 400+ languages)
GLiNER/ GLiNER2.5-Decide classification + entity spans (MLX, INT8/FP16/FP32)
AudioCLILib/ CLI 명령 구현
AudioCLI/ CLI 진입점
scripts/ 모델 변환 (PyTorch → MLX/CoreML), 벤치마킹
Tests/ 단위 및 통합 테스트
Examples/ 데모 앱 (PersonaPlexDemo, SpeechDemo)GLiNER2.5-Decide: MLX 네이티브 분류와 엔터티 스팬(INT8, FP16, FP32 가중치). 추론에 Python이 필요하지 않습니다.
⚠ Translation out of date — English guide. The new Clef section below awaits translation.
Clef-flash: development preview of local text decisions (9B, affine 4-bit MLX), with a joint schema head and a separate output-embedding prior.
MOSS-TTS-Nano
CoreML 기반 스트리밍 음성 합성과 음성 복제. 48 kHz 스테레오를 80 ms 청크로 출력합니다.
MossTTSNanoModel은 요청을 직렬화하며 발화마다 새 CoreML 상태를 만듭니다. synthesize와 synthesizeStream은 스테레오를 유지하고 SpeechGenerationModel은 모노 믹스를 반환합니다. language: nil을 전달하세요. 스트림은 빈 최종 마커로 끝납니다.
macOS 15+ / iOS 18+가 필요하며 컴파일된 모델 4개는 총 367.6 MB입니다. 프롬프트, 참조, 요청 프레임은 1,024행 컨텍스트를 공유합니다. 초과하거나 자연 종료 전에 maxFrames에 도달하면 오류가 발생합니다. 기본은 CPU이며 gpu는 CPU+GPU를 허용합니다. PCG64 시드는 NumPy와 호환되지만 백엔드 수치 차이로 출력이 달라질 수 있습니다.
선택적 모델 관리
SpeechRuntime은 공유 로딩, 취소 가능한 FIFO 진입 제어, 직렬 실행을 제공합니다. Qwen3ASRRuntime은 명시적 설명자로 MLX 또는 전체 CoreML을 선택하며 기존 API와 CLI 플래그도 계속 사용할 수 있습니다.
서버는 스트리밍 출력을 포함한 전체 요청 동안 실행 허가를 유지하며 최대 32개 요청을 대기시킵니다. ASR 실패는 HTTP 오류 또는 WebSocket 오류 이벤트로 전달되고 유효한 빈 전사는 성공으로 처리됩니다. 재생은 넘치는 샘플을 보관합니다. 캐시된 모델과 재생 대기 오디오는 메모리를 차지합니다.
Voxtral TTS
Voxtral 4B TTS 2603은 VoxtralTTS 모듈로 Apple Silicon에서 로컬 실행되며, 프리셋 음성 20개, 언어 9개, 24 kHz 모노 음성을 지원합니다.
VoxtralTTS → 26-layer LM → 3-layer acoustic transformer → 24 kHz PCM사전 설정 음성만 지원하며 참조 오디오 복제는 지원하지 않습니다. SDK, CLI, WebSocket 및 HTTP PCM에서 생성 중인 오디오를 출력합니다. 입력 텍스트는 처음에 전체를 제공해야 합니다. 모델 가중치는 CC BY-NC 4.0 라이선스를 사용합니다.
Fish Audio Drama 3
Drama 3의 실험적 네이티브 MLX 지원은 FishAudioDrama3Model로 제공됩니다. 350억 매개변수의 혼합 어텐션 MoE, 시간축 오디오 타워와 Fish DAC 코덱으로 44.1 kHz 모노 오디오를 생성합니다. 4비트 체크포인트는 Apple M5 Pro에서 텍스트 생성, 참조 음성 복제 및 CLI 출력의 파형과 독립 ASR 검증을 통과했습니다. 8비트와 BF16은 아직 검증되지 않았습니다.
기본 balanced 모드는 단계 경계에서 512 MiB를 초과하는 유휴 MLX 버퍼를 정리합니다. 모델 수명 동안 공유 캐시 한도도 적용되며 더 낮은 호출자 예산을 유지합니다. 두 제어 모두 전체 프로세스 메모리 한도는 아닙니다. --fish-drama3-memory-mode unrestricted 또는 memoryOptions: .unrestricted는 가중치를 미리 로드하고 단계별 정리를 생략하지만 모델 수명의 한도는 유지합니다.
텍스트만 생성할 때는 참조 인코더 가중치 794.4 MiB의 로딩을 지연합니다. 첫 참조 인코딩에서 로드한 후 유지하므로 그때까지 codec.safetensors 파일을 사용할 수 있어야 합니다. 미리 계산한 참조 코드에는 인코더가 필요하지 않습니다.
FishAudioTTS: FishAudioDrama3Model · backbone.model.* · semantic_head.* · tower.* · codec.safetensors
Fish Audio로 제작되었습니다. 번들에 Community License와 NOTICE가 포함됩니다.
generateStreaming, generateStream, --stream으로 PCM 스트리밍을 지원합니다. 기본 청크는 코덱 프레임 3개로 약 139ms의 오디오입니다. 긴 텍스트 자동 분할과 스트리밍 텍스트 입력은 아직 지원하지 않습니다.
타워의 각 코드북은 4,096개의 토큰 값을 사용합니다. 버퍼링 및 스트리밍 Fish DAC 디코딩은 모두 잔차 코드를 코덱의 1,024개 항목 잔차 코드북 범위로 제한합니다. 반환되는 코드북은 타워의 원래 값을 유지합니다.
잘못된 회전 위치 임베딩 차원은 모델 가중치를 로드하기 전에 거부됩니다.