The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Choir, reference main (2c8de8), with Swift 6.4 for Android on 27 Sep 2026 07:24:38 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344845-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/halalchristiano/Choir.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/halalchristiano/Choir
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 2c8de8a Add voice packs, consent for real-person voices, and faster transcription
Cloned https://github.com/halalchristiano/Choir.git
Revision (git rev-parse @):
2c8de8affcda6811dff9603419413059dc0616d9
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/halalchristiano/Choir.git at main
========================================
Build
========================================
Selected platform:         android
Swift version:             6.4
Building package at path:  $PWD
https://github.com/halalchristiano/Choir.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:abadcff584c273feba50641b454858d377ba30b35ea7287a94f45ebd8afd0ea0
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Building for debugging...
[Pre-planning 1 / 124]
[Starting]
[39 / 51] Choir
error: SwiftCompile normal aarch64 /host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift failed with a nonzero exit code. Command line:     cd /host
    builtin-SwiftPerFileCompile Vocoder.swift
/host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift:197:36: error: no exact matches in call to global function 'exp'
195 |                 // Exponential scaling to approximate inverse Mel
196 |                 let linearValue = Float(frequency / 4000.0)
197 |                 linearFrame.append(exp(linearValue))
    |                                    `- error: no exact matches in call to global function 'exp'
198 |             }
199 |
Foundation.exp:1:13: note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
1 | public func exp(_ x: CGFloat) -> CGFloat
  |             `- note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/math.h:128:8: note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
126 | long double tanhl(long double __x);
127 |
128 | double exp(double __x);
    |        `- note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
129 | float expf(float __x);
130 | long double expl(long double __x);
/host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift:197:29: error: no exact matches in call to instance method 'append'
195 |                 // Exponential scaling to approximate inverse Mel
196 |                 let linearValue = Float(frequency / 4000.0)
197 |                 linearFrame.append(exp(linearValue))
    |                             `- error: no exact matches in call to instance method 'append'
198 |             }
199 |
Swift.Array.append:2:33: note: candidate expects value of type 'Float' for parameter #1 (got 'CGFloat')
1 | generic struct Array {
2 | @inlinable public mutating func append(_ newElement: __owned Element)}
  |                                 `- note: candidate expects value of type 'Float' for parameter #1 (got 'CGFloat')
3 |
Swift.RangeReplaceableCollection.append:2:33: note: candidate expects value of type 'Float' for parameter #1 (got 'CGFloat')
1 | protocol RangeReplaceableCollection {
2 | @inlinable public mutating func append(_ newElement: __owned Self.Element)}
  |                                 `- note: candidate expects value of type 'Float' for parameter #1 (got 'CGFloat')
3 |
/host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift:218:55: error: binary operator '*' cannot be applied to operands of type 'Float' and 'CGFloat'
216 |                 let phaseIndex = (frameIndex &* 131 &+ binIndex &* 197) % 1024
217 |                 let phase = Float(phaseIndex) / 1024 * 2 * .pi
218 |                 let complex = Complex(real: magnitude * cos(phase), imag: magnitude * sin(phase))
    |                                                       |- error: binary operator '*' cannot be applied to operands of type 'Float' and 'CGFloat'
    |                                                       `- note: overloads for '*' exist with these partially matching parameter lists: (Float, Float)
219 |                 complexFrame.append(complex)
220 |             }
/host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift:218:57: error: no exact matches in call to global function 'cos'
216 |                 let phaseIndex = (frameIndex &* 131 &+ binIndex &* 197) % 1024
217 |                 let phase = Float(phaseIndex) / 1024 * 2 * .pi
218 |                 let complex = Complex(real: magnitude * cos(phase), imag: magnitude * sin(phase))
    |                                                         `- error: no exact matches in call to global function 'cos'
219 |                 complexFrame.append(complex)
220 |             }
Foundation.cos:1:13: note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
1 | public func cos(_ x: CGFloat) -> CGFloat
  |             `- note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/math.h:92:8: note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
 90 | long double atan2l(long double __y, long double __x);
 91 |
 92 | double cos(double __x);
    |        `- note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
 93 | float cosf(float __x);
 94 | long double cosl(long double __x);
