@@ -35,9 +35,15 @@ pub enum CactusSttModel {
3535 #[ serde( rename = "cactus-parakeet-ctc-0.6b-int4" ) ]
3636 #[ strum( serialize = "cactus-parakeet-ctc-0.6b-int4" ) ]
3737 ParakeetCtc0_6bInt4 ,
38+ #[ serde( rename = "cactus-parakeet-ctc-0.6b-int4-apple" ) ]
39+ #[ strum( serialize = "cactus-parakeet-ctc-0.6b-int4-apple" ) ]
40+ ParakeetCtc0_6bInt4Apple ,
3841 #[ serde( rename = "cactus-parakeet-ctc-0.6b-int8" ) ]
3942 #[ strum( serialize = "cactus-parakeet-ctc-0.6b-int8" ) ]
4043 ParakeetCtc0_6bInt8 ,
44+ #[ serde( rename = "cactus-parakeet-ctc-0.6b-int8-apple" ) ]
45+ #[ strum( serialize = "cactus-parakeet-ctc-0.6b-int8-apple" ) ]
46+ ParakeetCtc0_6bInt8Apple ,
4147}
4248
4349impl CactusSttModel {
@@ -51,7 +57,9 @@ impl CactusSttModel {
5157 CactusSttModel :: WhisperMediumInt8 ,
5258 CactusSttModel :: WhisperMediumInt8Apple ,
5359 CactusSttModel :: ParakeetCtc0_6bInt4 ,
60+ CactusSttModel :: ParakeetCtc0_6bInt4Apple ,
5461 CactusSttModel :: ParakeetCtc0_6bInt8 ,
62+ CactusSttModel :: ParakeetCtc0_6bInt8Apple ,
5563 ]
5664 }
5765
@@ -61,6 +69,8 @@ impl CactusSttModel {
6169 CactusSttModel :: WhisperSmallInt8Apple
6270 | CactusSttModel :: WhisperMediumInt4Apple
6371 | CactusSttModel :: WhisperMediumInt8Apple
72+ | CactusSttModel :: ParakeetCtc0_6bInt4Apple
73+ | CactusSttModel :: ParakeetCtc0_6bInt8Apple
6474 )
6575 }
6676
@@ -74,7 +84,9 @@ impl CactusSttModel {
7484 CactusSttModel :: WhisperMediumInt8 => "cactus-whisper-medium-int8" ,
7585 CactusSttModel :: WhisperMediumInt8Apple => "cactus-whisper-medium-int8-apple" ,
7686 CactusSttModel :: ParakeetCtc0_6bInt4 => "cactus-parakeet-ctc-0.6b-int4" ,
87+ CactusSttModel :: ParakeetCtc0_6bInt4Apple => "cactus-parakeet-ctc-0.6b-int4-apple" ,
7788 CactusSttModel :: ParakeetCtc0_6bInt8 => "cactus-parakeet-ctc-0.6b-int8" ,
89+ CactusSttModel :: ParakeetCtc0_6bInt8Apple => "cactus-parakeet-ctc-0.6b-int8-apple" ,
7890 }
7991 }
8092
@@ -88,7 +100,9 @@ impl CactusSttModel {
88100 CactusSttModel :: WhisperMediumInt8 => "whisper-medium-int8" ,
89101 CactusSttModel :: WhisperMediumInt8Apple => "whisper-medium-int8-apple" ,
90102 CactusSttModel :: ParakeetCtc0_6bInt4 => "parakeet-ctc-0.6b-int4" ,
103+ CactusSttModel :: ParakeetCtc0_6bInt4Apple => "parakeet-ctc-0.6b-int4-apple" ,
91104 CactusSttModel :: ParakeetCtc0_6bInt8 => "parakeet-ctc-0.6b-int8" ,
105+ CactusSttModel :: ParakeetCtc0_6bInt8Apple => "parakeet-ctc-0.6b-int8-apple" ,
92106 }
93107 }
94108
@@ -113,9 +127,15 @@ impl CactusSttModel {
113127 CactusSttModel :: ParakeetCtc0_6bInt4 => Some (
114128 "https://hyprnote.s3.us-east-1.amazonaws.com/v0/Cactus-Compute/weights/parakeet-ctc-0.6b-int4.zip" ,
115129 ) ,
130+ CactusSttModel :: ParakeetCtc0_6bInt4Apple => Some (
131+ "https://hyprnote.s3.us-east-1.amazonaws.com/v0/Cactus-Compute/weights/parakeet-ctc-0.6b-int4-apple.zip" ,
132+ ) ,
116133 CactusSttModel :: ParakeetCtc0_6bInt8 => Some (
117134 "https://hyprnote.s3.us-east-1.amazonaws.com/v0/Cactus-Compute/weights/parakeet-ctc-0.6b-int8.zip" ,
118135 ) ,
136+ CactusSttModel :: ParakeetCtc0_6bInt8Apple => Some (
137+ "https://hyprnote.s3.us-east-1.amazonaws.com/v0/Cactus-Compute/weights/parakeet-ctc-0.6b-int8-apple.zip" ,
138+ ) ,
119139 _ => None ,
120140 }
121141 }
@@ -126,8 +146,10 @@ impl CactusSttModel {
126146 CactusSttModel :: WhisperSmallInt8Apple => Some ( 3401367684 ) ,
127147 CactusSttModel :: WhisperMediumInt8 => Some ( 472491622 ) ,
128148 CactusSttModel :: WhisperMediumInt8Apple => Some ( 3175773054 ) ,
129- CactusSttModel :: ParakeetCtc0_6bInt4 => Some ( 188550159 ) ,
130- CactusSttModel :: ParakeetCtc0_6bInt8 => Some ( 396300387 ) ,
149+ CactusSttModel :: ParakeetCtc0_6bInt4 => Some ( 110856526 ) ,
150+ CactusSttModel :: ParakeetCtc0_6bInt4Apple => Some ( 3331802527 ) ,
151+ CactusSttModel :: ParakeetCtc0_6bInt8 => Some ( 1392473619 ) ,
152+ CactusSttModel :: ParakeetCtc0_6bInt8Apple => Some ( 3465847421 ) ,
131153 _ => None ,
132154 }
133155 }
@@ -136,7 +158,9 @@ impl CactusSttModel {
136158 match self {
137159 CactusSttModel :: WhisperSmallInt8Apple
138160 | CactusSttModel :: WhisperMediumInt4Apple
139- | CactusSttModel :: WhisperMediumInt8Apple => "Apple Neural Engine" ,
161+ | CactusSttModel :: WhisperMediumInt8Apple
162+ | CactusSttModel :: ParakeetCtc0_6bInt4Apple
163+ | CactusSttModel :: ParakeetCtc0_6bInt8Apple => "Apple Neural Engine" ,
140164 _ => "" ,
141165 }
142166 }
@@ -151,13 +175,18 @@ impl CactusSttModel {
151175 CactusSttModel :: WhisperMediumInt8 => "Whisper Medium (INT8)" ,
152176 CactusSttModel :: WhisperMediumInt8Apple => "Whisper Medium (INT8, Apple NPU)" ,
153177 CactusSttModel :: ParakeetCtc0_6bInt4 => "Parakeet CTC 0.6B (INT4)" ,
178+ CactusSttModel :: ParakeetCtc0_6bInt4Apple => "Parakeet CTC 0.6B (INT4, Apple NPU)" ,
154179 CactusSttModel :: ParakeetCtc0_6bInt8 => "Parakeet CTC 0.6B (INT8)" ,
180+ CactusSttModel :: ParakeetCtc0_6bInt8Apple => "Parakeet CTC 0.6B (INT8, Apple NPU)" ,
155181 }
156182 }
157183
158184 pub fn supported_languages ( & self ) -> Vec < hypr_language:: Language > {
159185 match self {
160- CactusSttModel :: ParakeetCtc0_6bInt4 | CactusSttModel :: ParakeetCtc0_6bInt8 => {
186+ CactusSttModel :: ParakeetCtc0_6bInt4
187+ | CactusSttModel :: ParakeetCtc0_6bInt4Apple
188+ | CactusSttModel :: ParakeetCtc0_6bInt8
189+ | CactusSttModel :: ParakeetCtc0_6bInt8Apple => {
161190 vec ! [ "en" . parse( ) . unwrap( ) ]
162191 }
163192 _ => hypr_language:: whisper_multilingual ( ) ,
0 commit comments