private static void VibratoFromUst(VibratoExpression vibrato, string ust) { var args = ust.Split(new[] { ',' }).Select(double.Parse).ToList(); if (args.Count() >= 7) { vibrato.Length = args[0]; vibrato.Period = args[1]; vibrato.Depth = args[2]; vibrato.In = args[3]; vibrato.Out = args[4]; vibrato.Shift = args[5]; vibrato.Drift = args[6]; } }
private static string VibratoToUst(VibratoExpression vibrato) { var args = new List <double>() { vibrato.Length, vibrato.Period, vibrato.Depth, vibrato.In, vibrato.Out, vibrato.Shift, vibrato.Drift }; return(string.Join(",", args.ToArray())); }
public void SetVibrato(string vbr) { var cultureInfo = new CultureInfo("ja-JP"); var value = vbr.Split(','); var vibrato = new VibratoExpression(); if (value.Count() >= 7) { vibrato.Length = double.Parse(value[0], cultureInfo); vibrato.Period = double.Parse(value[1], cultureInfo); vibrato.Depth = double.Parse(value[2], cultureInfo); vibrato.In = double.Parse(value[3], cultureInfo); vibrato.Out = double.Parse(value[4], cultureInfo); vibrato.Shift = double.Parse(value[5], cultureInfo); vibrato.Drift = double.Parse(value[6], cultureInfo); } Vibrato = vibrato; }
private double InterpolateVibrato(VibratoExpression vibrato, double posMs) { var lengthMs = vibrato.Length / 100 * DocManager.Inst.Project.TickToMillisecond(vibrato.Parent.DurTick); var inMs = lengthMs * vibrato.In / 100; var outMs = lengthMs * vibrato.Out / 100; var value = -Math.Sin(2 * Math.PI * (posMs / vibrato.Period + vibrato.Shift / 100)) * vibrato.Depth; if (posMs < inMs) { value *= posMs / inMs; } else if (posMs > lengthMs - outMs) { value *= (lengthMs - posMs) / outMs; } return(value); }
private UNote() { PitchBend = new PitchBendExpression(this); Vibrato = new VibratoExpression(this); Phonemes.Add(new UPhoneme() { Parent = this, PosTick = 0 }); }
static String VibratoToUst(VibratoExpression vibrato) { List<double> args = new List<double>() { vibrato.Length, vibrato.Period, vibrato.Depth, vibrato.In, vibrato.Out, vibrato.Shift, vibrato.Drift }; return string.Join(",", args.ToArray()); }
static void VibratoFromUst(VibratoExpression vibrato, string ust) { var args = ust.Split(new[] { ',' }).Select(double.Parse).ToList(); if (args.Count() >= 7) { vibrato.Length = args[0]; vibrato.Period = args[1]; vibrato.Depth = args[2]; vibrato.In = args[3]; vibrato.Out = args[4]; vibrato.Shift = args[5]; vibrato.Drift = args[6]; } }
public void SetVibrato(VibratoExpression value) { Vibrato = value; }
private double InterpolateVibrato(VibratoExpression vibrato, double posMs) { double lengthMs = vibrato.Length / 100 * DocManager.Inst.Project.TickToMillisecond(vibrato.Parent.DurTick); double inMs = lengthMs * vibrato.In / 100; double outMs = lengthMs * vibrato.Out / 100; double value = -Math.Sin(2 * Math.PI * (posMs / vibrato.Period + vibrato.Shift / 100)) * vibrato.Depth; if (posMs < inMs) value *= posMs / inMs; else if (posMs > lengthMs - outMs) value *= (lengthMs - posMs) / outMs; return value; }