/host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift:218:87: error: no exact matches in call to global function 'sin'
216 |                 let phaseIndex = (frameIndex &* 131 &+ binIndex &* 197) % 1024
217 |                 let phase = Float(phaseIndex) / 1024 * 2 * .pi
218 |                 let complex = Complex(real: magnitude * cos(phase), imag: magnitude * sin(phase))
    |                                                                                       `- error: no exact matches in call to global function 'sin'
219 |                 complexFrame.append(complex)
220 |             }
Foundation.sin:1:13: note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
1 | public func sin(_ x: CGFloat) -> CGFloat
  |             `- note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/math.h:96:8: note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
 94 | long double cosl(long double __x);
 95 |
 96 | double sin(double __x);
    |        `- note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
 97 | float sinf(float __x);
 98 | long double sinl(long double __x);
/host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift:218:85: error: binary operator '*' cannot be applied to operands of type 'Float' and 'CGFloat'
216 |                 let phaseIndex = (frameIndex &* 131 &+ binIndex &* 197) % 1024
217 |                 let phase = Float(phaseIndex) / 1024 * 2 * .pi
218 |                 let complex = Complex(real: magnitude * cos(phase), imag: magnitude * sin(phase))
    |                                                                                     |- error: binary operator '*' cannot be applied to operands of type 'Float' and 'CGFloat'
    |                                                                                     `- note: overloads for '*' exist with these partially matching parameter lists: (Float, Float)
219 |                 complexFrame.append(complex)
220 |             }
/host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift:236:41: error: binary operator '*' cannot be applied to operands of type 'Float' and 'CGFloat'
234 |                     let blendedPhase = current.phase * 0.75 + previous.phase * 0.25
235 |                     complexSpec[frameIndex][binIndex] = Complex(
236 |                         real: magnitude * cos(blendedPhase),
    |                                         |- error: binary operator '*' cannot be applied to operands of type 'Float' and 'CGFloat'
    |                                         `- note: overloads for '*' exist with these partially matching parameter lists: (Float, Float)
237 |                         imag: magnitude * sin(blendedPhase))
238 |                 }
/host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift:237:41: error: binary operator '*' cannot be applied to operands of type 'Float' and 'CGFloat'
235 |                     complexSpec[frameIndex][binIndex] = Complex(
236 |                         real: magnitude * cos(blendedPhase),
237 |                         imag: magnitude * sin(blendedPhase))
    |                                         |- error: binary operator '*' cannot be applied to operands of type 'Float' and 'CGFloat'
    |                                         `- note: overloads for '*' exist with these partially matching parameter lists: (Float, Float)
238 |                 }
239 |             }
/host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift:237:43: error: no exact matches in call to global function 'sin'
235 |                     complexSpec[frameIndex][binIndex] = Complex(
236 |                         real: magnitude * cos(blendedPhase),
237 |                         imag: magnitude * sin(blendedPhase))
    |                                           `- error: no exact matches in call to global function 'sin'
238 |                 }
239 |             }
Foundation.sin:1:13: note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
1 | public func sin(_ x: CGFloat) -> CGFloat
  |             `- note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/math.h:96:8: note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
 94 | long double cosl(long double __x);
 95 |
 96 | double sin(double __x);
    |        `- note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
 97 | float sinf(float __x);
 98 | long double sinl(long double __x);
/host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift:236:43: error: no exact matches in call to global function 'cos'
234 |                     let blendedPhase = current.phase * 0.75 + previous.phase * 0.25
235 |                     complexSpec[frameIndex][binIndex] = Complex(
236 |                         real: magnitude * cos(blendedPhase),
    |                                           `- error: no exact matches in call to global function 'cos'
237 |                         imag: magnitude * sin(blendedPhase))
238 |                 }
Foundation.cos:1:13: note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
1 | public func cos(_ x: CGFloat) -> CGFloat
  |             `- note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/math.h:92:8: note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
 90 | long double atan2l(long double __y, long double __x);
 91 |
 92 | double cos(double __x);
    |        `- note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
 93 | float cosf(float __x);
 94 | long double cosl(long double __x);
