public static bool CheckSymbolExists(string symbol, cadencii.utau.UtauVoiceDB db, int note) { if (symbol == "-" || symbol == "—") { return(true); } List <string> OtoNames = new List <string>(); if (symbol.IndexOf(',') > 0) { OtoNames.AddRange(symbol.Split(',')); } else { OtoNames.Add(symbol); } bool Ret = true; foreach (string lyric in OtoNames) { OtoArgs oa = db.attachFileNameFromLyric(lyric, note); if (oa.fileName == null || (oa.fileName != null && oa.fileName == "")) { Ret = false; break; } else { Ret = Ret && System.IO.File.Exists(Path.Combine(db.getVOICEIDSTR(), oa.fileName)); } } return(Ret); }
public UtauSymbolSplitor(VsqFileEx mVsq, VsqEvent curEvent, Dictionary <int, double> PitchBrust, List <VsqEvent> VibstrBrustEvents, cadencii.utau.UtauVoiceDB db) { oriPitchBrust = PitchBrust; oriVibstrBrustEvents = VibstrBrustEvents; oriEvent = curEvent; dstVibstrBrustEvents.Add(oriEvent, oriVibstrBrustEvents); dstPitchBrust.Add(oriEvent, oriPitchBrust); dstParentTable.Add(oriEvent, oriEvent); vdb = db; this.mVsq = mVsq; }
public void test() { var config = new SingerConfig(); config.VOICEIDSTR = "./fixture/utau_voice_db"; var db = new UtauVoiceDB(config); { var actual = db.attachFileNameFromLyric("あ", 60); Assert.AreEqual("あ", actual.Alias); Assert.AreEqual("あ.wav", actual.fileName); Assert.AreEqual(6f, actual.msOffset); Assert.AreEqual(52f, actual.msConsonant); Assert.AreEqual(69f, actual.msBlank); Assert.AreEqual(1f, actual.msPreUtterance); Assert.AreEqual(2f, actual.msOverlap); } { var actual = db.attachFileNameFromLyric("わ", 61); Assert.AreEqual("わ↑", actual.Alias); Assert.AreEqual(@"A\わ↑.wav", actual.fileName); } }