Build Information
Successful build of MLXAudio, reference v0.1.7 (6fd938), with Swift 6.3 for macOS (SPM) on 29 Oct 2026 03:52:30 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Blaizzy/mlx-audio-swift.git
Reference: v0.1.7
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Blaizzy/mlx-audio-swift
* tag v0.1.7 -> FETCH_HEAD
HEAD is now at 6fd9386 Add MOSS-Music support (#313)
Cloned https://github.com/Blaizzy/mlx-audio-swift.git
Revision (git rev-parse @):
6fd938669e45412f5c35e011e7086ecd20397dbd
SUCCESS checkout https://github.com/Blaizzy/mlx-audio-swift.git at v0.1.7
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.3
Building package at path: $PWD
https://github.com/Blaizzy/mlx-audio-swift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun swift build --arch arm64
Building for debugging...
[0/252] Write sources
[2/252] Write mlx-audio-swift-lid-entitlement.plist
[2/252] Write sources
[4/252] Write mlx-audio-swift-tts-entitlement.plist
[4/252] Copying gpt2_tokenizer_config.json
[5/252] Write mlx-audio-swift-stt-entitlement.plist
[5/252] Write sources
[9/252] Copying t5_tokenizer_config.json
[9/252] Write mlx-audio-swift-sts-entitlement.plist
[11/252] Copying PrivacyInfo.xcprivacy
[12/252] Write sources
[12/252] Write mlx-audio-swift-codec-entitlement.plist
[14/252] Write sources
[40/252] Compiling _NumericsShims _NumericsShims.c
[41/252] Compiling version.cpp
[42/252] Write swift-version-69A768CDF2A0BEE1.txt
[43/252] Compiling yyjson.c
[44/252] Compiling utils.cpp
[45/252] Compiling memory.cpp
[45/252] Compiling stream.cpp
[47/263] Compiling scheduler.cpp
[49/383] Compiling RealModule Float80+Real.swift
[50/383] Compiling RealModule RealFunctions.swift
[51/383] Compiling RealModule Real.swift
[52/384] Compiling RealModule Float16+Real.swift
[53/384] Compiling RealModule ElementaryFunctions.swift
[54/384] Compiling RealModule Float+Real.swift
[55/384] Compiling RealModule AugmentedArithmetic.swift
[56/384] Compiling Crypto AES-GCM.swift
[57/384] Compiling Crypto AES-GCM_boring.swift
[58/384] Emitting module RealModule
[59/384] Compiling RealModule Double+Real.swift
[60/384] Compiling RealModule RelaxedArithmetic.swift
[61/384] Compiling Crypto ASN1Integer.swift
[62/384] Compiling Crypto ASN1Null.swift
[63/384] Compiling Crypto ASN1OctetString.swift
[66/384] Compiling Crypto ChaChaPoly_boring.swift
[67/387] Compiling Crypto ChaChaPoly.swift
[68/387] Compiling Crypto Cipher.swift
[69/387] Compiling Crypto Nonces.swift
[70/387] Compiling Crypto ASN1Strings.swift
[71/387] Compiling Crypto ArraySliceBigint.swift
[72/387] Compiling Crypto GeneralizedTime.swift
[73/387] Emitting module InternalCollectionsUtilities
[74/387] Compiling InternalCollectionsUtilities UnsafeRawBufferPointer+Extras.swift
[75/387] Compiling InternalCollectionsUtilities _SortedCollection.swift
[76/387] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[77/387] Compiling Crypto ASN1.swift
[78/387] Compiling Crypto ASN1Any.swift
[79/387] Compiling Crypto ASN1BitString.swift
[80/387] Compiling Crypto ASN1Boolean.swift
[81/387] Compiling Crypto HPKE-NIST-EC-KEMs.swift
[82/387] Compiling Crypto HPKE-KEM.swift
[83/387] Compiling Crypto Insecure_HashFunctions.swift
[84/387] Compiling Crypto MLKEM_boring.swift
[85/387] Compiling Crypto ASN1Identifier.swift
[86/387] Compiling Crypto HPKE-Errors.swift
[87/387] Compiling Crypto HPKE.swift
[88/387] Compiling Crypto HPKE-Context.swift
[89/387] Compiling Crypto HPKE-KeySchedule.swift
[90/387] Compiling Crypto HPKE-Modes.swift
[91/387] Compiling Crypto Insecure.swift
[91/387] Compiling linalg.cpp
[92/398] Compiling random.cpp
[94/456] Compiling ComplexModule Complex+IntegerLiteral.swift
[95/456] Compiling ComplexModule Complex+StringConvertible.swift
[96/456] Compiling ComplexModule Complex.swift
[97/456] Compiling ComplexModule Complex+Numeric.swift
[98/456] Compiling ComplexModule Polar.swift
[99/457] Compiling ComplexModule Complex+Hashable.swift
[100/457] Compiling ComplexModule Scale.swift
[101/457] Emitting module ComplexModule
[102/457] Compiling ComplexModule Complex+Codable.swift
[103/457] Compiling ComplexModule Complex+ElementaryFunctions.swift
[104/457] Compiling OrderedCollections OrderedSet+Partial SetAlgebra symmetricDifference.swift
[105/457] Compiling OrderedCollections OrderedSet+Partial SetAlgebra union.swift
[106/457] Compiling OrderedCollections OrderedSet+CustomReflectable.swift
[107/457] Compiling OrderedCollections OrderedSet+Descriptions.swift
[108/457] Compiling OrderedCollections OrderedSet+Diffing.swift
[109/457] Compiling OrderedCollections OrderedSet+Equatable.swift
[110/457] Compiling OrderedCollections OrderedSet+ExpressibleByArrayLiteral.swift
[111/457] Compiling OrderedCollections OrderedSet+Hashable.swift
[112/463] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formIntersection.swift
[113/463] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formSymmetricDifference.swift
[114/463] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formUnion.swift
[115/463] Compiling OrderedCollections OrderedSet+Partial SetAlgebra intersection.swift
[116/463] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isDisjoint.swift
[117/463] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isEqualSet.swift
[120/463] Compiling OrderedCollections OrderedSet+Partial SetAlgebra+Basics.swift
[121/463] Compiling OrderedCollections OrderedSet+RandomAccessCollection.swift
[122/463] Compiling OrderedCollections OrderedSet+ReserveCapacity.swift
[123/463] Compiling OrderedCollections OrderedSet+Sendable.swift
[124/463] Compiling OrderedCollections OrderedDictionary+Partial RangeReplaceableCollection.swift
[125/463] Compiling OrderedCollections OrderedDictionary+Sendable.swift
[126/463] Compiling OrderedCollections OrderedDictionary+Sequence.swift
[127/463] Compiling OrderedCollections OrderedDictionary+Values.swift
[128/463] Compiling OrderedCollections OrderedDictionary.swift
[129/463] Compiling OrderedCollections OrderedSet+Codable.swift
[130/463] Compiling OrderedCollections _Hashtable+Header.swift
[131/463] Compiling OrderedCollections OrderedDictionary+Codable.swift
[132/463] Compiling OrderedCollections OrderedDictionary+CustomReflectable.swift
[133/463] Compiling OrderedCollections OrderedDictionary+Deprecations.swift
[134/463] Compiling OrderedCollections OrderedDictionary+Descriptions.swift
[135/463] Compiling OrderedCollections OrderedDictionary+Elements.SubSequence.swift
[136/463] Compiling OrderedCollections OrderedDictionary+Elements.swift
[137/463] Compiling OrderedCollections _HashTable+Bucket.swift
[138/463] Compiling OrderedCollections _HashTable+BucketIterator.swift
[139/463] Compiling OrderedCollections _HashTable+Constants.swift
[140/463] Compiling OrderedCollections _HashTable+CustomStringConvertible.swift
[141/463] Compiling OrderedCollections _HashTable+Testing.swift
[142/463] Compiling OrderedCollections _HashTable+UnsafeHandle.swift
[143/463] Compiling OrderedCollections _HashTable.swift
[144/463] Compiling OrderedCollections OrderedSet+SubSequence.swift
[145/463] Compiling OrderedCollections OrderedSet+Testing.swift
[146/463] Compiling OrderedCollections OrderedSet+UnorderedView.swift
[147/463] Compiling OrderedCollections OrderedSet+UnstableInternals.swift
[148/463] Compiling OrderedCollections OrderedSet.swift
[149/463] Compiling OrderedCollections UnsafeBitset.swift
[150/463] Compiling OrderedCollections OrderedSet+Initializers.swift
[151/463] Compiling OrderedCollections OrderedSet+Insertions.swift
[152/463] Compiling OrderedCollections OrderedSet+Invariants.swift
[153/463] Compiling OrderedCollections OrderedSet+Move.swift
[154/463] Compiling OrderedCollections OrderedSet+Partial MutableCollection.swift
[155/463] Compiling OrderedCollections OrderedSet+Partial RangeReplaceableCollection.swift
[156/463] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSubset.swift
[157/463] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSuperset.swift
[158/463] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSubset.swift
[159/463] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSuperset.swift
[160/463] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtract.swift
[161/463] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtracting.swift
[162/463] Compiling OrderedCollections OrderedDictionary+Equatable.swift
[163/463] Compiling OrderedCollections OrderedDictionary+ExpressibleByDictionaryLiteral.swift
[164/463] Compiling OrderedCollections OrderedDictionary+Hashable.swift
[165/463] Compiling OrderedCollections OrderedDictionary+Initializers.swift
[166/463] Compiling OrderedCollections OrderedDictionary+Invariants.swift
[167/463] Compiling OrderedCollections OrderedDictionary+Move.swift
[168/463] Compiling OrderedCollections OrderedDictionary+Partial MutableCollection.swift
[168/463] Compiling transforms.cpp
[170/465] Emitting module Numerics
[171/465] Compiling Numerics Numerics.swift
[171/465] Compiling no_gguf.cpp
[173/465] Emitting module Crypto
[174/474] Emitting module OrderedCollections
[174/474] Compiling primitives.cpp
[175/489] Compiling graph_utils.cpp
[176/489] Compiling load.cpp
[178/489] Compiling Crypto PKCS8PrivateKey.swift
[179/489] Compiling Crypto SEC1PrivateKey.swift
[180/489] Compiling Crypto SubjectPublicKeyInfo.swift
[181/489] Compiling Crypto CryptoError_boring.swift
[182/489] Compiling Crypto CryptoKitErrors.swift
[183/489] Compiling Crypto Digest_boring.swift
[184/489] Compiling Crypto Digest.swift
[185/489] Compiling Crypto Digests.swift
[186/489] Compiling Crypto HashFunctions.swift
[187/489] Compiling Crypto HashFunctions_SHA2.swift
[188/489] Compiling Crypto RNG_boring.swift
[189/489] Compiling Crypto SafeCompare_boring.swift
[190/489] Compiling Crypto Zeroization_boring.swift
[191/489] Compiling Crypto _CryptoModuleAnchor.swift
[192/489] Compiling Crypto PrettyBytes.swift
[193/489] Compiling Crypto SafeCompare.swift
[194/489] Compiling Crypto SecureBytes.swift
[195/489] Compiling Crypto Zeroization.swift
[196/489] Compiling Crypto resource_bundle_accessor.swift
[222/489] Compiling Crypto NISTCurvesKeys_boring.swift
[223/489] Compiling Crypto X25519Keys_boring.swift
[224/489] Compiling Crypto Curve25519.swift
[225/489] Compiling Crypto Ed25519Keys.swift
[226/489] Compiling Crypto EdDSA_boring.swift
[227/489] Compiling Crypto MLDSA_boring.swift
[228/489] Compiling Crypto MLDSA_wrapper.swift
[229/489] Compiling Crypto ECDSA.swift
[230/489] Compiling Crypto Ed25519.swift
[231/489] Compiling Crypto MLDSA.swift
[232/489] Compiling Crypto Signature.swift
[233/489] Compiling Crypto CryptoKitErrors_boring.swift
[234/489] Compiling Crypto Optional+withUnsafeBytes_boring.swift
[235/489] Compiling Jinja Interpreter.swift
[236/489] Compiling Jinja JSON.swift
[237/489] Compiling Jinja Filters.swift
[238/489] Compiling Jinja Globals.swift
[239/489] Compiling Jinja AST.swift
[240/489] Compiling Jinja Error.swift
[241/489] Compiling Jinja Lexer.swift
[242/489] Compiling Jinja Macro.swift
[243/489] Compiling Jinja Parser.swift
[244/489] Compiling Jinja PropertyMembers.swift
[273/489] Compiling EventSource EventSource+AsyncHTTPClient.swift
[274/489] Compiling EventSource AsyncSequence+Events.swift
[275/489] Compiling EventSource AsyncEventsSequence.swift
[276/489] Emitting module EventSource
[277/489] Compiling EventSource EventSource.swift
[277/489] Compiling safetensors.cpp
[278/536] Compiling fft.cpp
[279/541] Compiling dtype_utils.cpp
[280/541] Compiling dtype.cpp
[281/541] Compiling ops.cpp
[282/541] Compiling utils.cpp
[283/541] Compiling fast.cpp
[285/541] Compiling Jinja Utilities.swift
[285/542] Compiling einsum.cpp
[287/542] Compiling Jinja Tests.swift
[288/542] Compiling Jinja Template.swift
[289/542] Compiling Jinja Token.swift
[290/542] Compiling HuggingFace Git.swift
[291/542] Compiling HuggingFace HubCache.swift
[292/542] Compiling HuggingFace HubClient+Organizations.swift
[293/542] Compiling HuggingFace HubClient+Pagination.swift
[294/542] Compiling HuggingFace HubClient+Papers.swift
[295/542] Compiling HuggingFace HubClient+Repos.swift
[296/542] Compiling HuggingFace HubClient+Spaces.swift
[297/542] Compiling HuggingFace HubClient+User.swift
[298/547] Compiling Jinja Value.swift
[299/547] Compiling HuggingFace HubClient.swift
[300/547] Compiling HuggingFace Model.swift
[301/547] Compiling HuggingFace OAuth.swift
[302/547] Compiling HuggingFace Organization.swift
[303/547] Compiling HuggingFace Pagination.swift
[304/547] Compiling HuggingFace Paper.swift
[305/547] Compiling HuggingFace Repo.swift
[306/547] Compiling HuggingFace ResourceGroup.swift
[307/547] Compiling HuggingFace Space.swift
[308/547] Compiling HuggingFace Tags.swift
[309/547] Compiling HuggingFace User.swift
[310/547] Compiling HuggingFace XetDownloadProgress.swift
[310/547] Compiling no_nccl.cpp
[311/547] Compiling device.cpp
[312/547] Compiling no_mpi.cpp
[313/547] Compiling primitives.cpp
[314/547] Compiling ops.cpp
[316/547] Compiling HuggingFace Discussion.swift
[317/547] Compiling HuggingFace File.swift
[318/547] Compiling HuggingFace AccessRequest.swift
[319/547] Compiling HuggingFace Billing.swift
[320/547] Compiling HuggingFace CommaSeparatedList.swift
[321/547] Compiling HuggingFace Dataset.swift
[322/547] Emitting module Jinja
[323/547] Compiling HuggingFace Bucket.swift
[324/547] Compiling HuggingFace Collection.swift
[324/547] Compiling distributed.cpp
[326/547] Compiling HuggingFace CacheLocationProvider.swift
[327/547] Compiling HuggingFace Data+Extensions.swift
[328/547] Compiling HuggingFace JSONDecoder+Extensions.swift
[329/547] Compiling HuggingFace URL+Extensions.swift
[330/547] Compiling HuggingFace URLSession+Linux.swift
[331/547] Compiling HuggingFace SpeechToText.swift
[332/547] Compiling HuggingFace TextToImage.swift
[333/547] Compiling HuggingFace TextToVideo.swift
[334/547] Compiling HuggingFace OAuthClient.swift
[335/547] Compiling HuggingFace TokenStorage.swift
[336/547] Compiling HuggingFace ChatCompletion.swift
[337/547] Compiling HuggingFace FeatureExtraction.swift
[338/547] Compiling HuggingFace InferenceClient.swift
[339/547] Compiling HuggingFace Message.swift
[340/547] Compiling HuggingFace Provider.swift
[341/547] Compiling HuggingFace FileLock.swift
[342/547] Compiling HuggingFace HTTPClient.swift
[343/547] Compiling HuggingFace MultipartBuilder.swift
[344/547] Compiling HuggingFace TokenProvider.swift
[345/547] Compiling HuggingFace Value.swift
[346/547] Emitting module HuggingFace
[346/547] Compiling utils.cpp
[347/547] Compiling unary.cpp
[353/547] Compiling HuggingFace HubClient+Buckets.swift
[354/547] Compiling HuggingFace HubClient+Collections.swift
[361/547] Compiling HuggingFace HubClient+Datasets.swift
[362/547] Compiling HuggingFace HubClient+Discussions.swift
[363/547] Compiling HuggingFace HubClient+Files.swift
[364/547] Compiling HuggingFace HubClient+Git.swift
[365/547] Compiling HuggingFace HubClient+Models.swift
[366/547] Compiling HuggingFace HubClient+OAuth.swift
[366/547] Compiling ternary.cpp
[367/547] Compiling softmax.cpp
[368/554] Compiling compile.cpp
[369/554] Compiling slicing.cpp
[370/554] Compiling sort.cpp
[371/554] Compiling export.cpp
[372/554] Compiling scan.cpp
[373/554] Compiling resident.cpp
[374/554] Compiling rope.cpp
[375/554] Compiling ring.cpp
[376/554] Compiling primitives.cpp
[377/554] Compiling reduce.cpp
[378/554] Compiling scaled_dot_product_attention.cpp
[379/554] Compiling quantized.cpp
[381/554] Compiling Hub resource_bundle_accessor.swift
[382/554] Compiling Hub YYJSONParser.swift
[382/554] Compiling metal.cpp
[383/554] Compiling normalization.cpp
[384/554] Compiling logsumexp.cpp
[386/554] Compiling Hub Hub.swift
[387/554] Compiling Hub BinaryDistinct.swift
[388/554] Compiling Hub Config.swift
[389/554] Emitting module Hub
[390/554] Compiling Hub HubApi.swift
[390/554] Compiling jit_kernels.cpp
[391/554] Compiling hadamard.cpp
[392/566] Compiling gated_delta_update.cpp
[393/566] Compiling matmul.cpp
[394/566] Compiling indexing.cpp
[396/566] Compiling Tokenizers Trie.swift
[397/567] Compiling Tokenizers UnigramTokenizer.swift
[398/567] Compiling Tokenizers TokenLattice.swift
[399/567] Compiling Tokenizers PreTokenizer.swift
[400/567] Compiling Tokenizers String+PreTokenization.swift
[401/567] Compiling Tokenizers PostProcessor.swift
[402/567] Compiling Tokenizers Normalizer.swift
[403/567] Compiling Tokenizers ByteEncoder.swift
[404/567] Compiling Tokenizers Decoder.swift
[405/567] Compiling Tokenizers Tokenizer.swift
[406/567] Emitting module Tokenizers
[407/567] Compiling Tokenizers BPETokenizer.swift
[408/567] Compiling Tokenizers BertTokenizer.swift
[408/567] Compiling fence.cpp
[409/567] Compiling event.cpp
[410/577] Compiling fft.cpp
[411/577] Compiling eval.cpp
[412/577] Compiling device_info.cpp
[413/577] Compiling distributed.cpp
[414/577] Compiling cross_entropy.cpp
[415/577] Compiling custom_kernel.cpp
[416/577] Compiling copy.cpp
[417/577] Compiling slicing.cpp
[419/577] Compiling Generation TopPLogitsWarper.swift
[420/577] Compiling Generation RepetitionPenaltyLogitsProcessor.swift
[421/577] Compiling Generation TemperatureLogitsWarper.swift
[422/577] Compiling Generation MinPLogitsWarper.swift
[423/577] Compiling Generation LogitsProcessor.swift
[424/577] Compiling Generation GenerationConfig.swift
[425/577] Compiling Generation TopKLogitsWarper.swift
[426/577] Compiling Generation Decoders.swift
[427/577] Emitting module Generation
[428/577] Compiling Generation Generation.swift
[428/577] Compiling threefry.cpp
[429/577] Compiling device.cpp
[430/581] Compiling conv.cpp
[431/581] Compiling allocator.cpp
[433/581] Compiling Models LanguageModelTypes.swift
[434/581] Compiling Models Weights.swift
[434/581] Compiling compiled.cpp
[435/581] Compiling no_cuda.cpp
[437/581] Emitting module Models
[438/581] Compiling Models LanguageModel.swift
[438/581] Compiling primitives.cpp
[439/581] Compiling binary.cpp
[440/581] Compiling copy.cpp
[441/581] Compiling softmax.cpp
[442/581] Compiling select.cpp
[443/581] Compiling primitives.cpp
[444/581] Compiling svd.cpp
[445/581] Compiling scan.cpp
[446/581] Compiling quantized.cpp
[447/581] Compiling qrf.cpp
[448/581] Compiling unary.cpp
[449/581] Compiling sort.cpp
[450/581] Compiling reduce.cpp
[451/581] Compiling matmul.cpp
[452/581] Compiling logsumexp.cpp
[453/581] Compiling hadamard.cpp
[454/581] Compiling luf.cpp
[455/581] Compiling masked_mm.cpp
[456/581] Compiling cblas.cpp
[457/581] Compiling bnns.cpp
[458/581] Compiling inverse.cpp
[459/581] Compiling device_info.cpp
[460/581] Compiling encoder.cpp
[461/581] Compiling eval.cpp
[462/581] Compiling fft.cpp
[463/581] Compiling distributed.cpp
[464/581] Compiling eigh.cpp
[465/581] Compiling utils.cpp
[466/581] Compiling slicing.cpp
[467/581] Compiling indexing.cpp
[468/581] Compiling arg_reduce.cpp
[469/581] Compiling eig.cpp
[470/581] Compiling cholesky.cpp
[471/581] Compiling conv.cpp
[472/581] Compiling utils.cpp
[473/581] Compiling unary_ops.cpp
[474/581] Compiling unary.cpp
[475/581] Compiling ternary_ops.cpp
[476/581] Compiling reduce.cpp
[477/581] Compiling ternary.cpp
[478/581] Compiling steel_gemm_thin_nax.cpp
[479/581] Compiling steel_gemm_splitk_nax.cpp
[480/581] Compiling steel_gemm_splitk.cpp
[481/581] Compiling steel_gemm_segmented_nax.cpp
[482/581] Compiling steel_gemm_masked.cpp
[483/581] Compiling steel_gemm_segmented.cpp
[484/581] Compiling steel_gemm_gather.cpp
[485/581] Compiling steel_gemm_gather_nax.cpp
[486/581] Compiling steel_gemm_fused.cpp
[487/581] Compiling steel_gemm_fused_nax.cpp
[488/581] Compiling steel_conv_3d.cpp
[489/581] Compiling steel_conv_general.cpp
[490/581] Compiling steel_attention_nax.cpp
[490/581] Compiling steel_conv.cpp
[492/581] Compiling sort.cpp
[493/581] Compiling steel_attention.cpp
[494/581] Compiling softmax.cpp
[495/581] Compiling searchsorted.cpp
[496/581] Compiling copy.cpp
[497/581] Compiling broadcasting.cpp
[498/581] Compiling scatter_axis.cpp
[499/581] Compiling scatter.cpp
[500/581] Compiling scan.cpp
[501/581] Compiling reduce_utils.cpp
[502/581] Compiling reduce.cpp
[503/581] Compiling quantized_utils.cpp
[504/581] Compiling quantized_nax.cpp
[505/581] Compiling quantized.cpp
[506/581] Compiling masked_scatter.cpp
[507/581] Compiling logsumexp.cpp
[508/581] Compiling hadamard.cpp
[509/581] Compiling gemv_masked.cpp
[510/581] Compiling gemm_nax.cpp
[511/581] Compiling gemv.cpp
[512/581] Compiling gemm.cpp
[513/581] Compiling gather_front.cpp
[514/581] Compiling load.cpp
[515/581] Compiling gather.cpp
[515/581] Compiling gather_axis.cpp
[517/581] Compiling gated_delta_update_nax_vjp.cpp
[518/581] Compiling gated_delta_update_nax.cpp
[519/581] Compiling fp_quantized_nax.cpp
[520/581] Compiling fft.cpp
[521/581] Compiling cross_entropy.cpp
[522/581] Compiling fp_quantized.cpp
[523/581] Compiling copy.cpp
[524/581] Compiling binary_ops.cpp
[525/581] Compiling compiled_preamble.cpp
[525/581] Compiling conv.cpp
[527/581] Compiling binary_two.cpp
[528/581] Compiling binary.cpp
[529/581] Compiling arange.cpp
[530/581] Compiling compiled.cpp
[531/581] Compiling common.cpp
[532/581] Compiling metal_kernel.cpp
[533/581] Compiling array.cpp
[534/581] Compiling jit_compiler_conditional.cpp
[535/581] Compiling version.cpp
[536/581] Compiling transforms_impl.cpp
[537/581] Compiling transforms.cpp
[538/581] Compiling string.cpp
[539/581] Compiling vector.cpp
[540/581] Compiling compiled_conditional.cpp
[541/581] Compiling stream.cpp
[542/581] Compiling random.cpp
[543/581] Compiling metal.cpp
[544/581] Compiling memory.cpp
[545/581] Compiling linalg.cpp
[546/581] Compiling map.cpp
[547/581] Compiling ops.cpp
[548/581] Compiling io_types.cpp
[549/581] Compiling error.cpp
[550/581] Compiling io.cpp
[551/581] Compiling binary.cpp
[552/581] Compiling graph_utils.cpp
[553/581] Compiling fft.cpp
[554/581] Compiling export.cpp
[555/581] Compiling distributed_group.cpp
[556/581] Compiling fast.cpp
[557/581] Compiling distributed.cpp
[558/581] Compiling device.cpp
[559/581] Compiling cuda.cpp
[560/581] Compiling format.cc
[561/581] Compiling compile.cpp
[562/581] Compiling Cmlx.m
[563/581] Compiling closure.cpp
[564/581] Compiling array.cpp
[565/581] Compiling jaccl_conditional.cpp
[567/624] Compiling MLX Transforms+Compile.swift
[568/624] Compiling MLX Transforms+CompileOverloads.swift
[569/624] Compiling MLX Transforms+Eval.swift
[570/624] Compiling MLX Transforms+Grad.swift
[571/628] Compiling MLX MLXFast.swift
[572/628] Compiling MLX MLXFastKernel.swift
[573/628] Compiling MLX MaterializedArray.swift
[574/628] Compiling MLX Memory.swift
[575/628] Compiling MLX Nested.swift
[576/628] Compiling MLX NestedArrayElement.swift
[577/628] Compiling MLX Ops+Array.swift
[578/628] Compiling MLX Ops.swift
[579/628] Compiling MLX ParameterTypes.swift
[580/628] Compiling MLX ArrayAt.swift
[581/628] Compiling MLX Cmlx+Util.swift
[582/628] Compiling MLX DType.swift
[583/628] Compiling MLX Device.swift
[584/628] Compiling MLX Distributed.swift
[585/628] Compiling MLX Transforms+Internal.swift
[586/628] Compiling MLX Transforms+Vmap.swift
[587/628] Compiling MLX Transforms.swift
[588/628] Compiling MLX WiredMemory.swift
[589/628] Compiling MLX ErrorHandler.swift
[590/628] Compiling MLX Export.swift
[591/628] Compiling MLX FFT.swift
[592/628] Compiling MLX Factory.swift
[593/628] Compiling MLX Foundation+Util.swift
[594/628] Emitting module MLX
[595/628] Compiling MLX GPU+Metal.swift
[596/628] Compiling MLX GraphUtils.swift
[597/628] Compiling MLX IO+Concurrent.swift
[598/628] Compiling MLX IO.swift
[599/628] Compiling MLX Linalg.swift
[600/628] Compiling MLX Protocols.swift
[601/628] Compiling MLX Random.swift
[602/628] Compiling MLX State.swift
[603/628] Compiling MLX Stream.swift
[604/628] Compiling MLX MLXArray+Normalizer.swift
[605/628] Compiling MLX MLXArray+Ops.swift
[606/628] Compiling MLX MLXArray+maskFill.swift
[607/628] Compiling MLX MLXArray.swift
[608/628] Compiling MLX MLXCustomFunction.swift
[609/628] Compiling MLX Logging.swift
[610/628] Compiling MLX MLXArray+Bytes.swift
[611/628] Compiling MLX MLXArray+Indexing.swift
[612/628] Compiling MLX MLXArray+Init.swift
[613/628] Compiling MLX MLXArray+Metal.swift
[614/654] Compiling MLXFast MLXFastKernel.swift
[615/654] Emitting module MLXFast
[616/654] Compiling MLXFast MLXFast.swift
[617/654] Compiling MLXFFT FFT.swift
[618/654] Emitting module MLXFFT
[619/654] Emitting module MLXRandom
[620/654] Compiling MLXRandom Random.swift
[621/654] Compiling MLXNN Recurrent.swift
[622/654] Compiling MLXNN Transformer.swift
[623/654] Compiling MLXNN PositionalEncoding.swift
[624/654] Compiling MLXNN Quantized.swift
[625/654] Compiling MLXNN Normalization.swift
[626/654] Compiling MLXNN Pooling.swift
[627/656] Compiling MLXNN MaterializedModule.swift
[628/656] Compiling MLXNN Module.swift
[629/656] Compiling MLXNN Linear.swift
[630/656] Compiling MLXNN Losses.swift
[631/656] Compiling MLXNN Dropout.swift
[632/656] Compiling MLXNN Embedding.swift
[633/656] Compiling MLXNN ConvolutionTransposed.swift
[634/656] Compiling MLXNN Distributed.swift
[635/656] Compiling MLXNN Containers.swift
[636/656] Compiling MLXNN Convolution.swift
[637/656] Compiling MLXNN Activations.swift
[638/656] Compiling MLXNN Cache.swift
[639/656] Emitting module MLXNN
[640/656] Compiling MLXNN Upsample.swift
[641/656] Compiling MLXNN ValueAndGrad.swift
[642/710] Compiling MLXAudioCore AttentionUtils.swift
[643/710] Compiling MLXAudioCore CacheCapabilities.swift
[644/710] Compiling MLXAudioCore CacheConfiguration.swift
[645/710] Compiling MLXAudioCore CacheFactory.swift
[646/710] Compiling MLXAudioCore KVCacheProtocol.swift
[647/710] Compiling MLXAudioCore KVCacheRuntime.swift
[648/710] Compiling MLXAudioCore KVCache.swift
[649/710] Compiling MLXAudioCore KVCacheConfiguration.swift
[650/710] Compiling MLXAudioCore KVCacheTree.swift
[651/710] Compiling MLXAudioCore MaterializedKVCache.swift
[652/712] Compiling MLXAudioCore GenerateParameters.swift
[653/712] Compiling MLXAudioCore GenerationTypes.swift
[654/712] Compiling MLXAudioCore AudioUtils.swift
[655/712] Compiling MLXAudioCore DSP.swift
[656/712] Emitting module MLXAudioG2P
[657/712] Compiling MLXAudioCore AudioPlayer.swift
[658/712] Compiling MLXAudioCore AudioSessionManager.swift
[659/712] Compiling MLXAudioCore TurboQuantKVCache.swift
[660/712] Compiling MLXAudioCore TurboQuantKernels.swift
[661/712] Compiling MLXAudioG2P Tokenizer.swift
[662/712] Compiling MLXAudioG2P Weights.swift
[663/712] Compiling MLXAudioCore ToolCallPolicy.swift
[664/712] Compiling MLXAudioCore ToolCallRecoveryPolicy.swift
[665/712] Compiling MLXAudioCore Compile.swift
[666/712] Compiling MLXAudioCore RoPEApplication.swift
[667/712] Compiling MLXAudioCore LLMModel.swift
[668/712] Compiling MLXAudioCore LanguageModel.swift
[669/712] Compiling MLXAudioCore LoRAModel.swift
[670/715] Compiling MLXAudioCore ModelSamplingOptions.swift
[671/715] Compiling MLXAudioCore Prefill.swift
[672/715] Compiling MLXAudioCore PrefillParameters.swift
[673/715] Compiling MLXAudioCore Sampling.swift
[674/715] Compiling MLXAudioCore Qwen2.swift
[675/715] Compiling MLXAudioCore WeightSanitization.swift
[676/715] Compiling MLXAudioCore ModelUtils.swift
[681/715] Compiling MLXAudioCore PCMStreamConverter.swift
[682/715] Compiling MLXAudioCore SendingBox.swift
[683/715] Compiling MLXAudioCore SentencePieceTokenizer.swift
[684/715] Emitting module MLXAudioCore
[701/775] Compiling MLXAudioVAD SortformerFeatures.swift
[702/775] Compiling MLXAudioVAD SpeechSegmenter.swift
[703/776] Compiling MLXAudioVAD VADOutput.swift
[704/776] Emitting module MLXAudioCodecs
[705/781] Compiling MLXAudioVAD SortformerConfig.swift
[706/781] Compiling MLXAudioVAD SmartTurnFeatures.swift
[707/781] Compiling MLXAudioVAD SmartTurnConfig.swift
[708/781] Compiling MLXAudioVAD SmartTurn.swift
[709/781] Compiling MLXAudioCodecs AudioCodecModel.swift
[710/781] Compiling MLXAudioCodecs AudioCodecs.swift
[711/781] Compiling MLXAudioVAD SileroVADConfig.swift
[712/781] Emitting module MLXAudioVAD
[713/781] Compiling MLXAudioVAD Sortformer.swift
[714/781] Compiling MLXAudioCodecs EncodecLayers.swift
[715/781] Compiling MLXAudioCodecs EncodecQuantization.swift
[716/781] Compiling MLXAudioCodecs FishS1DAC.swift
[717/781] Compiling MLXAudioCodecs FishS1DACConfig.swift
[718/781] Compiling MLXAudioCodecs FishS1DACLayers.swift
[719/781] Compiling MLXAudioCodecs MiMoAudioTokenizerConfig.swift
[720/781] Compiling MLXAudioCodecs MiMoAudioTokenizerLayers.swift
[721/781] Compiling MLXAudioCodecs Conv.swift
[722/781] Compiling MLXAudioCodecs Mimi.swift
[723/781] Compiling MLXAudioCodecs Quantization.swift
[724/781] Compiling MLXAudioCodecs FishS1DACQuantization.swift
[725/781] Compiling MLXAudioCodecs FishS1DACTransformer.swift
[726/781] Compiling MLXAudioCodecs HiggsAudioTokenizer.swift
[727/781] Compiling MLXAudioCodecs MiMoAudioTokenizer.swift
[728/781] Compiling MLXAudioCodecs MiMoAudioTokenizerAudio.swift
[731/781] Compiling MLXAudioCodecs BigVGAN.swift
[732/781] Compiling MLXAudioCodecs BigVGANConfig.swift
[733/781] Compiling MLXAudioCodecs BigVGANLayers.swift
[734/781] Compiling MLXAudioCodecs DACVAE.swift
[735/781] Compiling MLXAudioCodecs DescriptDACConfig.swift
[736/781] Compiling MLXAudioCodecs DescriptQuantization.swift
[737/781] Compiling MLXAudioCodecs EcapaTdnnBackbone.swift
[738/781] Compiling MLXAudioCodecs EcapaTdnnConfig.swift
[739/781] Compiling MLXAudioCodecs Encodec.swift
[740/781] Compiling MLXAudioCodecs EncodecConfig.swift
[741/781] Compiling MLXAudioCodecs HiFTGenerator.swift
[742/781] Compiling MLXAudioCodecs S3GenMel.swift
[743/781] Compiling MLXAudioCodecs StepAudio2.swift
[744/781] Compiling MLXAudioCodecs Attention.swift
[745/781] Compiling MLXAudioCodecs Config.swift
[746/781] Compiling MLXAudioCodecs Layers.swift
[747/781] Compiling MLXAudioCodecs SNACDecoder.swift
[748/781] Compiling MLXAudioCodecs VQ.swift
[749/781] Compiling MLXAudioCodecs Vocos.swift
[750/781] Compiling MLXAudioCodecs VocosBackbone.swift
[751/781] Compiling MLXAudioCodecs DACVAEConfig.swift
[752/781] Compiling MLXAudioCodecs DACVAEDecoder.swift
[753/781] Compiling MLXAudioCodecs DACVAEEncoder.swift
[754/781] Compiling MLXAudioCodecs DACVAELayers.swift
[755/781] Compiling MLXAudioCodecs DACVAEWatermark.swift
[756/781] Compiling MLXAudioCodecs DescriptDAC.swift
[757/781] Compiling MLXAudioCodecs Seanet.swift
[758/781] Compiling MLXAudioCodecs Transformer.swift
[759/781] Compiling MLXAudioCodecs MossAudioTokenizer.swift
[760/781] Compiling MLXAudioCodecs NemotronVoiceChatCodec.swift
[761/781] Compiling MLXAudioCodecs NemotronVoiceChatCodecConfig.swift
[762/781] Compiling MLXAudioCodecs NemotronVoiceChatCodecLoading.swift
[763/781] Compiling MLXAudioCodecs S3TokenizerV2.swift
[764/781] Compiling MLXAudioCodecs CAMPPlus.swift
[765/781] Compiling MLXAudioCodecs ConformerEncoder.swift
[766/781] Compiling MLXAudioCodecs FlowMatching.swift
[767/1029] Compiling MLXAudioLID EcapaMelSpectrogram.swift
[768/1029] Compiling MLXAudioLID Wav2Vec2Config.swift
[769/1029] Compiling MLXAudioLID EcapaTdnnLayers.swift
[770/1029] Compiling MLXAudioLID Wav2Vec2Layers.swift
[771/1029] Compiling MLXAudioLID EcapaTdnnLID.swift
[772/1029] Compiling MLXAudioLID EcapaTdnnConfig.swift
[773/1029] Compiling MLXAudioLID LIDOutput.swift
[774/1029] Emitting module MLXAudioLID
[775/1029] Compiling MLXAudioLID Wav2Vec2LID.swift
[776/1031] Emitting module mlx_audio_swift_codec
[777/1031] Compiling mlx_audio_swift_codec App.swift
[777/1031] Write Objects.LinkFileList
[779/1031] Emitting module mlx_audio_swift_lid
[780/1031] Compiling mlx_audio_swift_lid App.swift
[780/1031] Write Objects.LinkFileList
[782/1031] Emitting module MLXAudioSTT
[783/1043] Compiling MLXAudioTTS T3GPT2Model.swift
[784/1043] Compiling MLXAudioTTS T3Model.swift
[785/1043] Compiling MLXAudioTTS VoiceEncoder.swift
[786/1043] Compiling MLXAudioTTS LlamaTTSConfig.swift
[787/1043] Compiling MLXAudioTTS CSMLlamaModel.swift
[788/1043] Compiling MLXAudioSTT GraniteSpeech5CTCModel.swift
[789/1043] Compiling MLXAudioSTT GraniteSpeechNARConfig.swift
[790/1043] Compiling MLXAudioSTT GraniteSpeechNAREncoder.swift
[791/1043] Compiling MLXAudioSTT GraniteSpeechNARFrontend.swift
[792/1043] Compiling MLXAudioSTT GraniteSpeechNARModel.swift
[793/1043] Compiling MLXAudioSTT GraniteSpeechNARProjector.swift
[794/1043] Compiling MLXAudioSTT HiggsAudio3Config.swift
[795/1043] Compiling MLXAudioSTT ParakeetCTCLayers.swift
[796/1043] Compiling MLXAudioSTT ParakeetConfig.swift
[797/1043] Compiling MLXAudioSTT ParakeetConformer.swift
[798/1043] Compiling MLXAudioSTT ParakeetModel.swift
[799/1043] Compiling MLXAudioSTT ParakeetNemoAliases.swift
[800/1043] Compiling MLXAudioSTT ParakeetRedux.swift
[801/1043] Compiling MLXAudioSTT ParakeetTokenizer.swift
[802/1043] Compiling MLXAudioSTT Phonon2Config.swift
[803/1043] Compiling MLXAudioSTT Phonon2Model.swift
[804/1043] Compiling MLXAudioSTT Phonon2PackedLinear.swift
[805/1043] Compiling MLXAudioSTT Qwen2AudioConfig.swift
[806/1043] Compiling MLXAudioSTT VibeVoiceModel.swift
[807/1043] Compiling MLXAudioSTT VoxtralAudio.swift
[808/1043] Compiling MLXAudioSTT VoxtralConfig.swift
[809/1043] Compiling MLXAudioSTT VoxtralModel.swift
[810/1043] Compiling MLXAudioSTT VoxtralRealtime.swift
[811/1043] Compiling MLXAudioSTT VoxtralRealtimeAudio.swift
[812/1043] Compiling MLXAudioSTT VoxtralRealtimeConfig.swift
[813/1043] Compiling MLXAudioSTT VoxtralRealtimeDecoder.swift
[814/1043] Compiling MLXAudioSTT VoxtralRealtimeEncoder.swift
[815/1043] Compiling MLXAudioSTT VoxtralRealtimeStreamSession.swift
[816/1043] Compiling MLXAudioSTT VoxtralRealtimeTranscriptText.swift
[817/1043] Compiling MLXAudioSTT Wav2Vec2CTC.swift
[818/1043] Compiling MLXAudioSTT Wav2Vec2STTConfig.swift
[819/1043] Compiling MLXAudioSTT WhisperAudio.swift
[820/1043] Compiling MLXAudioSTT WhisperConfig.swift
[821/1043] Compiling MLXAudioSTT WhisperLayers.swift
[822/1043] Compiling MLXAudioSTT WhisperModel.swift
[823/1057] Emitting module MLXAudioTTS
[824/1057] Compiling MLXAudioSTT VibeVoiceConfig.swift
[825/1057] Compiling MLXAudioSTT MingBackbone.swift
[826/1057] Compiling MLXAudioSTT MingRecurrent.swift
[827/1057] Compiling MLXAudioSTT MoonshineConfig.swift
[828/1057] Compiling MLXAudioSTT MoonshineModel.swift
[829/1057] Compiling MLXAudioSTT MossMusicAudio.swift
[830/1057] Compiling MLXAudioSTT MossMusicConfig.swift
[831/1057] Compiling MLXAudioSTT MossMusicLoading.swift
[832/1057] Compiling MLXAudioSTT MossMusicModel.swift
[833/1057] Compiling MLXAudioSTT MossMusicText.swift
[834/1057] Compiling MLXAudioSTT MossMusicTokenizer.swift
[835/1057] Compiling MLXAudioSTT MossTranscribeDiarize.swift
[836/1057] Compiling MLXAudioSTT MossTranscribeDiarizeConfig.swift
[837/1057] Compiling MLXAudioSTT ParakeetAudio.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Voxtral/VoxtralModel.swift:162:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
160 | for _ in 0 ..< p.maxTokens {
161 | if Task.isCancelled { break }
162 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
163 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
164 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:46:17: warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
44 | let block = Self.growthBlock
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
| `- warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
48 | if count > 0, let oldKeys = keys, let oldValues = values {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:47:17: warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
| `- warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
48 | if count > 0, let oldKeys = keys, let oldValues = values {
49 | grownKeys[0..<count] = oldKeys[0..<count]
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Voxtral/VoxtralModel.swift:162:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
160 | for _ in 0 ..< p.maxTokens {
161 | if Task.isCancelled { break }
162 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
163 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
164 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:46:17: warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
44 | let block = Self.growthBlock
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
| `- warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
48 | if count > 0, let oldKeys = keys, let oldValues = values {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:47:17: warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
| `- warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
48 | if count > 0, let oldKeys = keys, let oldValues = values {
49 | grownKeys[0..<count] = oldKeys[0..<count]
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Voxtral/VoxtralModel.swift:162:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
160 | for _ in 0 ..< p.maxTokens {
161 | if Task.isCancelled { break }
162 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
163 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
164 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:46:17: warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
44 | let block = Self.growthBlock
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
| `- warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
48 | if count > 0, let oldKeys = keys, let oldValues = values {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:47:17: warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
| `- warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
48 | if count > 0, let oldKeys = keys, let oldValues = values {
49 | grownKeys[0..<count] = oldKeys[0..<count]
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Voxtral/VoxtralModel.swift:162:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
160 | for _ in 0 ..< p.maxTokens {
161 | if Task.isCancelled { break }
162 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
163 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
164 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:46:17: warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
44 | let block = Self.growthBlock
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
| `- warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
48 | if count > 0, let oldKeys = keys, let oldValues = values {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:47:17: warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
| `- warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
48 | if count > 0, let oldKeys = keys, let oldValues = values {
49 | grownKeys[0..<count] = oldKeys[0..<count]
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Voxtral/VoxtralModel.swift:162:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
160 | for _ in 0 ..< p.maxTokens {
161 | if Task.isCancelled { break }
162 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
163 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
164 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:46:17: warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
44 | let block = Self.growthBlock
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
| `- warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
48 | if count > 0, let oldKeys = keys, let oldValues = values {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:47:17: warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
| `- warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
48 | if count > 0, let oldKeys = keys, let oldValues = values {
49 | grownKeys[0..<count] = oldKeys[0..<count]
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Voxtral/VoxtralModel.swift:162:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
160 | for _ in 0 ..< p.maxTokens {
161 | if Task.isCancelled { break }
162 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
163 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
164 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:46:17: warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
44 | let block = Self.growthBlock
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
| `- warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
48 | if count > 0, let oldKeys = keys, let oldValues = values {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:47:17: warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
| `- warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
48 | if count > 0, let oldKeys = keys, let oldValues = values {
49 | grownKeys[0..<count] = oldKeys[0..<count]
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Voxtral/VoxtralModel.swift:162:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
160 | for _ in 0 ..< p.maxTokens {
161 | if Task.isCancelled { break }
162 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
163 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
164 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:46:17: warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
44 | let block = Self.growthBlock
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
| `- warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
48 | if count > 0, let oldKeys = keys, let oldValues = values {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:47:17: warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
| `- warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
48 | if count > 0, let oldKeys = keys, let oldValues = values {
49 | grownKeys[0..<count] = oldKeys[0..<count]
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Voxtral/VoxtralModel.swift:162:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
160 | for _ in 0 ..< p.maxTokens {
161 | if Task.isCancelled { break }
162 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
163 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
164 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:46:17: warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
44 | let block = Self.growthBlock
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
| `- warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
48 | if count > 0, let oldKeys = keys, let oldValues = values {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:47:17: warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
| `- warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
48 | if count > 0, let oldKeys = keys, let oldValues = values {
49 | grownKeys[0..<count] = oldKeys[0..<count]
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Voxtral/VoxtralModel.swift:162:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
160 | for _ in 0 ..< p.maxTokens {
161 | if Task.isCancelled { break }
162 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
163 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
164 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:46:17: warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
44 | let block = Self.growthBlock
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
| `- warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
48 | if count > 0, let oldKeys = keys, let oldValues = values {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:47:17: warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
| `- warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
48 | if count > 0, let oldKeys = keys, let oldValues = values {
49 | grownKeys[0..<count] = oldKeys[0..<count]
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Voxtral/VoxtralModel.swift:162:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
160 | for _ in 0 ..< p.maxTokens {
161 | if Task.isCancelled { break }
162 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
163 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
164 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:46:17: warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
44 | let block = Self.growthBlock
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
| `- warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
48 | if count > 0, let oldKeys = keys, let oldValues = values {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:47:17: warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
| `- warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
48 | if count > 0, let oldKeys = keys, let oldValues = values {
49 | grownKeys[0..<count] = oldKeys[0..<count]
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Voxtral/VoxtralModel.swift:162:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
160 | for _ in 0 ..< p.maxTokens {
161 | if Task.isCancelled { break }
162 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
163 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
164 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:46:17: warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
44 | let block = Self.growthBlock
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
| `- warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
48 | if count > 0, let oldKeys = keys, let oldValues = values {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:47:17: warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
| `- warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
48 | if count > 0, let oldKeys = keys, let oldValues = values {
49 | grownKeys[0..<count] = oldKeys[0..<count]
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Voxtral/VoxtralModel.swift:162:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
160 | for _ in 0 ..< p.maxTokens {
161 | if Task.isCancelled { break }
162 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
163 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
164 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:46:17: warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
44 | let block = Self.growthBlock
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
| `- warning: variable 'grownKeys' was never mutated; consider changing to 'let' constant
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
48 | if count > 0, let oldKeys = keys, let oldValues = values {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift:47:17: warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
45 | let grown = min(capacity, ((count + n + block - 1) / block) * block)
46 | var grownKeys = MLXArray.zeros([grown, newKeys.shape[1]], dtype: newKeys.dtype)
47 | var grownValues = MLXArray.zeros([grown, newValues.shape[1]], dtype: newValues.dtype)
| `- warning: variable 'grownValues' was never mutated; consider changing to 'let' constant
48 | if count > 0, let oldKeys = keys, let oldValues = values {
49 | grownKeys[0..<count] = oldKeys[0..<count]
[874/1057] Compiling MLXAudioSTT Qwen2AudioEncoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Qwen2Audio/Qwen2AudioModel.swift:176:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
174 | for _ in 0 ..< p.maxTokens {
175 | if Task.isCancelled { break }
176 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
177 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
178 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
[875/1057] Compiling MLXAudioSTT Qwen2AudioFrontend.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Qwen2Audio/Qwen2AudioModel.swift:176:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
174 | for _ in 0 ..< p.maxTokens {
175 | if Task.isCancelled { break }
176 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
177 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
178 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
[876/1057] Compiling MLXAudioSTT Qwen2AudioModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Qwen2Audio/Qwen2AudioModel.swift:176:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
174 | for _ in 0 ..< p.maxTokens {
175 | if Task.isCancelled { break }
176 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
177 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
178 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
[877/1057] Compiling MLXAudioSTT Qwen3ASR.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Qwen2Audio/Qwen2AudioModel.swift:176:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
174 | for _ in 0 ..< p.maxTokens {
175 | if Task.isCancelled { break }
176 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
177 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
178 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
[878/1057] Compiling MLXAudioSTT Qwen3ASRConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Qwen2Audio/Qwen2AudioModel.swift:176:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
174 | for _ in 0 ..< p.maxTokens {
175 | if Task.isCancelled { break }
176 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
177 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
178 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
[879/1057] Compiling MLXAudioSTT Qwen3ForcedAligner.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Qwen2Audio/Qwen2AudioModel.swift:176:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
174 | for _ in 0 ..< p.maxTokens {
175 | if Task.isCancelled { break }
176 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
177 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
178 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
[880/1057] Compiling MLXAudioSTT SenseVoiceAudio.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Qwen2Audio/Qwen2AudioModel.swift:176:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
174 | for _ in 0 ..< p.maxTokens {
175 | if Task.isCancelled { break }
176 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
177 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
178 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
[881/1057] Compiling MLXAudioSTT SenseVoiceConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Qwen2Audio/Qwen2AudioModel.swift:176:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
174 | for _ in 0 ..< p.maxTokens {
175 | if Task.isCancelled { break }
176 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
177 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
178 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
[882/1057] Compiling MLXAudioSTT SenseVoiceModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Qwen2Audio/Qwen2AudioModel.swift:176:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
174 | for _ in 0 ..< p.maxTokens {
175 | if Task.isCancelled { break }
176 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
177 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
178 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
[883/1057] Compiling MLXAudioSTT SenseVoiceTokenizer.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Qwen2Audio/Qwen2AudioModel.swift:176:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
174 | for _ in 0 ..< p.maxTokens {
175 | if Task.isCancelled { break }
176 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
177 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
178 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
[884/1057] Compiling MLXAudioSTT VibeVoiceAudio.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Qwen2Audio/Qwen2AudioModel.swift:176:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
174 | for _ in 0 ..< p.maxTokens {
175 | if Task.isCancelled { break }
176 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
177 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
178 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/Qwen2Audio/Qwen2AudioModel.swift:176:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
174 | for _ in 0 ..< p.maxTokens {
175 | if Task.isCancelled { break }
176 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
177 | if p.repetitionPenalty != 1 && !tokens.isEmpty {
178 | let recent = Array(Set(tokens.suffix(max(1, p.repetitionContextSize))))
[886/1057] Compiling MLXAudioSTT FireRedASR2Model.swift
[887/1057] Compiling MLXAudioSTT FireRedASR2Tokenizer.swift
[888/1057] Compiling MLXAudioSTT FunASRNanoAudio.swift
[889/1057] Compiling MLXAudioSTT FunASRNanoConfig.swift
[890/1057] Compiling MLXAudioSTT FunASRNanoModel.swift
[891/1057] Compiling MLXAudioSTT GLMASR.swift
[892/1057] Compiling MLXAudioSTT GLMASRConfig.swift
[893/1057] Compiling MLXAudioSTT GLMASRLayers.swift
[894/1057] Compiling MLXAudioSTT STTOutput.swift
[895/1057] Compiling MLXAudioSTT GraniteSpeech.swift
[896/1057] Compiling MLXAudioSTT GraniteSpeechConfig.swift
[897/1057] Compiling MLXAudioSTT GraniteSpeechRoPE.swift
[898/1057] Compiling MLXAudioSTT NemoAlignment.swift
[899/1057] Compiling MLXAudioSTT NemoAttention.swift
[900/1057] Compiling MLXAudioSTT NemoDecodingLogic.swift
[901/1057] Compiling MLXAudioSTT NemoRNNTConfig.swift
[902/1057] Compiling MLXAudioSTT NemoRNNTLayers.swift
[903/1057] Compiling MLXAudioSTT NemotronASRAudio.swift
[904/1057] Compiling MLXAudioSTT NemotronASRConfig.swift
[905/1057] Compiling MLXAudioSTT NemotronASRConformer.swift
[906/1057] Compiling MLXAudioSTT NemotronASRModel.swift
[907/1057] Compiling MLXAudioSTT NemotronASRStreamSession.swift
[908/1057] Compiling MLXAudioSTT NemotronASRStreaming.swift
[909/1057] Compiling MLXAudioSTT NemotronASRTokenizer.swift
[910/1057] Compiling MLXAudioSTT HiggsAudio3Layers.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/HiggsAudio3/HiggsAudio3Model.swift:135:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
133 | for _ in 0..<p.maxTokens {
134 | if Task.isCancelled { break }
135 | var scores = logits[0,-1,0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
136 | if p.repetitionPenalty != 1, !tokens.isEmpty {
137 | let ids = MLXArray(Array(Set(tokens.suffix(max(1,p.repetitionContextSize)))).map(Int32.init))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MegaASR/MegaASRModel.swift:256:21: warning: variable 'scores' was never mutated; consider changing to 'let' constant
254 | for _ in 0..<budget {
255 | if Task.isCancelled { break chunks }
256 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
257 | if p.repetitionPenalty != 1, !tokens.isEmpty {
258 | let recent = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:103:13: warning: variable 'codes' was never mutated; consider changing to 'let' constant
101 | let batch = hidden.dim(0)
102 | let cache: [KVCache] = (0 ..< c.localLayers).map { _ in KVCacheSimple() }
103 | var codes = MLXArray.zeros([batch, c.groupSize, c.audioChannels], dtype: .int32)
| `- warning: variable 'codes' was never mutated; consider changing to 'let' constant
104 | var input = hidden
105 | for step in 0 ..< (c.groupSize + (c.delayPattern.max() ?? 0)) {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:111:21: warning: variable 'logits' was never mutated; consider changing to 'let' constant
109 | let position = step - c.delayPattern[channel]
110 | guard (0 ..< c.groupSize).contains(position) else { continue }
111 | var logits = localHeads[channel](h)[0..., -1, 0...]
| `- warning: variable 'logits' was never mutated; consider changing to 'let' constant
112 | logits[0..., c.speechEmptyIds[channel]] = MLXArray(-Float.infinity)
113 | let token = argMax(logits, axis: -1).asType(.int32)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:190:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
188 | for iteration in 0 ..< p.maxTokens {
189 | if Task.isCancelled { break }
190 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
191 | if p.repetitionPenalty != 1 && !generated.isEmpty {
192 | let indices = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:20:13: warning: variable 'tokens' was never mutated; consider changing to 'let' constant
18 | var rows = MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1)
19 | rows = broadcast(rows, to: [c.audioChannels, length])
20 | var tokens = MLXArray.full([length], values: MLXArray(Int32(-100)))
| `- warning: variable 'tokens' was never mutated; consider changing to 'let' constant
21 | tokens[.stride(by: c.groupSize)] = MLXArray(ids.map(Int32.init))
22 | return concatenated([tokens.expandedDimensions(axis: 0), rows], axis: 0)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:40:13: warning: variable 'speech' was never mutated; consider changing to 'let' constant
38 | let codes = paddedCodes(codes)
39 | let groups = codes.dim(1) / c.groupSize
40 | var speech = broadcast(
| `- warning: variable 'speech' was never mutated; consider changing to 'let' constant
41 | MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1),
42 | to: [c.audioChannels, (groups + 2) * c.groupSize])
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:46:13: warning: variable 'audio' was never mutated; consider changing to 'let' constant
44 | let tokens =
45 | [c.startOfSpeechId] + Array(repeating: c.emptyId, count: groups) + [c.endOfSpeechId]
46 | var audio = text(tokens)
| `- warning: variable 'audio' was never mutated; consider changing to 'let' constant
47 | audio[1...] = speech
48 | func encode(_ text: String) -> [Int] {
[911/1057] Compiling MLXAudioSTT HiggsAudio3Model.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/HiggsAudio3/HiggsAudio3Model.swift:135:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
133 | for _ in 0..<p.maxTokens {
134 | if Task.isCancelled { break }
135 | var scores = logits[0,-1,0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
136 | if p.repetitionPenalty != 1, !tokens.isEmpty {
137 | let ids = MLXArray(Array(Set(tokens.suffix(max(1,p.repetitionContextSize)))).map(Int32.init))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MegaASR/MegaASRModel.swift:256:21: warning: variable 'scores' was never mutated; consider changing to 'let' constant
254 | for _ in 0..<budget {
255 | if Task.isCancelled { break chunks }
256 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
257 | if p.repetitionPenalty != 1, !tokens.isEmpty {
258 | let recent = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:103:13: warning: variable 'codes' was never mutated; consider changing to 'let' constant
101 | let batch = hidden.dim(0)
102 | let cache: [KVCache] = (0 ..< c.localLayers).map { _ in KVCacheSimple() }
103 | var codes = MLXArray.zeros([batch, c.groupSize, c.audioChannels], dtype: .int32)
| `- warning: variable 'codes' was never mutated; consider changing to 'let' constant
104 | var input = hidden
105 | for step in 0 ..< (c.groupSize + (c.delayPattern.max() ?? 0)) {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:111:21: warning: variable 'logits' was never mutated; consider changing to 'let' constant
109 | let position = step - c.delayPattern[channel]
110 | guard (0 ..< c.groupSize).contains(position) else { continue }
111 | var logits = localHeads[channel](h)[0..., -1, 0...]
| `- warning: variable 'logits' was never mutated; consider changing to 'let' constant
112 | logits[0..., c.speechEmptyIds[channel]] = MLXArray(-Float.infinity)
113 | let token = argMax(logits, axis: -1).asType(.int32)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:190:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
188 | for iteration in 0 ..< p.maxTokens {
189 | if Task.isCancelled { break }
190 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
191 | if p.repetitionPenalty != 1 && !generated.isEmpty {
192 | let indices = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:20:13: warning: variable 'tokens' was never mutated; consider changing to 'let' constant
18 | var rows = MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1)
19 | rows = broadcast(rows, to: [c.audioChannels, length])
20 | var tokens = MLXArray.full([length], values: MLXArray(Int32(-100)))
| `- warning: variable 'tokens' was never mutated; consider changing to 'let' constant
21 | tokens[.stride(by: c.groupSize)] = MLXArray(ids.map(Int32.init))
22 | return concatenated([tokens.expandedDimensions(axis: 0), rows], axis: 0)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:40:13: warning: variable 'speech' was never mutated; consider changing to 'let' constant
38 | let codes = paddedCodes(codes)
39 | let groups = codes.dim(1) / c.groupSize
40 | var speech = broadcast(
| `- warning: variable 'speech' was never mutated; consider changing to 'let' constant
41 | MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1),
42 | to: [c.audioChannels, (groups + 2) * c.groupSize])
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:46:13: warning: variable 'audio' was never mutated; consider changing to 'let' constant
44 | let tokens =
45 | [c.startOfSpeechId] + Array(repeating: c.emptyId, count: groups) + [c.endOfSpeechId]
46 | var audio = text(tokens)
| `- warning: variable 'audio' was never mutated; consider changing to 'let' constant
47 | audio[1...] = speech
48 | func encode(_ text: String) -> [Int] {
[912/1057] Compiling MLXAudioSTT LasrCTCConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/HiggsAudio3/HiggsAudio3Model.swift:135:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
133 | for _ in 0..<p.maxTokens {
134 | if Task.isCancelled { break }
135 | var scores = logits[0,-1,0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
136 | if p.repetitionPenalty != 1, !tokens.isEmpty {
137 | let ids = MLXArray(Array(Set(tokens.suffix(max(1,p.repetitionContextSize)))).map(Int32.init))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MegaASR/MegaASRModel.swift:256:21: warning: variable 'scores' was never mutated; consider changing to 'let' constant
254 | for _ in 0..<budget {
255 | if Task.isCancelled { break chunks }
256 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
257 | if p.repetitionPenalty != 1, !tokens.isEmpty {
258 | let recent = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:103:13: warning: variable 'codes' was never mutated; consider changing to 'let' constant
101 | let batch = hidden.dim(0)
102 | let cache: [KVCache] = (0 ..< c.localLayers).map { _ in KVCacheSimple() }
103 | var codes = MLXArray.zeros([batch, c.groupSize, c.audioChannels], dtype: .int32)
| `- warning: variable 'codes' was never mutated; consider changing to 'let' constant
104 | var input = hidden
105 | for step in 0 ..< (c.groupSize + (c.delayPattern.max() ?? 0)) {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:111:21: warning: variable 'logits' was never mutated; consider changing to 'let' constant
109 | let position = step - c.delayPattern[channel]
110 | guard (0 ..< c.groupSize).contains(position) else { continue }
111 | var logits = localHeads[channel](h)[0..., -1, 0...]
| `- warning: variable 'logits' was never mutated; consider changing to 'let' constant
112 | logits[0..., c.speechEmptyIds[channel]] = MLXArray(-Float.infinity)
113 | let token = argMax(logits, axis: -1).asType(.int32)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:190:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
188 | for iteration in 0 ..< p.maxTokens {
189 | if Task.isCancelled { break }
190 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
191 | if p.repetitionPenalty != 1 && !generated.isEmpty {
192 | let indices = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:20:13: warning: variable 'tokens' was never mutated; consider changing to 'let' constant
18 | var rows = MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1)
19 | rows = broadcast(rows, to: [c.audioChannels, length])
20 | var tokens = MLXArray.full([length], values: MLXArray(Int32(-100)))
| `- warning: variable 'tokens' was never mutated; consider changing to 'let' constant
21 | tokens[.stride(by: c.groupSize)] = MLXArray(ids.map(Int32.init))
22 | return concatenated([tokens.expandedDimensions(axis: 0), rows], axis: 0)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:40:13: warning: variable 'speech' was never mutated; consider changing to 'let' constant
38 | let codes = paddedCodes(codes)
39 | let groups = codes.dim(1) / c.groupSize
40 | var speech = broadcast(
| `- warning: variable 'speech' was never mutated; consider changing to 'let' constant
41 | MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1),
42 | to: [c.audioChannels, (groups + 2) * c.groupSize])
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:46:13: warning: variable 'audio' was never mutated; consider changing to 'let' constant
44 | let tokens =
45 | [c.startOfSpeechId] + Array(repeating: c.emptyId, count: groups) + [c.endOfSpeechId]
46 | var audio = text(tokens)
| `- warning: variable 'audio' was never mutated; consider changing to 'let' constant
47 | audio[1...] = speech
48 | func encode(_ text: String) -> [Int] {
[913/1057] Compiling MLXAudioSTT LasrCTCModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/HiggsAudio3/HiggsAudio3Model.swift:135:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
133 | for _ in 0..<p.maxTokens {
134 | if Task.isCancelled { break }
135 | var scores = logits[0,-1,0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
136 | if p.repetitionPenalty != 1, !tokens.isEmpty {
137 | let ids = MLXArray(Array(Set(tokens.suffix(max(1,p.repetitionContextSize)))).map(Int32.init))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MegaASR/MegaASRModel.swift:256:21: warning: variable 'scores' was never mutated; consider changing to 'let' constant
254 | for _ in 0..<budget {
255 | if Task.isCancelled { break chunks }
256 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
257 | if p.repetitionPenalty != 1, !tokens.isEmpty {
258 | let recent = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:103:13: warning: variable 'codes' was never mutated; consider changing to 'let' constant
101 | let batch = hidden.dim(0)
102 | let cache: [KVCache] = (0 ..< c.localLayers).map { _ in KVCacheSimple() }
103 | var codes = MLXArray.zeros([batch, c.groupSize, c.audioChannels], dtype: .int32)
| `- warning: variable 'codes' was never mutated; consider changing to 'let' constant
104 | var input = hidden
105 | for step in 0 ..< (c.groupSize + (c.delayPattern.max() ?? 0)) {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:111:21: warning: variable 'logits' was never mutated; consider changing to 'let' constant
109 | let position = step - c.delayPattern[channel]
110 | guard (0 ..< c.groupSize).contains(position) else { continue }
111 | var logits = localHeads[channel](h)[0..., -1, 0...]
| `- warning: variable 'logits' was never mutated; consider changing to 'let' constant
112 | logits[0..., c.speechEmptyIds[channel]] = MLXArray(-Float.infinity)
113 | let token = argMax(logits, axis: -1).asType(.int32)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:190:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
188 | for iteration in 0 ..< p.maxTokens {
189 | if Task.isCancelled { break }
190 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
191 | if p.repetitionPenalty != 1 && !generated.isEmpty {
192 | let indices = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:20:13: warning: variable 'tokens' was never mutated; consider changing to 'let' constant
18 | var rows = MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1)
19 | rows = broadcast(rows, to: [c.audioChannels, length])
20 | var tokens = MLXArray.full([length], values: MLXArray(Int32(-100)))
| `- warning: variable 'tokens' was never mutated; consider changing to 'let' constant
21 | tokens[.stride(by: c.groupSize)] = MLXArray(ids.map(Int32.init))
22 | return concatenated([tokens.expandedDimensions(axis: 0), rows], axis: 0)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:40:13: warning: variable 'speech' was never mutated; consider changing to 'let' constant
38 | let codes = paddedCodes(codes)
39 | let groups = codes.dim(1) / c.groupSize
40 | var speech = broadcast(
| `- warning: variable 'speech' was never mutated; consider changing to 'let' constant
41 | MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1),
42 | to: [c.audioChannels, (groups + 2) * c.groupSize])
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:46:13: warning: variable 'audio' was never mutated; consider changing to 'let' constant
44 | let tokens =
45 | [c.startOfSpeechId] + Array(repeating: c.emptyId, count: groups) + [c.endOfSpeechId]
46 | var audio = text(tokens)
| `- warning: variable 'audio' was never mutated; consider changing to 'let' constant
47 | audio[1...] = speech
48 | func encode(_ text: String) -> [Int] {
[914/1057] Compiling MLXAudioSTT MegaASRModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/HiggsAudio3/HiggsAudio3Model.swift:135:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
133 | for _ in 0..<p.maxTokens {
134 | if Task.isCancelled { break }
135 | var scores = logits[0,-1,0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
136 | if p.repetitionPenalty != 1, !tokens.isEmpty {
137 | let ids = MLXArray(Array(Set(tokens.suffix(max(1,p.repetitionContextSize)))).map(Int32.init))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MegaASR/MegaASRModel.swift:256:21: warning: variable 'scores' was never mutated; consider changing to 'let' constant
254 | for _ in 0..<budget {
255 | if Task.isCancelled { break chunks }
256 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
257 | if p.repetitionPenalty != 1, !tokens.isEmpty {
258 | let recent = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:103:13: warning: variable 'codes' was never mutated; consider changing to 'let' constant
101 | let batch = hidden.dim(0)
102 | let cache: [KVCache] = (0 ..< c.localLayers).map { _ in KVCacheSimple() }
103 | var codes = MLXArray.zeros([batch, c.groupSize, c.audioChannels], dtype: .int32)
| `- warning: variable 'codes' was never mutated; consider changing to 'let' constant
104 | var input = hidden
105 | for step in 0 ..< (c.groupSize + (c.delayPattern.max() ?? 0)) {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:111:21: warning: variable 'logits' was never mutated; consider changing to 'let' constant
109 | let position = step - c.delayPattern[channel]
110 | guard (0 ..< c.groupSize).contains(position) else { continue }
111 | var logits = localHeads[channel](h)[0..., -1, 0...]
| `- warning: variable 'logits' was never mutated; consider changing to 'let' constant
112 | logits[0..., c.speechEmptyIds[channel]] = MLXArray(-Float.infinity)
113 | let token = argMax(logits, axis: -1).asType(.int32)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:190:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
188 | for iteration in 0 ..< p.maxTokens {
189 | if Task.isCancelled { break }
190 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
191 | if p.repetitionPenalty != 1 && !generated.isEmpty {
192 | let indices = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:20:13: warning: variable 'tokens' was never mutated; consider changing to 'let' constant
18 | var rows = MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1)
19 | rows = broadcast(rows, to: [c.audioChannels, length])
20 | var tokens = MLXArray.full([length], values: MLXArray(Int32(-100)))
| `- warning: variable 'tokens' was never mutated; consider changing to 'let' constant
21 | tokens[.stride(by: c.groupSize)] = MLXArray(ids.map(Int32.init))
22 | return concatenated([tokens.expandedDimensions(axis: 0), rows], axis: 0)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:40:13: warning: variable 'speech' was never mutated; consider changing to 'let' constant
38 | let codes = paddedCodes(codes)
39 | let groups = codes.dim(1) / c.groupSize
40 | var speech = broadcast(
| `- warning: variable 'speech' was never mutated; consider changing to 'let' constant
41 | MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1),
42 | to: [c.audioChannels, (groups + 2) * c.groupSize])
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:46:13: warning: variable 'audio' was never mutated; consider changing to 'let' constant
44 | let tokens =
45 | [c.startOfSpeechId] + Array(repeating: c.emptyId, count: groups) + [c.endOfSpeechId]
46 | var audio = text(tokens)
| `- warning: variable 'audio' was never mutated; consider changing to 'let' constant
47 | audio[1...] = speech
48 | func encode(_ text: String) -> [Int] {
[915/1057] Compiling MLXAudioSTT MegaASRRouter.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/HiggsAudio3/HiggsAudio3Model.swift:135:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
133 | for _ in 0..<p.maxTokens {
134 | if Task.isCancelled { break }
135 | var scores = logits[0,-1,0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
136 | if p.repetitionPenalty != 1, !tokens.isEmpty {
137 | let ids = MLXArray(Array(Set(tokens.suffix(max(1,p.repetitionContextSize)))).map(Int32.init))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MegaASR/MegaASRModel.swift:256:21: warning: variable 'scores' was never mutated; consider changing to 'let' constant
254 | for _ in 0..<budget {
255 | if Task.isCancelled { break chunks }
256 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
257 | if p.repetitionPenalty != 1, !tokens.isEmpty {
258 | let recent = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:103:13: warning: variable 'codes' was never mutated; consider changing to 'let' constant
101 | let batch = hidden.dim(0)
102 | let cache: [KVCache] = (0 ..< c.localLayers).map { _ in KVCacheSimple() }
103 | var codes = MLXArray.zeros([batch, c.groupSize, c.audioChannels], dtype: .int32)
| `- warning: variable 'codes' was never mutated; consider changing to 'let' constant
104 | var input = hidden
105 | for step in 0 ..< (c.groupSize + (c.delayPattern.max() ?? 0)) {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:111:21: warning: variable 'logits' was never mutated; consider changing to 'let' constant
109 | let position = step - c.delayPattern[channel]
110 | guard (0 ..< c.groupSize).contains(position) else { continue }
111 | var logits = localHeads[channel](h)[0..., -1, 0...]
| `- warning: variable 'logits' was never mutated; consider changing to 'let' constant
112 | logits[0..., c.speechEmptyIds[channel]] = MLXArray(-Float.infinity)
113 | let token = argMax(logits, axis: -1).asType(.int32)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:190:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
188 | for iteration in 0 ..< p.maxTokens {
189 | if Task.isCancelled { break }
190 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
191 | if p.repetitionPenalty != 1 && !generated.isEmpty {
192 | let indices = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:20:13: warning: variable 'tokens' was never mutated; consider changing to 'let' constant
18 | var rows = MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1)
19 | rows = broadcast(rows, to: [c.audioChannels, length])
20 | var tokens = MLXArray.full([length], values: MLXArray(Int32(-100)))
| `- warning: variable 'tokens' was never mutated; consider changing to 'let' constant
21 | tokens[.stride(by: c.groupSize)] = MLXArray(ids.map(Int32.init))
22 | return concatenated([tokens.expandedDimensions(axis: 0), rows], axis: 0)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:40:13: warning: variable 'speech' was never mutated; consider changing to 'let' constant
38 | let codes = paddedCodes(codes)
39 | let groups = codes.dim(1) / c.groupSize
40 | var speech = broadcast(
| `- warning: variable 'speech' was never mutated; consider changing to 'let' constant
41 | MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1),
42 | to: [c.audioChannels, (groups + 2) * c.groupSize])
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:46:13: warning: variable 'audio' was never mutated; consider changing to 'let' constant
44 | let tokens =
45 | [c.startOfSpeechId] + Array(repeating: c.emptyId, count: groups) + [c.endOfSpeechId]
46 | var audio = text(tokens)
| `- warning: variable 'audio' was never mutated; consider changing to 'let' constant
47 | audio[1...] = speech
48 | func encode(_ text: String) -> [Int] {
[916/1057] Compiling MLXAudioSTT MiMoASRConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/HiggsAudio3/HiggsAudio3Model.swift:135:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
133 | for _ in 0..<p.maxTokens {
134 | if Task.isCancelled { break }
135 | var scores = logits[0,-1,0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
136 | if p.repetitionPenalty != 1, !tokens.isEmpty {
137 | let ids = MLXArray(Array(Set(tokens.suffix(max(1,p.repetitionContextSize)))).map(Int32.init))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MegaASR/MegaASRModel.swift:256:21: warning: variable 'scores' was never mutated; consider changing to 'let' constant
254 | for _ in 0..<budget {
255 | if Task.isCancelled { break chunks }
256 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
257 | if p.repetitionPenalty != 1, !tokens.isEmpty {
258 | let recent = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:103:13: warning: variable 'codes' was never mutated; consider changing to 'let' constant
101 | let batch = hidden.dim(0)
102 | let cache: [KVCache] = (0 ..< c.localLayers).map { _ in KVCacheSimple() }
103 | var codes = MLXArray.zeros([batch, c.groupSize, c.audioChannels], dtype: .int32)
| `- warning: variable 'codes' was never mutated; consider changing to 'let' constant
104 | var input = hidden
105 | for step in 0 ..< (c.groupSize + (c.delayPattern.max() ?? 0)) {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:111:21: warning: variable 'logits' was never mutated; consider changing to 'let' constant
109 | let position = step - c.delayPattern[channel]
110 | guard (0 ..< c.groupSize).contains(position) else { continue }
111 | var logits = localHeads[channel](h)[0..., -1, 0...]
| `- warning: variable 'logits' was never mutated; consider changing to 'let' constant
112 | logits[0..., c.speechEmptyIds[channel]] = MLXArray(-Float.infinity)
113 | let token = argMax(logits, axis: -1).asType(.int32)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:190:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
188 | for iteration in 0 ..< p.maxTokens {
189 | if Task.isCancelled { break }
190 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
191 | if p.repetitionPenalty != 1 && !generated.isEmpty {
192 | let indices = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:20:13: warning: variable 'tokens' was never mutated; consider changing to 'let' constant
18 | var rows = MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1)
19 | rows = broadcast(rows, to: [c.audioChannels, length])
20 | var tokens = MLXArray.full([length], values: MLXArray(Int32(-100)))
| `- warning: variable 'tokens' was never mutated; consider changing to 'let' constant
21 | tokens[.stride(by: c.groupSize)] = MLXArray(ids.map(Int32.init))
22 | return concatenated([tokens.expandedDimensions(axis: 0), rows], axis: 0)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:40:13: warning: variable 'speech' was never mutated; consider changing to 'let' constant
38 | let codes = paddedCodes(codes)
39 | let groups = codes.dim(1) / c.groupSize
40 | var speech = broadcast(
| `- warning: variable 'speech' was never mutated; consider changing to 'let' constant
41 | MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1),
42 | to: [c.audioChannels, (groups + 2) * c.groupSize])
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:46:13: warning: variable 'audio' was never mutated; consider changing to 'let' constant
44 | let tokens =
45 | [c.startOfSpeechId] + Array(repeating: c.emptyId, count: groups) + [c.endOfSpeechId]
46 | var audio = text(tokens)
| `- warning: variable 'audio' was never mutated; consider changing to 'let' constant
47 | audio[1...] = speech
48 | func encode(_ text: String) -> [Int] {
[917/1057] Compiling MLXAudioSTT MiMoASRModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/HiggsAudio3/HiggsAudio3Model.swift:135:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
133 | for _ in 0..<p.maxTokens {
134 | if Task.isCancelled { break }
135 | var scores = logits[0,-1,0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
136 | if p.repetitionPenalty != 1, !tokens.isEmpty {
137 | let ids = MLXArray(Array(Set(tokens.suffix(max(1,p.repetitionContextSize)))).map(Int32.init))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MegaASR/MegaASRModel.swift:256:21: warning: variable 'scores' was never mutated; consider changing to 'let' constant
254 | for _ in 0..<budget {
255 | if Task.isCancelled { break chunks }
256 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
257 | if p.repetitionPenalty != 1, !tokens.isEmpty {
258 | let recent = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:103:13: warning: variable 'codes' was never mutated; consider changing to 'let' constant
101 | let batch = hidden.dim(0)
102 | let cache: [KVCache] = (0 ..< c.localLayers).map { _ in KVCacheSimple() }
103 | var codes = MLXArray.zeros([batch, c.groupSize, c.audioChannels], dtype: .int32)
| `- warning: variable 'codes' was never mutated; consider changing to 'let' constant
104 | var input = hidden
105 | for step in 0 ..< (c.groupSize + (c.delayPattern.max() ?? 0)) {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:111:21: warning: variable 'logits' was never mutated; consider changing to 'let' constant
109 | let position = step - c.delayPattern[channel]
110 | guard (0 ..< c.groupSize).contains(position) else { continue }
111 | var logits = localHeads[channel](h)[0..., -1, 0...]
| `- warning: variable 'logits' was never mutated; consider changing to 'let' constant
112 | logits[0..., c.speechEmptyIds[channel]] = MLXArray(-Float.infinity)
113 | let token = argMax(logits, axis: -1).asType(.int32)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:190:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
188 | for iteration in 0 ..< p.maxTokens {
189 | if Task.isCancelled { break }
190 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
191 | if p.repetitionPenalty != 1 && !generated.isEmpty {
192 | let indices = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:20:13: warning: variable 'tokens' was never mutated; consider changing to 'let' constant
18 | var rows = MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1)
19 | rows = broadcast(rows, to: [c.audioChannels, length])
20 | var tokens = MLXArray.full([length], values: MLXArray(Int32(-100)))
| `- warning: variable 'tokens' was never mutated; consider changing to 'let' constant
21 | tokens[.stride(by: c.groupSize)] = MLXArray(ids.map(Int32.init))
22 | return concatenated([tokens.expandedDimensions(axis: 0), rows], axis: 0)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:40:13: warning: variable 'speech' was never mutated; consider changing to 'let' constant
38 | let codes = paddedCodes(codes)
39 | let groups = codes.dim(1) / c.groupSize
40 | var speech = broadcast(
| `- warning: variable 'speech' was never mutated; consider changing to 'let' constant
41 | MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1),
42 | to: [c.audioChannels, (groups + 2) * c.groupSize])
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:46:13: warning: variable 'audio' was never mutated; consider changing to 'let' constant
44 | let tokens =
45 | [c.startOfSpeechId] + Array(repeating: c.emptyId, count: groups) + [c.endOfSpeechId]
46 | var audio = text(tokens)
| `- warning: variable 'audio' was never mutated; consider changing to 'let' constant
47 | audio[1...] = speech
48 | func encode(_ text: String) -> [Int] {
[918/1057] Compiling MLXAudioSTT MiMoASRPrompt.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/HiggsAudio3/HiggsAudio3Model.swift:135:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
133 | for _ in 0..<p.maxTokens {
134 | if Task.isCancelled { break }
135 | var scores = logits[0,-1,0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
136 | if p.repetitionPenalty != 1, !tokens.isEmpty {
137 | let ids = MLXArray(Array(Set(tokens.suffix(max(1,p.repetitionContextSize)))).map(Int32.init))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MegaASR/MegaASRModel.swift:256:21: warning: variable 'scores' was never mutated; consider changing to 'let' constant
254 | for _ in 0..<budget {
255 | if Task.isCancelled { break chunks }
256 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
257 | if p.repetitionPenalty != 1, !tokens.isEmpty {
258 | let recent = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:103:13: warning: variable 'codes' was never mutated; consider changing to 'let' constant
101 | let batch = hidden.dim(0)
102 | let cache: [KVCache] = (0 ..< c.localLayers).map { _ in KVCacheSimple() }
103 | var codes = MLXArray.zeros([batch, c.groupSize, c.audioChannels], dtype: .int32)
| `- warning: variable 'codes' was never mutated; consider changing to 'let' constant
104 | var input = hidden
105 | for step in 0 ..< (c.groupSize + (c.delayPattern.max() ?? 0)) {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:111:21: warning: variable 'logits' was never mutated; consider changing to 'let' constant
109 | let position = step - c.delayPattern[channel]
110 | guard (0 ..< c.groupSize).contains(position) else { continue }
111 | var logits = localHeads[channel](h)[0..., -1, 0...]
| `- warning: variable 'logits' was never mutated; consider changing to 'let' constant
112 | logits[0..., c.speechEmptyIds[channel]] = MLXArray(-Float.infinity)
113 | let token = argMax(logits, axis: -1).asType(.int32)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:190:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
188 | for iteration in 0 ..< p.maxTokens {
189 | if Task.isCancelled { break }
190 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
191 | if p.repetitionPenalty != 1 && !generated.isEmpty {
192 | let indices = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:20:13: warning: variable 'tokens' was never mutated; consider changing to 'let' constant
18 | var rows = MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1)
19 | rows = broadcast(rows, to: [c.audioChannels, length])
20 | var tokens = MLXArray.full([length], values: MLXArray(Int32(-100)))
| `- warning: variable 'tokens' was never mutated; consider changing to 'let' constant
21 | tokens[.stride(by: c.groupSize)] = MLXArray(ids.map(Int32.init))
22 | return concatenated([tokens.expandedDimensions(axis: 0), rows], axis: 0)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:40:13: warning: variable 'speech' was never mutated; consider changing to 'let' constant
38 | let codes = paddedCodes(codes)
39 | let groups = codes.dim(1) / c.groupSize
40 | var speech = broadcast(
| `- warning: variable 'speech' was never mutated; consider changing to 'let' constant
41 | MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1),
42 | to: [c.audioChannels, (groups + 2) * c.groupSize])
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:46:13: warning: variable 'audio' was never mutated; consider changing to 'let' constant
44 | let tokens =
45 | [c.startOfSpeechId] + Array(repeating: c.emptyId, count: groups) + [c.endOfSpeechId]
46 | var audio = text(tokens)
| `- warning: variable 'audio' was never mutated; consider changing to 'let' constant
47 | audio[1...] = speech
48 | func encode(_ text: String) -> [Int] {
[919/1057] Compiling MLXAudioSTT MingASRConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/HiggsAudio3/HiggsAudio3Model.swift:135:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
133 | for _ in 0..<p.maxTokens {
134 | if Task.isCancelled { break }
135 | var scores = logits[0,-1,0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
136 | if p.repetitionPenalty != 1, !tokens.isEmpty {
137 | let ids = MLXArray(Array(Set(tokens.suffix(max(1,p.repetitionContextSize)))).map(Int32.init))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MegaASR/MegaASRModel.swift:256:21: warning: variable 'scores' was never mutated; consider changing to 'let' constant
254 | for _ in 0..<budget {
255 | if Task.isCancelled { break chunks }
256 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
257 | if p.repetitionPenalty != 1, !tokens.isEmpty {
258 | let recent = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:103:13: warning: variable 'codes' was never mutated; consider changing to 'let' constant
101 | let batch = hidden.dim(0)
102 | let cache: [KVCache] = (0 ..< c.localLayers).map { _ in KVCacheSimple() }
103 | var codes = MLXArray.zeros([batch, c.groupSize, c.audioChannels], dtype: .int32)
| `- warning: variable 'codes' was never mutated; consider changing to 'let' constant
104 | var input = hidden
105 | for step in 0 ..< (c.groupSize + (c.delayPattern.max() ?? 0)) {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:111:21: warning: variable 'logits' was never mutated; consider changing to 'let' constant
109 | let position = step - c.delayPattern[channel]
110 | guard (0 ..< c.groupSize).contains(position) else { continue }
111 | var logits = localHeads[channel](h)[0..., -1, 0...]
| `- warning: variable 'logits' was never mutated; consider changing to 'let' constant
112 | logits[0..., c.speechEmptyIds[channel]] = MLXArray(-Float.infinity)
113 | let token = argMax(logits, axis: -1).asType(.int32)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:190:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
188 | for iteration in 0 ..< p.maxTokens {
189 | if Task.isCancelled { break }
190 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
191 | if p.repetitionPenalty != 1 && !generated.isEmpty {
192 | let indices = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:20:13: warning: variable 'tokens' was never mutated; consider changing to 'let' constant
18 | var rows = MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1)
19 | rows = broadcast(rows, to: [c.audioChannels, length])
20 | var tokens = MLXArray.full([length], values: MLXArray(Int32(-100)))
| `- warning: variable 'tokens' was never mutated; consider changing to 'let' constant
21 | tokens[.stride(by: c.groupSize)] = MLXArray(ids.map(Int32.init))
22 | return concatenated([tokens.expandedDimensions(axis: 0), rows], axis: 0)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:40:13: warning: variable 'speech' was never mutated; consider changing to 'let' constant
38 | let codes = paddedCodes(codes)
39 | let groups = codes.dim(1) / c.groupSize
40 | var speech = broadcast(
| `- warning: variable 'speech' was never mutated; consider changing to 'let' constant
41 | MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1),
42 | to: [c.audioChannels, (groups + 2) * c.groupSize])
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:46:13: warning: variable 'audio' was never mutated; consider changing to 'let' constant
44 | let tokens =
45 | [c.startOfSpeechId] + Array(repeating: c.emptyId, count: groups) + [c.endOfSpeechId]
46 | var audio = text(tokens)
| `- warning: variable 'audio' was never mutated; consider changing to 'let' constant
47 | audio[1...] = speech
48 | func encode(_ text: String) -> [Int] {
[920/1057] Compiling MLXAudioSTT MingASRLoading.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/HiggsAudio3/HiggsAudio3Model.swift:135:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
133 | for _ in 0..<p.maxTokens {
134 | if Task.isCancelled { break }
135 | var scores = logits[0,-1,0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
136 | if p.repetitionPenalty != 1, !tokens.isEmpty {
137 | let ids = MLXArray(Array(Set(tokens.suffix(max(1,p.repetitionContextSize)))).map(Int32.init))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MegaASR/MegaASRModel.swift:256:21: warning: variable 'scores' was never mutated; consider changing to 'let' constant
254 | for _ in 0..<budget {
255 | if Task.isCancelled { break chunks }
256 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
257 | if p.repetitionPenalty != 1, !tokens.isEmpty {
258 | let recent = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:103:13: warning: variable 'codes' was never mutated; consider changing to 'let' constant
101 | let batch = hidden.dim(0)
102 | let cache: [KVCache] = (0 ..< c.localLayers).map { _ in KVCacheSimple() }
103 | var codes = MLXArray.zeros([batch, c.groupSize, c.audioChannels], dtype: .int32)
| `- warning: variable 'codes' was never mutated; consider changing to 'let' constant
104 | var input = hidden
105 | for step in 0 ..< (c.groupSize + (c.delayPattern.max() ?? 0)) {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:111:21: warning: variable 'logits' was never mutated; consider changing to 'let' constant
109 | let position = step - c.delayPattern[channel]
110 | guard (0 ..< c.groupSize).contains(position) else { continue }
111 | var logits = localHeads[channel](h)[0..., -1, 0...]
| `- warning: variable 'logits' was never mutated; consider changing to 'let' constant
112 | logits[0..., c.speechEmptyIds[channel]] = MLXArray(-Float.infinity)
113 | let token = argMax(logits, axis: -1).asType(.int32)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:190:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
188 | for iteration in 0 ..< p.maxTokens {
189 | if Task.isCancelled { break }
190 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
191 | if p.repetitionPenalty != 1 && !generated.isEmpty {
192 | let indices = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:20:13: warning: variable 'tokens' was never mutated; consider changing to 'let' constant
18 | var rows = MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1)
19 | rows = broadcast(rows, to: [c.audioChannels, length])
20 | var tokens = MLXArray.full([length], values: MLXArray(Int32(-100)))
| `- warning: variable 'tokens' was never mutated; consider changing to 'let' constant
21 | tokens[.stride(by: c.groupSize)] = MLXArray(ids.map(Int32.init))
22 | return concatenated([tokens.expandedDimensions(axis: 0), rows], axis: 0)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:40:13: warning: variable 'speech' was never mutated; consider changing to 'let' constant
38 | let codes = paddedCodes(codes)
39 | let groups = codes.dim(1) / c.groupSize
40 | var speech = broadcast(
| `- warning: variable 'speech' was never mutated; consider changing to 'let' constant
41 | MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1),
42 | to: [c.audioChannels, (groups + 2) * c.groupSize])
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:46:13: warning: variable 'audio' was never mutated; consider changing to 'let' constant
44 | let tokens =
45 | [c.startOfSpeechId] + Array(repeating: c.emptyId, count: groups) + [c.endOfSpeechId]
46 | var audio = text(tokens)
| `- warning: variable 'audio' was never mutated; consider changing to 'let' constant
47 | audio[1...] = speech
48 | func encode(_ text: String) -> [Int] {
[921/1057] Compiling MLXAudioSTT MingASRModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/HiggsAudio3/HiggsAudio3Model.swift:135:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
133 | for _ in 0..<p.maxTokens {
134 | if Task.isCancelled { break }
135 | var scores = logits[0,-1,0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
136 | if p.repetitionPenalty != 1, !tokens.isEmpty {
137 | let ids = MLXArray(Array(Set(tokens.suffix(max(1,p.repetitionContextSize)))).map(Int32.init))
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MegaASR/MegaASRModel.swift:256:21: warning: variable 'scores' was never mutated; consider changing to 'let' constant
254 | for _ in 0..<budget {
255 | if Task.isCancelled { break chunks }
256 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
257 | if p.repetitionPenalty != 1, !tokens.isEmpty {
258 | let recent = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:103:13: warning: variable 'codes' was never mutated; consider changing to 'let' constant
101 | let batch = hidden.dim(0)
102 | let cache: [KVCache] = (0 ..< c.localLayers).map { _ in KVCacheSimple() }
103 | var codes = MLXArray.zeros([batch, c.groupSize, c.audioChannels], dtype: .int32)
| `- warning: variable 'codes' was never mutated; consider changing to 'let' constant
104 | var input = hidden
105 | for step in 0 ..< (c.groupSize + (c.delayPattern.max() ?? 0)) {
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:111:21: warning: variable 'logits' was never mutated; consider changing to 'let' constant
109 | let position = step - c.delayPattern[channel]
110 | guard (0 ..< c.groupSize).contains(position) else { continue }
111 | var logits = localHeads[channel](h)[0..., -1, 0...]
| `- warning: variable 'logits' was never mutated; consider changing to 'let' constant
112 | logits[0..., c.speechEmptyIds[channel]] = MLXArray(-Float.infinity)
113 | let token = argMax(logits, axis: -1).asType(.int32)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRModel.swift:190:17: warning: variable 'scores' was never mutated; consider changing to 'let' constant
188 | for iteration in 0 ..< p.maxTokens {
189 | if Task.isCancelled { break }
190 | var scores = logits[0, -1, 0...]
| `- warning: variable 'scores' was never mutated; consider changing to 'let' constant
191 | if p.repetitionPenalty != 1 && !generated.isEmpty {
192 | let indices = MLXArray(
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:20:13: warning: variable 'tokens' was never mutated; consider changing to 'let' constant
18 | var rows = MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1)
19 | rows = broadcast(rows, to: [c.audioChannels, length])
20 | var tokens = MLXArray.full([length], values: MLXArray(Int32(-100)))
| `- warning: variable 'tokens' was never mutated; consider changing to 'let' constant
21 | tokens[.stride(by: c.groupSize)] = MLXArray(ids.map(Int32.init))
22 | return concatenated([tokens.expandedDimensions(axis: 0), rows], axis: 0)
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:40:13: warning: variable 'speech' was never mutated; consider changing to 'let' constant
38 | let codes = paddedCodes(codes)
39 | let groups = codes.dim(1) / c.groupSize
40 | var speech = broadcast(
| `- warning: variable 'speech' was never mutated; consider changing to 'let' constant
41 | MLXArray(c.speechEmptyIds.map(Int32.init)).expandedDimensions(axis: -1),
42 | to: [c.audioChannels, (groups + 2) * c.groupSize])
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MiMoASR/MiMoASRPrompt.swift:46:13: warning: variable 'audio' was never mutated; consider changing to 'let' constant
44 | let tokens =
45 | [c.startOfSpeechId] + Array(repeating: c.emptyId, count: groups) + [c.endOfSpeechId]
46 | var audio = text(tokens)
| `- warning: variable 'audio' was never mutated; consider changing to 'let' constant
47 | audio[1...] = speech
48 | func encode(_ text: String) -> [Int] {
[936/1057] Compiling MLXAudioTTS LLMModel.swift
[937/1057] Compiling MLXAudioTTS Qwen2.swift
[938/1057] Compiling MLXAudioTTS Generation.swift
[939/1057] Compiling MLXAudioTTS BreezeTTSConfig.swift
[940/1057] Compiling MLXAudioTTS BreezeTTSModel.swift
[941/1057] Compiling MLXAudioTTS BreezeTTSModules.swift
[942/1057] Compiling MLXAudioTTS BreezeTTSTextEncoder.swift
[943/1057] Compiling MLXAudioTTS ChatterboxConfig.swift
[944/1057] Compiling MLXAudioTTS ChatterboxModel.swift
[945/1057] Compiling MLXAudioTTS LearnedPositionEmbeddings.swift
[946/1057] Compiling MLXAudioTTS Perceiver.swift
[947/1057] Compiling MLXAudioTTS T3CondEnc.swift
[962/1057] Linking mlx-audio-swift-codec
[963/1057] Linking mlx-audio-swift-lid
[964/1057] Applying mlx-audio-swift-codec
[965/1057] Applying mlx-audio-swift-lid
[972/1057] Compiling MLXAudioSTT WhisperTokenizer.swift
[973/1057] Compiling MLXAudioSTT TekkenTokenizer.swift
[974/1057] Compiling MLXAudioSTT Tokenizer.swift
[975/1057] Compiling MLXAudioSTT IncrementalMelSpectrogram.swift
[976/1057] Compiling MLXAudioSTT StreamingEncoder.swift
[977/1057] Compiling MLXAudioSTT StreamingInferenceSession.swift
[978/1057] Compiling MLXAudioSTT StreamingTypes.swift
[986/1059] Compiling MLXAudioTTS IrodoriDuration.swift
[987/1059] Compiling MLXAudioTTS IrodoriModernBERT.swift
[988/1059] Compiling MLXAudioTTS IrodoriTTSConfig.swift
[989/1059] Compiling MLXAudioTTS IrodoriTTSModel.swift
[990/1059] Compiling MLXAudioTTS IrodoriTTSSampling.swift
[991/1059] Compiling MLXAudioTTS IrodoriTTSText.swift
[992/1059] Compiling MLXAudioTTS LlamaTTS.swift
[993/1059] Compiling mlx_audio_swift_stt App.swift
[994/1059] Emitting module mlx_audio_swift_stt
[994/1059] Write Objects.LinkFileList
[996/1059] Compiling MLXAudioTTS KokoroDecoder.swift
[997/1059] Compiling MLXAudioTTS KokoroModel.swift
[998/1059] Compiling MLXAudioTTS KokoroModules.swift
[999/1059] Compiling MLXAudioTTS KokoroMultilingualProcessor.swift
[1000/1059] Compiling MLXAudioTTS SharedConfigs.swift
[1001/1059] Compiling MLXAudioTTS MiniCPM.swift
[1002/1059] Compiling MLXAudioTTS VoxAudioVAE.swift
[1003/1059] Compiling MLXAudioTTS VoxCPM2Config.swift
[1004/1059] Compiling MLXAudioTTS VoxCPM2Model.swift
[1005/1059] Compiling MLXAudioTTS VoxCPMDiT.swift
[1006/1059] Compiling MLXAudioTTS VoxCPMEncoder.swift
[1007/1059] Compiling MLXAudioTTS TTSGenerationCache.swift
[1008/1059] Compiling MLXAudioTTS TTSModel.swift
[1009/1059] Compiling MLXAudioTTS TextProcessor.swift
[1052/1087] Compiling mlx_audio_swift_tts App.swift
[1053/1087] Emitting module mlx_audio_swift_tts
[1053/1087] Write Objects.LinkFileList
[1055/1087] Emitting module MLXAudioSTS
[1056/1089] Compiling MLXAudioSTS SAMAudioConfig.swift
[1057/1089] Compiling MLXAudioSTS SAMAudioPatcher.swift
[1058/1089] Compiling MLXAudioSTS SAMAudioProcessor.swift
[1059/1089] Compiling MLXAudioSTS MossFormer2Model.swift
[1060/1089] Compiling MLXAudioSTS SAMAudio.swift
[1061/1089] Compiling MLXAudioSTS SAMAudioAlign.swift
[1062/1089] Compiling MLXAudioSTS SAMAudioWeights.swift
[1063/1089] Compiling MLXAudioSTS STSModel.swift
[1064/1089] Compiling MLXAudioSTS DeepFilterNetConfig.swift
[1065/1089] Compiling MLXAudioSTS DeepFilterNetDSP.swift
[1066/1089] Compiling MLXAudioSTS DeepFilterNetForward.swift
[1067/1089] Compiling MLXAudioSTS SAMAudioTransformer.swift
[1068/1089] Compiling MLXAudioSTS SAMAudioTypes.swift
[1069/1089] Compiling MLXAudioSTS MossFormer2Config.swift
[1070/1089] Compiling MLXAudioSTS MossFormer2DSP.swift
[1071/1089] Compiling MLXAudioSTS MossFormer2Layers.swift
[1072/1089] Compiling MLXAudioSTS DeepFilterNetLayers.swift
[1073/1089] Compiling MLXAudioSTS DeepFilterNetModel.swift
[1074/1089] Compiling MLXAudioSTS DeepFilterNetStreamer.swift
[1075/1089] Compiling MLXAudioSTS Conformer.swift
[1076/1089] Compiling MLXAudioSTS Detokenizer.swift
[1077/1089] Compiling MLXAudioSTS LFMAudioConfig.swift
[1078/1089] Compiling MLXAudioSTS SAMAudioRope.swift
[1079/1089] Compiling MLXAudioSTS SAMAudioTextEncoder.swift
[1080/1089] Compiling MLXAudioSTS LFMAudioModel.swift
[1081/1089] Compiling MLXAudioSTS Processor.swift
[1082/1089] Compiling MLXAudioSTS Transformer.swift
[1083/1093] Emitting module MLXAudioUI
[1084/1093] Compiling MLXAudioUI Placeholder.swift
[1085/1093] Compiling mlx_audio_swift_sts App.swift
[1086/1093] Emitting module mlx_audio_swift_sts
[1086/1093] Write Objects.LinkFileList
[1087/1093] Linking mlx-audio-swift-stt
[1088/1093] Applying mlx-audio-swift-stt
[1089/1093] Linking mlx-audio-swift-tts
[1090/1093] Applying mlx-audio-swift-tts
[1091/1093] Linking mlx-audio-swift-sts
[1092/1093] Applying mlx-audio-swift-sts
Build complete! (122.54s)
Fetching https://github.com/huggingface/swift-huggingface.git
Fetching https://github.com/huggingface/swift-transformers.git
Fetching https://github.com/ml-explore/mlx-swift.git
[1/3055] Fetching swift-huggingface
[93/10486] Fetching swift-huggingface, swift-transformers
Fetched https://github.com/huggingface/swift-transformers.git from cache (0.93s)
[1/17603] Fetching mlx-swift
Fetched https://github.com/huggingface/swift-huggingface.git from cache (2.06s)
Fetched https://github.com/ml-explore/mlx-swift.git from cache (2.06s)
Computing version for https://github.com/ml-explore/mlx-swift.git
Computed https://github.com/ml-explore/mlx-swift.git at 0.33.0 (2.75s)
Fetching https://github.com/apple/swift-numerics
[1/6766] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics from cache (0.79s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (1.41s)
Computing version for https://github.com/huggingface/swift-huggingface.git
Computed https://github.com/huggingface/swift-huggingface.git at 0.13.0 (0.61s)
Fetching https://github.com/mattt/EventSource.git
Fetching https://github.com/apple/swift-crypto.git
[1/325] Fetching eventsource
[326/19184] Fetching eventsource, swift-crypto
Fetched https://github.com/apple/swift-crypto.git from cache (1.65s)
Fetched https://github.com/mattt/EventSource.git from cache (1.65s)
Computing version for https://github.com/mattt/EventSource.git
Computed https://github.com/mattt/EventSource.git at 1.5.1 (2.26s)
Computing version for https://github.com/huggingface/swift-transformers.git
Computed https://github.com/huggingface/swift-transformers.git at 1.3.5 (0.61s)
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/huggingface/swift-jinja.git
Fetching https://github.com/ibireme/yyjson.git
[1/2016] Fetching swift-jinja
[1030/7244] Fetching swift-jinja, yyjson
[5416/36606] Fetching swift-jinja, yyjson, swift-collections
Fetched https://github.com/ibireme/yyjson.git from cache (1.13s)
Fetched https://github.com/huggingface/swift-jinja.git from cache (1.13s)
[6167/29362] Fetching swift-collections
Fetched https://github.com/apple/swift-collections.git from cache (2.55s)
Computing version for https://github.com/ibireme/yyjson.git
Computed https://github.com/ibireme/yyjson.git at 0.12.0 (6.17s)
Computing version for https://github.com/huggingface/swift-jinja.git
Computed https://github.com/huggingface/swift-jinja.git at 2.5.2 (0.58s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.7.5 (0.67s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 4.5.2 (2.40s)
Fetching https://github.com/apple/swift-asn1.git
[1/2051] Fetching swift-asn1
Fetched https://github.com/apple/swift-asn1.git from cache (1.00s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.7.3 (1.69s)
Creating working copy for https://github.com/huggingface/swift-transformers.git
Working copy of https://github.com/huggingface/swift-transformers.git resolved at 1.3.5
Creating working copy for https://github.com/apple/swift-asn1.git
Working copy of https://github.com/apple/swift-asn1.git resolved at 1.7.3
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.7.5
Creating working copy for https://github.com/huggingface/swift-jinja.git
Working copy of https://github.com/huggingface/swift-jinja.git resolved at 2.5.2
Creating working copy for https://github.com/ibireme/yyjson.git
Working copy of https://github.com/ibireme/yyjson.git resolved at 0.12.0
Creating working copy for https://github.com/ml-explore/mlx-swift.git
Working copy of https://github.com/ml-explore/mlx-swift.git resolved at 0.33.0
Creating working copy for https://github.com/apple/swift-numerics
Working copy of https://github.com/apple/swift-numerics resolved at 1.1.1
Creating working copy for https://github.com/mattt/EventSource.git
Working copy of https://github.com/mattt/EventSource.git resolved at 1.5.1
Creating working copy for https://github.com/huggingface/swift-huggingface.git
Working copy of https://github.com/huggingface/swift-huggingface.git resolved at 0.13.0
Creating working copy for https://github.com/apple/swift-crypto.git
Working copy of https://github.com/apple/swift-crypto.git resolved at 4.5.2
warning: 'spi-builder-workspace': found 5 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioTTS/Models/OmniVoice/README.md
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioTTS/Models/MossTTS/README.md
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioTTS/Models/BreezeTTS/README.md
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioTTS/Models/IrodoriTTS/README.md
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioTTS/Models/Spark/README.md
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTT/Models/MingASR/README.md
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/Sources/MLXAudioSTS/Models/DeepFilterNet/README.md
Build complete.
{
"dependencies" : [
{
"identity" : "mlx-swift",
"requirement" : {
"range" : [
{
"lower_bound" : "0.32.3",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/ml-explore/mlx-swift.git"
},
{
"identity" : "swift-transformers",
"requirement" : {
"range" : [
{
"lower_bound" : "1.1.6",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/huggingface/swift-transformers.git"
},
{
"identity" : "swift-huggingface",
"requirement" : {
"range" : [
{
"lower_bound" : "0.8.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/huggingface/swift-huggingface.git"
}
],
"manifest_display_name" : "MLXAudio",
"name" : "MLXAudio",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "14.0"
},
{
"name" : "ios",
"version" : "17.0"
}
],
"products" : [
{
"name" : "MLXAudioCore",
"targets" : [
"MLXAudioCore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXAudioCodecs",
"targets" : [
"MLXAudioCodecs"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXAudioTTS",
"targets" : [
"MLXAudioTTS"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXAudioSTT",
"targets" : [
"MLXAudioSTT"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXAudioVAD",
"targets" : [
"MLXAudioVAD"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXAudioLID",
"targets" : [
"MLXAudioLID"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXAudioSTS",
"targets" : [
"MLXAudioSTS"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXAudioUI",
"targets" : [
"MLXAudioUI"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXAudioG2P",
"targets" : [
"MLXAudioG2P"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MLXAudio",
"targets" : [
"MLXAudioCore",
"MLXAudioCodecs",
"MLXAudioTTS",
"MLXAudioSTT",
"MLXAudioVAD",
"MLXAudioLID",
"MLXAudioSTS",
"MLXAudioUI",
"MLXAudioG2P"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "mlx-audio-swift-tts",
"targets" : [
"mlx-audio-swift-tts"
],
"type" : {
"executable" : null
}
},
{
"name" : "mlx-audio-swift-codec",
"targets" : [
"mlx-audio-swift-codec"
],
"type" : {
"executable" : null
}
},
{
"name" : "mlx-audio-swift-sts",
"targets" : [
"mlx-audio-swift-sts"
],
"type" : {
"executable" : null
}
},
{
"name" : "mlx-audio-swift-stt",
"targets" : [
"mlx-audio-swift-stt"
],
"type" : {
"executable" : null
}
},
{
"name" : "mlx-audio-swift-lid",
"targets" : [
"mlx-audio-swift-lid"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "mlx_audio_swift_tts",
"module_type" : "SwiftTarget",
"name" : "mlx-audio-swift-tts",
"path" : "Sources/Tools/mlx-audio-swift-tts",
"product_memberships" : [
"mlx-audio-swift-tts"
],
"sources" : [
"App.swift"
],
"target_dependencies" : [
"MLXAudioCore",
"MLXAudioTTS",
"MLXAudioSTT"
],
"type" : "executable"
},
{
"c99name" : "mlx_audio_swift_stt",
"module_type" : "SwiftTarget",
"name" : "mlx-audio-swift-stt",
"path" : "Sources/Tools/mlx-audio-swift-stt",
"product_memberships" : [
"mlx-audio-swift-stt"
],
"sources" : [
"App.swift"
],
"target_dependencies" : [
"MLXAudioCore",
"MLXAudioSTT"
],
"type" : "executable"
},
{
"c99name" : "mlx_audio_swift_sts",
"module_type" : "SwiftTarget",
"name" : "mlx-audio-swift-sts",
"path" : "Sources/Tools/mlx-audio-swift-sts",
"product_memberships" : [
"mlx-audio-swift-sts"
],
"sources" : [
"App.swift"
],
"target_dependencies" : [
"MLXAudioCore",
"MLXAudioSTS"
],
"type" : "executable"
},
{
"c99name" : "mlx_audio_swift_lid",
"module_type" : "SwiftTarget",
"name" : "mlx-audio-swift-lid",
"path" : "Sources/Tools/mlx-audio-swift-lid",
"product_memberships" : [
"mlx-audio-swift-lid"
],
"sources" : [
"App.swift"
],
"target_dependencies" : [
"MLXAudioCore",
"MLXAudioLID"
],
"type" : "executable"
},
{
"c99name" : "mlx_audio_swift_codec",
"module_type" : "SwiftTarget",
"name" : "mlx-audio-swift-codec",
"path" : "Sources/Tools/mlx-audio-swift-codec",
"product_memberships" : [
"mlx-audio-swift-codec"
],
"sources" : [
"App.swift"
],
"target_dependencies" : [
"MLXAudioCore",
"MLXAudioCodecs"
],
"type" : "executable"
},
{
"c99name" : "MLXAudioVAD",
"module_type" : "SwiftTarget",
"name" : "MLXAudioVAD",
"path" : "Sources/MLXAudioVAD",
"product_dependencies" : [
"MLX",
"MLXNN",
"HuggingFace"
],
"product_memberships" : [
"MLXAudioSTT",
"MLXAudioVAD",
"MLXAudioSTS",
"MLXAudioUI",
"MLXAudio",
"mlx-audio-swift-tts",
"mlx-audio-swift-sts",
"mlx-audio-swift-stt"
],
"sources" : [
"Models/FSMNVAD/FSMNVAD.swift",
"Models/SileroVAD/SileroVAD.swift",
"Models/SileroVAD/SileroVADConfig.swift",
"Models/SmartTurn/SmartTurn.swift",
"Models/SmartTurn/SmartTurnConfig.swift",
"Models/SmartTurn/SmartTurnFeatures.swift",
"Models/Sortformer/Sortformer.swift",
"Models/Sortformer/SortformerConfig.swift",
"Models/Sortformer/SortformerFeatures.swift",
"SpeechSegmenter.swift",
"VADOutput.swift"
],
"target_dependencies" : [
"MLXAudioCore"
],
"type" : "library"
},
{
"c99name" : "MLXAudioUI",
"module_type" : "SwiftTarget",
"name" : "MLXAudioUI",
"path" : "Sources/MLXAudioUI",
"product_memberships" : [
"MLXAudioUI",
"MLXAudio"
],
"sources" : [
"Placeholder.swift"
],
"target_dependencies" : [
"MLXAudioCore",
"MLXAudioTTS",
"MLXAudioSTS"
],
"type" : "library"
},
{
"c99name" : "MLXAudioTests",
"module_type" : "SwiftTarget",
"name" : "MLXAudioTests",
"path" : "Tests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/media",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"AudioCodecLoadingTests.swift",
"AudioTransferAPITests.swift",
"ChatterboxTests.swift",
"DiaGenerationTests.swift",
"DiaTTSTests.swift",
"FunASRNanoTests.swift",
"GraniteSpeech5CTCTests.swift",
"GraniteSpeechFamilyTests.swift",
"HiggsAudio3Tests.swift",
"IncrementalMelSpectrogramTests.swift",
"IrodoriTTSTests.swift",
"LLMBackboneTests.swift",
"LMCommonTests.swift",
"MLXAudioCodecsTests.swift",
"MLXAudioG2PCMUDictTests.swift",
"MLXAudioG2PTests.swift",
"MLXAudioLIDTests.swift",
"MLXAudioSTSTests.swift",
"MLXAudioSTTTests.swift",
"MLXAudioSmokeTests.swift",
"MLXAudioTTSTests.swift",
"MLXAudioVADTests.swift",
"MegaASRTests.swift",
"MelFrontendReferenceTests.swift",
"MiMoASRTests.swift",
"MiMoAudioTokenizerTests.swift",
"MingASRTests.swift",
"ModelUtilsCacheTests.swift",
"ModuloFloatFixtureValues.swift",
"MossMusicTests.swift",
"NemotronVoiceChatCodecTests.swift",
"OmniVoiceTests.swift",
"ParakeetBatchParityTests.swift",
"ParakeetReduxTests.swift",
"Phonon2Tests.swift",
"PocketTTSTests.swift",
"Qwen2AudioTests.swift",
"Qwen3ASREncoderTests.swift",
"STTModelLoadingTests.swift",
"SparkTTSTests.swift",
"TTSGenerationCacheTests.swift",
"VibeVoiceTests.swift",
"VoxCPM2Tests.swift",
"VoxtralRealtimeDecoderKVCacheTests.swift",
"VoxtralRealtimeEncoderStreamKVCacheTests.swift",
"VoxtralRealtimeMelWindowBenchTests.swift",
"VoxtralRealtimeStreamingFrontEndTests.swift",
"VoxtralRealtimeTiedEmbeddingTests.swift",
"VoxtralRealtimeTranscriptTextTests.swift",
"VoxtralTests.swift",
"WhisperQuantizedTiedEmbeddingTests.swift"
],
"target_dependencies" : [
"MLXAudioCore",
"MLXAudioCodecs",
"MLXAudioTTS",
"MLXAudioSTT",
"MLXAudioVAD",
"MLXAudioSTS",
"MLXAudioLID",
"mlx-audio-swift-lid",
"MLXAudioG2P"
],
"type" : "test"
},
{
"c99name" : "MLXAudioTTS",
"module_type" : "SwiftTarget",
"name" : "MLXAudioTTS",
"path" : "Sources/MLXAudioTTS",
"product_dependencies" : [
"MLX",
"MLXFast",
"MLXFFT",
"MLXNN",
"MLXRandom",
"HuggingFace",
"Transformers"
],
"product_memberships" : [
"MLXAudioTTS",
"MLXAudioSTS",
"MLXAudioUI",
"MLXAudio",
"mlx-audio-swift-tts",
"mlx-audio-swift-sts"
],
"sources" : [
"Backbones/LLMModel.swift",
"Backbones/Qwen2.swift",
"Generation.swift",
"Models/BreezeTTS/BreezeTTSConfig.swift",
"Models/BreezeTTS/BreezeTTSModel.swift",
"Models/BreezeTTS/BreezeTTSModules.swift",
"Models/BreezeTTS/BreezeTTSTextEncoder.swift",
"Models/Chatterbox/ChatterboxConfig.swift",
"Models/Chatterbox/ChatterboxModel.swift",
"Models/Chatterbox/T3/LearnedPositionEmbeddings.swift",
"Models/Chatterbox/T3/Perceiver.swift",
"Models/Chatterbox/T3/T3CondEnc.swift",
"Models/Chatterbox/T3/T3GPT2Model.swift",
"Models/Chatterbox/T3/T3Model.swift",
"Models/Chatterbox/VoiceEncoder/VoiceEncoder.swift",
"Models/Chatterbox/VoiceEncoder/VoiceEncoderMelSpec.swift",
"Models/Dia/DiaAudio.swift",
"Models/Dia/DiaConfig.swift",
"Models/Dia/DiaLayers.swift",
"Models/Dia/DiaSampling.swift",
"Models/Dia/DiaTTSModel.swift",
"Models/EchoTTS/EchoDiT.swift",
"Models/EchoTTS/EchoTTSAudio.swift",
"Models/EchoTTS/EchoTTSConfig.swift",
"Models/EchoTTS/EchoTTSModel.swift",
"Models/EchoTTS/EchoTTSSampling.swift",
"Models/EchoTTS/EchoTTSText.swift",
"Models/FishSpeech/FishSpeechConfig.swift",
"Models/FishSpeech/FishSpeechModel.swift",
"Models/FishSpeech/FishSpeechPrompt.swift",
"Models/FishSpeech/FishSpeechTokenizer.swift",
"Models/IndexTTS/IndexTTSBigVGAN.swift",
"Models/IndexTTS/IndexTTSConfig.swift",
"Models/IndexTTS/IndexTTSModel.swift",
"Models/IndexTTS/IndexTTSModules.swift",
"Models/IrodoriTTS/IrodoriDiT.swift",
"Models/IrodoriTTS/IrodoriDuration.swift",
"Models/IrodoriTTS/IrodoriModernBERT.swift",
"Models/IrodoriTTS/IrodoriTTSConfig.swift",
"Models/IrodoriTTS/IrodoriTTSModel.swift",
"Models/IrodoriTTS/IrodoriTTSSampling.swift",
"Models/IrodoriTTS/IrodoriTTSText.swift",
"Models/Llama/LlamaTTS.swift",
"Models/Llama/LlamaTTSConfig.swift",
"Models/Marvis/CSMLlamaModel.swift",
"Models/Marvis/CSMModel.swift",
"Models/Marvis/MarvisTTSModel.swift",
"Models/MossTTS/MossTTSConfig.swift",
"Models/MossTTS/MossTTSFullSampling.swift",
"Models/MossTTS/MossTTSModel.swift",
"Models/MossTTS/MossTTSProcessor.swift",
"Models/MossTTS/MossTTSQwen3.swift",
"Models/MossTTSNano/MossGPT2.swift",
"Models/MossTTSNano/MossTTSNanoConfig.swift",
"Models/MossTTSNano/MossTTSNanoError.swift",
"Models/MossTTSNano/MossTTSNanoModel.swift",
"Models/MossTTSNano/MossTTSNanoText.swift",
"Models/MossTTSNano/MossTTSSampling.swift",
"Models/OmniVoice/OmniVoice.swift",
"Models/OmniVoice/OmniVoiceConfig.swift",
"Models/OmniVoice/OmniVoiceGenerateParameters.swift",
"Models/OmniVoice/OmniVoiceSemantic.swift",
"Models/PocketTTS/PocketTTSConditioners.swift",
"Models/PocketTTS/PocketTTSConfig.swift",
"Models/PocketTTS/PocketTTSFlowLM.swift",
"Models/PocketTTS/PocketTTSMLP.swift",
"Models/PocketTTS/PocketTTSMimiAdapter.swift",
"Models/PocketTTS/PocketTTSModel.swift",
"Models/PocketTTS/PocketTTSTextUtils.swift",
"Models/PocketTTS/PocketTTSTransformer.swift",
"Models/PocketTTS/PocketTTSWeights.swift",
"Models/Qwen3/Config.swift",
"Models/Qwen3/Qwen3.swift",
"Models/Qwen3TTS/Qwen3TTS.swift",
"Models/Qwen3TTS/Qwen3TTSCodePredictor.swift",
"Models/Qwen3TTS/Qwen3TTSConfig.swift",
"Models/Qwen3TTS/Qwen3TTSSpeakerEncoder.swift",
"Models/Qwen3TTS/Qwen3TTSSpeechTokenizer.swift",
"Models/Qwen3TTS/Qwen3TTSTalker.swift",
"Models/Soprano/Soprano.swift",
"Models/Soprano/SopranoConfig.swift",
"Models/Soprano/SopranoDecoder.swift",
"Models/Soprano/TextUtils.swift",
"Models/Spark/BiCodec/SparkBiCodec.swift",
"Models/Spark/BiCodec/SparkEcapa.swift",
"Models/Spark/BiCodec/SparkFeatCoders.swift",
"Models/Spark/BiCodec/SparkMel.swift",
"Models/Spark/BiCodec/SparkPerceiver.swift",
"Models/Spark/BiCodec/SparkQuantizer.swift",
"Models/Spark/BiCodec/SparkSpeakerEncoder.swift",
"Models/Spark/BiCodec/SparkWav2Vec2.swift",
"Models/Spark/BiCodec/SparkWaveGenerator.swift",
"Models/Spark/SparkConfig.swift",
"Models/Spark/SparkModel.swift",
"Models/Spark/SparkPrompt.swift",
"Models/StyleTTS2/Albert.swift",
"Models/StyleTTS2/Blocks/BiLSTM.swift",
"Models/StyleTTS2/Blocks/LinearNorm.swift",
"Models/StyleTTS2/Blocks/Normalization.swift",
"Models/StyleTTS2/Blocks/ResidualBlocks.swift",
"Models/StyleTTS2/Blocks/SineGenerator.swift",
"Models/StyleTTS2/Blocks/UpSample1d.swift",
"Models/StyleTTS2/Blocks/Utilities.swift",
"Models/StyleTTS2/Blocks/WeightNormedConv.swift",
"Models/StyleTTS2/G2P/EnglishG2P.swift",
"Models/StyleTTS2/G2P/EnglishNum2Word.swift",
"Models/StyleTTS2/G2P/FallbackNetwork/BARTConfig.swift",
"Models/StyleTTS2/G2P/FallbackNetwork/BARTDecoderLayer.swift",
"Models/StyleTTS2/G2P/FallbackNetwork/BARTEncoderLayer.swift",
"Models/StyleTTS2/G2P/FallbackNetwork/BARTLayerNorm.swift",
"Models/StyleTTS2/G2P/FallbackNetwork/BARTModel.swift",
"Models/StyleTTS2/G2P/FallbackNetwork/EnglishFallbackNetwork.swift",
"Models/StyleTTS2/G2P/FallbackNetwork/FeedForward.swift",
"Models/StyleTTS2/G2P/FallbackNetwork/MultiHeadAttention.swift",
"Models/StyleTTS2/G2P/G2PExtensions.swift",
"Models/StyleTTS2/G2P/Lexicon/DataResourcesUtil.swift",
"Models/StyleTTS2/G2P/Lexicon/Lexicon.swift",
"Models/StyleTTS2/G2P/Lexicon/PennTagUtil.swift",
"Models/StyleTTS2/G2P/MToken.swift",
"Models/StyleTTS2/G2P/MisakiTextProcessor.swift",
"Models/StyleTTS2/G2P/TokenContext.swift",
"Models/StyleTTS2/KittenTTS/KittenTTSConfig.swift",
"Models/StyleTTS2/KittenTTS/KittenTTSISTFTNet.swift",
"Models/StyleTTS2/KittenTTS/KittenTTSModel.swift",
"Models/StyleTTS2/KittenTTS/KittenTTSModules.swift",
"Models/StyleTTS2/KittenTTS/KittenTTSTextCleaner.swift",
"Models/StyleTTS2/Kokoro/KokoroConfig.swift",
"Models/StyleTTS2/Kokoro/KokoroDecoder.swift",
"Models/StyleTTS2/Kokoro/KokoroModel.swift",
"Models/StyleTTS2/Kokoro/KokoroModules.swift",
"Models/StyleTTS2/Kokoro/KokoroMultilingualProcessor.swift",
"Models/StyleTTS2/SharedConfigs.swift",
"Models/VoxCPM2/MiniCPM.swift",
"Models/VoxCPM2/VoxAudioVAE.swift",
"Models/VoxCPM2/VoxCPM2Config.swift",
"Models/VoxCPM2/VoxCPM2Model.swift",
"Models/VoxCPM2/VoxCPMDiT.swift",
"Models/VoxCPM2/VoxCPMEncoder.swift",
"TTSGenerationCache.swift",
"TTSModel.swift",
"TextProcessor.swift"
],
"target_dependencies" : [
"MLXAudioCore",
"MLXAudioCodecs",
"MLXAudioG2P"
],
"type" : "library"
},
{
"c99name" : "MLXAudioSTT",
"module_type" : "SwiftTarget",
"name" : "MLXAudioSTT",
"path" : "Sources/MLXAudioSTT",
"product_dependencies" : [
"MLX",
"MLXFast",
"MLXNN",
"MLXRandom",
"HuggingFace",
"Transformers"
],
"product_memberships" : [
"MLXAudioSTT",
"MLXAudioSTS",
"MLXAudioUI",
"MLXAudio",
"mlx-audio-swift-tts",
"mlx-audio-swift-sts",
"mlx-audio-swift-stt"
],
"sources" : [
"Generation.swift",
"MLXAudioSTT.swift",
"Models/Canary/CanaryConfig.swift",
"Models/Canary/CanaryModel.swift",
"Models/CohereTranscribe/CohereTranscribe.swift",
"Models/CohereTranscribe/CohereTranscribeAudio.swift",
"Models/CohereTranscribe/CohereTranscribeConfig.swift",
"Models/CohereTranscribe/CohereTranscribeDecoder.swift",
"Models/CohereTranscribe/CohereTranscribeEncoder.swift",
"Models/CohereTranscribe/CohereTranscribeTokenizer.swift",
"Models/FireRedASR2/FireRedASR2Audio.swift",
"Models/FireRedASR2/FireRedASR2Config.swift",
"Models/FireRedASR2/FireRedASR2Model.swift",
"Models/FireRedASR2/FireRedASR2Tokenizer.swift",
"Models/FunASRNano/FunASRNanoAudio.swift",
"Models/FunASRNano/FunASRNanoConfig.swift",
"Models/FunASRNano/FunASRNanoModel.swift",
"Models/GLMASR/GLMASR.swift",
"Models/GLMASR/GLMASRConfig.swift",
"Models/GLMASR/GLMASRLayers.swift",
"Models/GLMASR/STTOutput.swift",
"Models/GraniteSpeech/GraniteSpeech.swift",
"Models/GraniteSpeech/GraniteSpeechConfig.swift",
"Models/GraniteSpeech/GraniteSpeechRoPE.swift",
"Models/GraniteSpeech/GraniteSpeechTasks.swift",
"Models/GraniteSpeech/GraniteSpeechTokenizer.swift",
"Models/GraniteSpeech5CTC/GraniteSpeech5CTCConfig.swift",
"Models/GraniteSpeech5CTC/GraniteSpeech5CTCFrontend.swift",
"Models/GraniteSpeech5CTC/GraniteSpeech5CTCLayers.swift",
"Models/GraniteSpeech5CTC/GraniteSpeech5CTCModel.swift",
"Models/GraniteSpeechNAR/GraniteSpeechNARConfig.swift",
"Models/GraniteSpeechNAR/GraniteSpeechNAREncoder.swift",
"Models/GraniteSpeechNAR/GraniteSpeechNARFrontend.swift",
"Models/GraniteSpeechNAR/GraniteSpeechNARModel.swift",
"Models/GraniteSpeechNAR/GraniteSpeechNARProjector.swift",
"Models/HiggsAudio3/HiggsAudio3Config.swift",
"Models/HiggsAudio3/HiggsAudio3Layers.swift",
"Models/HiggsAudio3/HiggsAudio3Model.swift",
"Models/LasrCTC/LasrCTCConfig.swift",
"Models/LasrCTC/LasrCTCModel.swift",
"Models/MegaASR/MegaASRModel.swift",
"Models/MegaASR/MegaASRRouter.swift",
"Models/MiMoASR/MiMoASRConfig.swift",
"Models/MiMoASR/MiMoASRModel.swift",
"Models/MiMoASR/MiMoASRPrompt.swift",
"Models/MingASR/MingASRConfig.swift",
"Models/MingASR/MingASRLoading.swift",
"Models/MingASR/MingASRModel.swift",
"Models/MingASR/MingBackbone.swift",
"Models/MingASR/MingRecurrent.swift",
"Models/Moonshine/MoonshineConfig.swift",
"Models/Moonshine/MoonshineModel.swift",
"Models/MossMusic/MossMusicAudio.swift",
"Models/MossMusic/MossMusicConfig.swift",
"Models/MossMusic/MossMusicLoading.swift",
"Models/MossMusic/MossMusicModel.swift",
"Models/MossMusic/MossMusicText.swift",
"Models/MossMusic/MossMusicTokenizer.swift",
"Models/MossTranscribeDiarize/MossTranscribeDiarize.swift",
"Models/MossTranscribeDiarize/MossTranscribeDiarizeConfig.swift",
"Models/Nemo/NemoAlignment.swift",
"Models/Nemo/NemoAttention.swift",
"Models/Nemo/NemoDecodingLogic.swift",
"Models/Nemo/NemoRNNTConfig.swift",
"Models/Nemo/NemoRNNTLayers.swift",
"Models/NemotronASR/NemotronASRAudio.swift",
"Models/NemotronASR/NemotronASRConfig.swift",
"Models/NemotronASR/NemotronASRConformer.swift",
"Models/NemotronASR/NemotronASRModel.swift",
"Models/NemotronASR/NemotronASRStreamSession.swift",
"Models/NemotronASR/NemotronASRStreaming.swift",
"Models/NemotronASR/NemotronASRTokenizer.swift",
"Models/Parakeet/ParakeetAudio.swift",
"Models/Parakeet/ParakeetCTCLayers.swift",
"Models/Parakeet/ParakeetConfig.swift",
"Models/Parakeet/ParakeetConformer.swift",
"Models/Parakeet/ParakeetModel.swift",
"Models/Parakeet/ParakeetNemoAliases.swift",
"Models/Parakeet/ParakeetRedux.swift",
"Models/Parakeet/ParakeetTokenizer.swift",
"Models/Phonon2/Phonon2Config.swift",
"Models/Phonon2/Phonon2Model.swift",
"Models/Phonon2/Phonon2PackedLinear.swift",
"Models/Qwen2Audio/Qwen2AudioConfig.swift",
"Models/Qwen2Audio/Qwen2AudioEncoder.swift",
"Models/Qwen2Audio/Qwen2AudioFrontend.swift",
"Models/Qwen2Audio/Qwen2AudioModel.swift",
"Models/Qwen3ASR/Qwen3ASR.swift",
"Models/Qwen3ASR/Qwen3ASRConfig.swift",
"Models/Qwen3ASR/Qwen3ForcedAligner.swift",
"Models/SenseVoice/SenseVoiceAudio.swift",
"Models/SenseVoice/SenseVoiceConfig.swift",
"Models/SenseVoice/SenseVoiceModel.swift",
"Models/SenseVoice/SenseVoiceTokenizer.swift",
"Models/VibeVoiceASR/VibeVoiceAudio.swift",
"Models/VibeVoiceASR/VibeVoiceConfig.swift",
"Models/VibeVoiceASR/VibeVoiceModel.swift",
"Models/Voxtral/VoxtralAudio.swift",
"Models/Voxtral/VoxtralConfig.swift",
"Models/Voxtral/VoxtralModel.swift",
"Models/VoxtralRealtime/VoxtralRealtime.swift",
"Models/VoxtralRealtime/VoxtralRealtimeAudio.swift",
"Models/VoxtralRealtime/VoxtralRealtimeConfig.swift",
"Models/VoxtralRealtime/VoxtralRealtimeDecoder.swift",
"Models/VoxtralRealtime/VoxtralRealtimeEncoder.swift",
"Models/VoxtralRealtime/VoxtralRealtimeStreamSession.swift",
"Models/VoxtralRealtime/VoxtralRealtimeTranscriptText.swift",
"Models/Wav2Vec2/Wav2Vec2CTC.swift",
"Models/Wav2Vec2/Wav2Vec2STTConfig.swift",
"Models/Whisper/WhisperAudio.swift",
"Models/Whisper/WhisperConfig.swift",
"Models/Whisper/WhisperLayers.swift",
"Models/Whisper/WhisperModel.swift",
"Models/Whisper/WhisperTokenizer.swift",
"Shared/TekkenTokenizer.swift",
"Shared/Tokenizer.swift",
"Streaming/IncrementalMelSpectrogram.swift",
"Streaming/StreamingEncoder.swift",
"Streaming/StreamingInferenceSession.swift",
"Streaming/StreamingTypes.swift"
],
"target_dependencies" : [
"MLXAudioCore",
"MLXAudioCodecs",
"MLXAudioVAD"
],
"type" : "library"
},
{
"c99name" : "MLXAudioSTS",
"module_type" : "SwiftTarget",
"name" : "MLXAudioSTS",
"path" : "Sources/MLXAudioSTS",
"product_dependencies" : [
"MLX",
"MLXNN",
"MLXFast",
"HuggingFace",
"Transformers"
],
"product_memberships" : [
"MLXAudioSTS",
"MLXAudioUI",
"MLXAudio",
"mlx-audio-swift-sts"
],
"sources" : [
"Models/DeepFilterNet/DeepFilterNetConfig.swift",
"Models/DeepFilterNet/DeepFilterNetDSP.swift",
"Models/DeepFilterNet/DeepFilterNetForward.swift",
"Models/DeepFilterNet/DeepFilterNetLayers.swift",
"Models/DeepFilterNet/DeepFilterNetModel.swift",
"Models/DeepFilterNet/DeepFilterNetStreamer.swift",
"Models/LFMAudio/Conformer.swift",
"Models/LFMAudio/Detokenizer.swift",
"Models/LFMAudio/LFMAudioConfig.swift",
"Models/LFMAudio/LFMAudioModel.swift",
"Models/LFMAudio/Processor.swift",
"Models/LFMAudio/Transformer.swift",
"Models/MossFormer2SE/MossFormer2Config.swift",
"Models/MossFormer2SE/MossFormer2DSP.swift",
"Models/MossFormer2SE/MossFormer2Layers.swift",
"Models/MossFormer2SE/MossFormer2Model.swift",
"Models/SAMAudio/SAMAudio.swift",
"Models/SAMAudio/SAMAudioAlign.swift",
"Models/SAMAudio/SAMAudioConfig.swift",
"Models/SAMAudio/SAMAudioPatcher.swift",
"Models/SAMAudio/SAMAudioProcessor.swift",
"Models/SAMAudio/SAMAudioRope.swift",
"Models/SAMAudio/SAMAudioTextEncoder.swift",
"Models/SAMAudio/SAMAudioTransformer.swift",
"Models/SAMAudio/SAMAudioTypes.swift",
"Models/SAMAudio/SAMAudioWeights.swift",
"STSModel.swift"
],
"target_dependencies" : [
"MLXAudioCore",
"MLXAudioCodecs",
"MLXAudioTTS",
"MLXAudioSTT"
],
"type" : "library"
},
{
"c99name" : "MLXAudioLID",
"module_type" : "SwiftTarget",
"name" : "MLXAudioLID",
"path" : "Sources/MLXAudioLID",
"product_dependencies" : [
"MLX",
"MLXNN",
"HuggingFace"
],
"product_memberships" : [
"MLXAudioLID",
"MLXAudio",
"mlx-audio-swift-lid"
],
"sources" : [
"LIDOutput.swift",
"Models/EcapaTdnn/EcapaMelSpectrogram.swift",
"Models/EcapaTdnn/EcapaTdnnConfig.swift",
"Models/EcapaTdnn/EcapaTdnnLID.swift",
"Models/EcapaTdnn/EcapaTdnnLayers.swift",
"Models/Wav2Vec2/Wav2Vec2Config.swift",
"Models/Wav2Vec2/Wav2Vec2LID.swift",
"Models/Wav2Vec2/Wav2Vec2Layers.swift"
],
"target_dependencies" : [
"MLXAudioCore",
"MLXAudioCodecs"
],
"type" : "library"
},
{
"c99name" : "MLXAudioG2P",
"module_type" : "SwiftTarget",
"name" : "MLXAudioG2P",
"path" : "Sources/MLXAudioG2P",
"product_dependencies" : [
"MLX",
"MLXNN"
],
"product_memberships" : [
"MLXAudioTTS",
"MLXAudioSTS",
"MLXAudioUI",
"MLXAudioG2P",
"MLXAudio",
"mlx-audio-swift-tts",
"mlx-audio-swift-sts"
],
"sources" : [
"Attention.swift",
"Config.swift",
"Decoder.swift",
"DecoderLayer.swift",
"Encoder.swift",
"EncoderLayer.swift",
"FeedForward.swift",
"G2P.swift",
"G2PTypes.swift",
"Lexicon/CMUDict/ARPAbetMapper.swift",
"Lexicon/CMUDict/CMUDictLoader.swift",
"Lexicon/CMUDict/CMUDictParser.swift",
"Lexicon/InMemoryLexicon.swift",
"Lexicon/LexiconEntry.swift",
"Lexicon/LexiconProviding.swift",
"Model.swift",
"NeuralPhonemizer.swift",
"RelativePositionBias.swift",
"Tokenizer.swift",
"Weights.swift"
],
"type" : "library"
},
{
"c99name" : "MLXAudioCore",
"module_type" : "SwiftTarget",
"name" : "MLXAudioCore",
"path" : "Sources/MLXAudioCore",
"product_dependencies" : [
"MLX",
"MLXNN",
"HuggingFace"
],
"product_memberships" : [
"MLXAudioCore",
"MLXAudioCodecs",
"MLXAudioTTS",
"MLXAudioSTT",
"MLXAudioVAD",
"MLXAudioLID",
"MLXAudioSTS",
"MLXAudioUI",
"MLXAudio",
"mlx-audio-swift-tts",
"mlx-audio-swift-codec",
"mlx-audio-swift-sts",
"mlx-audio-swift-stt",
"mlx-audio-swift-lid"
],
"sources" : [
"AudioPlayer.swift",
"AudioSessionManager.swift",
"AudioUtils.swift",
"DSP.swift",
"Generation/GenerateParameters.swift",
"Generation/GenerationTypes.swift",
"LM/Cache/AttentionUtils.swift",
"LM/Cache/CacheCapabilities.swift",
"LM/Cache/CacheConfiguration.swift",
"LM/Cache/CacheFactory.swift",
"LM/Cache/KVCache.swift",
"LM/Cache/KVCacheConfiguration.swift",
"LM/Cache/KVCacheProtocol.swift",
"LM/Cache/KVCacheRuntime.swift",
"LM/Cache/KVCacheTree.swift",
"LM/Cache/MaterializedKVCache.swift",
"LM/Cache/TurboQuantKVCache.swift",
"LM/Cache/TurboQuantKernels.swift",
"LM/Cache/VarianceNormalizedKVCache.swift",
"LM/Configuration/ModelConfiguration.swift",
"LM/Generation/ModelSamplingOptions.swift",
"LM/Generation/Prefill.swift",
"LM/Generation/PrefillParameters.swift",
"LM/Generation/Sampling.swift",
"LM/Generation/ToolCallPolicy.swift",
"LM/Generation/ToolCallRecoveryPolicy.swift",
"LM/Layers/Compile.swift",
"LM/Layers/RoPEApplication.swift",
"LM/Models/LLMModel.swift",
"LM/Models/LanguageModel.swift",
"LM/Models/LoRAModel.swift",
"LM/Models/Qwen2.swift",
"LM/Models/WeightSanitization.swift",
"ModelUtils.swift",
"PCMStreamConverter.swift",
"SendingBox.swift",
"SentencePieceTokenizer.swift"
],
"type" : "library"
},
{
"c99name" : "MLXAudioCodecs",
"module_type" : "SwiftTarget",
"name" : "MLXAudioCodecs",
"path" : "Sources/MLXAudioCodecs",
"product_dependencies" : [
"MLX",
"MLXFast",
"MLXNN",
"HuggingFace",
"Transformers"
],
"product_memberships" : [
"MLXAudioCodecs",
"MLXAudioTTS",
"MLXAudioSTT",
"MLXAudioLID",
"MLXAudioSTS",
"MLXAudioUI",
"MLXAudio",
"mlx-audio-swift-tts",
"mlx-audio-swift-codec",
"mlx-audio-swift-sts",
"mlx-audio-swift-stt",
"mlx-audio-swift-lid"
],
"sources" : [
"AudioCodecModel.swift",
"AudioCodecs.swift",
"BigVGAN/BigVGAN.swift",
"BigVGAN/BigVGANConfig.swift",
"BigVGAN/BigVGANLayers.swift",
"DACVAE/DACVAE.swift",
"DACVAE/DACVAEConfig.swift",
"DACVAE/DACVAEDecoder.swift",
"DACVAE/DACVAEEncoder.swift",
"DACVAE/DACVAELayers.swift",
"DACVAE/DACVAEWatermark.swift",
"Descript/DescriptDAC.swift",
"Descript/DescriptDACConfig.swift",
"Descript/DescriptQuantization.swift",
"EcapaTdnn/EcapaTdnnBackbone.swift",
"EcapaTdnn/EcapaTdnnConfig.swift",
"Encodec/Encodec.swift",
"Encodec/EncodecConfig.swift",
"Encodec/EncodecLayers.swift",
"Encodec/EncodecQuantization.swift",
"FishS1DAC/FishS1DAC.swift",
"FishS1DAC/FishS1DACConfig.swift",
"FishS1DAC/FishS1DACLayers.swift",
"FishS1DAC/FishS1DACQuantization.swift",
"FishS1DAC/FishS1DACTransformer.swift",
"HiggsAudio/HiggsAudioTokenizer.swift",
"MiMoAudioTokenizer/MiMoAudioTokenizer.swift",
"MiMoAudioTokenizer/MiMoAudioTokenizerAudio.swift",
"MiMoAudioTokenizer/MiMoAudioTokenizerConfig.swift",
"MiMoAudioTokenizer/MiMoAudioTokenizerLayers.swift",
"Mimi/Conv.swift",
"Mimi/Mimi.swift",
"Mimi/Quantization.swift",
"Mimi/Seanet.swift",
"Mimi/Transformer.swift",
"MossAudioTokenizer/MossAudioTokenizer.swift",
"NemotronVoiceChat/NemotronVoiceChatCodec.swift",
"NemotronVoiceChat/NemotronVoiceChatCodecConfig.swift",
"NemotronVoiceChat/NemotronVoiceChatCodecLoading.swift",
"S3/S3TokenizerV2.swift",
"S3Gen/CAMPPlus.swift",
"S3Gen/ConformerEncoder.swift",
"S3Gen/FlowMatching.swift",
"S3Gen/HiFTGenerator.swift",
"S3Gen/S3GenMel.swift",
"S3Gen/StepAudio2.swift",
"SNAC/Attention.swift",
"SNAC/Config.swift",
"SNAC/Layers.swift",
"SNAC/SNACDecoder.swift",
"SNAC/VQ.swift",
"Vocos/Vocos.swift",
"Vocos/VocosBackbone.swift"
],
"target_dependencies" : [
"MLXAudioCore"
],
"type" : "library"
}
],
"tools_version" : "6.2"
}
Done.