Files
vorleser/Vorleser/Services/ModelManifest.swift

34 lines
1.3 KiB
Swift

import Foundation
struct ModelManifest {
struct Asset: Hashable {
let name: String
let remoteURL: URL
let localFolderName: String
}
let modelName: String
let assets: [Asset]
let voices: [Asset]
let tokenizer: Asset
static func kokoro() -> ModelManifest {
// TODO: Replace URLs with your hosted files.
let base = URL(string: "https://example.com/kokoro/")!
let assets = [
Asset(name: "duration", remoteURL: base.appendingPathComponent("kokoro_duration.mlpackage"), localFolderName: "kokoro"),
Asset(name: "decoder_3s", remoteURL: base.appendingPathComponent("KokoroDecoder_HAR_3s.mlpackage"), localFolderName: "kokoro"),
Asset(name: "decoder_10s", remoteURL: base.appendingPathComponent("KokoroDecoder_HAR_10s.mlpackage"), localFolderName: "kokoro")
]
let voices = [
Asset(name: "am_michael", remoteURL: base.appendingPathComponent("voices/am_michael.pt"), localFolderName: "kokoro/voices")
]
let tokenizer = Asset(name: "tokenizer", remoteURL: base.appendingPathComponent("checkpoints/config.json"), localFolderName: "kokoro")
return ModelManifest(modelName: "Kokoro", assets: assets, voices: voices, tokenizer: tokenizer)
}
}