{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/openutau-character-yaml/latest.json",
  "description": "character.yaml for OpenUtau, including the basic information of a voicebank",
  "x-lintel": {
    "source": "https://www.schemastore.org/openutau-character.json",
    "sourceSha256": "f551bef06a30fdef87962f8e61f52baadbad4dff32ee22735f6c5a8472b0f5a9",
    "fileMatch": [
      "character.yaml"
    ],
    "parsers": [
      "yaml"
    ]
  },
  "type": "object",
  "properties": {
    "text_file_encoding": {
      "description": "The encoding used to read character.txt, prefix.map and oto.ini",
      "type": "string",
      "examples": [
        "utf-8",
        "us-ascii",
        "shift_jis",
        "gb2312",
        "big5",
        "ks_c_5601-1987",
        "windows-1252",
        "macintosh"
      ]
    },
    "name": {
      "description": "The name of the voicebank",
      "type": "string"
    },
    "localized_names": {
      "description": "display localized names for the user's selected singer name display language",
      "type": "object",
      "required": [],
      "properties": {
        "en-US": {
          "description": "English (United States)",
          "type": "string"
        },
        "de-DE": {
          "description": "German (Germany)",
          "type": "string"
        },
        "es-ES": {
          "description": "Spanish (Spain)",
          "type": "string"
        },
        "es-MX": {
          "description": "Spanish (Mexico)",
          "type": "string"
        },
        "fi-FI": {
          "description": "Finnish (Finland)",
          "type": "string"
        },
        "fr-FR": {
          "description": "French (France)",
          "type": "string"
        },
        "id-ID": {
          "description": "Indonesian (Indonesia)",
          "type": "string"
        },
        "it-IT": {
          "description": "Italian (Italy)",
          "type": "string"
        },
        "ja-JP": {
          "description": "Japanese (Japan)",
          "type": "string"
        },
        "ko-KR": {
          "description": "Korean (Korea)",
          "type": "string"
        },
        "nl-NL": {
          "description": "Dutch (Netherlands)",
          "type": "string"
        },
        "pl-PL": {
          "description": "Polish (Poland)",
          "type": "string"
        },
        "pt-BR": {
          "description": "Portuguese (Brazil)",
          "type": "string"
        },
        "ru-RU": {
          "description": "Russian (Russia)",
          "type": "string"
        },
        "th-TH": {
          "description": "Thai (Thailand)",
          "type": "string"
        },
        "vi-VN": {
          "description": "Vietnamese (Vietnam)",
          "type": "string"
        },
        "zh-CN": {
          "description": "Chinese (Simplified, China)",
          "type": "string"
        },
        "zh-TW": {
          "description": "Chinese (Traditional, Taiwan)",
          "type": "string"
        }
      },
      "additionalProperties": true
    },
    "singer_type": {
      "description": "The type of the voicebank",
      "type": "string",
      "enum": [
        "utau",
        "enunu",
        "diffsinger"
      ]
    },
    "image": {
      "description": "relative path to the icon of the voicebank",
      "type": "string"
    },
    "author": {
      "description": "The author of the voicebank",
      "type": "string"
    },
    "voice": {
      "description": "The voice provider of the voicebank",
      "type": "string"
    },
    "version": {
      "description": "The version number of the voicebank",
      "type": "string"
    },
    "web": {
      "description": "The website of the voicebank",
      "type": "string"
    },
    "portrait": {
      "description": "Relative path to the portrait of the voicebank",
      "type": "string"
    },
    "portrait_opacity": {
      "description": "Opacity of the portrait, from 0 to 1",
      "type": "number"
    },
    "default_phonemizer": {
      "description": "The default phonemizer of the voicebank",
      "type": "string",
      "examples": [
        "OpenUtau.Plugin.Builtin.GermanDiphonePhonemizer",
        "OpenUtau.Plugin.Builtin.GermanVCCVPhonemizer",
        "OpenUtau.Core.DefaultPhonemizer",
        "OpenUtau.Core.DiffSinger.DiffSingerPhonemizer",
        "OpenUtau.Core.DiffSinger.DiffSingerEnglishPhonemizer",
        "OpenUtau.Core.DiffSinger.DiffSingerPortuguesePhonemizer",
        "OpenUtau.Core.DiffSinger.DiffSingerRhythmizerPhonemizer",
        "OpenUtau.Core.DiffSinger.DiffSingerRussianPhonemizer",
        "OpenUtau.Plugin.Builtin.ArpasingPhonemizer",
        "OpenUtau.Plugin.Builtin.ENtoJAPhonemizer",
        "OpenUtau.Plugin.Builtin.EnglishVCCVPhonemizer",
        "OpenUtau.Plugin.Builtin.EnXSampaPhonemizer",
        "OpenUtau.Core.Enunu.EnunuPhonemizer",
        "OpenUtau.Core.Enunu.EnunuEnglishPhonemizer",
        "OpenUtau.Plugin.Builtin.EnunuOnnxPhonemizer",
        "OpenUtau.Plugin.Builtin.EnunuOnnxEnglishPhonemizer",
        "OpenUtau.Plugin.Builtin.SpanishMakkusanPhonemizer",
        "OpenUtau.Plugin.Builtin.SpanishSyllableBasedPhonemizer",
        "OpenUtau.Plugin.Builtin.EStoJAPhonemizer",
        "OpenUtau.Plugin.Builtin.SpanishVCCVPhonemizer",
        "OpenUtau.Plugin.Builtin.FrenchCVVCPhonemizer",
        "OpenUtau.Plugin.Builtin.FrenchCMUSphinxPhonemizer",
        "OpenUtau.Plugin.Builtin.FrenchVCCVPhonemizer",
        "OpenUtau.Plugin.Builtin.ItalianCVVCPhonemizer",
        "OpenUtau.Plugin.Builtin.ItalianSyllableBasedPhonemizer",
        "OpenUtau.Plugin.Builtin.JapaneseCVVCPhonemizer",
        "OpenUtau.Plugin.Builtin.JapaneseVCVPhonemizer",
        "OpenUtau.Plugin.Builtin.JapanesePresampPhonemizer",
        "OpenUtau.Plugin.Builtin.KoreanCBNNPhonemizer",
        "OpenUtau.Plugin.Builtin.KoreanCVCPhonemizer",
        "OpenUtau.Plugin.Builtin.KoreanCVCCVPhonemizer",
        "OpenUtau.Plugin.Builtin.KoreanCVVCStandardPronunciationPhonemizer",
        "OpenUtau.Plugin.Builtin.KoreanVCVPhonemizer",
        "OpenUtau.Plugin.Builtin.PolishCVCPhonemizer",
        "OpenUtau.Plugin.Builtin.BrazilianPortugueseCVCPhonemizer",
        "OpenUtau.Plugin.Builtin.RussianCVCPhonemizer",
        "OpenUtau.Plugin.Builtin.RussianVCCVPhonemizer",
        "OpenUtau.Plugin.Builtin.VietnameseCVVCPhonemizer",
        "OpenUtau.Plugin.Builtin.VietnameseVCVPhonemizer",
        "OpenUtau.Plugin.Builtin.VietnameseVINAPhonemizer",
        "OpenUtau.Core.Vogen.VogenMandarinPhonemizer",
        "OpenUtau.Core.Vogen.VogenYuePhonemizer",
        "OpenUtau.Plugin.Builtin.ChineseCVVMonophonePhonemizer",
        "OpenUtau.Plugin.Builtin.ChineseCVVCPhonemizer",
        "OpenUtau.Plugin.Builtin.PresampSamplePhonemizer"
      ]
    },
    "subbanks": {
      "description": "The subbanks of the voicebank for different pitch and voice color",
      "type": "array",
      "items": {
        "description": "A subbank of the voicebank",
        "type": "object",
        "properties": {
          "color": {
            "description": "Voice color that this subbank belongs to",
            "type": "string"
          },
          "prefix": {
            "description": "Prefix for this subbank in the oto.ini",
            "type": "string"
          },
          "suffix": {
            "description": "Suffix for this subbank in the oto.ini",
            "type": "string"
          },
          "tone_ranges": {
            "description": "The tone ranges that this subbank covers",
            "type": "array",
            "items": {
              "description": "A tone range that this subbank cover",
              "type": "string"
            }
          }
        }
      }
    }
  },
  "required": [],
  "additionalProperties": true
}
