-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproject.yml
More file actions
136 lines (131 loc) · 4.78 KB
/
Copy pathproject.yml
File metadata and controls
136 lines (131 loc) · 4.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
name: KokoroVoice
options:
bundleIdPrefix: com.vicnaum
deploymentTarget:
macOS: "15.0"
createIntermediateGroups: true
# Versions pinned to KokoroSwift 1.0.10's own Package.resolved — the exact,
# mutually-tested combination. Do NOT float these: MLXUtilsLibrary main/0.0.7
# removed `BenchmarkTimer` (which KokoroSwift still calls), and mlx-swift >0.29.x
# drifts from the API KokoroSwift was built against.
packages:
KokoroSwift:
# Fork of mlalma/kokoro-ios @ 1.0.10 with a single fix: upstream's manifest
# imports MLXFast without declaring it as a target dependency, which breaks
# Xcode 16+/26 explicit-module builds ("no such module 'MLXFast'"). Pinned to
# the exact commit. Branch: vicnaum/kokoro-ios @ mlxfast-fix.
url: https://github.com/vicnaum/kokoro-ios.git
revision: bb6cefb67bc4bb0dd6bb4da38ce835dace4b1dab
MLXUtilsLibrary:
url: https://github.com/mlalma/MLXUtilsLibrary.git
exactVersion: "0.0.6"
mlx-swift:
url: https://github.com/ml-explore/mlx-swift
exactVersion: "0.29.1"
# Misaki is the G2P (already transitive via KokoroSwift); declared directly so
# the PhonemeDump dev tool can call it. Pinned to the resolved version.
MisakiSwift:
url: https://github.com/mlalma/MisakiSwift
exactVersion: "1.0.5"
settings:
base:
SWIFT_VERSION: "5.10"
CODE_SIGN_STYLE: Automatic
# KokoroSwift's manifest under-declares its module deps (imports MLXFast
# without depending on it). Xcode 16+/26 explicit modules reject that;
# implicit modules tolerate the transitive import.
SWIFT_ENABLE_EXPLICIT_MODULES: "NO"
# Set your Apple Development team in Xcode (Signing & Capabilities) or here:
# DEVELOPMENT_TEAM: XXXXXXXXXX
configs:
Release:
# Don't inject com.apple.security.get-task-allow into Release builds —
# it's the "debuggable" entitlement and Apple's notary service rejects it.
# (Debug keeps it so the app stays debuggable.)
CODE_SIGN_INJECT_BASE_ENTITLEMENTS: "NO"
targets:
KokoroVoice:
type: application
platform: macOS
sources:
- App
dependencies:
- target: KokoroVoiceExtension
embed: true
# The extension links dynamic frameworks (KokoroSwift, MLXUtilsLibrary,
# MLX, Cmlx, Numerics) but app extensions can't carry frameworks — the
# host app must embed them in Contents/Frameworks, where the extension
# finds them via its @executable_path/../../../../Frameworks rpath.
# Embedding KokoroSwift alone pulls its whole transitive closure (the
# other four); listing them explicitly would double-embed and fail with
# "Unexpected duplicate tasks".
- package: KokoroSwift
embed: true
entitlements:
path: App/KokoroVoice.entitlements
properties:
com.apple.security.app-sandbox: true
info:
path: App/Info.plist
properties:
CFBundleDisplayName: Kokoro Voice
CFBundleShortVersionString: "1.3.0"
CFBundleVersion: "4"
LSApplicationCategoryType: public.app-category.utilities
NSHumanReadableCopyright: ""
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.vicnaum.kokorovoice
ENABLE_HARDENED_RUNTIME: true
KokoroVoiceExtension:
type: app-extension
platform: macOS
sources:
- Extension
- path: Resources
buildPhase: resources
dependencies:
- package: KokoroSwift
- package: MLXUtilsLibrary
- package: mlx-swift
product: MLX
entitlements:
path: Extension/KokoroVoiceExtension.entitlements
properties:
com.apple.security.app-sandbox: true
info:
path: Extension/Info.plist
properties:
CFBundleDisplayName: Kokoro Voice Extension
NSExtension:
NSExtensionPointIdentifier: com.apple.AudioUnit
NSExtensionPrincipalClass: $(PRODUCT_MODULE_NAME).AudioUnitFactory
NSExtensionAttributes:
AudioComponents:
- description: Kokoro neural TTS voices
manufacturer: Vicn
name: "Vicnaum: KokoroVoiceExtension"
sandboxSafe: true
subtype: kkro
tags:
- Speech Synthesizer
type: ausp
version: 65536
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.vicnaum.kokorovoice.extension
ENABLE_HARDENED_RUNTIME: true
# Dev-only CLI: dumps Misaki's phoneme output so we can verify text
# normalization (numbers/symbols/newlines) without having to listen.
PhonemeDump:
type: tool
platform: macOS
sources:
- Tools
- path: Extension/SSML.swift
dependencies:
- package: MisakiSwift
settings:
base:
SWIFT_ENABLE_EXPLICIT_MODULES: "NO"
PRODUCT_BUNDLE_IDENTIFIER: com.vicnaum.kokorovoice.phonemedump