Build Information
Successful build of SwiftTTSWrapper, reference v1.2.8 (47cd8d), with Swift 6.1 for macOS (SPM) on 13 Jul 2026 05:55:42 UTC.
Swift 6 data race errors: 12
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: undefined version: run 'make version' to update
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/AACTools/swift-tts-wrapper.git
Reference: v1.2.8
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/AACTools/swift-tts-wrapper
* tag v1.2.8 -> FETCH_HEAD
HEAD is now at 47cd8d0 docs: update README with SpeechMarkdown auto-detection, X-SAMPA support, phoneme matrix
Cloned https://github.com/AACTools/swift-tts-wrapper.git
Revision (git rev-parse @):
47cd8d0be262d2fd8e2cffbd42732a2af8f35fb0
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/AACTools/swift-tts-wrapper.git at v1.2.8
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/AACTools/swift-tts-wrapper.git
https://github.com/AACTools/swift-tts-wrapper.git
{
"dependencies" : [
{
"identity" : "sherpa-onnx-spm",
"requirement" : {
"range" : [
{
"lower_bound" : "1.13.14",
"upper_bound" : "1.14.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/willwade/sherpa-onnx-spm.git"
},
{
"identity" : "speechmarkdown-rust",
"requirement" : {
"range" : [
{
"lower_bound" : "0.4.9",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/AACTools/speechmarkdown-rust"
}
],
"manifest_display_name" : "SwiftTTSWrapper",
"name" : "SwiftTTSWrapper",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "ios",
"version" : "16.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "SwiftTTSWrapper",
"targets" : [
"SwiftTTSWrapper"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SwiftTTSWrapperSherpaOnnx",
"targets" : [
"SwiftTTSWrapperSherpaOnnx"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftTTSWrapperTests",
"module_type" : "SwiftTarget",
"name" : "SwiftTTSWrapperTests",
"path" : "Tests/SwiftTTSWrapperTests",
"sources" : [
"SwiftTTSWrapperTests.swift"
],
"target_dependencies" : [
"SwiftTTSWrapper"
],
"type" : "test"
},
{
"c99name" : "SwiftTTSWrapperSherpaOnnx",
"module_type" : "SwiftTarget",
"name" : "SwiftTTSWrapperSherpaOnnx",
"path" : "Sources/SwiftTTSWrapperSherpaOnnx",
"product_dependencies" : [
"SherpaOnnx"
],
"product_memberships" : [
"SwiftTTSWrapperSherpaOnnx"
],
"sources" : [
"SherpaOnnxDefaultEngine.swift"
],
"target_dependencies" : [
"SwiftTTSWrapper"
],
"type" : "library"
},
{
"c99name" : "SwiftTTSWrapper",
"module_type" : "SwiftTarget",
"name" : "SwiftTTSWrapper",
"path" : "Sources/SwiftTTSWrapper",
"product_dependencies" : [
"SpeechMarkdown"
],
"product_memberships" : [
"SwiftTTSWrapper",
"SwiftTTSWrapperSherpaOnnx"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Resources/merged_models.json",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Engines/AzureTTSClient.swift",
"Engines/CartesiaTTSClient.swift",
"Engines/DeepgramTTSClient.swift",
"Engines/ElevenLabsTTSClient.swift",
"Engines/FishAudioTTSClient.swift",
"Engines/GoogleTTSClient.swift",
"Engines/HumeTTSClient.swift",
"Engines/MistralTTSClient.swift",
"Engines/ModelsLabTTSClient.swift",
"Engines/MurfTTSClient.swift",
"Engines/OpenAITTSClient.swift",
"Engines/PlayHTTTSClient.swift",
"Engines/PollyTTSClient.swift",
"Engines/ResembleTTSClient.swift",
"Engines/SherpaOnnxTTSClient.swift",
"Engines/SystemTTSClient.swift",
"Engines/UnrealSpeechTTSClient.swift",
"Engines/UpliftAITTSClient.swift",
"Engines/WatsonTTSClient.swift",
"Engines/WitAITTSClient.swift",
"Engines/XAITTSClient.swift",
"TTSClient.swift",
"TTSClientFactory.swift",
"Types.swift",
"Utils/AWSSigV4Signer.swift",
"Utils/ArchiveExtractor.swift",
"Utils/AudioPlayer.swift",
"Utils/SherpaOnnxEngine.swift",
"Utils/SherpaOnnxModelManager.swift",
"Utils/SherpaOnnxModels.swift",
"Utils/WordTimingEstimator.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/10] Copying libspeechmarkdown_rust.a
[0/10] Write sources
[2/10] Copying merged_models.json
[6/10] Copying libonnxruntime.a
[6/10] Copying libsherpa-onnx.a
[8/10] Compiling CSpeechMarkdown dummy.c
[9/10] Write swift-version-2F0A5646E1D333AE.txt
[11/14] Emitting module SpeechMarkdown
[12/14] Compiling SpeechMarkdown SpeechMarkdown.swift
[13/14] Compiling SherpaOnnx SherpaOnnx.swift
[14/14] Emitting module SherpaOnnx
[15/44] Emitting module SwiftTTSWrapper
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/DeepgramTTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.deepgram.com/v1"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "aura-asteria-english", name: "Asteria", gender: .female, provider: "deepgram", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/HumeTTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.hume.ai/v0"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "ito", name: "Ito", gender: .unknown, provider: "hume", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/MistralTTSClient.swift:11:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
9 | private var baseURL = "https://api.mistral.ai/v1"
10 |
11 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | "Amalthea", "Achan", "Brave", "Contessa", "Daintree", "Eugora", "Fornax",
13 | "Griffin", "Hestia", "Irving", "Jasmine", "Kestra", "Lorentz", "Mara",
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/ModelsLabTTSClient.swift:12:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
10 | private var baseURL = "https://modelslab.com/api/v6/voice/text_to_speech"
11 |
12 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | UnifiedVoice(id: "madison", name: "Madison", gender: .female, provider: "modelslab", languageCodes: [
14 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/MurfTTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.murf.ai/v1"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "en-US-natalie", name: "Natalie", gender: .female, provider: "murf", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/PollyTTSClient.swift:11:23: warning: static property 'fallbackVoices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
9 | private var format = "mp3"
10 |
11 | public static let fallbackVoices = [
| |- warning: static property 'fallbackVoices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fallbackVoices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | UnifiedVoice(id: "Joanna", name: "Joanna", gender: .female, provider: "polly", languageCodes: [
13 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/UnrealSpeechTTSClient.swift:9:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
7 | private var baseURL = "https://api.v8.unrealspeech.com"
8 |
9 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 | UnifiedVoice(id: "Sierra", name: "Sierra", gender: .female, provider: "unrealspeech", languageCodes: [
11 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/UpliftAITTSClient.swift:9:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
7 | private var baseURL = "https://api.upliftai.org/v1/synthesis"
8 |
9 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 | UnifiedVoice(id: "v_8eelc901", name: "Info/Education", gender: .unknown, provider: "upliftai", languageCodes: [
11 | UnifiedVoice.LanguageCode(bcp47: "ur-PK", iso639_3: "urd", display: "Urdu (Pakistan)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/WatsonTTSClient.swift:10:23: warning: static property 'fallbackVoices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var iamToken: String?
9 |
10 | public static let fallbackVoices = [
| |- warning: static property 'fallbackVoices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fallbackVoices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "en-US_AllisonV3Voice", name: "Allison", gender: .female, provider: "watson", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/XAITTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.x.ai/v1"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "avalon-47", name: "Avalon", gender: .female, provider: "xai", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/TTSClient.swift:139:24: warning: static property 'markdownParser' is not concurrency-safe because non-'Sendable' type 'SpeechMarkdownParser' may have shared mutable state; this is an error in the Swift 6 language mode
137 | }
138 |
139 | private static let markdownParser = SpeechMarkdownParser()
| `- warning: static property 'markdownParser' is not concurrency-safe because non-'Sendable' type 'SpeechMarkdownParser' may have shared mutable state; this is an error in the Swift 6 language mode
140 |
141 | /// Detects whether the string looks like SpeechMarkdown.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/speechmarkdown-rust/bindings/swift/Sources/SpeechMarkdown/SpeechMarkdown.swift:4:14: note: class 'SpeechMarkdownParser' does not conform to the 'Sendable' protocol
2 | import CSpeechMarkdown
3 |
4 | public class SpeechMarkdownParser {
| `- note: class 'SpeechMarkdownParser' does not conform to the 'Sendable' protocol
5 |
6 | private static let lock = NSLock()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/TTSClient.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'SpeechMarkdown'
1 | import Foundation
2 | import SpeechMarkdown
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'SpeechMarkdown'
3 |
4 | /// Unified interface for all Text-to-Speech clients.
:
137 | }
138 |
139 | private static let markdownParser = SpeechMarkdownParser()
| |- note: add '@MainActor' to make static property 'markdownParser' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
140 |
141 | /// Detects whether the string looks like SpeechMarkdown.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Utils/SherpaOnnxModels.swift:108:24: warning: static property 'cachedModels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
106 |
107 | public enum SherpaOnnxModelsCatalog {
108 | private static var cachedModels: [String: SherpaOnnxModelEntry]?
| |- warning: static property 'cachedModels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'cachedModels' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'cachedModels' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
109 |
110 | public static let modelsURL = URL(string: "https://cdn.jsdelivr.net/gh/willwade/js-tts-wrapper-assets@main/sherpaonnx/models/merged_models.json")
[16/47] Compiling SwiftTTSWrapper SherpaOnnxModels.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Utils/SherpaOnnxModels.swift:108:24: warning: static property 'cachedModels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
106 |
107 | public enum SherpaOnnxModelsCatalog {
108 | private static var cachedModels: [String: SherpaOnnxModelEntry]?
| |- warning: static property 'cachedModels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'cachedModels' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'cachedModels' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
109 |
110 | public static let modelsURL = URL(string: "https://cdn.jsdelivr.net/gh/willwade/js-tts-wrapper-assets@main/sherpaonnx/models/merged_models.json")
[17/47] Compiling SwiftTTSWrapper WordTimingEstimator.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Utils/SherpaOnnxModels.swift:108:24: warning: static property 'cachedModels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
106 |
107 | public enum SherpaOnnxModelsCatalog {
108 | private static var cachedModels: [String: SherpaOnnxModelEntry]?
| |- warning: static property 'cachedModels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'cachedModels' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'cachedModels' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
109 |
110 | public static let modelsURL = URL(string: "https://cdn.jsdelivr.net/gh/willwade/js-tts-wrapper-assets@main/sherpaonnx/models/merged_models.json")
[18/47] Compiling SwiftTTSWrapper resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Utils/SherpaOnnxModels.swift:108:24: warning: static property 'cachedModels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
106 |
107 | public enum SherpaOnnxModelsCatalog {
108 | private static var cachedModels: [String: SherpaOnnxModelEntry]?
| |- warning: static property 'cachedModels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'cachedModels' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'cachedModels' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
109 |
110 | public static let modelsURL = URL(string: "https://cdn.jsdelivr.net/gh/willwade/js-tts-wrapper-assets@main/sherpaonnx/models/merged_models.json")
[19/47] Compiling SwiftTTSWrapper Types.swift
[20/47] Compiling SwiftTTSWrapper AWSSigV4Signer.swift
[21/47] Compiling SwiftTTSWrapper ArchiveExtractor.swift
[22/47] Compiling SwiftTTSWrapper UpliftAITTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/UpliftAITTSClient.swift:9:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
7 | private var baseURL = "https://api.upliftai.org/v1/synthesis"
8 |
9 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 | UnifiedVoice(id: "v_8eelc901", name: "Info/Education", gender: .unknown, provider: "upliftai", languageCodes: [
11 | UnifiedVoice.LanguageCode(bcp47: "ur-PK", iso639_3: "urd", display: "Urdu (Pakistan)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/WatsonTTSClient.swift:10:23: warning: static property 'fallbackVoices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var iamToken: String?
9 |
10 | public static let fallbackVoices = [
| |- warning: static property 'fallbackVoices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fallbackVoices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "en-US_AllisonV3Voice", name: "Allison", gender: .female, provider: "watson", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
[23/47] Compiling SwiftTTSWrapper WatsonTTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/UpliftAITTSClient.swift:9:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
7 | private var baseURL = "https://api.upliftai.org/v1/synthesis"
8 |
9 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 | UnifiedVoice(id: "v_8eelc901", name: "Info/Education", gender: .unknown, provider: "upliftai", languageCodes: [
11 | UnifiedVoice.LanguageCode(bcp47: "ur-PK", iso639_3: "urd", display: "Urdu (Pakistan)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/WatsonTTSClient.swift:10:23: warning: static property 'fallbackVoices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var iamToken: String?
9 |
10 | public static let fallbackVoices = [
| |- warning: static property 'fallbackVoices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fallbackVoices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "en-US_AllisonV3Voice", name: "Allison", gender: .female, provider: "watson", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
[24/47] Compiling SwiftTTSWrapper WitAITTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/UpliftAITTSClient.swift:9:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
7 | private var baseURL = "https://api.upliftai.org/v1/synthesis"
8 |
9 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 | UnifiedVoice(id: "v_8eelc901", name: "Info/Education", gender: .unknown, provider: "upliftai", languageCodes: [
11 | UnifiedVoice.LanguageCode(bcp47: "ur-PK", iso639_3: "urd", display: "Urdu (Pakistan)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/WatsonTTSClient.swift:10:23: warning: static property 'fallbackVoices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var iamToken: String?
9 |
10 | public static let fallbackVoices = [
| |- warning: static property 'fallbackVoices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fallbackVoices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "en-US_AllisonV3Voice", name: "Allison", gender: .female, provider: "watson", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
[25/47] Compiling SwiftTTSWrapper FishAudioTTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/HumeTTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.hume.ai/v0"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "ito", name: "Ito", gender: .unknown, provider: "hume", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/MistralTTSClient.swift:11:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
9 | private var baseURL = "https://api.mistral.ai/v1"
10 |
11 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | "Amalthea", "Achan", "Brave", "Contessa", "Daintree", "Eugora", "Fornax",
13 | "Griffin", "Hestia", "Irving", "Jasmine", "Kestra", "Lorentz", "Mara",
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
[26/47] Compiling SwiftTTSWrapper GoogleTTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/HumeTTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.hume.ai/v0"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "ito", name: "Ito", gender: .unknown, provider: "hume", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/MistralTTSClient.swift:11:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
9 | private var baseURL = "https://api.mistral.ai/v1"
10 |
11 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | "Amalthea", "Achan", "Brave", "Contessa", "Daintree", "Eugora", "Fornax",
13 | "Griffin", "Hestia", "Irving", "Jasmine", "Kestra", "Lorentz", "Mara",
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
[27/47] Compiling SwiftTTSWrapper HumeTTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/HumeTTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.hume.ai/v0"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "ito", name: "Ito", gender: .unknown, provider: "hume", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/MistralTTSClient.swift:11:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
9 | private var baseURL = "https://api.mistral.ai/v1"
10 |
11 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | "Amalthea", "Achan", "Brave", "Contessa", "Daintree", "Eugora", "Fornax",
13 | "Griffin", "Hestia", "Irving", "Jasmine", "Kestra", "Lorentz", "Mara",
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
[28/47] Compiling SwiftTTSWrapper MistralTTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/HumeTTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.hume.ai/v0"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "ito", name: "Ito", gender: .unknown, provider: "hume", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/MistralTTSClient.swift:11:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
9 | private var baseURL = "https://api.mistral.ai/v1"
10 |
11 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | "Amalthea", "Achan", "Brave", "Contessa", "Daintree", "Eugora", "Fornax",
13 | "Griffin", "Hestia", "Irving", "Jasmine", "Kestra", "Lorentz", "Mara",
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
[29/47] Compiling SwiftTTSWrapper ModelsLabTTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/ModelsLabTTSClient.swift:12:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
10 | private var baseURL = "https://modelslab.com/api/v6/voice/text_to_speech"
11 |
12 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | UnifiedVoice(id: "madison", name: "Madison", gender: .female, provider: "modelslab", languageCodes: [
14 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/MurfTTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.murf.ai/v1"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "en-US-natalie", name: "Natalie", gender: .female, provider: "murf", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
[30/47] Compiling SwiftTTSWrapper MurfTTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/ModelsLabTTSClient.swift:12:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
10 | private var baseURL = "https://modelslab.com/api/v6/voice/text_to_speech"
11 |
12 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | UnifiedVoice(id: "madison", name: "Madison", gender: .female, provider: "modelslab", languageCodes: [
14 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/MurfTTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.murf.ai/v1"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "en-US-natalie", name: "Natalie", gender: .female, provider: "murf", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
[31/47] Compiling SwiftTTSWrapper OpenAITTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/ModelsLabTTSClient.swift:12:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
10 | private var baseURL = "https://modelslab.com/api/v6/voice/text_to_speech"
11 |
12 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | UnifiedVoice(id: "madison", name: "Madison", gender: .female, provider: "modelslab", languageCodes: [
14 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/MurfTTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.murf.ai/v1"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "en-US-natalie", name: "Natalie", gender: .female, provider: "murf", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
[32/47] Compiling SwiftTTSWrapper AzureTTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/DeepgramTTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.deepgram.com/v1"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "aura-asteria-english", name: "Asteria", gender: .female, provider: "deepgram", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
[33/47] Compiling SwiftTTSWrapper CartesiaTTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/DeepgramTTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.deepgram.com/v1"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "aura-asteria-english", name: "Asteria", gender: .female, provider: "deepgram", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
[34/47] Compiling SwiftTTSWrapper DeepgramTTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/DeepgramTTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.deepgram.com/v1"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "aura-asteria-english", name: "Asteria", gender: .female, provider: "deepgram", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
[35/47] Compiling SwiftTTSWrapper ElevenLabsTTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/DeepgramTTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.deepgram.com/v1"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "aura-asteria-english", name: "Asteria", gender: .female, provider: "deepgram", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
[36/47] Compiling SwiftTTSWrapper AudioPlayer.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Utils/AudioPlayer.swift:88:17: warning: capture of 'self' with non-sendable type 'AudioPlayer?' in a '@Sendable' closure
3 |
4 | /// Helper player that wraps AVAudioPlayer to manage playback states, pausing, and boundary events.
5 | public final class AudioPlayer: NSObject, AVAudioPlayerDelegate {
| `- note: class 'AudioPlayer' does not conform to the 'Sendable' protocol
6 | private var player: AVAudioPlayer?
7 | private var timer: Timer?
:
86 |
87 | let t = Timer(timeInterval: 0.02, repeats: true) { [weak self] _ in
88 | self?.checkBoundaries()
| `- warning: capture of 'self' with non-sendable type 'AudioPlayer?' in a '@Sendable' closure
89 | }
90 | RunLoop.main.add(t, forMode: .common)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Utils/AudioPlayer.swift:101:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
99 | } else {
100 | DispatchQueue.main.sync {
101 | timer?.invalidate()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
102 | timer = nil
103 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Utils/AudioPlayer.swift:84:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
82 |
83 | DispatchQueue.main.async { [weak self] in
84 | guard let self = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
85 | guard self.timer == nil, !self.boundaries.isEmpty else { return }
86 |
[37/47] Compiling SwiftTTSWrapper SherpaOnnxEngine.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Utils/AudioPlayer.swift:88:17: warning: capture of 'self' with non-sendable type 'AudioPlayer?' in a '@Sendable' closure
3 |
4 | /// Helper player that wraps AVAudioPlayer to manage playback states, pausing, and boundary events.
5 | public final class AudioPlayer: NSObject, AVAudioPlayerDelegate {
| `- note: class 'AudioPlayer' does not conform to the 'Sendable' protocol
6 | private var player: AVAudioPlayer?
7 | private var timer: Timer?
:
86 |
87 | let t = Timer(timeInterval: 0.02, repeats: true) { [weak self] _ in
88 | self?.checkBoundaries()
| `- warning: capture of 'self' with non-sendable type 'AudioPlayer?' in a '@Sendable' closure
89 | }
90 | RunLoop.main.add(t, forMode: .common)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Utils/AudioPlayer.swift:101:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
99 | } else {
100 | DispatchQueue.main.sync {
101 | timer?.invalidate()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
102 | timer = nil
103 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Utils/AudioPlayer.swift:84:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
82 |
83 | DispatchQueue.main.async { [weak self] in
84 | guard let self = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
85 | guard self.timer == nil, !self.boundaries.isEmpty else { return }
86 |
[38/47] Compiling SwiftTTSWrapper SherpaOnnxModelManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Utils/AudioPlayer.swift:88:17: warning: capture of 'self' with non-sendable type 'AudioPlayer?' in a '@Sendable' closure
3 |
4 | /// Helper player that wraps AVAudioPlayer to manage playback states, pausing, and boundary events.
5 | public final class AudioPlayer: NSObject, AVAudioPlayerDelegate {
| `- note: class 'AudioPlayer' does not conform to the 'Sendable' protocol
6 | private var player: AVAudioPlayer?
7 | private var timer: Timer?
:
86 |
87 | let t = Timer(timeInterval: 0.02, repeats: true) { [weak self] _ in
88 | self?.checkBoundaries()
| `- warning: capture of 'self' with non-sendable type 'AudioPlayer?' in a '@Sendable' closure
89 | }
90 | RunLoop.main.add(t, forMode: .common)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Utils/AudioPlayer.swift:101:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
99 | } else {
100 | DispatchQueue.main.sync {
101 | timer?.invalidate()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
102 | timer = nil
103 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Utils/AudioPlayer.swift:84:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
82 |
83 | DispatchQueue.main.async { [weak self] in
84 | guard let self = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
85 | guard self.timer == nil, !self.boundaries.isEmpty else { return }
86 |
[39/47] Compiling SwiftTTSWrapper PlayHTTTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/PollyTTSClient.swift:11:23: warning: static property 'fallbackVoices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
9 | private var format = "mp3"
10 |
11 | public static let fallbackVoices = [
| |- warning: static property 'fallbackVoices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fallbackVoices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | UnifiedVoice(id: "Joanna", name: "Joanna", gender: .female, provider: "polly", languageCodes: [
13 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/PollyTTSClient.swift:255:65: warning: sending 'options' risks causing data races; this is an error in the Swift 6 language mode
253 |
254 | if useWordBoundary {
255 | async let audioTask = fetchAudioData(text, options: options, keyId: keyId, secretKey: secretKey, pollyRegion: pollyRegion)
| |- warning: sending 'options' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'options' into async let risks causing data races between nonisolated and task-isolated uses
256 | async let marksTask = fetchSpeechMarks(text, options: options, keyId: keyId, secretKey: secretKey, pollyRegion: pollyRegion)
257 | let (audioData, boundaries) = try await (audioTask, marksTask)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/PollyTTSClient.swift:256:67: warning: sending 'options' risks causing data races; this is an error in the Swift 6 language mode
254 | if useWordBoundary {
255 | async let audioTask = fetchAudioData(text, options: options, keyId: keyId, secretKey: secretKey, pollyRegion: pollyRegion)
256 | async let marksTask = fetchSpeechMarks(text, options: options, keyId: keyId, secretKey: secretKey, pollyRegion: pollyRegion)
| |- warning: sending 'options' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'options' into async let risks causing data races between nonisolated and task-isolated uses
257 | let (audioData, boundaries) = try await (audioTask, marksTask)
258 | self.cachedBoundaries = boundaries
[40/47] Compiling SwiftTTSWrapper PollyTTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/PollyTTSClient.swift:11:23: warning: static property 'fallbackVoices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
9 | private var format = "mp3"
10 |
11 | public static let fallbackVoices = [
| |- warning: static property 'fallbackVoices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fallbackVoices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | UnifiedVoice(id: "Joanna", name: "Joanna", gender: .female, provider: "polly", languageCodes: [
13 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/PollyTTSClient.swift:255:65: warning: sending 'options' risks causing data races; this is an error in the Swift 6 language mode
253 |
254 | if useWordBoundary {
255 | async let audioTask = fetchAudioData(text, options: options, keyId: keyId, secretKey: secretKey, pollyRegion: pollyRegion)
| |- warning: sending 'options' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'options' into async let risks causing data races between nonisolated and task-isolated uses
256 | async let marksTask = fetchSpeechMarks(text, options: options, keyId: keyId, secretKey: secretKey, pollyRegion: pollyRegion)
257 | let (audioData, boundaries) = try await (audioTask, marksTask)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/PollyTTSClient.swift:256:67: warning: sending 'options' risks causing data races; this is an error in the Swift 6 language mode
254 | if useWordBoundary {
255 | async let audioTask = fetchAudioData(text, options: options, keyId: keyId, secretKey: secretKey, pollyRegion: pollyRegion)
256 | async let marksTask = fetchSpeechMarks(text, options: options, keyId: keyId, secretKey: secretKey, pollyRegion: pollyRegion)
| |- warning: sending 'options' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'options' into async let risks causing data races between nonisolated and task-isolated uses
257 | let (audioData, boundaries) = try await (audioTask, marksTask)
258 | self.cachedBoundaries = boundaries
[41/47] Compiling SwiftTTSWrapper ResembleTTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/PollyTTSClient.swift:11:23: warning: static property 'fallbackVoices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
9 | private var format = "mp3"
10 |
11 | public static let fallbackVoices = [
| |- warning: static property 'fallbackVoices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fallbackVoices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | UnifiedVoice(id: "Joanna", name: "Joanna", gender: .female, provider: "polly", languageCodes: [
13 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/PollyTTSClient.swift:255:65: warning: sending 'options' risks causing data races; this is an error in the Swift 6 language mode
253 |
254 | if useWordBoundary {
255 | async let audioTask = fetchAudioData(text, options: options, keyId: keyId, secretKey: secretKey, pollyRegion: pollyRegion)
| |- warning: sending 'options' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'options' into async let risks causing data races between nonisolated and task-isolated uses
256 | async let marksTask = fetchSpeechMarks(text, options: options, keyId: keyId, secretKey: secretKey, pollyRegion: pollyRegion)
257 | let (audioData, boundaries) = try await (audioTask, marksTask)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/PollyTTSClient.swift:256:67: warning: sending 'options' risks causing data races; this is an error in the Swift 6 language mode
254 | if useWordBoundary {
255 | async let audioTask = fetchAudioData(text, options: options, keyId: keyId, secretKey: secretKey, pollyRegion: pollyRegion)
256 | async let marksTask = fetchSpeechMarks(text, options: options, keyId: keyId, secretKey: secretKey, pollyRegion: pollyRegion)
| |- warning: sending 'options' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'options' into async let risks causing data races between nonisolated and task-isolated uses
257 | let (audioData, boundaries) = try await (audioTask, marksTask)
258 | self.cachedBoundaries = boundaries
[42/47] Compiling SwiftTTSWrapper XAITTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/XAITTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.x.ai/v1"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "avalon-47", name: "Avalon", gender: .female, provider: "xai", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/TTSClient.swift:139:24: warning: static property 'markdownParser' is not concurrency-safe because non-'Sendable' type 'SpeechMarkdownParser' may have shared mutable state; this is an error in the Swift 6 language mode
137 | }
138 |
139 | private static let markdownParser = SpeechMarkdownParser()
| `- warning: static property 'markdownParser' is not concurrency-safe because non-'Sendable' type 'SpeechMarkdownParser' may have shared mutable state; this is an error in the Swift 6 language mode
140 |
141 | /// Detects whether the string looks like SpeechMarkdown.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/speechmarkdown-rust/bindings/swift/Sources/SpeechMarkdown/SpeechMarkdown.swift:4:14: note: class 'SpeechMarkdownParser' does not conform to the 'Sendable' protocol
2 | import CSpeechMarkdown
3 |
4 | public class SpeechMarkdownParser {
| `- note: class 'SpeechMarkdownParser' does not conform to the 'Sendable' protocol
5 |
6 | private static let lock = NSLock()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/TTSClient.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'SpeechMarkdown'
1 | import Foundation
2 | import SpeechMarkdown
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'SpeechMarkdown'
3 |
4 | /// Unified interface for all Text-to-Speech clients.
:
137 | }
138 |
139 | private static let markdownParser = SpeechMarkdownParser()
| |- note: add '@MainActor' to make static property 'markdownParser' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
140 |
141 | /// Detects whether the string looks like SpeechMarkdown.
[43/47] Compiling SwiftTTSWrapper TTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/XAITTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.x.ai/v1"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "avalon-47", name: "Avalon", gender: .female, provider: "xai", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/TTSClient.swift:139:24: warning: static property 'markdownParser' is not concurrency-safe because non-'Sendable' type 'SpeechMarkdownParser' may have shared mutable state; this is an error in the Swift 6 language mode
137 | }
138 |
139 | private static let markdownParser = SpeechMarkdownParser()
| `- warning: static property 'markdownParser' is not concurrency-safe because non-'Sendable' type 'SpeechMarkdownParser' may have shared mutable state; this is an error in the Swift 6 language mode
140 |
141 | /// Detects whether the string looks like SpeechMarkdown.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/speechmarkdown-rust/bindings/swift/Sources/SpeechMarkdown/SpeechMarkdown.swift:4:14: note: class 'SpeechMarkdownParser' does not conform to the 'Sendable' protocol
2 | import CSpeechMarkdown
3 |
4 | public class SpeechMarkdownParser {
| `- note: class 'SpeechMarkdownParser' does not conform to the 'Sendable' protocol
5 |
6 | private static let lock = NSLock()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/TTSClient.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'SpeechMarkdown'
1 | import Foundation
2 | import SpeechMarkdown
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'SpeechMarkdown'
3 |
4 | /// Unified interface for all Text-to-Speech clients.
:
137 | }
138 |
139 | private static let markdownParser = SpeechMarkdownParser()
| |- note: add '@MainActor' to make static property 'markdownParser' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
140 |
141 | /// Detects whether the string looks like SpeechMarkdown.
[44/47] Compiling SwiftTTSWrapper TTSClientFactory.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/XAITTSClient.swift:10:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
8 | private var baseURL = "https://api.x.ai/v1"
9 |
10 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 | UnifiedVoice(id: "avalon-47", name: "Avalon", gender: .female, provider: "xai", languageCodes: [
12 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/TTSClient.swift:139:24: warning: static property 'markdownParser' is not concurrency-safe because non-'Sendable' type 'SpeechMarkdownParser' may have shared mutable state; this is an error in the Swift 6 language mode
137 | }
138 |
139 | private static let markdownParser = SpeechMarkdownParser()
| `- warning: static property 'markdownParser' is not concurrency-safe because non-'Sendable' type 'SpeechMarkdownParser' may have shared mutable state; this is an error in the Swift 6 language mode
140 |
141 | /// Detects whether the string looks like SpeechMarkdown.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/speechmarkdown-rust/bindings/swift/Sources/SpeechMarkdown/SpeechMarkdown.swift:4:14: note: class 'SpeechMarkdownParser' does not conform to the 'Sendable' protocol
2 | import CSpeechMarkdown
3 |
4 | public class SpeechMarkdownParser {
| `- note: class 'SpeechMarkdownParser' does not conform to the 'Sendable' protocol
5 |
6 | private static let lock = NSLock()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/TTSClient.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'SpeechMarkdown'
1 | import Foundation
2 | import SpeechMarkdown
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'SpeechMarkdown'
3 |
4 | /// Unified interface for all Text-to-Speech clients.
:
137 | }
138 |
139 | private static let markdownParser = SpeechMarkdownParser()
| |- note: add '@MainActor' to make static property 'markdownParser' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
140 |
141 | /// Detects whether the string looks like SpeechMarkdown.
[45/47] Compiling SwiftTTSWrapper SherpaOnnxTTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/UnrealSpeechTTSClient.swift:9:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
7 | private var baseURL = "https://api.v8.unrealspeech.com"
8 |
9 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 | UnifiedVoice(id: "Sierra", name: "Sierra", gender: .female, provider: "unrealspeech", languageCodes: [
11 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
[46/47] Compiling SwiftTTSWrapper SystemTTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/UnrealSpeechTTSClient.swift:9:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
7 | private var baseURL = "https://api.v8.unrealspeech.com"
8 |
9 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 | UnifiedVoice(id: "Sierra", name: "Sierra", gender: .female, provider: "unrealspeech", languageCodes: [
11 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
[47/47] Compiling SwiftTTSWrapper UnrealSpeechTTSClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Engines/UnrealSpeechTTSClient.swift:9:23: warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
7 | private var baseURL = "https://api.v8.unrealspeech.com"
8 |
9 | public static let voices = [
| |- warning: static property 'voices' is not concurrency-safe because non-'Sendable' type '[UnifiedVoice]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'voices' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 | UnifiedVoice(id: "Sierra", name: "Sierra", gender: .female, provider: "unrealspeech", languageCodes: [
11 | UnifiedVoice.LanguageCode(bcp47: "en-US", iso639_3: "eng", display: "English (US)")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Types.swift:90:15: note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
88 |
89 | /// A standardized representation of voices across all engines.
90 | public struct UnifiedVoice: Codable, Identifiable, Equatable {
| `- note: consider making struct 'UnifiedVoice' conform to the 'Sendable' protocol
91 | public var id: String
92 | public var name: String
[48/49] Emitting module SwiftTTSWrapperSherpaOnnx
[49/49] Compiling SwiftTTSWrapperSherpaOnnx SherpaOnnxDefaultEngine.swift
Build complete! (17.61s)
Fetching https://github.com/willwade/sherpa-onnx-spm.git
Fetching https://github.com/AACTools/speechmarkdown-rust
[1/636] Fetching speechmarkdown-rust
[40/804] Fetching speechmarkdown-rust, sherpa-onnx-spm
Fetched https://github.com/willwade/sherpa-onnx-spm.git from cache (0.92s)
[312/636] Fetching speechmarkdown-rust
Fetched https://github.com/AACTools/speechmarkdown-rust from cache (0.99s)
Computing version for https://github.com/AACTools/speechmarkdown-rust
Computed https://github.com/AACTools/speechmarkdown-rust at 0.4.9 (1.51s)
Computing version for https://github.com/willwade/sherpa-onnx-spm.git
Computed https://github.com/willwade/sherpa-onnx-spm.git at 1.13.16 (0.50s)
Creating working copy for https://github.com/AACTools/speechmarkdown-rust
Working copy of https://github.com/AACTools/speechmarkdown-rust resolved at 0.4.9
Creating working copy for https://github.com/willwade/sherpa-onnx-spm.git
Working copy of https://github.com/willwade/sherpa-onnx-spm.git resolved at 1.13.16
Downloading binary artifact https://github.com/willwade/sherpa-onnx-spm/releases/download/1.13.2/onnxruntime.xcframework.zip
Downloading binary artifact https://github.com/AACTools/speechmarkdown-rust/releases/download/v0.4.9/SpeechMarkdownRust.xcframework.zip
Downloading binary artifact https://github.com/willwade/sherpa-onnx-spm/releases/download/1.13.2/sherpa-onnx.xcframework.zip
[16375/65317994] Downloading https://github.com/willwade/sherpa-onnx-spm/releases/download/1.13.2/onnxruntime.xcframework.zip
[22336665/93847989] Downloading https://github.com/willwade/sherpa-onnx-spm/releases/download/1.13.2/onnxruntime.xcframework.zip, https://github.com/willwade/sherpa-onnx-spm/releases/download/1.13.2/sherpa-onnx.xcframework.zip
[22368582/155008454] Downloading https://github.com/willwade/sherpa-onnx-spm/releases/download/1.13.2/onnxruntime.xcframework.zip, https://github.com/willwade/sherpa-onnx-spm/releases/download/1.13.2/sherpa-onnx.xcframework.zip, https://github.com/AACTools/speechmarkdown-rust/releases/download/v0.4.9/SpeechMarkdownRust.xcframework.zip
Downloaded https://github.com/willwade/sherpa-onnx-spm/releases/download/1.13.2/sherpa-onnx.xcframework.zip (1.94s)
Downloaded https://github.com/AACTools/speechmarkdown-rust/releases/download/v0.4.9/SpeechMarkdownRust.xcframework.zip (2.82s)
Downloaded https://github.com/willwade/sherpa-onnx-spm/releases/download/1.13.2/onnxruntime.xcframework.zip (3.69s)
Build complete.
{
"dependencies" : [
{
"identity" : "sherpa-onnx-spm",
"requirement" : {
"range" : [
{
"lower_bound" : "1.13.14",
"upper_bound" : "1.14.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/willwade/sherpa-onnx-spm.git"
},
{
"identity" : "speechmarkdown-rust",
"requirement" : {
"range" : [
{
"lower_bound" : "0.4.9",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/AACTools/speechmarkdown-rust"
}
],
"manifest_display_name" : "SwiftTTSWrapper",
"name" : "SwiftTTSWrapper",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "ios",
"version" : "16.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "SwiftTTSWrapper",
"targets" : [
"SwiftTTSWrapper"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SwiftTTSWrapperSherpaOnnx",
"targets" : [
"SwiftTTSWrapperSherpaOnnx"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftTTSWrapperTests",
"module_type" : "SwiftTarget",
"name" : "SwiftTTSWrapperTests",
"path" : "Tests/SwiftTTSWrapperTests",
"sources" : [
"SwiftTTSWrapperTests.swift"
],
"target_dependencies" : [
"SwiftTTSWrapper"
],
"type" : "test"
},
{
"c99name" : "SwiftTTSWrapperSherpaOnnx",
"module_type" : "SwiftTarget",
"name" : "SwiftTTSWrapperSherpaOnnx",
"path" : "Sources/SwiftTTSWrapperSherpaOnnx",
"product_dependencies" : [
"SherpaOnnx"
],
"product_memberships" : [
"SwiftTTSWrapperSherpaOnnx"
],
"sources" : [
"SherpaOnnxDefaultEngine.swift"
],
"target_dependencies" : [
"SwiftTTSWrapper"
],
"type" : "library"
},
{
"c99name" : "SwiftTTSWrapper",
"module_type" : "SwiftTarget",
"name" : "SwiftTTSWrapper",
"path" : "Sources/SwiftTTSWrapper",
"product_dependencies" : [
"SpeechMarkdown"
],
"product_memberships" : [
"SwiftTTSWrapper",
"SwiftTTSWrapperSherpaOnnx"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwiftTTSWrapper/Resources/merged_models.json",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Engines/AzureTTSClient.swift",
"Engines/CartesiaTTSClient.swift",
"Engines/DeepgramTTSClient.swift",
"Engines/ElevenLabsTTSClient.swift",
"Engines/FishAudioTTSClient.swift",
"Engines/GoogleTTSClient.swift",
"Engines/HumeTTSClient.swift",
"Engines/MistralTTSClient.swift",
"Engines/ModelsLabTTSClient.swift",
"Engines/MurfTTSClient.swift",
"Engines/OpenAITTSClient.swift",
"Engines/PlayHTTTSClient.swift",
"Engines/PollyTTSClient.swift",
"Engines/ResembleTTSClient.swift",
"Engines/SherpaOnnxTTSClient.swift",
"Engines/SystemTTSClient.swift",
"Engines/UnrealSpeechTTSClient.swift",
"Engines/UpliftAITTSClient.swift",
"Engines/WatsonTTSClient.swift",
"Engines/WitAITTSClient.swift",
"Engines/XAITTSClient.swift",
"TTSClient.swift",
"TTSClientFactory.swift",
"Types.swift",
"Utils/AWSSigV4Signer.swift",
"Utils/ArchiveExtractor.swift",
"Utils/AudioPlayer.swift",
"Utils/SherpaOnnxEngine.swift",
"Utils/SherpaOnnxModelManager.swift",
"Utils/SherpaOnnxModels.swift",
"Utils/WordTimingEstimator.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.