/host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift:389:38: error: no exact matches in call to global function 'cos'
387 |         while length <= count {
388 |             let angle = (inverse ? 2 : -2) * Float.pi / Float(length)
389 |             let root = Complex(real: cos(angle), imag: sin(angle))
    |                                      `- error: no exact matches in call to global function 'cos'
390 |             let half = length / 2
391 |             var start = 0
Foundation.cos:1:13: note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
1 | public func cos(_ x: CGFloat) -> CGFloat
  |             `- note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/math.h:92:8: note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
 90 | long double atan2l(long double __y, long double __x);
 91 |
 92 | double cos(double __x);
    |        `- note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
 93 | float cosf(float __x);
 94 | long double cosl(long double __x);
/host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift:389:56: error: no exact matches in call to global function 'sin'
387 |         while length <= count {
388 |             let angle = (inverse ? 2 : -2) * Float.pi / Float(length)
389 |             let root = Complex(real: cos(angle), imag: sin(angle))
    |                                                        `- error: no exact matches in call to global function 'sin'
390 |             let half = length / 2
391 |             var start = 0
Foundation.sin:1:13: note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
1 | public func sin(_ x: CGFloat) -> CGFloat
  |             `- note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/math.h:96:8: note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
 94 | long double cosl(long double __x);
 95 |
 96 | double sin(double __x);
    |        `- note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
 97 | float sinf(float __x);
 98 | long double sinl(long double __x);
/host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift:431:9: error: cannot convert return expression of type 'Double' to return type 'Float'
429 |
430 |     var magnitude: Float {
431 |         sqrt(real * real + imag * imag)
    |         `- error: cannot convert return expression of type 'Double' to return type 'Float'
432 |     }
433 |
/host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift:431:26: error: cannot convert value of type 'Float' to expected argument type 'Double'
429 |
430 |     var magnitude: Float {
431 |         sqrt(real * real + imag * imag)
    |                          `- error: cannot convert value of type 'Float' to expected argument type 'Double'
432 |     }
433 |
/host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift:435:9: error: no exact matches in call to global function 'atan2'
433 |
434 |     var phase: Float {
435 |         atan2(imag, real)
    |         |- error: no exact matches in call to global function 'atan2'
    |         `- note: candidate has partially matching parameter list (CGFloat, CGFloat)
436 |     }
437 | }
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/math.h:88:8: note: candidate has partially matching parameter list (Double, Double)
 86 | long double atanl(long double __x);
 87 |
 88 | double atan2(double __y, double __x);
    |        `- note: candidate has partially matching parameter list (Double, Double)
 89 | float atan2f(float __y, float __x);
 90 | long double atan2l(long double __y, long double __x);
/host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift:435:9: error: no 'atan2' candidates produce the expected contextual result type 'Float'
433 |
434 |     var phase: Float {
435 |         atan2(imag, real)
    |         `- error: no 'atan2' candidates produce the expected contextual result type 'Float'
436 |     }
437 | }
Foundation.atan2:1:13: note: 'atan2' produces 'CGFloat', not the expected contextual result type 'Float'
1 | public func atan2(_ lhs: CGFloat, _ rhs: CGFloat) -> CGFloat
  |             `- note: 'atan2' produces 'CGFloat', not the expected contextual result type 'Float'
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/math.h:88:8: note: 'atan2' produces 'Double', not the expected contextual result type 'Float'
 86 | long double atanl(long double __x);
 87 |
 88 | double atan2(double __y, double __x);
    |        `- note: 'atan2' produces 'Double', not the expected contextual result type 'Float'
 89 | float atan2f(float __y, float __x);
 90 | long double atan2l(long double __y, long double __x);
Failed frontend command:
/root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/bin/swift-frontend -frontend -c /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/DerivedSources/resource_bundle_accessor.swift /host/spi-builder-workspace/Sources/Choir/API/ChoirTierOne.swift /host/spi-builder-workspace/Sources/Choir/AudioOutput/AudioBuffer.swift /host/spi-builder-workspace/Sources/Choir/AudioOutput/AudioEffectChain.swift /host/spi-builder-workspace/Sources/Choir/AudioOutput/AudioEncoder.swift /host/spi-builder-workspace/Sources/Choir/AudioOutput/AudioFilters.swift /host/spi-builder-workspace/Sources/Choir/AudioOutput/AudioMastering.swift /host/spi-builder-workspace/Sources/Choir/AudioOutput/FloatAudioBuffer.swift /host/spi-builder-workspace/Sources/Choir/AudioOutput/TimelineAudioExporter.swift /host/spi-builder-workspace/Sources/Choir/AudioOutput/VoiceQualityMetrics.swift /host/spi-builder-workspace/Sources/Choir/Benchmark/BenchmarkHarness.swift /host/spi-builder-workspace/Sources/Choir/Benchmark/ReferenceDevice.swift /host/spi-builder-workspace/Sources/Choir/Caching/AssetCache.swift /host/spi-builder-workspace/Sources/Choir/Caching/LazyAssetStore.swift /host/spi-builder-workspace/Sources/Choir/Caching/SynthesisAudioCache.swift /host/spi-builder-workspace/Sources/Choir/Choir.swift /host/spi-builder-workspace/Sources/Choir/Core/Errors.swift /host/spi-builder-workspace/Sources/Choir/Core/SHA256.swift /host/spi-builder-workspace/Sources/Choir/Core/SynthesisParameters.swift /host/spi-builder-workspace/Sources/Choir/Core/Voice.swift /host/spi-builder-workspace/Sources/Choir/Core/VoiceBlending.swift /host/spi-builder-workspace/Sources/Choir/Demo/ChoirDemo.swift /host/spi-builder-workspace/Sources/Choir/Formant/FormantAcousticModel.swift /host/spi-builder-workspace/Sources/Choir/Formant/FormantSynthesis.swift /host/spi-builder-workspace/Sources/Choir/Formant/FormantTable.swift /host/spi-builder-workspace/Sources/Choir/Formant/FormantVocoder.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/BuiltInLexicon.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/G2PDiagnostics.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/G2PErrorAnalysis.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/G2PEvaluation.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/Heteronyms.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/LinguisticFrontend.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/NumberSpelling.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/Phoneme.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/PhonemeInventory.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/Phonemizer.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/PronunciationDictionary.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/SSMLCParser.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/ScriptureNormalizer.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/SentenceSegmenter.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/StressAssignment.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/StressPredictor.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/TextExpansions.swift -primary-file /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/TextNormalizer.swift -primary-file /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/TheologicalLexicon.swift -primary-file /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/UserLexicon.swift -primary-file /host/spi-builder-workspace/Sources/Choir/Models/AcousticModel.swift -primary-file /host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift -primary-file /host/spi-builder-workspace/Sources/Choir/Models/VoicePack.swift -primary-file /host/spi-builder-workspace/Sources/Choir/NaturalLanguage/ContextualSpeechPlanner.swift -primary-file /host/spi-builder-workspace/Sources/Choir/Prosody/ProsodyFeatures.swift /host/spi-builder-workspace/Sources/Choir/Prosody/ProsodyPredictor.swift /host/spi-builder-workspace/Sources/Choir/Prosody/ToBI.swift /host/spi-builder-workspace/Sources/Choir/Quality/HarvardSentences.swift /host/spi-builder-workspace/Sources/Choir/Quality/IntelligibilityHarness.swift /host/spi-builder-workspace/Sources/Choir/Quality/ListeningEvaluation.swift /host/spi-builder-workspace/Sources/Choir/Quality/TranscriptionScoring.swift /host/spi-builder-workspace/Sources/Choir/Synthesis/Cancellation.swift /host/spi-builder-workspace/Sources/Choir/Synthesis/RealTimeController.swift /host/spi-builder-workspace/Sources/Choir/Synthesis/SeededGenerator.swift /host/spi-builder-workspace/Sources/Choir/Synthesis/SynthesisEngine.swift /host/spi-builder-workspace/Sources/Choir/Synthesis/SynthesisInput.swift /host/spi-builder-workspace/Sources/Choir/Synthesis/SynthesisMetadata.swift /host/spi-builder-workspace/Sources/Choir/Synthesis/SynthesisPipeline.swift /host/spi-builder-workspace/Sources/Choir/Synthesis/SynthesisSession.swift /host/spi-builder-workspace/Sources/Choir/VoiceSynthesis/SampleVoice.swift /host/spi-builder-workspace/Sources/Choir/VoiceSynthesis/SimpleSynthesizer.swift -supplementary-output-file-map /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/supplementaryOutputs-6 -target aarch64-unknown-linux-android28 -Xllvm -aarch64-use-tbi -disable-objc-interop -sdk /android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot -sysroot /android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot -I /host/spi-builder-workspace/.build/out/Products/Debug-android-aarch64 -module-cache-path /host/spi-builder-workspace/.build/out/ModuleCache.noindex -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_AVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -external-plugin-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/lib/swift/host/plugins/testing\#/root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/bin/swift-plugin-server -validate-clang-modules-once -clang-build-session-file /host/spi-builder-workspace/.build/out/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /host -resource-dir /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_android.artifactbundle/swift-android/swift-resources/usr/lib/swift-aarch64 -enable-anonymous-context-mangled-names -file-compilation-dir /host -Xcc -resource-dir -Xcc /android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/lib/clang/18 -Xcc -fno-omit-frame-pointer -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/host/spi-builder-workspace/.build/out/Products/Debug-android-aarch64/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/DerivedSources-normal/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/DerivedSources/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Choir -package-name spi_builder_workspace -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/Choir_const_extract_protocols.json -in-process-plugin-server-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/lib/swift/host/plugins -plugin-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/local/lib/swift/host/plugins -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/TextNormalizer.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/TheologicalLexicon.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/UserLexicon.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/AcousticModel.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/Vocoder.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/VoicePack.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/ContextualSpeechPlanner.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/ProsodyFeatures.o -index-unit-output-path /Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/TextNormalizer.o -index-unit-output-path /Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/TheologicalLexicon.o -index-unit-output-path /Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/UserLexicon.o -index-unit-output-path /Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/AcousticModel.o -index-unit-output-path /Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/Vocoder.o -index-unit-output-path /Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/VoicePack.o -index-unit-output-path /Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/ContextualSpeechPlanner.o -index-unit-output-path /Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/ProsodyFeatures.o -index-store-path /host/spi-builder-workspace/.build/out -index-system-modules
error: SwiftCompile normal aarch64 /host/spi-builder-workspace/Sources/Choir/VoiceSynthesis/SampleVoice.swift failed with a nonzero exit code. Command line:     cd /host
    builtin-SwiftPerFileCompile SampleVoice.swift
/host/spi-builder-workspace/Sources/Choir/VoiceSynthesis/SampleVoice.swift:318:29: error: cannot convert value of type 'Float' to expected argument type 'Double'
316 |             let t = Float(i) / Float(safeSampleRate)
317 |             let phase = 2.0 * .pi * frequency * t
318 |             let value = sin(phase) * 0.5  // 0.5 amplitude for headroom
    |                             `- error: cannot convert value of type 'Float' to expected argument type 'Double'
319 |             samples.append(Int16(value * 32767.0))
320 |         }
Failed frontend command:
/root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/bin/swift-frontend -frontend -c /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/DerivedSources/resource_bundle_accessor.swift /host/spi-builder-workspace/Sources/Choir/API/ChoirTierOne.swift /host/spi-builder-workspace/Sources/Choir/AudioOutput/AudioBuffer.swift /host/spi-builder-workspace/Sources/Choir/AudioOutput/AudioEffectChain.swift /host/spi-builder-workspace/Sources/Choir/AudioOutput/AudioEncoder.swift /host/spi-builder-workspace/Sources/Choir/AudioOutput/AudioFilters.swift /host/spi-builder-workspace/Sources/Choir/AudioOutput/AudioMastering.swift /host/spi-builder-workspace/Sources/Choir/AudioOutput/FloatAudioBuffer.swift /host/spi-builder-workspace/Sources/Choir/AudioOutput/TimelineAudioExporter.swift /host/spi-builder-workspace/Sources/Choir/AudioOutput/VoiceQualityMetrics.swift /host/spi-builder-workspace/Sources/Choir/Benchmark/BenchmarkHarness.swift /host/spi-builder-workspace/Sources/Choir/Benchmark/ReferenceDevice.swift /host/spi-builder-workspace/Sources/Choir/Caching/AssetCache.swift /host/spi-builder-workspace/Sources/Choir/Caching/LazyAssetStore.swift /host/spi-builder-workspace/Sources/Choir/Caching/SynthesisAudioCache.swift /host/spi-builder-workspace/Sources/Choir/Choir.swift /host/spi-builder-workspace/Sources/Choir/Core/Errors.swift /host/spi-builder-workspace/Sources/Choir/Core/SHA256.swift /host/spi-builder-workspace/Sources/Choir/Core/SynthesisParameters.swift /host/spi-builder-workspace/Sources/Choir/Core/Voice.swift /host/spi-builder-workspace/Sources/Choir/Core/VoiceBlending.swift /host/spi-builder-workspace/Sources/Choir/Demo/ChoirDemo.swift /host/spi-builder-workspace/Sources/Choir/Formant/FormantAcousticModel.swift /host/spi-builder-workspace/Sources/Choir/Formant/FormantSynthesis.swift /host/spi-builder-workspace/Sources/Choir/Formant/FormantTable.swift /host/spi-builder-workspace/Sources/Choir/Formant/FormantVocoder.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/BuiltInLexicon.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/G2PDiagnostics.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/G2PErrorAnalysis.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/G2PEvaluation.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/Heteronyms.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/LinguisticFrontend.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/NumberSpelling.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/Phoneme.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/PhonemeInventory.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/Phonemizer.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/PronunciationDictionary.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/SSMLCParser.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/ScriptureNormalizer.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/SentenceSegmenter.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/StressAssignment.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/StressPredictor.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/TextExpansions.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/TextNormalizer.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/TheologicalLexicon.swift /host/spi-builder-workspace/Sources/Choir/LinguisticFrontend/UserLexicon.swift /host/spi-builder-workspace/Sources/Choir/Models/AcousticModel.swift /host/spi-builder-workspace/Sources/Choir/Models/Vocoder.swift /host/spi-builder-workspace/Sources/Choir/Models/VoicePack.swift /host/spi-builder-workspace/Sources/Choir/NaturalLanguage/ContextualSpeechPlanner.swift /host/spi-builder-workspace/Sources/Choir/Prosody/ProsodyFeatures.swift /host/spi-builder-workspace/Sources/Choir/Prosody/ProsodyPredictor.swift /host/spi-builder-workspace/Sources/Choir/Prosody/ToBI.swift /host/spi-builder-workspace/Sources/Choir/Quality/HarvardSentences.swift /host/spi-builder-workspace/Sources/Choir/Quality/IntelligibilityHarness.swift /host/spi-builder-workspace/Sources/Choir/Quality/ListeningEvaluation.swift /host/spi-builder-workspace/Sources/Choir/Quality/TranscriptionScoring.swift /host/spi-builder-workspace/Sources/Choir/Synthesis/Cancellation.swift /host/spi-builder-workspace/Sources/Choir/Synthesis/RealTimeController.swift -primary-file /host/spi-builder-workspace/Sources/Choir/Synthesis/SeededGenerator.swift -primary-file /host/spi-builder-workspace/Sources/Choir/Synthesis/SynthesisEngine.swift -primary-file /host/spi-builder-workspace/Sources/Choir/Synthesis/SynthesisInput.swift -primary-file /host/spi-builder-workspace/Sources/Choir/Synthesis/SynthesisMetadata.swift -primary-file /host/spi-builder-workspace/Sources/Choir/Synthesis/SynthesisPipeline.swift -primary-file /host/spi-builder-workspace/Sources/Choir/Synthesis/SynthesisSession.swift -primary-file /host/spi-builder-workspace/Sources/Choir/VoiceSynthesis/SampleVoice.swift -primary-file /host/spi-builder-workspace/Sources/Choir/VoiceSynthesis/SimpleSynthesizer.swift -supplementary-output-file-map /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/supplementaryOutputs-8 -target aarch64-unknown-linux-android28 -Xllvm -aarch64-use-tbi -disable-objc-interop -sdk /android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot -sysroot /android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot -I /host/spi-builder-workspace/.build/out/Products/Debug-android-aarch64 -module-cache-path /host/spi-builder-workspace/.build/out/ModuleCache.noindex -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_AVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -external-plugin-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/lib/swift/host/plugins/testing\#/root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/bin/swift-plugin-server -validate-clang-modules-once -clang-build-session-file /host/spi-builder-workspace/.build/out/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /host -resource-dir /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_android.artifactbundle/swift-android/swift-resources/usr/lib/swift-aarch64 -enable-anonymous-context-mangled-names -file-compilation-dir /host -Xcc -resource-dir -Xcc /android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/lib/clang/18 -Xcc -fno-omit-frame-pointer -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/host/spi-builder-workspace/.build/out/Products/Debug-android-aarch64/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/DerivedSources-normal/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/DerivedSources/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Choir -package-name spi_builder_workspace -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/Choir_const_extract_protocols.json -in-process-plugin-server-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/lib/swift/host/plugins -plugin-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/local/lib/swift/host/plugins -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/SeededGenerator.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/SynthesisEngine.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/SynthesisInput.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/SynthesisMetadata.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/SynthesisPipeline.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/SynthesisSession.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/SampleVoice.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/SimpleSynthesizer.o -index-unit-output-path /Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/SeededGenerator.o -index-unit-output-path /Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/SynthesisEngine.o -index-unit-output-path /Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/SynthesisInput.o -index-unit-output-path /Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/SynthesisMetadata.o -index-unit-output-path /Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/SynthesisPipeline.o -index-unit-output-path /Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/SynthesisSession.o -index-unit-output-path /Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/SampleVoice.o -index-unit-output-path /Choir.build/Debug-android-aarch64/Choir-t.build/Objects-normal/aarch64/SimpleSynthesizer.o -index-store-path /host/spi-builder-workspace/.build/out -index-system-modules
error: Build failed
BUILD FAILURE 6.4 android