diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..f7c752928 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,8 @@ +# Auto detect text files and perform LF normalization +* text=auto + +*.cs text diff=csharp +*.cshtml text diff=html +*.csx text diff=csharp +*.sln text eol=crlf +*.csproj text eol=crlf diff --git a/.github/workflows/release-cleanup.yml b/.github/workflows/release-cleanup.yml new file mode 100644 index 000000000..fbe4f53b5 --- /dev/null +++ b/.github/workflows/release-cleanup.yml @@ -0,0 +1,28 @@ +# This is a basic workflow to help you get started with Actions + +name: release-cleanup + +# Controls when the workflow will run +on: + # Triggers the workflow on push or pull request events but only for the "master" branch + push: + branches: [ "master" ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + - uses: dev-drprasad/delete-older-releases@v0.2.0 + with: + keep_latest: 16 + delete_tag_pattern: build + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/Misc/release.xml b/Misc/release.xml deleted file mode 100644 index ac82434d0..000000000 --- a/Misc/release.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - {{version}} - https://github.com/stakira/OpenUtau/releases/download/OpenUtau-Latest/OpenUtau.zip - false - diff --git a/OpenUtau.Core/Analysis/Crepe/Crepe.cs b/OpenUtau.Core/Analysis/Crepe/Crepe.cs new file mode 100644 index 000000000..3b4657d95 --- /dev/null +++ b/OpenUtau.Core/Analysis/Crepe/Crepe.cs @@ -0,0 +1,154 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.ML.OnnxRuntime; +using Microsoft.ML.OnnxRuntime.Tensors; +using NWaves.Operations; +using NWaves.Signals; + +namespace OpenUtau.Core.Analysis.Crepe { + public class Crepe : IDisposable { + const int kModelSampleRate = 16000; + const int kFrameSize = 1024; + const int kActivationSize = 360; + + InferenceSession session; + double[] centsMapping; + private bool disposedValue; + + public Crepe() { + session = new InferenceSession(Resources.tiny); + centsMapping = Enumerable.Range(0, kActivationSize) + .Select(i => i * 20 + 1997.3794084376191) + .ToArray(); + } + + public double[] ComputeF0(DiscreteSignal signal, double stepMs, double threshold = 0.21) { + if (signal.SamplingRate != kModelSampleRate) { + var resampler = new Resampler(); + signal = resampler.Resample(signal, kModelSampleRate); + } + var input = ToFrames(signal, stepMs); + int length = input.Dimensions[0]; + var inputs = new List(); + inputs.Add(NamedOnnxValue.CreateFromTensor("input", input)); + var outputs = session.Run(inputs); + var activations = outputs.First().AsTensor().ToArray(); + int[] path = new int[length]; + GetPath(activations, path); + float[] confidences = new float[length]; + double[] cents = new double[length]; + double[] f0 = new double[length]; + for (int i = 0; i < length; ++i) { + var frame = new ArraySegment(activations, i * kActivationSize, kActivationSize); + cents[i] = GetCents(frame, path[i]); + confidences[i] = frame[path[i]]; + f0[i] = double.IsNormal(cents[i]) + && double.IsNormal(confidences[i]) + && confidences[i] > threshold + ? 10f * Math.Pow(2.0, cents[i] / 1200.0) : 0; + } + return f0; + } + + Tensor ToFrames(DiscreteSignal signal, double stepMs) { + float[] paddedSamples = new float[signal.Length + kFrameSize]; + Array.Copy(signal.Samples, 0, paddedSamples, kFrameSize / 2, signal.Length); + int hopSize = (int)(kModelSampleRate * stepMs / 1000); + int length = signal.Length / hopSize; + float[] frames = new float[length * kFrameSize]; + for (int i = 0; i < length; ++i) { + Array.Copy(paddedSamples, i * hopSize, + frames, i * kFrameSize, kFrameSize); + NormalizeFrame(new ArraySegment( + frames, i * kFrameSize, kFrameSize)); + } + return frames.ToTensor().Reshape(new int[] { length, kFrameSize }); + } + + void GetPath(float[] activations, int[] path) { + float[] prob = new float[kActivationSize]; + float[] nextProb = new float[kActivationSize]; + for (int i = 0; i < kActivationSize; ++i) { + prob[i] = (float)Math.Log(1.0 / kActivationSize); + } + float[,] transitions = new float[kActivationSize, kActivationSize]; + int dist = 12; + for (int i = 0; i < kActivationSize; ++i) { + int low = Math.Max(0, i - dist); + int high = Math.Min(kActivationSize, i + dist); + float sum = 0; + for (int j = low; j < high; ++j) { + transitions[i, j] = dist - Math.Abs(i - j); + sum += transitions[i, j]; + } + for (int j = low; j < high; ++j) { + transitions[i, j] = (float)Math.Log(transitions[i, j] / sum); + } + } + for (int i = 0; i < path.Length; ++i) { + var activ = new ArraySegment(activations, i * kActivationSize, kActivationSize); + Array.Clear(nextProb, 0, nextProb.Length); + for (int j = 0; j < kActivationSize; ++j) { + int low = Math.Max(0, j - dist); + int high = Math.Min(kActivationSize, j + dist); + float maxP = float.MinValue; + for (int k = low; k < high; ++k) { + float p = (float)(prob[k] + transitions[j, k] + Math.Log(activ[k])); + if (p > maxP) { + maxP = p; + } + } + nextProb[j] = maxP; + } + path[i] = ArgMax(nextProb); + } + } + + double GetCents(ArraySegment activations, int index) { + int start = Math.Max(0, index - 4); + int end = Math.Min(activations.Count, index + 5); + double weightedSum = 0; + double weightSum = 0; + for (int i = start; i < end; ++i) { + weightedSum += activations[i] * centsMapping[i]; + weightSum += activations[i]; + } + return weightedSum / weightSum; + } + + static int ArgMax(Span values) { + int index = -1; + float value = float.MinValue; + for (int i = 0; i < values.Length; ++i) { + if (value < values[i]) { + index = i; + value = values[i]; + } + } + return index; + } + + void NormalizeFrame(ArraySegment data) { + double avg = data.Average(); + double std = Math.Sqrt(data.Average(d => Math.Pow(d - avg, 2))); + for (int i = 0; i < data.Count; ++i) { + data[i] = (float)((data[i] - avg) / std); + } + } + + protected virtual void Dispose(bool disposing) { + if (!disposedValue) { + if (disposing) { + session.Dispose(); + } + disposedValue = true; + } + } + + public void Dispose() { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/OpenUtau.Core/Analysis/Crepe/LICENSE.txt b/OpenUtau.Core/Analysis/Crepe/LICENSE.txt new file mode 100644 index 000000000..93f465297 --- /dev/null +++ b/OpenUtau.Core/Analysis/Crepe/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2018 Jong Wook Kim + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/OpenUtau.Core/Analysis/Crepe/Resources.Designer.cs b/OpenUtau.Core/Analysis/Crepe/Resources.Designer.cs new file mode 100644 index 000000000..47d74af5c --- /dev/null +++ b/OpenUtau.Core/Analysis/Crepe/Resources.Designer.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OpenUtau.Core.Analysis.Crepe { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OpenUtau.Core.Analysis.Crepe.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] tiny { + get { + object obj = ResourceManager.GetObject("tiny", resourceCulture); + return ((byte[])(obj)); + } + } + } +} diff --git a/OpenUtau.Core/Analysis/Crepe/Resources.resx b/OpenUtau.Core/Analysis/Crepe/Resources.resx new file mode 100644 index 000000000..56da25608 --- /dev/null +++ b/OpenUtau.Core/Analysis/Crepe/Resources.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + tiny.onnx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OpenUtau.Core/Analysis/Crepe/tiny.onnx b/OpenUtau.Core/Analysis/Crepe/tiny.onnx new file mode 100644 index 000000000..6f8ac7b7f Binary files /dev/null and b/OpenUtau.Core/Analysis/Crepe/tiny.onnx differ diff --git a/OpenUtau.Core/Api/G2pPack.cs b/OpenUtau.Core/Api/G2pPack.cs index b448d52c7..bb2c92873 100644 --- a/OpenUtau.Core/Api/G2pPack.cs +++ b/OpenUtau.Core/Api/G2pPack.cs @@ -1,10 +1,7 @@ using System; using System.Collections.Generic; -using System.IO; using System.Linq; -using System.Text; using System.Text.RegularExpressions; -using SharpCompress.Archives; using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenUtau.Core.Util; diff --git a/OpenUtau.Core/Api/Phonemizer.cs b/OpenUtau.Core/Api/Phonemizer.cs index 14ee2532e..10f8b5747 100644 --- a/OpenUtau.Core/Api/Phonemizer.cs +++ b/OpenUtau.Core/Api/Phonemizer.cs @@ -13,14 +13,17 @@ public class PhonemizerAttribute : Attribute { public string Name { get; private set; } public string Tag { get; private set; } public string Author { get; private set; } + public string Language { get; private set; } /// Name of phonemizer. Required. - /// Use IETF language code + phonetic type as tag, e.g., "EN ARPA", "JP VCV", etc. Required. + /// Use IETF language code + phonetic type as tag, e.g., "EN ARPA", "JA VCV", etc. Required. /// Author of this phonemizer. - public PhonemizerAttribute(string name, string tag, string author = null) { + /// IETF language code of this phonemizer's singing language, e.g., "EN", "JA" + public PhonemizerAttribute(string name, string tag, string author = null, string language = null) { Name = name; Tag = tag; Author = author; + Language = language; } } @@ -52,14 +55,14 @@ public struct Note { public int tone; /// - /// Position of note in part. Measured in ticks. - /// Use TickToMs() and MsToTick() to convert between ticks and milliseconds . + /// Position of note in project, measured in ticks. + /// Use timeAxis to convert between ticks and milliseconds . /// public int position; /// - /// Duration of note in part. Measured in ticks. - /// Use TickToMs() and MsToTick() to convert between ticks and milliseconds . + /// Duration of note measured in ticks. + /// Use timeAxis to convert between ticks and milliseconds . /// public int duration; @@ -132,10 +135,10 @@ public struct Result { public string Name { get; set; } public string Tag { get; set; } + public string Language { get; set; } protected double bpm; - private int beatUnit; - private int resolution; + protected TimeAxis timeAxis; /// /// Sets the current singer. Called by OpenUtau when user changes the singer. @@ -150,6 +153,12 @@ public struct Result { /// public abstract void SetSinger(USinger singer); + /// + /// Uses the legacy bahaviour of further mapping phonemizer outputs. + /// Do not override for new phonemizers. + /// + public virtual bool LegacyMapping => false; + public virtual void SetUp(Note[][] notes) { } /// @@ -171,27 +180,28 @@ public virtual void CleanUp() { } /// Used by OpenUtau to set timing info for TickToMs() and MsToTick(). /// Not need to call this method from within a phonemizer. /// - public void SetTiming(double bpm, int beatUnit, int resolution) { - this.bpm = bpm; - this.beatUnit = beatUnit; - this.resolution = resolution; + public void SetTiming(TimeAxis timeAxis) { + this.timeAxis = timeAxis; + bpm = timeAxis.GetBpmAtTick(0); } public string DictionariesPath => PathManager.Inst.DictionariesPath; public string PluginDir => PathManager.Inst.PluginsPath; /// - /// Utility method to convert ticks to milliseconds. + /// Utility method to convert tick position to millisecond position. /// + [Obsolete] // TODO: update usages protected double TickToMs(int tick) { - return MusicMath.TickToMillisecond(tick, bpm, beatUnit, resolution); + return timeAxis.TickPosToMsPos(tick); } /// - /// Utility method to convert milliseconds to ticks. + /// Utility method to convert millisecond position to tick position. /// + [Obsolete] // TODO: update usages protected int MsToTick(double ms) { - return MusicMath.MillisecondToTick(ms, bpm, beatUnit, resolution); + return timeAxis.MsPosToTickPos(ms); } /// diff --git a/OpenUtau.Core/Api/PhonemizerFactory.cs b/OpenUtau.Core/Api/PhonemizerFactory.cs index e7b2ae3f6..e6b0d8383 100644 --- a/OpenUtau.Core/Api/PhonemizerFactory.cs +++ b/OpenUtau.Core/Api/PhonemizerFactory.cs @@ -8,11 +8,13 @@ public class PhonemizerFactory { public string name; public string tag; public string author; + public string language; public Phonemizer Create() { var phonemizer = Activator.CreateInstance(type) as Phonemizer; phonemizer.Name = name; phonemizer.Tag = tag; + phonemizer.Language = language; return phonemizer; } @@ -32,6 +34,7 @@ public static PhonemizerFactory Get(Type type) { name = attr.Name, tag = attr.Tag, author = attr.Author, + language = attr.Language, }; factories[type] = factory; } diff --git a/OpenUtau.Core/Api/PhonemizerRunner.cs b/OpenUtau.Core/Api/PhonemizerRunner.cs index 97de95916..50b465a5c 100644 --- a/OpenUtau.Core/Api/PhonemizerRunner.cs +++ b/OpenUtau.Core/Api/PhonemizerRunner.cs @@ -10,14 +10,13 @@ namespace OpenUtau.Api { internal class PhonemizerRequest { + public USinger singer; public UVoicePart part; public long timestamp; public int[] noteIndexes; public Phonemizer.Note[][] notes; public Phonemizer phonemizer; - public double bpm; - public int beatUnit; - public int resolution; + public TimeAxis timeAxis; } internal class PhonemizerResponse { @@ -75,6 +74,7 @@ void SendResponse(PhonemizerResponse response) { response.part.SetPhonemizerResponse(response); } DocManager.Inst.Project.Validate(new ValidateOptions { + SkipTiming = true, Part = response.part, SkipPhonemizer = true, }); @@ -85,7 +85,16 @@ void SendResponse(PhonemizerResponse response) { static PhonemizerResponse Phonemize(PhonemizerRequest request) { var notes = request.notes; var phonemizer = request.phonemizer; - phonemizer.SetTiming(request.bpm, request.beatUnit, request.resolution); + if (request.singer == null) { + return new PhonemizerResponse() { + noteIndexes = request.noteIndexes, + part = request.part, + phonemes = new Phonemizer.Phoneme[][] { }, + timestamp = request.timestamp, + }; + } + phonemizer.SetSinger(request.singer); + phonemizer.SetTiming(request.timeAxis); try { phonemizer.SetUp(notes); } catch (Exception e) { @@ -135,6 +144,14 @@ static PhonemizerResponse Phonemize(PhonemizerRequest request) { } }; } + if (phonemizer.LegacyMapping) { + for (var k = 0; k < phonemizerResult.phonemes.Length; k++) { + var phoneme = phonemizerResult.phonemes[k]; + if (request.singer.TryGetMappedOto(phoneme.phoneme, notes[i][0].tone, out var oto)) { + phonemizerResult.phonemes[k].phoneme = oto.Alias; + } + } + } for (var j = 0; j < phonemizerResult.phonemes.Length; j++) { phonemizerResult.phonemes[j].position += notes[i][0].position; } diff --git a/OpenUtau.Core/Classic/ClassicRenderer.cs b/OpenUtau.Core/Classic/ClassicRenderer.cs index b167c2efb..d8968ffc3 100644 --- a/OpenUtau.Core/Classic/ClassicRenderer.cs +++ b/OpenUtau.Core/Classic/ClassicRenderer.cs @@ -1,25 +1,31 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading; using System.Threading.Tasks; +using NAudio.Wave; +using OpenUtau.Core; +using OpenUtau.Core.Format; using OpenUtau.Core.Render; using OpenUtau.Core.Ustx; +using OpenUtau.Core.Util; +using Serilog; namespace OpenUtau.Classic { public class ClassicRenderer : IRenderer { static readonly HashSet supportedExp = new HashSet(){ - Core.Format.Ustx.DYN, - Core.Format.Ustx.PITD, - Core.Format.Ustx.CLR, - Core.Format.Ustx.SHFT, - Core.Format.Ustx.ENG, - Core.Format.Ustx.VEL, - Core.Format.Ustx.VOL, - Core.Format.Ustx.ATK, - Core.Format.Ustx.DEC, - Core.Format.Ustx.MOD, - Core.Format.Ustx.ALT, + Ustx.DYN, + Ustx.PITD, + Ustx.CLR, + Ustx.SHFT, + Ustx.ENG, + Ustx.VEL, + Ustx.VOL, + Ustx.ATK, + Ustx.DEC, + Ustx.MOD, + Ustx.ALT, }; public USingerType SingerType => USingerType.Classic; @@ -33,70 +39,99 @@ public bool SupportsExpression(UExpressionDescriptor descriptor) { } public RenderResult Layout(RenderPhrase phrase) { - var firstPhone = phrase.phones.First(); - var lastPhone = phrase.phones.Last(); return new RenderResult() { - leadingMs = firstPhone.preutterMs, - positionMs = (phrase.position + firstPhone.position) * phrase.tickToMs, - estimatedLengthMs = (lastPhone.duration + lastPhone.position - firstPhone.position) * phrase.tickToMs + firstPhone.preutterMs, + leadingMs = phrase.leadingMs, + positionMs = phrase.positionMs, + estimatedLengthMs = phrase.durationMs + phrase.leadingMs, }; } public Task Render(RenderPhrase phrase, Progress progress, CancellationTokenSource cancellation, bool isPreRender) { + if (phrase.wavtool == SharpWavtool.nameConvergence || phrase.wavtool == SharpWavtool.nameSimple) { + return RenderInternal(phrase, progress, cancellation, isPreRender); + } else { + return RenderExternal(phrase, progress, cancellation, isPreRender); + } + } + + public Task RenderInternal(RenderPhrase phrase, Progress progress, CancellationTokenSource cancellation, bool isPreRender) { var resamplerItems = new List(); foreach (var phone in phrase.phones) { resamplerItems.Add(new ResamplerItem(phrase, phone)); } var task = Task.Run(() => { Parallel.ForEach(source: resamplerItems, parallelOptions: new ParallelOptions() { - MaxDegreeOfParallelism = 2 + MaxDegreeOfParallelism = Preferences.Default.NumRenderThreads }, body: item => { if (!cancellation.IsCancellationRequested && !File.Exists(item.outputFile)) { - VoicebankFiles.CopySourceTemp(item.inputFile, item.inputTemp); - item.resampler.DoResamplerReturnsFile(item, Serilog.Log.Logger); + if (!(item.resampler is WorldlineResampler)) { + VoicebankFiles.Inst.CopySourceTemp(item.inputFile, item.inputTemp); + } + lock (Renderers.GetCacheLock(item.outputFile)) { + item.resampler.DoResamplerReturnsFile(item, Log.Logger); + } if (!File.Exists(item.outputFile)) { - throw new InvalidDataException($"{item.resampler.Name} failed to resample \"{item.phone.phoneme}\""); + throw new InvalidDataException($"{item.resampler} failed to resample \"{item.phone.phoneme}\""); + } + if (!(item.resampler is WorldlineResampler)) { + VoicebankFiles.Inst.CopyBackMetaFiles(item.inputFile, item.inputTemp); } - VoicebankFiles.CopyBackMetaFiles(item.inputFile, item.inputTemp); } - progress.Complete(1, $"Resampling \"{item.phone.phoneme}\""); + progress.Complete(1, $"{item.resampler} \"{item.phone.phoneme}\""); }); var result = Layout(phrase); - result.samples = Concatenate(resamplerItems, cancellation); + var wavtool = new SharpWavtool(true); + result.samples = wavtool.Concatenate(resamplerItems, string.Empty, cancellation); if (result.samples != null) { - ApplyDynamics(phrase, result.samples); + Renderers.ApplyDynamics(phrase, result); } return result; }); return task; } - float[] Concatenate(List resamplerItems, CancellationTokenSource cancellation) { - var wavtool = new SharpWavtool(Core.Util.Preferences.Default.PhaseCompensation == 1); - return wavtool.Concatenate(resamplerItems, cancellation); - } - - void ApplyDynamics(RenderPhrase phrase, float[] samples) { - const int interval = 5; - if (phrase.dynamics == null) { - return; + public Task RenderExternal(RenderPhrase phrase, Progress progress, CancellationTokenSource cancellation, bool isPreRender) { + var resamplerItems = new List(); + foreach (var phone in phrase.phones) { + resamplerItems.Add(new ResamplerItem(phrase, phone)); } - int pos = 0; - for (int i = 0; i < phrase.dynamics.Length; ++i) { - int endPos = (int)((i + 1) * interval * phrase.tickToMs / 1000 * 44100); - float a = phrase.dynamics[i]; - float b = (i + 1) == phrase.dynamics.Length ? phrase.dynamics[i] : phrase.dynamics[i + 1]; - for (int j = pos; j < endPos; ++j) { - samples[j] *= a + (b - a) * (j - pos) / (endPos - pos); + var task = Task.Run(() => { + string progressInfo = $"{phrase.wavtool} \"{string.Join(" ", phrase.phones.Select(p => p.phoneme))}\""; + progress.Complete(0, progressInfo); + var wavPath = Path.Join(PathManager.Inst.CachePath, $"cat-{phrase.hash:x16}.wav"); + var result = Layout(phrase); + if (File.Exists(wavPath)) { + try { + using (var waveStream = Wave.OpenFile(wavPath)) { + result.samples = Wave.GetSamples(waveStream.ToSampleProvider().ToMono(1, 0)); + } + } catch (Exception e) { + Log.Error(e, "Failed to render."); + } } - pos = endPos; - } + if (result.samples == null) { + foreach (var item in resamplerItems) { + VoicebankFiles.Inst.CopySourceTemp(item.inputFile, item.inputTemp); + } + var wavtool = ToolsManager.Inst.GetWavtool(phrase.wavtool); + result.samples = wavtool.Concatenate(resamplerItems, wavPath, cancellation); + foreach (var item in resamplerItems) { + VoicebankFiles.Inst.CopyBackMetaFiles(item.inputFile, item.inputTemp); + } + } + progress.Complete(phrase.phones.Length, progressInfo); + if (result.samples != null) { + Renderers.ApplyDynamics(phrase, result); + } + return result; + }); + return task; } public RenderPitchResult LoadRenderedPitch(RenderPhrase phrase) { return null; } - public override string ToString() => "CLASSIC"; + public override string ToString() => Renderers.CLASSIC; } } diff --git a/OpenUtau.Core/Classic/ClassicSinger.cs b/OpenUtau.Core/Classic/ClassicSinger.cs index 9b745f64a..b3616bd6a 100644 --- a/OpenUtau.Core/Classic/ClassicSinger.cs +++ b/OpenUtau.Core/Classic/ClassicSinger.cs @@ -29,15 +29,15 @@ public class ClassicSinger : USinger { public override string DefaultPhonemizer => voicebank.DefaultPhonemizer; public override Encoding TextFileEncoding => voicebank.TextFileEncoding; public override IList Subbanks => subbanks; - public override Dictionary Otos => otos; + public override IList Otos => otos; Voicebank voicebank; List errors = new List(); byte[] avatarData; - List OtoSets = new List(); - Dictionary otos = new Dictionary(); - Dictionary> phonetics; + List otoSets = new List(); List subbanks = new List(); + List otos = new List(); + Dictionary otoMap = new Dictionary(); OtoWatcher otoWatcher; public ClassicSinger(Voicebank voicebank) { @@ -63,6 +63,7 @@ public override void Reload() { if (otoWatcher == null) { otoWatcher = new OtoWatcher(this, Location); } + OtoDirty = false; } catch (Exception e) { Log.Error(e, $"Failed to load {voicebank.File}"); } @@ -94,13 +95,20 @@ void Load() { .ToList(); var dummy = new USubbank(new Subbank()); - OtoSets.Clear(); + otoSets.Clear(); otos.Clear(); + otoMap.Clear(); errors.Clear(); foreach (var otoSet in voicebank.OtoSets) { var uSet = new UOtoSet(otoSet, voicebank.BasePath); - OtoSets.Add(uSet); + otoSets.Add(uSet); foreach (var oto in otoSet.Otos) { + if (!oto.IsValid) { + if (!string.IsNullOrEmpty(oto.Error)) { + errors.Add(oto.Error); + } + continue; + } UOto? uOto = null; for (var i = 0; i < patterns.Count; i++) { var m = patterns[i].Match(oto.Alias); @@ -113,20 +121,17 @@ void Load() { if (uOto == null) { uOto = new UOto(oto, uSet, dummy); } - if (!otos.ContainsKey(oto.Alias)) { - otos.Add(oto.Alias, uOto); + otos.Add(uOto); + if (!otoMap.ContainsKey(oto.Alias)) { + otoMap.Add(oto.Alias, uOto); } else { //Errors.Add($"oto conflict {Otos[oto.Alias].Set}/{oto.Alias} and {otoSet.Name}/{oto.Alias}"); } } - errors.AddRange(otoSet.Errors); } - phonetics = otos.Values - .GroupBy(oto => oto.Phonetic, oto => oto) - .ToDictionary(g => g.Key, g => g.OrderByDescending(oto => oto.Prefix.Length + oto.Suffix.Length).ToList()); Task.Run(() => { - otos.Values + otoMap.Values .ToList() .ForEach(oto => { oto.SearchTerms.Add(oto.Alias.ToLowerInvariant().Replace(" ", "")); @@ -135,22 +140,38 @@ void Load() { }); } + public override void Save() { + try { + otoWatcher.Paused = true; + foreach (var oto in Otos) { + oto.WriteBack(); + } + VoicebankLoader.WriteOtoSets(voicebank); + } finally { + otoWatcher.Paused = false; + } + } + + public override bool TryGetOto(string phoneme, out UOto oto) { + if (otoMap.TryGetValue(phoneme, out oto)) { + return true; + } + return false; + } + public override bool TryGetMappedOto(string phoneme, int tone, out UOto oto) { oto = default; var subbank = subbanks.Find(subbank => string.IsNullOrEmpty(subbank.Color) && subbank.toneSet.Contains(tone)); - if (subbank != null && otos.TryGetValue($"{subbank.Prefix}{phoneme}{subbank.Suffix}", out oto)) { + if (subbank != null && otoMap.TryGetValue($"{subbank.Prefix}{phoneme}{subbank.Suffix}", out oto)) { return true; } - if (otos.TryGetValue(phoneme, out oto)) { - return true; - } - return false; + return TryGetOto(phoneme, out oto); } public override bool TryGetMappedOto(string phoneme, int tone, string color, out UOto oto) { oto = default; var subbank = subbanks.Find(subbank => subbank.Color == color && subbank.toneSet.Contains(tone)); - if (subbank != null && otos.TryGetValue($"{subbank.Prefix}{phoneme}{subbank.Suffix}", out oto)) { + if (subbank != null && otoMap.TryGetValue($"{subbank.Prefix}{phoneme}{subbank.Suffix}", out oto)) { return true; } return TryGetMappedOto(phoneme, tone, out oto); @@ -161,7 +182,7 @@ public override IEnumerable GetSuggestions(string text) { text = text.ToLowerInvariant().Replace(" ", ""); } bool all = string.IsNullOrEmpty(text); - return otos.Values + return otoMap.Values .Where(oto => all || oto.SearchTerms.Exists(term => term.Contains(text))); } diff --git a/OpenUtau.Core/Classic/ExeResampler.cs b/OpenUtau.Core/Classic/ExeResampler.cs index 26cca49d9..34f6b5628 100644 --- a/OpenUtau.Core/Classic/ExeResampler.cs +++ b/OpenUtau.Core/Classic/ExeResampler.cs @@ -14,13 +14,13 @@ internal class ExeResampler : IResampler { public string Name { get; private set; } public string FilePath { get; private set; } public bool isLegalPlugin => _isLegalPlugin; - + readonly string _name; readonly bool _isLegalPlugin = false; public ExeResampler(string filePath, string basePath) { if (File.Exists(filePath)) { FilePath = filePath; - Name = Path.GetRelativePath(basePath, filePath); + _name = Path.GetRelativePath(basePath, filePath); _isLegalPlugin = true; } } @@ -42,23 +42,12 @@ public string DoResamplerReturnsFile(ResamplerItem args, ILogger logger) { var threadId = Thread.CurrentThread.ManagedThreadId; string tmpFile = args.outputFile; string ArgParam = FormattableString.Invariant( - $"\"{args.inputTemp}\" \"{tmpFile}\" {MusicMath.GetToneName(args.tone)} {args.velocity} \"{BuildFlagsStr(args.flags)}\" {args.offset} {args.requiredLength} {args.consonant} {args.cutoff} {args.volume} {args.modulation} !{args.tempo} {Base64.Base64EncodeInt12(args.pitches)}"); + $"\"{args.inputTemp}\" \"{tmpFile}\" {MusicMath.GetToneName(args.tone)} {args.velocity} \"{args.GetFlagsString()}\" {args.offset} {args.durRequired} {args.consonant} {args.cutoff} {args.volume} {args.modulation} !{args.tempo} {Base64.Base64EncodeInt12(args.pitches)}"); logger.Information($" > [thread-{threadId}] {FilePath} {ArgParam}"); ProcessRunner.Run(FilePath, ArgParam, logger); return tmpFile; } - string BuildFlagsStr(Tuple[] flags) { - var builder = new StringBuilder(); - foreach (var flag in flags) { - builder.Append(flag.Item1); - if (flag.Item2.HasValue) { - builder.Append(flag.Item2.Value); - } - } - return builder.ToString(); - } - [DllImport("libc", SetLastError = true)] private static extern int chmod(string pathname, int mode); @@ -70,6 +59,6 @@ public void CheckPermissions() { chmod(FilePath, mode); } - public override string ToString() => Name; + public override string ToString() => _name; } } diff --git a/OpenUtau.Core/Classic/ExeWavtool.cs b/OpenUtau.Core/Classic/ExeWavtool.cs new file mode 100644 index 000000000..fd7469a86 --- /dev/null +++ b/OpenUtau.Core/Classic/ExeWavtool.cs @@ -0,0 +1,155 @@ +using System.Collections.Generic; +using System.IO; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading; +using NAudio.Wave; +using OpenUtau.Core; +using OpenUtau.Core.Render; +using OpenUtau.Core.Util; +using Serilog; + +namespace OpenUtau.Classic { + class ExeWavtool : IWavtool { + static object tempBatLock = new object(); + + readonly StringBuilder sb = new StringBuilder(); + readonly string filePath; + readonly string name; + + public ExeWavtool(string filePath, string basePath) { + this.filePath = filePath; + name = Path.GetRelativePath(basePath, filePath); + } + + public float[] Concatenate(List resamplerItems, string tempPath, CancellationTokenSource cancellation) { + if (cancellation.IsCancellationRequested) { + return null; + } + PrepareHelper(); + string batPath = Path.Combine(PathManager.Inst.CachePath, "temp.bat"); + lock (tempBatLock) { + using (var stream = File.Open(batPath, FileMode.Create)) { + using (var writer = new StreamWriter(stream, new UTF8Encoding(false))) { + WriteSetUp(writer, resamplerItems, tempPath); + for (var i = 0; i < resamplerItems.Count; i++) { + WriteItem(writer, resamplerItems[i], i, resamplerItems.Count); + } + WriteTearDown(writer); + } + } + ProcessRunner.Run(batPath, "", Log.Logger, workDir: PathManager.Inst.CachePath, timeoutMs: 5 * 60 * 1000); + } + if (string.IsNullOrEmpty(tempPath) || File.Exists(tempPath)) { + using (var wavStream = Core.Format.Wave.OpenFile(tempPath)) { + return Core.Format.Wave.GetSamples(wavStream.ToSampleProvider().ToMono(1, 0)); + } + } + return new float[0]; + } + + void PrepareHelper() { + string tempHelper = Path.Join(PathManager.Inst.CachePath, "temp_helper.bat"); + lock (Renderers.GetCacheLock(tempHelper)) { + if (!File.Exists(tempHelper)) { + using (var stream = File.Open(tempHelper, FileMode.Create)) { + using (var writer = new StreamWriter(stream, new UTF8Encoding(false))) { + WriteHelper(writer); + } + } + } + } + } + + void WriteHelper(StreamWriter writer) { + // writes temp_helper.bat + writer.WriteLine("@if exist %temp% goto A"); + writer.WriteLine("@\"%resamp%\" %1 %temp% %2 %vel% %flag% %5 %6 %7 %8 %params%"); + writer.WriteLine(":A"); + writer.WriteLine("@\"%tool%\" \"%output%\" %temp% %stp% %3 %env%"); + } + + void WriteSetUp(StreamWriter writer, List resamplerItems, string tempPath) { + string globalFlags = ""; + + writer.WriteLine("@rem project="); + writer.WriteLine("@set loadmodule="); + writer.WriteLine($"@set tempo={resamplerItems[0].tempo}"); + writer.WriteLine($"@set samples={44100}"); + writer.WriteLine($"@set oto={PathManager.Inst.CachePath}"); + writer.WriteLine($"@set tool={filePath}"); + string tempFile = Path.GetRelativePath(PathManager.Inst.CachePath, tempPath); + writer.WriteLine($"@set output={tempFile}"); + writer.WriteLine("@set helper=temp_helper.bat"); + writer.WriteLine($"@set cachedir={PathManager.Inst.CachePath}"); + writer.WriteLine($"@set flag=\"{globalFlags}\""); + writer.WriteLine("@set env=0 5 35 0 100 100 0"); + writer.WriteLine("@set stp=0"); + writer.WriteLine(""); + writer.WriteLine("@del \"%output%\" 2>nul"); + writer.WriteLine("@mkdir \"%cachedir%\" 2>nul"); + writer.WriteLine(""); + } + + void WriteItem(StreamWriter writer, ResamplerItem item, int index, int total) { + writer.WriteLine($"@set resamp={item.resampler.FilePath}"); + writer.WriteLine($"@set params={item.volume} {item.modulation} !{item.tempo} {Base64.Base64EncodeInt12(item.pitches)}"); + writer.WriteLine($"@set flag=\"{item.GetFlagsString()}\""); + writer.WriteLine($"@set env={GetEnvelope(item)}"); + writer.WriteLine($"@set stp={item.skipOver}"); + writer.WriteLine($"@set vel={item.velocity}"); + string relOutputFile = Path.GetRelativePath(PathManager.Inst.CachePath, item.outputFile); + writer.WriteLine($"@set temp=\"%cachedir%\\{relOutputFile}\""); + string toneName = MusicMath.GetToneName(item.tone); + string dur = $"{item.phone.duration}@{item.phone.tempo}{(item.durCorrection >= 0 ? "+" : "")}{item.durCorrection}"; + string relInputTemp = Path.GetRelativePath(PathManager.Inst.CachePath, item.inputTemp); + writer.WriteLine($"@echo {MakeProgressBar(index + 1, total)}"); + writer.WriteLine($"@call %helper% \"%oto%\\{relInputTemp}\" {toneName} {dur} {item.preutter} {item.offset} {item.durRequired} {item.consonant} {item.cutoff} {index}"); + } + + string MakeProgressBar(int index, int total) { + const int kWidth = 40; + int fill = index * kWidth / total; + return $"{new string('#', fill)}{new string('-', kWidth - fill)}({index}/{total})"; + } + + string GetEnvelope(ResamplerItem item) { + var env = item.phone.envelope; + sb.Clear() + .Append(env[0].X - env[0].X).Append(' ') + .Append(env[1].X - env[0].X).Append(' ') + .Append(env[4].X - env[3].X).Append(' ') + .Append(env[0].Y).Append(' ') + .Append(env[1].Y).Append(' ') + .Append(env[3].Y).Append(' ') + .Append(env[4].Y).Append(' ') + .Append(item.overlap).Append(' ') + .Append(env[4].X - env[4].X).Append(' ') + .Append(env[2].X - env[1].X).Append(' ') + .Append(env[2].Y); + return sb.ToString(); + } + + void WriteTearDown(StreamWriter writer) { + writer.WriteLine("@if not exist \"%output%.whd\" goto E"); + writer.WriteLine("@if not exist \"%output%.dat\" goto E"); + writer.WriteLine("copy /Y \"%output%.whd\" /B + \"%output%.dat\" /B \"%output%\""); + writer.WriteLine("del \"%output%.whd\""); + writer.WriteLine("del \"%output%.dat\""); + writer.WriteLine(":E"); + } + + [DllImport("libc", SetLastError = true)] + private static extern int chmod(string pathname, int mode); + + public void CheckPermissions() { + if (OS.IsWindows() || !File.Exists(filePath)) { + return; + } + int mode = (7 << 6) | (5 << 3) | 5; + chmod(filePath, mode); + } + + public override string ToString() => name; + } +} diff --git a/OpenUtau.Core/Classic/Frq.cs b/OpenUtau.Core/Classic/Frq.cs new file mode 100644 index 000000000..821d5bfe6 --- /dev/null +++ b/OpenUtau.Core/Classic/Frq.cs @@ -0,0 +1,71 @@ +using System; +using System.IO; +using System.Linq; +using System.Text; + +namespace OpenUtau.Classic { + public class Frq { + public const int kHopSize = 256; + + public int hopSize; + public double averageF0; + public double[] f0 = new double[0]; + public double[] amp = new double[0]; + + public void Load(Stream stream) { + using (var reader = new BinaryReader(stream)) { + string header = new string(reader.ReadChars(8)); + if (header != "FREQ0003") { + throw new FormatException("FREQ0003 header not found."); + } + hopSize = reader.ReadInt32(); + averageF0 = reader.ReadDouble(); + _ = reader.ReadBytes(16); // blank + int length = reader.ReadInt32(); + f0 = new double[length]; + amp = new double[length]; + for (int i = 0; i < length; i++) { + f0[i] = reader.ReadDouble(); + amp[i] = reader.ReadDouble(); + } + } + } + + public void Save(Stream stream) { + using (var writer = new BinaryWriter(stream)) { + writer.Write(Encoding.ASCII.GetBytes("FREQ0003")); + writer.Write(hopSize); + writer.Write(averageF0); + writer.Write(0); + writer.Write(0); + writer.Write(0); + writer.Write(0); + writer.Write(f0.Length); + for (int i = 0; i < f0.Length; ++i) { + writer.Write(f0[i]); + writer.Write(amp[i]); + } + } + } + + public static Frq Build(float[] samples, double[] f0) { + var frq = new Frq(); + frq.hopSize = kHopSize; + frq.f0 = f0; + frq.averageF0 = frq.f0.Where(f => f > 0).DefaultIfEmpty(0).Average(); + + double ampMult = Math.Pow(2, 15); + frq.amp = new double[frq.f0.Length]; + for (int i = 0; i < frq.amp.Length; ++i) { + double sum = 0; + int count = 0; + for (int j = frq.hopSize * i; j < frq.hopSize * (i + 1) && j < samples.Length; ++j) { + sum += Math.Abs(samples[j]); + count++; + } + frq.amp[i] = count == 0 ? 0 : sum * ampMult / count; + } + return frq; + } + } +} diff --git a/OpenUtau.Core/Classic/IResampler.cs b/OpenUtau.Core/Classic/IResampler.cs index e4c7b65bd..27dc1c9a0 100644 --- a/OpenUtau.Core/Classic/IResampler.cs +++ b/OpenUtau.Core/Classic/IResampler.cs @@ -2,7 +2,6 @@ namespace OpenUtau.Classic { public interface IResampler { - string Name { get; } string FilePath { get; } float[] DoResampler(ResamplerItem args, ILogger logger); string DoResamplerReturnsFile(ResamplerItem args, ILogger logger); diff --git a/OpenUtau.Core/Classic/IWavtool.cs b/OpenUtau.Core/Classic/IWavtool.cs new file mode 100644 index 000000000..03e6dd310 --- /dev/null +++ b/OpenUtau.Core/Classic/IWavtool.cs @@ -0,0 +1,11 @@ +using System.Collections.Generic; +using System.Threading; + +namespace OpenUtau.Classic { + public interface IWavtool { + // + // [ [ [ ]]] + float[] Concatenate(List resamplerItems, string tempPath, CancellationTokenSource cancellation); + void CheckPermissions(); + } +} diff --git a/OpenUtau.Core/Classic/OtoWatcher.cs b/OpenUtau.Core/Classic/OtoWatcher.cs index bda5d785f..a725b6c29 100644 --- a/OpenUtau.Core/Classic/OtoWatcher.cs +++ b/OpenUtau.Core/Classic/OtoWatcher.cs @@ -5,6 +5,8 @@ namespace OpenUtau.Classic { class OtoWatcher : IDisposable { + public bool Paused { get; set; } + private ClassicSinger singer; private FileSystemWatcher watcher; @@ -22,6 +24,9 @@ public OtoWatcher(ClassicSinger singer, string path) { } private void OnFileChanged(object sender, FileSystemEventArgs e) { + if (Paused) { + return; + } Log.Information($"File \"{e.FullPath}\" {e.ChangeType}"); SingerManager.Inst.ScheduleReload(singer); } diff --git a/OpenUtau.Core/Classic/Plugin.cs b/OpenUtau.Core/Classic/Plugin.cs index 1e23a439f..3bcddfb2a 100644 --- a/OpenUtau.Core/Classic/Plugin.cs +++ b/OpenUtau.Core/Classic/Plugin.cs @@ -1,4 +1,4 @@ -using System.Diagnostics; +using System.Diagnostics; using System.IO; namespace OpenUtau.Classic { @@ -7,22 +7,18 @@ public class Plugin { public string Executable; public bool AllNotes; public bool UseShell; + public string Encoding = "shift_jis"; public void Run(string tempFile) { if (!File.Exists(Executable)) { throw new FileNotFoundException($"Executable {Executable} not found."); } - var startInfo = UseShell - ? new ProcessStartInfo() { - FileName = "cmd.exe", - Arguments = $"/K \"{Executable}\" \"{tempFile}\"", - UseShellExecute = true, - } - : new ProcessStartInfo() { - FileName = Executable, - Arguments = tempFile, - WorkingDirectory = Path.GetDirectoryName(Executable), - }; + var startInfo = new ProcessStartInfo() { + FileName = Executable, + Arguments = tempFile, + WorkingDirectory = Path.GetDirectoryName(Executable), + UseShellExecute = UseShell, + }; using (var process = Process.Start(startInfo)) { process.WaitForExit(); } diff --git a/OpenUtau.Core/Classic/PluginLoader.cs b/OpenUtau.Core/Classic/PluginLoader.cs index 223c2dba0..362b12840 100644 --- a/OpenUtau.Core/Classic/PluginLoader.cs +++ b/OpenUtau.Core/Classic/PluginLoader.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -41,6 +41,8 @@ private static Plugin ParsePluginTxt(string filePath, Encoding encoding) { plugin.AllNotes = true; } else if (s[0] == "shell" && s[1] == "use") { plugin.UseShell = true; + } else if (s[0] == "encoding"){ + plugin.Encoding = s[1]; } else { otherLines.Add(line); } diff --git a/OpenUtau.Core/Classic/ResamplerItem.cs b/OpenUtau.Core/Classic/ResamplerItem.cs index ad52e36de..c3a2f8c84 100644 --- a/OpenUtau.Core/Classic/ResamplerItem.cs +++ b/OpenUtau.Core/Classic/ResamplerItem.cs @@ -23,8 +23,11 @@ public class ResamplerItem { public int volume; public int modulation; + public float preutter; + public float overlap; public double offset; - public double requiredLength; + public double durRequired; + public double durCorrection; public double consonant; public double cutoff; public double skipOver; @@ -38,13 +41,9 @@ public ResamplerItem(RenderPhrase phrase, RenderPhone phone) { this.phrase = phrase; this.phone = phone; - resampler = Resamplers.GetResampler( - string.IsNullOrEmpty(phone.resampler) - ? WorldlineResampler.name - : phone.resampler) - ?? Resamplers.GetResampler(WorldlineResampler.name); + resampler = ToolsManager.Inst.GetResampler(phone.resampler); inputFile = phone.oto.File; - inputTemp = VoicebankFiles.GetSourceTempPath(phrase.singer.Id, phone.oto); + inputTemp = VoicebankFiles.Inst.GetSourceTempPath(phrase.singer.Id, phone.oto, ".wav"); tone = phone.tone; flags = phone.flags; @@ -52,27 +51,33 @@ public ResamplerItem(RenderPhrase phrase, RenderPhone phone) { volume = (int)(phone.volume * 100); modulation = (int)(phone.modulation * 100); - int pitchStart = phrase.phones[0].position - phrase.phones[0].leading; - + preutter = (float)phone.preutterMs; + overlap = (float)phone.overlapMs; offset = phone.oto.Offset; var stretchRatio = Math.Pow(2, 1.0 - velocity * 0.01); - double durMs = phone.oto.Preutter * stretchRatio + phone.envelope[4].X; - requiredLength = Math.Ceiling(durMs / 50 + 1) * 50; + double pitchLeadingMs = phone.oto.Preutter * stretchRatio; + skipOver = phone.oto.Preutter * stretchRatio - phone.leadingMs; + durRequired = phone.endMs - phone.positionMs + phone.durCorrectionMs + skipOver; + durRequired = Math.Max(durRequired, phone.oto.Consonant); + durRequired = Math.Ceiling(durRequired / 50.0 + 0.5) * 50.0; + durCorrection = phone.durCorrectionMs; consonant = phone.oto.Consonant; cutoff = phone.oto.Cutoff; - skipOver = phone.oto.Preutter * stretchRatio - phone.preutterMs; - int pitchLeading = (int)(phone.oto.Preutter * stretchRatio / phrase.tickToMs); - int pitchCount = (int)Math.Ceiling(durMs / phrase.tickToMs / 5); - tempo = phrase.tempo; - int pitchSkips = (phone.position - pitchLeading - pitchStart) / 5; + int pitchLeading = phrase.timeAxis.TicksBetweenMsPos(phone.positionMs - pitchLeadingMs, phone.positionMs); + int pitchSkip = (phrase.leading + phone.position - pitchLeading) / 5; + int pitchCount = (int)Math.Ceiling( + (double)phrase.timeAxis.TicksBetweenMsPos( + phone.positionMs - pitchLeadingMs, + phone.positionMs + phone.envelope[4].X) / 5); + tempo = phone.tempo; pitches = phrase.pitches - .Skip(pitchSkips) + .Skip(pitchSkip) .Take(pitchCount) .Select(pitch => (int)Math.Round(pitch - phone.tone * 100)) .ToArray(); - if (pitchSkips < 0) { - pitches = Enumerable.Repeat(pitches[0], -pitchSkips) + if (pitchSkip < 0) { + pitches = Enumerable.Repeat(pitches[0], -pitchSkip) .Concat(pitches) .ToArray(); } @@ -82,10 +87,21 @@ public ResamplerItem(RenderPhrase phrase, RenderPhone phone) { $"res-{XXH32.DigestOf(Encoding.UTF8.GetBytes(phrase.singer.Id)):x8}-{hash:x16}.wav"); } + public string GetFlagsString() { + var builder = new StringBuilder(); + foreach (var flag in flags) { + builder.Append(flag.Item1); + if (flag.Item2.HasValue) { + builder.Append(flag.Item2.Value); + } + } + return builder.ToString(); + } + ulong Hash() { using (var stream = new MemoryStream()) { using (var writer = new BinaryWriter(stream)) { - writer.Write(resampler.Name); + writer.Write(resampler.ToString()); writer.Write(inputFile); writer.Write(tone); @@ -100,7 +116,7 @@ ulong Hash() { writer.Write(modulation); writer.Write(offset); - writer.Write(requiredLength); + writer.Write(durRequired); writer.Write(consonant); writer.Write(cutoff); writer.Write(skipOver); diff --git a/OpenUtau.Core/Classic/Resamplers.cs b/OpenUtau.Core/Classic/Resamplers.cs deleted file mode 100644 index 9ebd6f86a..000000000 --- a/OpenUtau.Core/Classic/Resamplers.cs +++ /dev/null @@ -1,89 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using OpenUtau.Core; -using OpenUtau.Core.Util; -using Serilog; - -namespace OpenUtau.Classic { - public class Resamplers { - private readonly static object lockObj = new object(); - private static Dictionary resamplers; - - public static IResampler Load(string filePath, string basePath) { - if (!File.Exists(filePath)) { - return null; - } - string ext = Path.GetExtension(filePath).ToLower(); - if (OS.IsWindows()) { - if (ext == ".exe" || ext == ".bat") { - return new ExeResampler(filePath, basePath); - } - } else { - if (ext == ".sh" || string.IsNullOrEmpty(ext)) { - return new ExeResampler(filePath, basePath); - } - } - return null; - } - - public static void Search() { - var resamplers = new Dictionary(); - IResampler defaultDriver = new WorldlineResampler(); - resamplers.Add(defaultDriver.Name, defaultDriver); - string basePath = PathManager.Inst.ResamplersPath; - try { - Directory.CreateDirectory(basePath); - foreach (var file in Directory.EnumerateFiles(basePath, "*", new EnumerationOptions() { - RecurseSubdirectories = true - })) { - var driver = Load(file, basePath); - if (driver != null) { - resamplers.Add(driver.Name, driver); - } - } - lock (lockObj) { - Resamplers.resamplers = resamplers; - } - } catch (Exception e) { - Log.Error(e, "Failed to search resamplers."); - Resamplers.resamplers = new Dictionary(); - } - if (string.IsNullOrEmpty(Preferences.Default.Resampler) || - !Resamplers.resamplers.TryGetValue(Preferences.Default.Resampler, out var _)) { - Preferences.Default.Resampler = defaultDriver.Name; - Preferences.Save(); - } - } - - public static List GetResamplers() { - lock (lockObj) { - return resamplers.Values.ToList(); - } - } - - public static IResampler GetResampler(string name) { - if (name.StartsWith("worldline")) { - name = "worldline"; - } - lock (lockObj) { - if (resamplers.TryGetValue(name, out var driver)) { - return driver; - } - } - return null; - } - - public static bool CheckResampler() { - Search(); - if (resamplers.Count == 0) { - return false; - } - if (resamplers.TryGetValue(Preferences.Default.Resampler, out var _)) { - return true; - } - return false; - } - } -} diff --git a/OpenUtau.Core/Classic/Wavtool.cs b/OpenUtau.Core/Classic/SharpWavtool.cs similarity index 91% rename from OpenUtau.Core/Classic/Wavtool.cs rename to OpenUtau.Core/Classic/SharpWavtool.cs index b3c650fa0..8cd477265 100644 --- a/OpenUtau.Core/Classic/Wavtool.cs +++ b/OpenUtau.Core/Classic/SharpWavtool.cs @@ -13,13 +13,16 @@ using OpenUtau.Core.Render; namespace OpenUtau.Classic { - interface IWavtool { - // - // [ [ [ ]]] - float[] Concatenate(List resamplerItems, CancellationTokenSource cancellation); - } - class SharpWavtool : IWavtool { + public const string nameConvergence = "convergence"; + public const string nameSimple = "simple"; + + private readonly bool phaseComp; + + public SharpWavtool(bool phaseComp) { + this.phaseComp = phaseComp; + } + class Segment { public float[] samples; public double posMs; @@ -35,19 +38,11 @@ class Segment { public double? tailPhase; } - private bool phaseComp; - - public SharpWavtool(bool phaseComp = false) { - this.phaseComp = phaseComp; - } - - public float[] Concatenate(List resamplerItems, CancellationTokenSource cancellation) { + public float[] Concatenate(List resamplerItems, string tempPath, CancellationTokenSource cancellation) { if (cancellation.IsCancellationRequested) { return null; } var phrase = resamplerItems[0].phrase; - double posOffset = resamplerItems[0].phone.position * phrase.tickToMs - resamplerItems[0].phone.preutterMs; - var segments = new List(); foreach (var item in resamplerItems) { if (!File.Exists(item.outputFile)) { @@ -58,7 +53,7 @@ public float[] Concatenate(List resamplerItems, CancellationToken using (var waveStream = Wave.OpenFile(item.outputFile)) { segment.samples = Wave.GetSamples(waveStream.ToSampleProvider().ToMono(1, 0)); } - segment.posMs = item.phone.position * item.phrase.tickToMs - item.phone.preutterMs - posOffset; + segment.posMs = item.phone.positionMs - item.phone.leadingMs - (phrase.positionMs - phrase.leadingMs); segment.posSamples = (int)Math.Round(segment.posMs * 44100 / 1000); segment.skipSamples = (int)Math.Round(item.skipOver * 44100 / 1000); segment.envelope = EnvelopeMsToSamples(item.phone.envelope, segment.skipSamples); @@ -164,8 +159,10 @@ private float[] GetTailWindow(float[] samples, IList envelope, out int } private double GetF0AtSample(RenderPhrase phrase, float sampleIndex) { - int pitchIndex = (int)Math.Round(sampleIndex / 44100 * 1000 / phrase.tickToMs / 5); - pitchIndex = Math.Clamp(pitchIndex, 0, phrase.pitches.Length); + float sampleMs = sampleIndex / 44100f * 1000f; + int sampleTick = phrase.timeAxis.MsPosToTickPos(phrase.positionMs - phrase.leadingMs + sampleMs); + int pitchIndex = (int)Math.Round((double)(sampleTick - (phrase.position - phrase.leading)) / 5); + pitchIndex = Math.Clamp(pitchIndex, 0, phrase.pitches.Length - 1); return MusicMath.ToneToFreq(phrase.pitches[pitchIndex] / 100); } @@ -204,5 +201,9 @@ private double GetF0AtSample(RenderPhrase phrase, float sampleIndex) { double t = (offset + (left + right) * 0.5) / fs * f; return 2 * Math.PI * (Math.Round(t) - t); } + + public void CheckPermissions() { } + + public override string ToString() => phaseComp ? nameConvergence : nameSimple; } } diff --git a/OpenUtau.Core/Classic/ToolsManager.cs b/OpenUtau.Core/Classic/ToolsManager.cs new file mode 100644 index 000000000..edda71419 --- /dev/null +++ b/OpenUtau.Core/Classic/ToolsManager.cs @@ -0,0 +1,146 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using OpenUtau.Core; +using OpenUtau.Core.Util; +using Serilog; + +namespace OpenUtau.Classic { + public class ToolsManager : SingletonBase { + static object _locker = new object(); + + private readonly List resamplers = new List(); + private readonly List wavtools = new List(); + private readonly Dictionary resamplersMap + = new Dictionary(); + private readonly Dictionary wavtoolsMap + = new Dictionary(); + + public List Resamplers { + get { + lock (_locker) { + return resamplers.ToList(); + } + } + } + + public List Wavtools { + get { + lock (_locker) { + return wavtools.ToList(); + } + } + } + + IResampler LoadResampler(string filePath, string basePath) { + if (!File.Exists(filePath)) { + return null; + } + string ext = Path.GetExtension(filePath).ToLower(); + if (OS.IsWindows()) { + if (ext == ".exe" || ext == ".bat") { + return new ExeResampler(filePath, basePath); + } + } else { + if (ext == ".sh" || string.IsNullOrEmpty(ext)) { + return new ExeResampler(filePath, basePath); + } + } + return null; + } + + IWavtool LoadWavtool(string filePath, string basePath) { + if (!File.Exists(filePath)) { + return null; + } + string ext = Path.GetExtension(filePath).ToLower(); + if (OS.IsWindows()) { + if (ext == ".exe" || ext == ".bat") { + return new ExeWavtool(filePath, basePath); + } + } else { + if (ext == ".sh" || string.IsNullOrEmpty(ext)) { + return new ExeWavtool(filePath, basePath); + } + } + return null; + } + + public void Initialize() { + lock (_locker) { + SearchResamplers(); + SearchWavtools(); + } + } + + public void SearchResamplers() { + resamplers.Clear(); + resamplersMap.Clear(); + resamplers.Add(new WorldlineResampler()); + string basePath = PathManager.Inst.ResamplersPath; + try { + Directory.CreateDirectory(basePath); + foreach (var file in Directory.EnumerateFiles(basePath, "*", new EnumerationOptions() { + RecurseSubdirectories = true + })) { + var driver = LoadResampler(file, basePath); + if (driver != null) { + resamplers.Add(driver); + } + } + } catch (Exception e) { + Log.Error(e, "Failed to search resamplers."); + resamplers.Clear(); + } + foreach (var resampler in resamplers) { + resamplersMap[resampler.ToString()] = resampler; + } + } + + public void SearchWavtools() { + wavtools.Clear(); + wavtoolsMap.Clear(); + wavtools.Add(new SharpWavtool(true)); + wavtools.Add(new SharpWavtool(false)); + string basePath = PathManager.Inst.WavtoolsPath; + try { + Directory.CreateDirectory(basePath); + foreach (var file in Directory.EnumerateFiles(basePath, "*", new EnumerationOptions() { + RecurseSubdirectories = true + })) { + var driver = LoadWavtool(file, basePath); + if (driver != null) { + wavtools.Add(driver); + } + } + } catch (Exception e) { + Log.Error(e, "Failed to search resamplers."); + wavtools.Clear(); + } + foreach (var wavtool in wavtools) { + wavtoolsMap[wavtool.ToString()] = wavtool; + } + } + + public IResampler GetResampler(string name) { + lock (_locker) { + if (name != null && resamplersMap.TryGetValue(name, out var resampler)) { + return resampler; + } else { + return resamplersMap[WorldlineResampler.name]; + } + } + } + + public IWavtool GetWavtool(string name) { + lock (_locker) { + if (name != null && wavtoolsMap.TryGetValue(name, out var wavtool)) { + return wavtool; + } else { + return wavtoolsMap[SharpWavtool.nameConvergence]; + } + } + } + } +} diff --git a/OpenUtau.Core/Classic/Ust.cs b/OpenUtau.Core/Classic/Ust.cs index cb4788b10..c31a002aa 100644 --- a/OpenUtau.Core/Classic/Ust.cs +++ b/OpenUtau.Core/Classic/Ust.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Globalization; using System.IO; @@ -16,7 +16,7 @@ public static class Ust { public static UProject Load(string[] files) { foreach (var file in files) { if (Formats.DetectProjectFormat(file) != ProjectFormats.Ust) { - DocManager.Inst.ExecuteCmd(new UserMessageNotification("Multiple files must be all Ust files")); + DocManager.Inst.ExecuteCmd(new ErrorMessageNotification("Multiple files must be all Ust files")); return null; } } @@ -64,7 +64,7 @@ public static Encoding DetectEncoding(string file) { } public static UProject Load(StreamReader reader, string file) { - var project = new UProject() { resolution = 480, FilePath = file, Saved = false }; + var project = new UProject() { FilePath = file, Saved = false }; Ustx.AddDefaultExpressions(project); project.tracks.Add(new UTrack { @@ -87,6 +87,7 @@ public static UProject Load(StreamReader reader, string file) { private static void ParsePart(UProject project, UVoicePart part, List blocks) { var lastNotePos = 0; var lastNoteEnd = 0; + bool shouldFixTempo = project.tempos[0].bpm >= 0 && project.tempos[0].bpm < 1000; // Need to fix tempo=500k error or not. foreach (var block in blocks) { var header = block.header; try { @@ -104,12 +105,16 @@ private static void ParsePart(UProject project, UVoicePart part, List ParseNote(note, lastNotePos, lastNoteEnd, block.lines, out var noteTempo); lastNotePos = note.position; lastNoteEnd = note.End; - if (note.lyric.ToLower() != "r") { + if (note.lyric.ToLowerInvariant() != "r") { part.notes.Add(note); } - if (noteTempo != null && (project.bpm <= 0 || project.bpm > 1000)) { - // Fix tempo=500k error. - project.bpm = noteTempo.Value; + if (noteTempo != null) { + if (shouldFixTempo) { + project.tempos[0].bpm = noteTempo.Value; + shouldFixTempo = false; + } else { + project.tempos.Add(new UTempo(note.position, noteTempo.Value)); + } } } else { throw new FileFormatException($"Unexpected header\n{block.header}"); @@ -137,7 +142,7 @@ private static void ParseSetting(UProject project, List lines) { const string format = "="; foreach (var iniLine in lines) { var line = iniLine.line; - var parts = line.Split('='); + var parts = line.Split('=', 2); if (parts.Length != 2) { throw new FileFormatException($"Line does not match format {format}.\n{iniLine}"); } @@ -145,7 +150,7 @@ private static void ParseSetting(UProject project, List lines) { switch (param) { case "Tempo": if (ParseFloat(parts[1], out var temp)) { - project.bpm = temp; + project.tempos[0].bpm = temp; } break; case "ProjectName": @@ -164,107 +169,27 @@ private static void ParseSetting(UProject project, List lines) { } private static void ParseNote(UNote note, int lastNotePos, int lastNoteEnd, List iniLines, out float? noteTempo) { - const string format = "="; - noteTempo = null; - string pbs = null, pbw = null, pby = null, pbm = null; - int? delta = null; - int? duration = null; - int? length = null; - foreach (var iniLine in iniLines) { - var line = iniLine.line; - var parts = line.Split('='); - if (parts.Length != 2) { - throw new FileFormatException($"Line does not match format {format}.\n{iniLine}"); - } - var param = parts[0].Trim(); - var error = false; - var isFloat = ParseFloat(parts[1], out var floatValue); - switch (param) { - case "Length": - error |= !isFloat; - length = (int)floatValue; - break; - case "Delta": - error |= !isFloat; - delta = (int)floatValue; - break; - case "Duration": - error |= !isFloat; - duration = (int)floatValue; - break; - case "Lyric": - ParseLyric(note, parts[1]); - break; - case "NoteNum": - error |= !isFloat; - note.tone = (int)floatValue; - break; - case "Velocity": - error |= !isFloat; - SetExpression(note, Ustx.VEL, 0, floatValue); - break; - case "Intensity": - error |= !isFloat; - SetExpression(note, Ustx.VOL, 0, floatValue); - break; - case "Moduration": - error |= !isFloat; - SetExpression(note, Ustx.MOD, 0, floatValue); - break; - case "VoiceOverlap": - error |= !isFloat; - //note.phonemes[0].overlap = floatValue; - break; - case "PreUtterance": - error |= !isFloat; - //note.phonemes[0].preutter = floatValue; - break; - case "Envelope": - ParseEnvelope(note, parts[1], iniLine); - break; - case "VBR": - ParseVibrato(note, parts[1], iniLine); - break; - case "PBS": - pbs = parts[1]; - break; - case "PBW": - pbw = parts[1]; - break; - case "PBY": - pby = parts[1]; - break; - case "PBM": - pbm = parts[1]; - break; - case "Tempo": - if (isFloat) { - noteTempo = floatValue; - } - break; - default: - break; - } - if (error) { - throw new FileFormatException($"Invalid {param}\n${iniLine}"); - } + var ustNote = new UstNote(); + ustNote.Parse(lastNotePos, lastNoteEnd, iniLines, out noteTempo); + note.lyric = ustNote.lyric; + note.position = ustNote.position; + note.duration = ustNote.duration; + note.tone = ustNote.noteNum; + if (ustNote.velocity != null) { + SetExpression(note, Ustx.VEL, 0, ustNote.velocity.Value); } - // UST Version < 2.0 - // | length | length | - // | note1 | R | - // UST Version = 2.0 - // | length1 | length2 | - // | dur1 | | dur2 | - // | note1 | R | note2 | - // | delta2 | - if (delta != null && duration != null && length != null) { - note.position = lastNotePos + delta.Value; - note.duration = duration.Value; - } else if (length != null) { - note.position = lastNoteEnd; - note.duration = length.Value; + if (ustNote.intensity != null) { + SetExpression(note, Ustx.VOL, 0, ustNote.intensity.Value); + } + if (ustNote.modulation != null) { + SetExpression(note, Ustx.MOD, 0, ustNote.modulation.Value); + } + if (ustNote.pitch != null) { + note.pitch = ustNote.pitch; + } + if (ustNote.vibrato != null) { + note.vibrato = ustNote.vibrato; } - ParsePitchBend(note, pbs, pbw, pby, pbm); } private static void SetExpression(UNote note, string abbr, int index, float value) { @@ -280,107 +205,6 @@ private static void SetExpression(UNote note, string abbr, int index, float valu exp.value = value; } - private static void ParseLyric(UNote note, string ust) { - if (ust.StartsWith("?")) { - ust = ust.Substring(1); - } - note.lyric = ust; - } - - private static void ParseEnvelope(UNote note, string ust, IniLine ustLine) { - // p1,p2,p3,v1,v2,v3,v4,%,p4,p5,v5 (0,5,35,0,100,100,0,%,0,0,100) - try { - var parts = ust.Split(new[] { ',' }).Select(s => float.TryParse(s, out var v) ? v : -1).ToArray(); - if (parts.Length < 7) { - return; - } - float p1 = parts[0], p2 = parts[1], p3 = parts[2], v1 = parts[3], v2 = parts[4], v3 = parts[5], v4 = parts[6]; - if (parts.Length == 11) { - float p4 = parts[8], p5 = parts[9], v5 = parts[10]; - } - note.phonemeExpressions.Add(new UExpression(Ustx.DEC) { - index = 0, - value = 100f - v3, - }); - } catch (Exception e) { - throw new FileFormatException($"Invalid Envelope\n{ustLine}", e); - } - } - - private static void ParseVibrato(UNote note, string ust, IniLine ustLine) { - try { - var args = ust.Split(',').Select(s => float.TryParse(s, out var v) ? v : 0).ToArray(); - if (args.Length >= 1) { - note.vibrato.length = args[0]; - } - if (args.Length >= 2) { - note.vibrato.period = args[1]; - } - if (args.Length >= 3) { - note.vibrato.depth = args[2]; - } - if (args.Length >= 4) { - note.vibrato.@in = args[3]; - } - if (args.Length >= 5) { - note.vibrato.@out = args[4]; - } - if (args.Length >= 6) { - note.vibrato.shift = args[5]; - } - if (args.Length >= 7) { - note.vibrato.drift = args[6]; - } - } catch { - throw new FileFormatException($"Invalid VBR\n{ustLine}"); - } - } - - private static void ParsePitchBend(UNote note, string pbs, string pbw, string pby, string pbm) { - if (!string.IsNullOrWhiteSpace(pbs)) { - var points = note.pitch.data; - points.Clear(); - // PBS - var parts = pbs.Contains(';') ? pbs.Split(';') : pbs.Split(','); - float pbsX = parts.Length >= 1 && ParseFloat(parts[0], out pbsX) ? pbsX : 0; - float pbsY = parts.Length >= 2 && ParseFloat(parts[1], out pbsY) ? pbsY : 0; - points.Add(new PitchPoint(pbsX, pbsY)); - // PBW, PBY - var x = points.First().X; - if (!string.IsNullOrWhiteSpace(pbw)) { - var w = pbw.Split(',').Select(s => ParseFloat(s, out var v) ? v : 0).ToList(); - var y = (pby ?? "").Split(',').Select(s => ParseFloat(s, out var v) ? v : 0).ToList(); - while (w.Count > y.Count) { - y.Add(0); - } - for (var i = 0; i < w.Count(); i++) { - x += w[i]; - points.Add(new PitchPoint(x, y[i])); - } - } - // PBM - if (!string.IsNullOrWhiteSpace(pbm)) { - var m = pbm.Split(new[] { ',' }); - for (var i = 0; i < m.Count() && i < points.Count; i++) { - switch (m[i]) { - case "r": - points[i].shape = PitchPointShape.o; - break; - case "s": - points[i].shape = PitchPointShape.l; - break; - case "j": - points[i].shape = PitchPointShape.i; - break; - default: - points[i].shape = PitchPointShape.io; - break; - } - } - } - } - } - static bool ParseFloat(string s, out float value) { if (string.IsNullOrEmpty(s)) { value = 0; @@ -390,40 +214,67 @@ static bool ParseFloat(string s, out float value) { } public static void SavePart(UProject project, UVoicePart part, string filePath) { - WritePart(project, part, filePath); - } - - public static List WritePart(UProject project, UVoicePart part, string filePath) { - var sequence = new List(); var track = project.tracks[part.trackNo]; + var ustNotes = NotesToUstNotes(project, track, part, part.notes); using (var writer = new StreamWriter(filePath, false, ShiftJIS)) { WriteHeader(project, part, writer); - var position = 0; - foreach (var note in part.notes) { - if (note.position < position) { - continue; - } - if (note.position > position) { - writer.WriteLine($"[#{sequence.Count:D4}]"); - var spacer = UNote.Create(); - spacer.position = position; - spacer.duration = note.position - position; - spacer.lyric = "R"; - spacer.tone = 60; - sequence.Add(spacer); - WriteNoteBody(project, track, part, spacer, writer); - } - writer.WriteLine($"[#{sequence.Count:D4}]"); - WriteNoteBody(project, track, part, note, writer); - position = note.End; - sequence.Add(note); + for (var i = 0; i < ustNotes.Count; i++) { + writer.WriteLine($"[#{i:D4}]"); + ustNotes[i].Write(writer); } WriteFooter(writer); } - return sequence; } - public static List WritePlugin(UProject project, UVoicePart part, UNote first, UNote last, string filePath) { + static List NotesToUstNotes(UProject project, UTrack track, UVoicePart part, IEnumerable notes) { + var ustNotes = new List(); + var position = 0; + foreach (var note in notes) { + if (note.position < position) { + continue; + } + if (note.position > position) { + ustNotes.Add(new UstNote() { + position = position, + duration = note.position - position, + lyric = "R", + noteNum = 60, + }); + } + ustNotes.Add(new UstNote(project, track, part, note)); + position = note.End; + } + // Insert tempo changes. + int tempoIndex = 1; + for (int i = 0; i < ustNotes.Count; ++i) { + var ustNote = ustNotes[i]; + if (tempoIndex >= project.tempos.Count) { + break; + } + int pos = ustNote.position + part.position; + int end = ustNote.position + ustNote.duration + part.position; + var tempo = project.tempos[tempoIndex]; + if (pos <= tempo.position && tempo.position < end) { + if (pos == tempo.position || ustNote.lyric.ToLowerInvariant() != "r") { + // Does not break up the note even if the tempo change is in the middle. + ustNote.tempo = tempo.bpm; + tempoIndex++; + } else { + // Break up rest note to insert tempo. + ustNote.duration = tempo.position - pos; + var inserted = ustNote.Clone(); + inserted.position = tempo.position - part.position; + inserted.duration = end - tempo.position; + inserted.tempo = tempo.bpm; + ustNotes.Insert(i + 1, inserted); + tempoIndex++; + } + } + } + return ustNotes; + } + + public static List WritePlugin(UProject project, UVoicePart part, UNote first, UNote last, string filePath, string encoding = "shift_jis") { var prev = first.Prev; if (prev == null) { if (first.position > 0) { @@ -447,7 +298,7 @@ public static List WritePlugin(UProject project, UVoicePart part, UNote f } var sequence = new List(); var track = project.tracks[part.trackNo]; - using (var writer = new StreamWriter(filePath, false, ShiftJIS)) { + using (var writer = new StreamWriter(filePath, false, Encoding.GetEncoding(encoding))) { WriteHeader(project, part, writer); var position = 0; if (prev != null) { @@ -486,7 +337,7 @@ public static List WritePlugin(UProject project, UVoicePart part, UNote f static void WriteHeader(UProject project, UVoicePart part, StreamWriter writer) { writer.WriteLine("[#SETTING]"); - writer.WriteLine($"Tempo={project.bpm}"); + writer.WriteLine($"Tempo={project.timeAxis.GetBpmAtTick(part.position)}"); writer.WriteLine("Tracks=1"); if (project.Saved) { writer.WriteLine($"Project={project.FilePath.Replace(".ustx", ".ust")}"); @@ -504,96 +355,16 @@ static void WriteFooter(StreamWriter writer) { } static void WriteNoteBody(UProject project, UTrack track, UVoicePart part, UNote note, StreamWriter writer, bool forPlugin = false) { - writer.WriteLine($"Length={note.duration}"); - writer.WriteLine($"Lyric={note.lyric}"); - writer.WriteLine($"NoteNum={note.tone}"); - writer.WriteLine("PreUtterance="); - //writer.WriteLine("VoiceOverlap="); - var phoneme = part.phonemes.FirstOrDefault(p => p.Parent == note); - if (phoneme != null) { - var vel = phoneme.GetExpression(project, track, Ustx.VEL).Item1; - writer.WriteLine($"Velocity={(int)vel}"); - var vol = phoneme.GetExpression(project, track, Ustx.VOL).Item1; - writer.WriteLine($"Intensity={(int)vol}"); - var mod = phoneme.GetExpression(project, track, Ustx.MOD).Item1; - writer.WriteLine($"Moduration={(int)mod}"); - writer.WriteLine($"Flags={FlagsToString(phoneme.GetResamplerFlags(project, track))}"); - if (forPlugin && phoneme.oto != null) { - writer.WriteLine($"@filename={phoneme.oto.DisplayFile}"); - writer.WriteLine($"@alias={phoneme.oto.Alias}"); - } - } - WriteEnvelope(note, writer); - WritePitch(note, writer); - WriteVibrato(note, writer); - } - - static void WriteEnvelope(UNote note, StreamWriter writer) { - - } - - static void WritePitch(UNote note, StreamWriter writer) { - if (note.pitch == null) { - return; - } - var points = note.pitch.data; - if (points.Count >= 2) { - writer.WriteLine($"PBS={points[0].X};{points[0].Y}"); - var pbw = new List(); - var pby = new List(); - var pbm = new List(); - for (var i = 0; i < points.Count; ++i) { - switch (points[i].shape) { - case PitchPointShape.o: - pbm.Add("r"); - break; - case PitchPointShape.l: - pbm.Add("s"); - break; - case PitchPointShape.i: - pbm.Add("j"); - break; - case PitchPointShape.io: - pbm.Add(""); - break; - } - } - for (var i = 1; i < points.Count; ++i) { - var prev = points[i - 1]; - var current = points[i]; - pbw.Add((current.X - prev.X).ToString()); - pby.Add(current.Y.ToString()); - } - writer.WriteLine($"PBW={string.Join(",", pbw.ToArray())}"); - writer.WriteLine($"PBY={string.Join(",", pby.ToArray())}"); - writer.WriteLine($"PBM={string.Join(",", pbm.ToArray())}"); - } - } - - static void WriteVibrato(UNote note, StreamWriter writer) { - var vbr = note.vibrato; - if (vbr != null && vbr.length > 0) { - writer.WriteLine($"VBR={vbr.length},{vbr.period},{vbr.depth},{vbr.@in},{vbr.@out},{vbr.shift},{vbr.drift}"); - } - } - - static string FlagsToString(Tuple[] flags) { - var builder = new StringBuilder(); - foreach (var flag in flags) { - builder.Append(flag.Item1); - if (flag.Item2.HasValue) { - builder.Append(flag.Item2.Value); - } - } - return builder.ToString(); + var ustNote = new UstNote(project, track, part, note); + ustNote.Write(writer, forPlugin); } public static (List, List) ParsePlugin( UProject project, UVoicePart part, UNote first, UNote last, - List sequence, string diffFile) { + List sequence, string diffFile, string encoding = "shift_jis") { var toRemove = new List(); var toAdd = new List(); - using (var reader = new StreamReader(diffFile, ShiftJIS)) { + using (var reader = new StreamReader(diffFile, Encoding.GetEncoding(encoding))) { var blocks = Ini.ReadBlocks(reader, diffFile, @"\[#\w+\]"); int index = 0; foreach (var block in blocks) { diff --git a/OpenUtau.Core/Classic/UstNote.cs b/OpenUtau.Core/Classic/UstNote.cs new file mode 100644 index 000000000..477576a83 --- /dev/null +++ b/OpenUtau.Core/Classic/UstNote.cs @@ -0,0 +1,361 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Text; +using OpenUtau.Core.Format; +using OpenUtau.Core.Ustx; + +namespace OpenUtau.Classic { + class UstNote { + public string lyric; + public int position; + public int duration; + public int noteNum; + public double? tempo; + public int? velocity; + public int? intensity; + public int? modulation; + public int? decay; + public string flags; + public string filename; + public string alias; + public UPitch pitch; + public UVibrato vibrato; + + public UstNote() { } + + public UstNote(UProject project, UTrack track, UVoicePart part, UNote note) { + lyric = note.lyric; + position = note.position; + duration = note.duration; + noteNum = note.tone; + var phoneme = part.phonemes.FirstOrDefault(p => p.Parent == note); + if (phoneme != null) { + velocity = (int)phoneme.GetExpression(project, track, Ustx.VEL).Item1; + intensity = (int)phoneme.GetExpression(project, track, Ustx.VOL).Item1; + modulation = (int)phoneme.GetExpression(project, track, Ustx.MOD).Item1; + flags = FlagsToString(phoneme.GetResamplerFlags(project, track)); + if (phoneme.oto != null) { + filename = phoneme.oto.DisplayFile; + alias = phoneme.oto.Alias; + } + } + pitch = note.pitch.Clone(); + vibrato = note.vibrato.Clone(); + } + + public UstNote Clone() { + return new UstNote { + lyric = lyric, + position = position, + duration = duration, + noteNum = noteNum, + tempo = tempo, + velocity = velocity, + intensity = intensity, + modulation = modulation, + decay = decay, + flags = flags, + filename = filename, + alias = alias, + pitch = pitch?.Clone(), + vibrato = vibrato?.Clone(), + }; + } + + public void Write(StreamWriter writer, bool forPlugin = false) { + writer.WriteLine($"Length={duration}"); + writer.WriteLine($"Lyric={lyric}"); + writer.WriteLine($"NoteNum={noteNum}"); + writer.WriteLine("PreUtterance="); + if (tempo != null) { + writer.WriteLine($"Tempo={tempo.Value}"); + } + if (velocity != null) { + writer.WriteLine($"Velocity={velocity.Value}"); + } + if (intensity != null) { + writer.WriteLine($"Intensity={intensity.Value}"); + } + if (modulation != null) { + writer.WriteLine($"Modulation={modulation.Value}"); + } + if (!string.IsNullOrEmpty(flags)) { + writer.WriteLine($"Flags={flags}"); + } + if (forPlugin) { + if (!string.IsNullOrEmpty(filename)) { + writer.WriteLine($"@filename={filename}"); + } + if (!string.IsNullOrEmpty(alias)) { + writer.WriteLine($"@alias={alias}"); + } + } + WritePitch(writer); + WriteVibrato(writer); + } + + void WritePitch(StreamWriter writer) { + if (pitch == null) { + return; + } + var points = pitch.data; + if (points.Count >= 2) { + writer.WriteLine($"PBS={points[0].X};{points[0].Y}"); + var pbw = new List(); + var pby = new List(); + var pbm = new List(); + for (var i = 0; i < points.Count; ++i) { + switch (points[i].shape) { + case PitchPointShape.o: + pbm.Add("r"); + break; + case PitchPointShape.l: + pbm.Add("s"); + break; + case PitchPointShape.i: + pbm.Add("j"); + break; + case PitchPointShape.io: + pbm.Add(""); + break; + } + } + for (var i = 1; i < points.Count; ++i) { + var prev = points[i - 1]; + var current = points[i]; + pbw.Add((current.X - prev.X).ToString()); + pby.Add(current.Y.ToString()); + } + writer.WriteLine($"PBW={string.Join(",", pbw.ToArray())}"); + writer.WriteLine($"PBY={string.Join(",", pby.ToArray())}"); + writer.WriteLine($"PBM={string.Join(",", pbm.ToArray())}"); + } + } + + void WriteVibrato(StreamWriter writer) { + if ((vibrato?.length ?? 0) > 0) { + writer.WriteLine($"VBR={vibrato.length},{vibrato.period},{vibrato.depth},{vibrato.@in},{vibrato.@out},{vibrato.shift},{vibrato.drift}"); + } + } + + string FlagsToString(Tuple[] flags) { + var builder = new StringBuilder(); + foreach (var flag in flags) { + builder.Append(flag.Item1); + if (flag.Item2.HasValue) { + builder.Append(flag.Item2.Value); + } + } + return builder.ToString(); + } + + public void Parse(int lastNotePos, int lastNoteEnd, List iniLines, out float? noteTempo) { + const string format = "="; + noteTempo = null; + string pbs = null, pbw = null, pby = null, pbm = null; + int? delta = null; + int? duration = null; + int? length = null; + foreach (var iniLine in iniLines) { + var line = iniLine.line; + var parts = line.Split('=', 2); + if (parts.Length != 2) { + throw new FileFormatException($"Line does not match format {format}.\n{iniLine}"); + } + var param = parts[0].Trim(); + var error = false; + var isFloat = ParseFloat(parts[1], out var floatValue); + switch (param) { + case "Length": + error |= !isFloat; + length = (int)floatValue; + break; + case "Delta": + error |= !isFloat; + delta = (int)floatValue; + break; + case "Duration": + error |= !isFloat; + duration = (int)floatValue; + break; + case "Lyric": + ParseLyric(parts[1]); + break; + case "NoteNum": + error |= !isFloat; + noteNum = (int)floatValue; + break; + case "Velocity": + error |= !isFloat; + velocity = (int)floatValue; + break; + case "Intensity": + error |= !isFloat; + intensity = (int)floatValue; + break; + case "Modulation": + error |= !isFloat; + modulation = (int)floatValue; + break; + case "VoiceOverlap": + error |= !isFloat; + //note.phonemes[0].overlap = floatValue; + break; + case "PreUtterance": + error |= !isFloat; + //note.phonemes[0].preutter = floatValue; + break; + case "Envelope": + ParseEnvelope(parts[1], iniLine); + break; + case "VBR": + ParseVibrato(parts[1], iniLine); + break; + case "PBS": pbs = parts[1]; break; + case "PBW": pbw = parts[1]; break; + case "PBY": pby = parts[1]; break; + case "PBM": pbm = parts[1]; break; + case "Tempo": + if (isFloat) { + noteTempo = floatValue; + } + break; + default: + break; + } + if (error) { + throw new FileFormatException($"Invalid {param}\n${iniLine}"); + } + } + // UST Version < 2.0 + // | length | length | + // | note1 | R | + // UST Version = 2.0 + // | length1 | length2 | + // | dur1 | | dur2 | + // | note1 | R | note2 | + // | delta2 | + if (delta != null && duration != null && length != null) { + position = lastNotePos + delta.Value; + this.duration = duration.Value; + } else if (length != null) { + position = lastNoteEnd; + this.duration = length.Value; + } + ParsePitchBend(pbs, pbw, pby, pbm); + } + + void ParseLyric(string ust) { + if (ust.StartsWith("?")) { + ust = ust.Substring(1); + } + lyric = ust; + } + + void ParseEnvelope(string ust, IniLine ustLine) { + // p1,p2,p3,v1,v2,v3,v4,%,p4,p5,v5 (0,5,35,0,100,100,0,%,0,0,100) + try { + var parts = ust.Split(new[] { ',' }).Select(s => float.TryParse(s, out var v) ? v : -1).ToArray(); + if (parts.Length < 7) { + return; + } + float p1 = parts[0], p2 = parts[1], p3 = parts[2], v1 = parts[3], v2 = parts[4], v3 = parts[5], v4 = parts[6]; + if (parts.Length == 11) { + float p4 = parts[8], p5 = parts[9], v5 = parts[10]; + } + decay = 100 - (int)v3; + } catch (Exception e) { + throw new FileFormatException($"Invalid Envelope\n{ustLine}", e); + } + } + + void ParsePitchBend(string pbs, string pbw, string pby, string pbm) { + if (!string.IsNullOrWhiteSpace(pbs)) { + var pitch = new UPitch(); + var points = pitch.data; + points.Clear(); + // PBS + var parts = pbs.Contains(';') ? pbs.Split(';') : pbs.Split(','); + float pbsX = parts.Length >= 1 && ParseFloat(parts[0], out pbsX) ? pbsX : 0; + float pbsY = parts.Length >= 2 && ParseFloat(parts[1], out pbsY) ? pbsY : 0; + points.Add(new PitchPoint(pbsX, pbsY)); + // PBW, PBY + var x = points.First().X; + if (!string.IsNullOrWhiteSpace(pbw)) { + var w = pbw.Split(',').Select(s => ParseFloat(s, out var v) ? v : 0).ToList(); + var y = (pby ?? "").Split(',').Select(s => ParseFloat(s, out var v) ? v : 0).ToList(); + while (w.Count > y.Count) { + y.Add(0); + } + for (var i = 0; i < w.Count(); i++) { + x += w[i]; + points.Add(new PitchPoint(x, y[i])); + } + } + // PBM + if (!string.IsNullOrWhiteSpace(pbm)) { + var m = pbm.Split(new[] { ',' }); + for (var i = 0; i < m.Count() && i < points.Count; i++) { + switch (m[i]) { + case "r": + points[i].shape = PitchPointShape.o; + break; + case "s": + points[i].shape = PitchPointShape.l; + break; + case "j": + points[i].shape = PitchPointShape.i; + break; + default: + points[i].shape = PitchPointShape.io; + break; + } + } + } + this.pitch = pitch; + } + } + + void ParseVibrato(string ust, IniLine ustLine) { + try { + var vibrato = new UVibrato(); + var args = ust.Split(',').Select(s => float.TryParse(s, out var v) ? v : 0).ToArray(); + if (args.Length >= 1) { + vibrato.length = args[0]; + } + if (args.Length >= 2) { + vibrato.period = args[1]; + } + if (args.Length >= 3) { + vibrato.depth = args[2]; + } + if (args.Length >= 4) { + vibrato.@in = args[3]; + } + if (args.Length >= 5) { + vibrato.@out = args[4]; + } + if (args.Length >= 6) { + vibrato.shift = args[5]; + } + if (args.Length >= 7) { + vibrato.drift = args[6]; + } + this.vibrato = vibrato; + } catch { + throw new FileFormatException($"Invalid VBR\n{ustLine}"); + } + } + + static bool ParseFloat(string s, out float value) { + if (string.IsNullOrEmpty(s)) { + value = 0; + return true; + } + return float.TryParse(s, NumberStyles.Float, CultureInfo.InvariantCulture, out value); + } + } +} diff --git a/OpenUtau.Core/Classic/VoiceBank.cs b/OpenUtau.Core/Classic/VoiceBank.cs index 14e6c9f67..899bf6ab2 100644 --- a/OpenUtau.Core/Classic/VoiceBank.cs +++ b/OpenUtau.Core/Classic/VoiceBank.cs @@ -49,7 +49,6 @@ public class OtoSet { public string File; public string Name; public List Otos = new List(); - public List Errors = new List(); public override string ToString() { return Name; @@ -82,6 +81,10 @@ public class Oto { // Length overlap with previous note, usually within consonant range. public double Overlap; + public bool IsValid; + public string Error; + public FileTrace FileTrace; + public override string ToString() { return Alias; } diff --git a/OpenUtau.Core/Classic/VoicebankErrorChecker.cs b/OpenUtau.Core/Classic/VoicebankErrorChecker.cs new file mode 100644 index 000000000..244ec1c98 --- /dev/null +++ b/OpenUtau.Core/Classic/VoicebankErrorChecker.cs @@ -0,0 +1,201 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; + +namespace OpenUtau.Classic { + public class VoicebankError { + public string message; + public FileTrace trace; + public string soundFile; + public Exception e; + + public override string ToString() { + var builder = new StringBuilder(); + if (!string.IsNullOrEmpty(message)) { + builder.AppendLine(message); + } + if (trace != null) { + builder.AppendLine(trace.ToString()); + } + if (!string.IsNullOrEmpty(soundFile)) { + builder.AppendLine(soundFile); + } + if (e != null) { + builder.AppendLine(e.ToString()); + } + return builder.ToString(); + } + } + + public class VoicebankErrorChecker { + public List Errors = new List(); + + readonly string path; + readonly Voicebank voicebank; + readonly Dictionary fileDurations = new Dictionary(); + + public VoicebankErrorChecker(string path, string basePath) { + this.path = path; + string charTxt = Path.Combine(path, VoicebankLoader.kCharTxt); + voicebank = new Voicebank() { + File = charTxt, + BasePath = basePath, + }; + } + + public void Check() { + if (!File.Exists(voicebank.File)) { + Errors.Add(new VoicebankError() { + message = "character.txt not found", + }); + return; + } + string charYaml = Path.Combine(path, VoicebankLoader.kCharYaml); + if (!File.Exists(charYaml)) { + Errors.Add(new VoicebankError() { + message = "character.yaml not found", + }); + } + try { + VoicebankLoader.LoadVoicebank(voicebank); + } catch (Exception e) { + Errors.Add(new VoicebankError() { + message = "Failed to load voicebank", + e = e, + }); + return; + } + foreach (var otoSet in voicebank.OtoSets) { + string dir = Path.Combine(path, Path.GetDirectoryName(otoSet.File)); + foreach (var oto in otoSet.Otos) { + if (!oto.IsValid) { + Errors.Add(new VoicebankError() { + trace = oto.FileTrace, + message = $"Invalid oto format.", + }); + continue; + } + string filePath = Path.Combine(dir, oto.Wav); + if (!TryGetFileDuration(filePath, oto, out double fileDuration)) { + continue; + } + if (fileDuration <= 0) { + Errors.Add(new VoicebankError() { + trace = oto.FileTrace, + soundFile = filePath, + message = $"Invalid duration {fileDuration}.", + }); + continue; + } + CheckOto(oto, fileDuration); + } + } + } + + bool TryGetFileDuration(string filePath, Oto oto, out double fileDuration) { + if (fileDurations.TryGetValue(filePath, out fileDuration)) { + return true; + } + if (!File.Exists(filePath)) { + Errors.Add(new VoicebankError() { + trace = oto.FileTrace, + soundFile = filePath, + message = $"Sound file missing", + }); + return false; + } + try { + using (var wav = Core.Format.Wave.OpenFile(filePath)) { + fileDuration = wav.TotalTime.TotalMilliseconds; + } + } catch (Exception e) { + Errors.Add(new VoicebankError() { + trace = oto.FileTrace, + soundFile = filePath, + message = $"Cannot open sound file.", + e = e, + }); + return false; + } + fileDurations.Add(filePath, fileDuration); + return true; + } + + bool CheckOto(Oto oto, double fileDuration) { + bool valid = true; + if (oto.Offset < 0) { + Errors.Add(new VoicebankError() { + trace = oto.FileTrace, + message = "Offset must be >= 0.", + }); + valid = false; + } + if (oto.Offset > fileDuration) { + Errors.Add(new VoicebankError() { + trace = oto.FileTrace, + message = $"Offset out of sound file duration {fileDuration}.", + }); + valid = false; + } + if (oto.Preutter < 0) { + Errors.Add(new VoicebankError() { + trace = oto.FileTrace, + message = "Preutter must be >= 0.", + }); + valid = false; + } + if (oto.Preutter + oto.Offset > fileDuration) { + Errors.Add(new VoicebankError() { + trace = oto.FileTrace, + message = $"Preutter out of sound file duration {fileDuration}.", + }); + valid = false; + } + if (oto.Consonant < 0) { + Errors.Add(new VoicebankError() { + trace = oto.FileTrace, + message = "Consonant must be >= 0.", + }); + valid = false; + } + if (oto.Consonant + oto.Offset > fileDuration) { + Errors.Add(new VoicebankError() { + trace = oto.FileTrace, + message = $"Consonant out of sound file duration {fileDuration}.", + }); + valid = false; + } + if (oto.Overlap + oto.Offset > fileDuration) { + Errors.Add(new VoicebankError() { + trace = oto.FileTrace, + message = $"Overlap out of sound file duration {fileDuration}.", + }); + valid = false; + } + double cutoff = oto.Cutoff < 0 ? oto.Offset - oto.Cutoff : fileDuration - oto.Cutoff; + if (cutoff < oto.Offset + oto.Preutter) { + Errors.Add(new VoicebankError() { + trace = oto.FileTrace, + message = $"Cutoff must be to the right of preutter.", + }); + valid = false; + } + if (cutoff < oto.Offset + oto.Overlap) { + Errors.Add(new VoicebankError() { + trace = oto.FileTrace, + message = $"Cutoff must be to the right of overlap.", + }); + valid = false; + } + if (cutoff <= oto.Offset + oto.Consonant) { + Errors.Add(new VoicebankError() { + trace = oto.FileTrace, + message = $"Cutoff must be to the right of consonant.", + }); + valid = false; + } + return valid; + } + } +} diff --git a/OpenUtau.Core/Classic/VoicebankFiles.cs b/OpenUtau.Core/Classic/VoicebankFiles.cs index 940ae5cc1..0677b284a 100644 --- a/OpenUtau.Core/Classic/VoicebankFiles.cs +++ b/OpenUtau.Core/Classic/VoicebankFiles.cs @@ -4,43 +4,50 @@ using System.Linq; using System.Text; using K4os.Hash.xxHash; +using NAudio.Wave; using OpenUtau.Core; +using OpenUtau.Core.Render; using OpenUtau.Core.Ustx; using Serilog; namespace OpenUtau.Classic { - static class VoicebankFiles { - - static object fileAccessLock = new object(); - - public static string GetSourceTempPath(string singerId, UOto oto) { - string ext = Path.GetExtension(oto.File); + public class VoicebankFiles : Core.Util.SingletonBase { + public string GetSourceTempPath(string singerId, UOto oto, string ext = null) { + if (string.IsNullOrEmpty(ext)) { + ext = Path.GetExtension(oto.File); + } return Path.Combine(PathManager.Inst.CachePath, $"src-{HashHex(singerId)}-{HashHex(oto.Set)}-{HashHex(oto.File)}{ext}"); } - private static string HashHex(string s) { + private string HashHex(string s) { return $"{XXH32.DigestOf(Encoding.UTF8.GetBytes(s)):x8}"; } - public static void CopySourceTemp(string source, string temp) { - CopyOrStamp(source, temp, true); - var metaFiles = GetMetaFiles(source, temp); - metaFiles.ForEach(t => CopyOrStamp(t.Item1, t.Item2, false)); + public void CopySourceTemp(string source, string temp) { + lock (Renderers.GetCacheLock(temp)) { + DecodeOrStamp(source, temp); + var metaFiles = GetMetaFiles(source, temp); + metaFiles.ForEach(t => CopyOrStamp(t.Item1, t.Item2, false)); + } } - public static void CopyBackMetaFiles(string source, string temp) { - var metaFiles = GetMetaFiles(source, temp); - metaFiles.ForEach(t => CopyOrStamp(t.Item2, t.Item1, false)); + public void CopyBackMetaFiles(string source, string temp) { + lock (Renderers.GetCacheLock(temp)) { + var metaFiles = GetMetaFiles(source, temp); + metaFiles.ForEach(t => CopyOrStamp(t.Item2, t.Item1, false)); + } } - private static List> GetMetaFiles(string source, string sourceTemp) { + private List> GetMetaFiles(string source, string sourceTemp) { string ext = Path.GetExtension(source); - string frqExt = ext.Replace('.', '_') + ".frq"; string noExt = source.Substring(0, source.Length - ext.Length); + string frqExt = ext.Replace('.', '_') + ".frq"; + string tempExt = Path.GetExtension(sourceTemp); string tempNoExt = sourceTemp.Substring(0, sourceTemp.Length - ext.Length); + string tempFrqExt = tempExt.Replace('.', '_') + ".frq"; return new List>() { - Tuple.Create(noExt + frqExt, tempNoExt + frqExt), + Tuple.Create(noExt + frqExt, tempNoExt + tempFrqExt), Tuple.Create(source + ".llsm", sourceTemp + ".llsm"), Tuple.Create(source + ".uspec", sourceTemp + ".uspec"), Tuple.Create(source + ".dio", sourceTemp + ".dio"), @@ -53,32 +60,56 @@ private static List> GetMetaFiles(string source, string so }; } - private static void CopyOrStamp(string source, string dest, bool required) { - lock (fileAccessLock) { - if (!File.Exists(source)) { - if (required) { - Log.Error($"Source file {source} not found"); - throw new FileNotFoundException($"Source file {source} not found"); - } - } else if (!File.Exists(dest)) { - Log.Verbose($"Copy {source} to {dest}"); - File.Copy(source, dest); + private void CopyOrStamp(string source, string dest, bool required) { + if (!File.Exists(source)) { + if (required) { + Log.Error($"Source file {source} not found"); + throw new FileNotFoundException($"Source file {source} not found"); } + } else if (!File.Exists(dest)) { + Log.Verbose($"Copy {source} to {dest}"); + File.Copy(source, dest); } } - public static void ReleaseSourceTemp() { - lock (fileAccessLock) { - var expire = DateTime.Now - TimeSpan.FromDays(7); - string path = PathManager.Inst.CachePath; - Log.Information($"ReleaseSourceTemp {path}"); - Directory.EnumerateFiles(path, "*.*", SearchOption.TopDirectoryOnly) - .Where(file => - !File.GetAttributes(file).HasFlag(FileAttributes.Directory) - && File.GetCreationTime(file) < expire) - .ToList() - .ForEach(file => File.Delete(file)); + private void DecodeOrStamp(string source, string dest) { + if (!File.Exists(source)) { + Log.Error($"Source file {source} not found"); + throw new FileNotFoundException($"Source file {source} not found"); + } + if (File.Exists(dest)) { + return; + } + if (Path.GetExtension(source) == ".wav") { + Log.Verbose($"Copy {source} to {dest}"); + File.Copy(source, dest); + return; } + Log.Verbose($"Decode {source} to {dest}"); + using (var outputStream = new FileStream(dest, FileMode.Create)) { + using (var waveStream = Core.Format.Wave.OpenFile(source)) { + WaveFileWriter.WriteWavFileToStream(outputStream, waveStream); + } + } + } + + public void ReleaseSourceTemp() { + var expire = DateTime.Now - TimeSpan.FromDays(7); + string path = PathManager.Inst.CachePath; + Log.Information($"ReleaseSourceTemp {path}"); + Directory.EnumerateFiles(path, "*.*", SearchOption.TopDirectoryOnly) + .Where(file => + !File.GetAttributes(file).HasFlag(FileAttributes.Directory) + && File.GetCreationTime(file) < expire) + .ToList() + .ForEach(file => File.Delete(file)); + } + + public static string GetFrqFile(string source) { + string ext = Path.GetExtension(source); + string noExt = source.Substring(0, source.Length - ext.Length); + string frqExt = ext.Replace('.', '_') + ".frq"; + return noExt + frqExt; } } } diff --git a/OpenUtau.Core/Classic/VoicebankInstaller.cs b/OpenUtau.Core/Classic/VoicebankInstaller.cs index fb1203533..a34fffee0 100644 --- a/OpenUtau.Core/Classic/VoicebankInstaller.cs +++ b/OpenUtau.Core/Classic/VoicebankInstaller.cs @@ -43,6 +43,11 @@ public void LoadArchive(string path) { int count = 0; bool hasCharacterYaml = archive.Entries.Any(e => e.Key.EndsWith(kCharacterYaml)); foreach (var entry in archive.Entries) { + progress.Invoke(100.0 * ++count / total, entry.Key); + if (entry.Key.Contains("..")) { + // Prevent zipSlip attack + continue; + } var filePath = Path.Combine(basePath, entry.Key); Directory.CreateDirectory(Path.GetDirectoryName(filePath)); if (!entry.IsDirectory && entry.Key != kInstallTxt) { @@ -56,7 +61,6 @@ public void LoadArchive(string path) { } } } - progress.Invoke(100.0 * ++count / total, entry.Key); } foreach (var touch in touches) { File.WriteAllText(touch, "\n"); diff --git a/OpenUtau.Core/Classic/VoicebankLoader.cs b/OpenUtau.Core/Classic/VoicebankLoader.cs index 603f6f97e..60fb7752c 100644 --- a/OpenUtau.Core/Classic/VoicebankLoader.cs +++ b/OpenUtau.Core/Classic/VoicebankLoader.cs @@ -9,23 +9,28 @@ using Serilog; namespace OpenUtau.Classic { + public class FileTrace { + public string file; + public int lineNumber; + public string line; + public FileTrace() { } + public FileTrace(FileTrace other) { + file = other.file; + lineNumber = other.lineNumber; + line = other.line; + } + public override string ToString() { + return $"\"{file}\"\nat line {lineNumber + 1}:\n\"{line}\""; + } + } + public class VoicebankLoader { public const string kCharTxt = "character.txt"; public const string kCharYaml = "character.yaml"; public const string kEnuconfigYaml = "enuconfig.yaml"; - public const string kDiffconfigYaml = "diffconfig.yaml"; + public const string kDiffconfigYaml = "dsconfig.yaml"; public const string kOtoIni = "oto.ini"; - class FileLoc { - public string file; - public int lineNumber; - public string line; - - public override string ToString() { - return $"\"{file}\"\nat line {lineNumber + 1}:\n\"{line}\""; - } - } - readonly string basePath; public VoicebankLoader(string basePath) { @@ -264,7 +269,9 @@ public static Dictionary, SortedSet> ParsePrefixMap(S public static OtoSet ParseOtoSet(string filePath, Encoding encoding) { try { using (var stream = File.OpenRead(filePath)) { - return ParseOtoSet(stream, filePath, encoding); + var otoSet = ParseOtoSet(stream, filePath, encoding); + AddAliasForMissingFiles(otoSet); + return otoSet; } } catch (Exception e) { Log.Error(e, $"Failed to load {filePath}"); @@ -275,29 +282,36 @@ public static OtoSet ParseOtoSet(string filePath, Encoding encoding) { public static OtoSet ParseOtoSet(Stream stream, string filePath, Encoding encoding) { OtoSet otoSet; using (var reader = new StreamReader(stream, encoding)) { - var fileLoc = new FileLoc { file = filePath, lineNumber = 0 }; + var trace = new FileTrace { file = filePath, lineNumber = 0 }; otoSet = new OtoSet() { File = filePath, }; while (!reader.EndOfStream) { - var line = reader.ReadLine(); - fileLoc.line = line; + var line = reader.ReadLine().Trim(); + trace.line = line; try { - Oto oto = ParseOto(line); + Oto oto = ParseOto(line, trace); if (oto != null) { otoSet.Otos.Add(oto); } + if (!string.IsNullOrEmpty(oto.Error)) { + Log.Error($"Failed to parse\n{trace}: {oto.Error}"); + } } catch (Exception e) { - Log.Error(e, $"Failed to parse\n{fileLoc}"); - otoSet.Errors.Add($"Oto error:\n{fileLoc}"); + Log.Error(e, $"Failed to parse\n{trace}"); } - fileLoc.line = null; - fileLoc.lineNumber++; + trace.line = null; + trace.lineNumber++; } } + return otoSet; + } + + static void AddAliasForMissingFiles(OtoSet otoSet) { // Use filename as alias if not in oto. var knownFiles = otoSet.Otos.Select(oto => oto.Wav).ToHashSet(); - foreach (var wav in Directory.EnumerateFiles(Path.GetDirectoryName(filePath), "*.wav", SearchOption.TopDirectoryOnly)) { + var dir = Path.GetDirectoryName(otoSet.File); + foreach (var wav in Directory.EnumerateFiles(dir, "*.wav", SearchOption.TopDirectoryOnly)) { var file = Path.GetFileName(wav); if (!knownFiles.Contains(file)) { var oto = new Oto { @@ -308,49 +322,50 @@ public static OtoSet ParseOtoSet(Stream stream, string filePath, Encoding encodi otoSet.Otos.Add(oto); } } - return otoSet; } - public static Oto ParseOto(string line) { + static Oto ParseOto(string line, FileTrace trace) { const string format = "=,,,,,"; + var oto = new Oto { + FileTrace = new FileTrace(trace), + }; if (string.IsNullOrWhiteSpace(line)) { - return null; + return oto; } var parts = line.Split('='); if (parts.Length < 2) { - throw new FileFormatException($"Line does not match format {format}."); + oto.Error = $"Line does not match format {format}."; + return oto; } - var wav = parts[0].Trim(); + oto.Wav = parts[0].Trim(); parts = parts[1].Split(','); - var result = new Oto { - Wav = wav, - Alias = parts[0].Trim() - }; - if (string.IsNullOrEmpty(result.Alias)) { - var ext = Path.GetExtension(wav); - if (!string.IsNullOrEmpty(ext)) { - result.Alias = wav.Replace(ext, ""); - } else { - result.Alias = wav; - } + oto.Alias = parts.ElementAtOrDefault(0); + if (string.IsNullOrEmpty(oto.Alias)) { + oto.Alias = RemoveExtension(oto.Wav); } - result.Phonetic = result.Alias; - if (!ParseDouble(parts.Length < 2 ? null : parts[1], out result.Offset)) { - throw new FileFormatException($"Failed to parse offset. Format is {format}."); + oto.Phonetic = oto.Alias; + if (!ParseDouble(parts.ElementAtOrDefault(1), out oto.Offset)) { + oto.Error = $"{trace}\nFailed to parse offset. Format is {format}."; + return oto; } - if (!ParseDouble(parts.Length < 3 ? null : parts[2], out result.Consonant)) { - throw new FileFormatException($"Failed to parse consonant. Format is {format}."); + if (!ParseDouble(parts.ElementAtOrDefault(2), out oto.Consonant)) { + oto.Error = $"{trace}\nFailed to parse consonant. Format is {format}."; + return oto; } - if (!ParseDouble(parts.Length < 4 ? null : parts[3], out result.Cutoff)) { - throw new FileFormatException($"Failed to parse cutoff. Format is {format}."); + if (!ParseDouble(parts.ElementAtOrDefault(3), out oto.Cutoff)) { + oto.Error = $"{trace}\nFailed to parse cutoff. Format is {format}."; + return oto; } - if (!ParseDouble(parts.Length < 5 ? null : parts[4], out result.Preutter)) { - throw new FileFormatException($"Failed to parse preutter. Format is {format}."); + if (!ParseDouble(parts.ElementAtOrDefault(4), out oto.Preutter)) { + oto.Error = $"{trace}\nFailed to parse preutter. Format is {format}."; + return oto; } - if (!ParseDouble(parts.Length < 6 ? null : parts[5], out result.Overlap)) { - throw new FileFormatException($"Failed to parse overlap. Format is {format}."); + if (!ParseDouble(parts.ElementAtOrDefault(5), out oto.Overlap)) { + oto.Error = $"{trace}\nFailed to parse overlap. Format is {format}."; + return oto; } - return result; + oto.IsValid = true; + return oto; } static bool ParseDouble(string s, out double value) { @@ -360,5 +375,62 @@ static bool ParseDouble(string s, out double value) { } return double.TryParse(s, NumberStyles.Float, CultureInfo.InvariantCulture, out value); } + + public static void WriteOtoSets(Voicebank voicebank) { + foreach (var otoSet in voicebank.OtoSets) { + using (var stream = File.Open(otoSet.File, FileMode.Create, FileAccess.Write)) { + WriteOtoSet(otoSet, stream, voicebank.TextFileEncoding); + } + Log.Information($"Write oto set {otoSet.Name}"); + } + } + + public static void WriteOtoSet(OtoSet otoSet, Stream stream, Encoding encoding) { + using (var writer = new StreamWriter(stream, encoding)) { + foreach (var oto in otoSet.Otos) { + if (!oto.IsValid) { + writer.Write(oto.FileTrace.line); + writer.Write('\n'); + continue; + } + writer.Write(oto.Wav); + writer.Write('='); + if (oto.Alias != RemoveExtension(oto.Wav)) { + writer.Write(oto.Alias); + } + writer.Write(','); + if (oto.Offset != 0) { + writer.Write(oto.Offset); + } + writer.Write(','); + if (oto.Consonant != 0) { + writer.Write(oto.Consonant); + } + writer.Write(','); + if (oto.Cutoff != 0) { + writer.Write(oto.Cutoff); + } + writer.Write(','); + if (oto.Preutter != 0) { + writer.Write(oto.Preutter); + } + writer.Write(','); + if (oto.Overlap != 0) { + writer.Write(oto.Overlap); + } + writer.Write('\n'); + } + writer.Flush(); + } + } + + static string RemoveExtension(string filePath) { + var ext = Path.GetExtension(filePath); + if (!string.IsNullOrEmpty(ext)) { + return filePath.Substring(0, filePath.Length - ext.Length); + } else { + return filePath; + } + } } } diff --git a/OpenUtau.Core/Classic/WorldlineRenderer.cs b/OpenUtau.Core/Classic/WorldlineRenderer.cs index 337e19b8e..873980fc1 100644 --- a/OpenUtau.Core/Classic/WorldlineRenderer.cs +++ b/OpenUtau.Core/Classic/WorldlineRenderer.cs @@ -40,12 +40,10 @@ public bool SupportsExpression(UExpressionDescriptor descriptor) { } public RenderResult Layout(RenderPhrase phrase) { - var firstPhone = phrase.phones.First(); - var lastPhone = phrase.phones.Last(); return new RenderResult() { - leadingMs = firstPhone.preutterMs, - positionMs = (phrase.position + firstPhone.position) * phrase.tickToMs, - estimatedLengthMs = (lastPhone.duration + lastPhone.position - firstPhone.position) * phrase.tickToMs + firstPhone.preutterMs, + leadingMs = phrase.leadingMs, + positionMs = phrase.positionMs, + estimatedLengthMs = phrase.durationMs + phrase.leadingMs, }; } @@ -56,8 +54,8 @@ public Task Render(RenderPhrase phrase, Progress progress, Cancell } var task = Task.Run(() => { var result = Layout(phrase); - var wavPath = Path.Join(PathManager.Inst.CachePath, $"vog-{phrase.hash:x16}.wav"); - string progressInfo = string.Join(" ", phrase.phones.Select(p => p.phoneme)); + var wavPath = Path.Join(PathManager.Inst.CachePath, $"wdl-{phrase.hash:x16}.wav"); + string progressInfo = $"{this} {string.Join(" ", phrase.phones.Select(p => p.phoneme))}"; progress.Complete(0, progressInfo); if (File.Exists(wavPath)) { try { @@ -70,12 +68,12 @@ public Task Render(RenderPhrase phrase, Progress progress, Cancell } if (result.samples == null) { using var phraseSynth = new Worldline.PhraseSynth(); - double posOffsetMs = resamplerItems[0].phone.position * phrase.tickToMs - resamplerItems[0].phone.preutterMs; + double posOffsetMs = phrase.positionMs - phrase.leadingMs; foreach (var item in resamplerItems) { if (cancellation.IsCancellationRequested) { return result; } - double posMs = item.phone.position * item.phrase.tickToMs - item.phone.preutterMs - posOffsetMs; + double posMs = item.phone.positionMs - item.phone.leadingMs - (phrase.positionMs - phrase.leadingMs); double skipMs = item.skipOver; double lengthMs = item.phone.envelope[4].X - item.phone.envelope[0].X; double fadeInMs = item.phone.envelope[1].X - item.phone.envelope[0].X; @@ -83,11 +81,11 @@ public Task Render(RenderPhrase phrase, Progress progress, Cancell phraseSynth.AddRequest(item, posMs, skipMs, lengthMs, fadeInMs, fadeOutMs); } int frames = (int)Math.Ceiling(result.estimatedLengthMs / frameMs); - var f0 = DownSampleCurve(phrase.pitches, 0, frames, phrase.tickToMs, x => MusicMath.ToneToFreq(x * 0.01)); - var gender = DownSampleCurve(phrase.gender, 0.5, frames, phrase.tickToMs, x => 0.5 + 0.005 * x); - var tension = DownSampleCurve(phrase.tension, 0.5, frames, phrase.tickToMs, x => 0.5 + 0.005 * x); - var breathiness = DownSampleCurve(phrase.breathiness, 0.5, frames, phrase.tickToMs, x => 0.5 + 0.005 * x); - var voicing = DownSampleCurve(phrase.voicing, 1.0, frames, phrase.tickToMs, x => 0.01 * x); + var f0 = SampleCurve(phrase, phrase.pitches, 0, frames, x => MusicMath.ToneToFreq(x * 0.01)); + var gender = SampleCurve(phrase, phrase.gender, 0.5, frames, x => 0.5 + 0.005 * x); + var tension = SampleCurve(phrase, phrase.tension, 0.5, frames, x => 0.5 + 0.005 * x); + var breathiness = SampleCurve(phrase, phrase.breathiness, 0.5, frames, x => 0.5 + 0.005 * x); + var voicing = SampleCurve(phrase, phrase.voicing, 1.0, frames, x => 0.01 * x); phraseSynth.SetCurves(f0, gender, tension, breathiness, voicing); result.samples = phraseSynth.Synth(); var source = new WaveSource(0, 0, 0, 1); @@ -96,14 +94,14 @@ public Task Render(RenderPhrase phrase, Progress progress, Cancell } progress.Complete(phrase.phones.Length, progressInfo); if (result.samples != null) { - ApplyDynamics(phrase, result.samples); + Renderers.ApplyDynamics(phrase, result); } return result; }); return task; } - double[] DownSampleCurve(float[] curve, double defaultValue, int length, double tickToMs, Func convert) { + double[] SampleCurve(RenderPhrase phrase, float[] curve, double defaultValue, int length, Func convert) { const int interval = 5; var result = new double[length]; if (curve == null) { @@ -111,7 +109,9 @@ double[] DownSampleCurve(float[] curve, double defaultValue, int length, double return result; } for (int i = 0; i < length; i++) { - int index = (int)(i * frameMs / tickToMs / interval); + double posMs = phrase.positionMs - phrase.leadingMs + i * frameMs; + int ticks = phrase.timeAxis.MsPosToTickPos(posMs) - (phrase.position - phrase.leading); + int index = Math.Max(0, (int)((double)ticks / interval)); if (index < curve.Length) { result[i] = convert(curve[index]); } @@ -119,28 +119,10 @@ double[] DownSampleCurve(float[] curve, double defaultValue, int length, double return result; } - void ApplyDynamics(RenderPhrase phrase, float[] samples) { - const int interval = 5; - if (phrase.dynamics == null) { - return; - } - int pos = 0; - for (int i = 0; i < phrase.dynamics.Length; ++i) { - int endPos = (int)((i + 1) * interval * phrase.tickToMs / 1000 * 44100); - endPos = Math.Min(endPos, samples.Length); - float a = phrase.dynamics[i]; - float b = (i + 1) == phrase.dynamics.Length ? phrase.dynamics[i] : phrase.dynamics[i + 1]; - for (int j = pos; j < endPos; ++j) { - samples[j] *= a + (b - a) * (j - pos) / (endPos - pos); - } - pos = endPos; - } - } - public RenderPitchResult LoadRenderedPitch(RenderPhrase phrase) { return null; } - public override string ToString() => "WORLDLINE-R"; + public override string ToString() => Renderers.WORLDLINER; } } diff --git a/OpenUtau.Core/Classic/WorldlineResampler.cs b/OpenUtau.Core/Classic/WorldlineResampler.cs index 1ca4956fb..f30e8e592 100644 --- a/OpenUtau.Core/Classic/WorldlineResampler.cs +++ b/OpenUtau.Core/Classic/WorldlineResampler.cs @@ -8,12 +8,11 @@ namespace OpenUtau.Classic { internal class WorldlineResampler : IResampler { public const string name = "worldline"; - public string Name => name; public string FilePath { get; private set; } public WorldlineResampler() { string ext = OS.IsWindows() ? ".dll" : OS.IsMacOS() ? ".dylib" : ".so"; - FilePath = Path.Join(PathManager.Inst.RootPath, Name + ext); + FilePath = Path.Join(PathManager.Inst.RootPath, name + ext); } public float[] DoResampler(ResamplerItem item, ILogger logger) { @@ -24,12 +23,14 @@ public string DoResamplerReturnsFile(ResamplerItem item, ILogger logger) { var samples = DoResampler(item, logger); var source = new WaveSource(0, 0, 0, 1); source.SetSamples(samples); - WaveFileWriter.CreateWaveFile16(item.outputFile, new ExportAdapter(source).ToMono(1, 0)); + lock (Renderers.GetCacheLock(item.outputFile)) { + WaveFileWriter.CreateWaveFile16(item.outputFile, new ExportAdapter(source).ToMono(1, 0)); + } return item.outputFile; } public void CheckPermissions() { } - public override string ToString() => Name; + public override string ToString() => name; } } diff --git a/OpenUtau.Core/Commands/ExpCommands.cs b/OpenUtau.Core/Commands/ExpCommands.cs index 7a94349f4..42c807394 100644 --- a/OpenUtau.Core/Commands/ExpCommands.cs +++ b/OpenUtau.Core/Commands/ExpCommands.cs @@ -12,6 +12,7 @@ public abstract class ExpCommand : UCommand { public string Key; public override ValidateOptions ValidateOptions => new ValidateOptions { + SkipTiming = true, Part = Part, SkipPhonemizer = true, }; @@ -41,7 +42,7 @@ public SetNoteExpressionCommand(UProject project, UNote note, string abbr, float public class SetPhonemeExpressionCommand : ExpCommand { static readonly HashSet needsPhonemizer = new HashSet { - Format.Ustx.ALT, Format.Ustx.CLR, Format.Ustx.SHFT, + Format.Ustx.ALT, Format.Ustx.CLR, Format.Ustx.SHFT, Format.Ustx.VEL }; public readonly UProject project; @@ -51,6 +52,7 @@ public class SetPhonemeExpressionCommand : ExpCommand { public readonly float oldValue; public override ValidateOptions ValidateOptions => new ValidateOptions { + SkipTiming = true, Part = Part, SkipPhonemizer = !needsPhonemizer.Contains(Key), }; @@ -85,6 +87,7 @@ public override void Unexecute() { public abstract class PitchExpCommand : ExpCommand { public PitchExpCommand(UVoicePart part) : base(part) { } public override ValidateOptions ValidateOptions => new ValidateOptions { + SkipTiming = true, Part = Part, SkipPhonemizer = true, SkipPhoneme = true, @@ -197,6 +200,7 @@ public class SetCurveCommand : ExpCommand { int[] oldYs; public override ValidateOptions ValidateOptions => new ValidateOptions { + SkipTiming = true, Part = Part, SkipPhonemizer = true, SkipPhoneme = true, diff --git a/OpenUtau.Core/Commands/NoteCommands.cs b/OpenUtau.Core/Commands/NoteCommands.cs index ddceb30b8..ae853e0e5 100644 --- a/OpenUtau.Core/Commands/NoteCommands.cs +++ b/OpenUtau.Core/Commands/NoteCommands.cs @@ -6,9 +6,10 @@ namespace OpenUtau.Core { public abstract class NoteCommand : UCommand { - protected readonly UNote[] Notes; + public readonly UNote[] Notes; public readonly UVoicePart Part; public override ValidateOptions ValidateOptions => new ValidateOptions { + SkipTiming = true, Part = Part, }; public NoteCommand(UVoicePart part, UNote note) { @@ -157,6 +158,7 @@ public override void Unexecute() { public abstract class VibratoCommand : NoteCommand { public VibratoCommand(UVoicePart part, UNote note) : base(part, note) { } public override ValidateOptions ValidateOptions => new ValidateOptions { + SkipTiming = true, Part = Part, SkipPhonemizer = true, SkipPhoneme = true, @@ -314,6 +316,7 @@ public class PhonemeOffsetCommand : NoteCommand { readonly int oldOffset; readonly int newOffset; public override ValidateOptions ValidateOptions => new ValidateOptions { + SkipTiming = true, Part = Part, SkipPhonemizer = true, }; @@ -349,6 +352,7 @@ public class PhonemePreutterCommand : NoteCommand { readonly float oldDelta; readonly float newDelta; public override ValidateOptions ValidateOptions => new ValidateOptions { + SkipTiming = true, Part = Part, SkipPhonemizer = true, }; @@ -376,6 +380,7 @@ public class PhonemeOverlapCommand : NoteCommand { readonly float oldDelta; readonly float newDelta; public override ValidateOptions ValidateOptions => new ValidateOptions { + SkipTiming = true, Part = Part, SkipPhonemizer = true, }; @@ -401,6 +406,7 @@ public class ClearPhonemeTimingCommand : NoteCommand { readonly UNote note; readonly Tuple[] oldValues; public override ValidateOptions ValidateOptions => new ValidateOptions { + SkipTiming = true, Part = Part, SkipPhonemizer = true, }; @@ -435,6 +441,7 @@ public class ChangePhonemeAliasCommand : NoteCommand { readonly string oldAlias; readonly string newAlias; public override ValidateOptions ValidateOptions => new ValidateOptions { + SkipTiming = true, Part = Part, }; public ChangePhonemeAliasCommand(UVoicePart part, UNote note, int index, string alias) : base(part, note) { diff --git a/OpenUtau.Core/Commands/Notifications.cs b/OpenUtau.Core/Commands/Notifications.cs index 290fa79ec..022288507 100644 --- a/OpenUtau.Core/Commands/Notifications.cs +++ b/OpenUtau.Core/Commands/Notifications.cs @@ -1,4 +1,5 @@ -using OpenUtau.Core.Ustx; +using System; +using OpenUtau.Core.Ustx; namespace OpenUtau.Core { public class UNotification : UCommand { @@ -9,15 +10,20 @@ public override void Unexecute() { } public override string ToString() => "Notification"; } - /// - /// Message for user's information. - /// - public class UserMessageNotification : UNotification { - public string message; - public UserMessageNotification(string message) { + public class ErrorMessageNotification : UNotification { + public readonly string message = string.Empty; + public readonly Exception e; + public ErrorMessageNotification(Exception e) { + this.e = e; + } + public ErrorMessageNotification(string message) { + this.message = message; + } + public ErrorMessageNotification(string message, Exception e) { this.message = message; + this.e = e; } - public override string ToString() => $"User message: {message}"; + public override string ToString() => $"Error message: {message} {e}"; } public class LoadPartNotification : UNotification { @@ -129,6 +135,14 @@ public SingersRefreshedNotification() { } public override string ToString() => "Singers refreshed."; } + public class OtoChangedNotification : UNotification { + public readonly bool external; + public OtoChangedNotification(bool external = false) { + this.external = external; + } + public override string ToString() => "Oto changed."; + } + public class WillRemoveTrackNotification : UNotification { public int TrackNo; public WillRemoveTrackNotification(int trackNo) { @@ -156,4 +170,14 @@ public PartRenderedNotification(UVoicePart part) { } public override string ToString() => "Part rendered."; } + + public class GotoOtoNotification : UNotification { + public readonly USinger singer; + public readonly UOto oto; + public GotoOtoNotification(USinger singer, UOto oto) { + this.singer = singer; + this.oto = oto; + } + public override string ToString() => "Goto oto."; + } } diff --git a/OpenUtau.Core/Commands/PartCommands.cs b/OpenUtau.Core/Commands/PartCommands.cs index d3ba900c6..7294ef1ae 100644 --- a/OpenUtau.Core/Commands/PartCommands.cs +++ b/OpenUtau.Core/Commands/PartCommands.cs @@ -4,6 +4,9 @@ namespace OpenUtau.Core { public abstract class PartCommand : UCommand { public readonly UProject project; public readonly UPart part; + public override ValidateOptions ValidateOptions => new ValidateOptions { + SkipTiming = true, + }; public PartCommand(UProject project, UPart part) { this.project = project; this.part = part; diff --git a/OpenUtau.Core/Commands/ProjectCommands.cs b/OpenUtau.Core/Commands/ProjectCommands.cs index afc4f00ff..a61b8d8d4 100644 --- a/OpenUtau.Core/Commands/ProjectCommands.cs +++ b/OpenUtau.Core/Commands/ProjectCommands.cs @@ -15,11 +15,107 @@ public class BpmCommand : ProjectCommand { public readonly double oldBpm; public BpmCommand(UProject project, double bpm) : base(project) { newBpm = Math.Clamp(bpm, 10, 1000); - oldBpm = project.bpm; + oldBpm = project.tempos[0].bpm; } - public override void Execute() => project.bpm = newBpm; + public override void Execute() => project.tempos[0].bpm = newBpm; public override string ToString() => $"Change BPM from {newBpm} to {oldBpm}"; - public override void Unexecute() => project.bpm = oldBpm; + public override void Unexecute() => project.tempos[0].bpm = oldBpm; + } + + public class AddTempoChangeCommand : ProjectCommand { + protected int tick; + protected double bpm; + public AddTempoChangeCommand(UProject project, int tick, double bpm) : base(project) { + this.tick = tick; + this.bpm = bpm; + } + protected AddTempoChangeCommand(UProject project) : base(project) { } + public override void Execute() { + int index = project.tempos.FindIndex(timSig => timSig.position > tick); + var tempo = new UTempo { + position = tick, + bpm = bpm, + }; + if (index >= 0) { + project.tempos.Insert(index - 1, tempo); + } else { + project.tempos.Add(tempo); + } + } + public override void Unexecute() { + int index = project.tempos.FindIndex(tempo => tempo.position == tick); + if (index >= 0) { + project.tempos.RemoveAt(index); + } else { + throw new Exception("Cannot remove non-exist tempo change."); + } + } + public override string ToString() => $"Add tempo change {bpm} at {tick}"; + } + + public class DelTempoChangeCommand : AddTempoChangeCommand { + public DelTempoChangeCommand(UProject project, int tick) : base(project) { + this.tick = tick; + var tempo = project.tempos.Find(tempo => tempo.position == tick); + bpm = tempo.bpm; + } + public override void Execute() { + base.Unexecute(); + } + public override void Unexecute() { + base.Execute(); + } + public override string ToString() => $"Del tempo change {bpm} at {tick}"; + } + + public class AddTimeSigCommand : ProjectCommand { + protected int bar; + protected int beatPerBar; + protected int beatUnit; + public AddTimeSigCommand(UProject project, int bar, int beatPerBar, int beatUnit) : base(project) { + this.bar = bar; + this.beatPerBar = beatPerBar; + this.beatUnit = beatUnit; + } + protected AddTimeSigCommand(UProject project) : base(project) { } + public override void Execute() { + int index = project.timeSignatures.FindIndex(timSig => timSig.barPosition > bar); + var timeSig = new UTimeSignature { + barPosition = bar, + beatPerBar = beatPerBar, + beatUnit = beatUnit, + }; + if (index >= 0) { + project.timeSignatures.Insert(index - 1, timeSig); + } else { + project.timeSignatures.Add(timeSig); + } + } + public override void Unexecute() { + int index = project.timeSignatures.FindIndex(timSig => timSig.barPosition == bar); + if (index >= 0) { + project.timeSignatures.RemoveAt(index); + } else { + throw new Exception("Cannot remove non-exist time signature change"); + } + } + public override string ToString() => $"Add time sig change {beatPerBar}/{beatUnit} at bar {bar}"; + } + + public class DelTimeSigCommand : AddTimeSigCommand { + public DelTimeSigCommand(UProject project, int bar) : base(project) { + this.bar = bar; + var timeSig = project.timeSignatures.Find(timSig => timSig.barPosition == bar); + beatPerBar = timeSig.beatPerBar; + beatUnit = timeSig.beatUnit; + } + public override void Execute() { + base.Unexecute(); + } + public override void Unexecute() { + base.Execute(); + } + public override string ToString() => $"Del time sig change {beatPerBar}/{beatUnit} at bar {bar}"; } public class TimeSignatureCommand : ProjectCommand { @@ -28,25 +124,28 @@ public class TimeSignatureCommand : ProjectCommand { public readonly int newBeatPerBar; public readonly int newBeatUnit; public TimeSignatureCommand(UProject project, int beatPerBar, int beatUnit) : base(project) { - oldBeatPerBar = project.beatPerBar; - oldBeatUnit = project.beatUnit; + oldBeatPerBar = project.timeSignatures[0].beatPerBar; + oldBeatUnit = project.timeSignatures[0].beatUnit; newBeatPerBar = beatPerBar; newBeatUnit = beatUnit; } public override string ToString() => $"Change time signature for {oldBeatPerBar}/{oldBeatUnit} to {newBeatPerBar}/{newBeatUnit}"; public override void Execute() { - project.beatPerBar = newBeatPerBar; - project.beatUnit = newBeatUnit; + project.timeSignatures[0].beatPerBar = newBeatPerBar; + project.timeSignatures[0].beatUnit = newBeatUnit; } public override void Unexecute() { - project.beatPerBar = oldBeatPerBar; - project.beatUnit = oldBeatUnit; + project.timeSignatures[0].beatPerBar = oldBeatPerBar; + project.timeSignatures[0].beatUnit = oldBeatUnit; } } public class ConfigureExpressionsCommand : ProjectCommand { readonly UExpressionDescriptor[] oldDescriptors; readonly UExpressionDescriptor[] newDescriptors; + public override ValidateOptions ValidateOptions => new ValidateOptions { + SkipTiming = true, + }; public ConfigureExpressionsCommand( UProject project, UExpressionDescriptor[] descriptors) : base(project) { diff --git a/OpenUtau.Core/Commands/TrackCommands.cs b/OpenUtau.Core/Commands/TrackCommands.cs index b82bc132c..da2a868a2 100644 --- a/OpenUtau.Core/Commands/TrackCommands.cs +++ b/OpenUtau.Core/Commands/TrackCommands.cs @@ -8,6 +8,9 @@ namespace OpenUtau.Core { public abstract class TrackCommand : UCommand { public UProject project; public UTrack track; + public override ValidateOptions ValidateOptions => new ValidateOptions { + SkipTiming = true, + }; public void UpdateTrackNo() { Dictionary trackNoRemapTable = new Dictionary(); for (int i = 0; i < project.tracks.Count; i++) { @@ -108,28 +111,29 @@ public TrackChangePhonemizerCommand(UProject project, UTrack track, Phonemizer n public override string ToString() { return "Change phonemizer"; } public override void Execute() { track.Phonemizer = newPhonemizer; - track.Phonemizer.SetSinger(track.Singer); } public override void Unexecute() { track.Phonemizer = oldPhonemizer; - track.Phonemizer.SetSinger(track.Singer); } } - public class TrackChangeRendererCommand : TrackCommand { - readonly string newRenderer, oldRenderer; - public TrackChangeRendererCommand(UProject project, UTrack track, string newRenderer) { + public class TrackChangeRenderSettingCommand : TrackCommand { + readonly URenderSettings newSettings; + readonly URenderSettings oldSettings; + public TrackChangeRenderSettingCommand(UProject project, UTrack track, URenderSettings newSettings) { this.project = project; this.track = track; - this.newRenderer = newRenderer; - this.oldRenderer = track.Renderer?.ToString(); + this.newSettings = newSettings.Clone(); + this.oldSettings = track.RendererSettings.Clone(); } - public override string ToString() { return "Change phonemizer"; } + public override string ToString() { return "Change render setting"; } public override void Execute() { - track.Renderer = Render.Renderers.CreateRenderer(newRenderer); + track.RendererSettings = newSettings.Clone(); + track.RendererSettings.Validate(track); } public override void Unexecute() { - track.Renderer = Render.Renderers.CreateRenderer(oldRenderer); + track.RendererSettings = oldSettings.Clone(); + track.RendererSettings.Validate(track); } } } diff --git a/OpenUtau.Core/DefaultPhonemizer.cs b/OpenUtau.Core/DefaultPhonemizer.cs index 1093c24d8..0eeba399e 100644 --- a/OpenUtau.Core/DefaultPhonemizer.cs +++ b/OpenUtau.Core/DefaultPhonemizer.cs @@ -1,5 +1,6 @@ using OpenUtau.Api; using OpenUtau.Core.Ustx; +using System.Linq; namespace OpenUtau.Core { /// @@ -7,15 +8,21 @@ namespace OpenUtau.Core { /// [Phonemizer("Default Phonemizer", "DEFAULT")] public class DefaultPhonemizer : Phonemizer { - public override void SetSinger(USinger singer) { } + private USinger singer; + public override void SetSinger(USinger singer) => this.singer = singer; public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevNeighbour, Note? nextNeighbour, Note[] prevNeighbours) { // Note that even when input has multiple notes, only the leading note is used to produce phoneme. // This is because the 2nd+ notes will always be extender notes, i.e., with lyric "+" or "+". // For this simple phonemizer, all these notes maps to a single phoneme. + string alias = notes[0].lyric; + var attr0 = notes[0].phonemeAttributes?.FirstOrDefault(attr => attr.index == 0) ?? default; + if (singer.TryGetMappedOto(notes[0].lyric, notes[0].tone + attr0.toneShift, attr0.voiceColor, out var oto)) { + alias = oto.Alias; + } return new Result { phonemes = new Phoneme[] { new Phoneme { - phoneme = notes[0].lyric, + phoneme = alias, } } }; diff --git a/OpenUtau.Core/DiffSinger/DiffSingerConfig.cs b/OpenUtau.Core/DiffSinger/DiffSingerConfig.cs new file mode 100644 index 000000000..8f47cd496 --- /dev/null +++ b/OpenUtau.Core/DiffSinger/DiffSingerConfig.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenUtau.Core.DiffSinger { + [Serializable] + public class DsConfig { + public string phonemes = "phonemes.txt"; + public string acoustic = "acoustic.onnx"; + public string vocoder = "nsf_hifigan"; + } + + [Serializable] + public class DsVocoderConfig { + public string name = "vocoder"; + public string model = "model.onnx"; + public int num_mel_bins = 128; + public int hop_size = 512; + public int sample_rate = 44100; + } +} diff --git a/OpenUtau.Core/DiffSinger/DiffSingerMandarinPhonemizer.cs b/OpenUtau.Core/DiffSinger/DiffSingerMandarinPhonemizer.cs new file mode 100644 index 000000000..9ebae73c9 --- /dev/null +++ b/OpenUtau.Core/DiffSinger/DiffSingerMandarinPhonemizer.cs @@ -0,0 +1,89 @@ +using System; +using System.IO; +using K4os.Hash.xxHash; +using TinyPinyin; + +using OpenUtau.Api; +using OpenUtau.Core.Ustx; +using OpenUtau.Core.Vogen; +using System.Collections.Generic; +using Serilog; + +namespace OpenUtau.Core.DiffSinger { + [Phonemizer("DiffSinger Chinese Mandarin Phonemizer", "DIFFS ZH", language: "ZH")] + public class DiffsingerMandarinPhonemizer : VogenMandarinPhonemizer { + DiffSingerSinger singer; + Dictionary> phoneDict = new Dictionary>(); + + //初始化 + public override void SetSinger(USinger singer) { + if (this.singer == singer) { + return; + } + this.singer = singer as DiffSingerSinger; + if (this.singer == null) { + return; + } + //导入拼音转音素字典 + try { + phoneDict.Clear(); + HashSet phonemesSet = new HashSet { "SP", "AP" }; + string path = Path.Combine(singer.Location, "dsdict.txt"); + phoneDict.Add("AP", new Tuple("", "AP")); + phoneDict.Add("SP", new Tuple("", "SP")); + foreach (string line in File.ReadLines(path, singer.TextFileEncoding)) { + string[] elements = line.Split("\t"); + elements[1] = elements[1].Trim(); + if (elements[1].Contains(" ")) {//声母+韵母 + string[] phones = elements[1].Split(" "); + phoneDict.Add(elements[0].Trim(), new Tuple(phones[0], phones[1])); + phonemesSet.Add(phones[0]); + phonemesSet.Add(phones[1]); + } else {//仅韵母 + phoneDict.Add(elements[0].Trim(), new Tuple("", elements[1])); + phonemesSet.Add(elements[1]); + } + } + } + catch (Exception e) { + Log.Error(e, "failed to load dsdict.txt"); + } + } + + public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevNeighbour, Note? nextNeighbour, Note[] prevs) { + /*if (!partResult.TryGetValue(notes[0].position, out var phonemes)) { + throw new Exception("Part result not found"); + } + return new Result { + phonemes = phonemes + .Select((tu) => new Phoneme() { + phoneme = tu.Item1, + position = tu.Item2, + }) + .ToArray(), + };*/ + string lyric = notes[0].lyric; + //汉字转拼音 + if (lyric.Length > 0 && PinyinHelper.IsChinese(lyric[0])) { + lyric = PinyinHelper.GetPinyin(lyric).ToLowerInvariant(); + } + var phones = phoneDict[lyric]; + if (phones.Item1 == "") {//仅韵母 + return new Result { + phonemes = new Phoneme[] { + new Phoneme {phoneme = phones.Item2,} + }, + }; + } else { + //使用vogen的辅音时间 + Result VogenResult = base.Process(notes, prev, next, prevNeighbour, nextNeighbour, prevs); + return new Result { + phonemes = new Phoneme[] { + new Phoneme {phoneme = phones.Item1, position = VogenResult.phonemes[0].position}, + new Phoneme {phoneme = phones.Item2, position = 0} + }, + }; + } + } + } +} diff --git a/OpenUtau.Core/DiffSinger/DiffSingerPhonemizer.cs b/OpenUtau.Core/DiffSinger/DiffSingerPhonemizer.cs deleted file mode 100644 index 44e134dd3..000000000 --- a/OpenUtau.Core/DiffSinger/DiffSingerPhonemizer.cs +++ /dev/null @@ -1,74 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using K4os.Hash.xxHash; -using OpenUtau.Api; -using OpenUtau.Core.Ustx; -using TinyPinyin; - -namespace OpenUtau.Core.DiffSinger { - [Phonemizer("DiffSinger Phonemizer", "DIFFS")] - public class DiffSingerPhonemizer : Phonemizer { - DiffSingerSinger singer; - - public DiffSingerPhonemizer() { - - } - - public override void SetSinger(USinger singer) { - this.singer = singer as DiffSingerSinger;//#TODO:为什么转不进去 - } - - static ulong HashNoteGroups(Note[][] notes) { - using (var stream = new MemoryStream()) { - using (var writer = new BinaryWriter(stream)) { - foreach (var ns in notes) { - foreach (var n in ns) { - writer.Write(n.lyric); - writer.Write(n.position); - writer.Write(n.duration); - writer.Write(n.tone); - } - } - return XXH64.DigestOf(stream.ToArray()); - } - } - } - - public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevNeighbour, Note? nextNeighbour, Note[] prevs) { - string lyric = notes[0].lyric; - //汉字转拼音 - if (lyric.Length > 0 && PinyinHelper.IsChinese(lyric[0])) { - lyric = PinyinHelper.GetPinyin(lyric).ToLowerInvariant(); - } - - var phones = singer.phoneDict[lyric]; - if (phones.Item1 == "") {//仅韵母 - return new Result { - phonemes = new Phoneme[] { - new Phoneme {phoneme = phones.Item2,} - }, - }; - } else { - //计算辅音时间,暂时按照120tick或上一音符长度的一半中的较小者#TODO - int prevDuration = 240; - if (prevNeighbour != null) { - prevDuration = prevNeighbour.Value.duration; - } - return new Result { - phonemes = new Phoneme[] { - new Phoneme {phoneme = phones.Item1, position = -Math.Min(120,prevDuration)}, - new Phoneme {phoneme = phones.Item2, position = 0} - }, - }; - } - } - - public override void CleanUp() { - //partResult.Clear(); - } - } -} diff --git a/OpenUtau.Core/DiffSinger/DiffSingerRenderer.cs b/OpenUtau.Core/DiffSinger/DiffSingerRenderer.cs index 4e08e60b4..95d6202a4 100644 --- a/OpenUtau.Core/DiffSinger/DiffSingerRenderer.cs +++ b/OpenUtau.Core/DiffSinger/DiffSingerRenderer.cs @@ -1,219 +1,185 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; -using K4os.Hash.xxHash; -using NAudio.Wave; -using NumSharp; -using OpenUtau.Core.Format; -using OpenUtau.Core.Render; -using OpenUtau.Core.SignalChain; -using OpenUtau.Core.Ustx; -using Serilog; - -namespace OpenUtau.Core.DiffSinger { - public class DiffSingerRenderer : IRenderer { - public const int headTicks = 0; - public const int tailTicks = 0; - - static readonly HashSet supportedExp = new HashSet(){ - /*Format.Ustx.DYN, - Format.Ustx.PITD, - Format.Ustx.GENC, - Format.Ustx.BREC, - Format.Ustx.TENC, - Format.Ustx.VOIC,*/ - }; - - struct AcousticResult { - public string path_acoustic; - public string path_f0; - public string path_spectrogram; - public string path_aperiodicity; - } - - struct AcousticResponse { - public string error; - public AcousticResult result; - } - - static readonly object lockObj = new object(); - - public USingerType SingerType => USingerType.DiffSinger; - - public bool SupportsRenderPitch => false; - - public bool SupportsExpression(UExpressionDescriptor descriptor) { - return supportedExp.Contains(descriptor.abbr); - } - - //计算时间轴,包括位置、头辅音长度、预估总时长 - public RenderResult Layout(RenderPhrase phrase) { - var firstPhone = phrase.phones.First(); - var lastPhone = phrase.phones.Last(); - return new RenderResult() { - leadingMs = headTicks * phrase.tickToMs, - positionMs = (phrase.position + firstPhone.position) * phrase.tickToMs, - estimatedLengthMs = (lastPhone.duration + lastPhone.position - firstPhone.position + headTicks + tailTicks) * phrase.tickToMs, - }; - } - - public Task Render(RenderPhrase phrase, Progress progress, CancellationTokenSource cancellation, bool isPreRender) { - var task = Task.Run(() => { - lock (lockObj) { - if (cancellation.IsCancellationRequested) { - return new RenderResult(); - } - string progressInfo = string.Join(" ", phrase.phones.Select(p => p.phoneme)); - progress.Complete(0, progressInfo); - ulong preEffectHash = PreEffectsHash(phrase); - //分配缓存目录 - var tmpPath = Path.Join(PathManager.Inst.CachePath, $"enu-{phrase.hash:x16}"); - var ustPath = tmpPath + ".tmp"; - var wavPath = Path.Join(PathManager.Inst.CachePath, $"enu-{phrase.hash:x16}.wav"); - var result = Layout(phrase); - //如果还没合成wav文件,则合成。否则直接读 - if (!File.Exists(wavPath)) { - Log.Information($"Starting DiffSinger acoustic \"{ustPath}\""); - var DiffSingerNotes = PhraseToDiffSingerNotes(phrase); - //写入ust - DiffSingerUtils.WriteUst(DiffSingerNotes, phrase.tempo, phrase.singer, ustPath); - //向python服务器发送请求,合成。"acoustic" - var response = DiffSingerClient.Inst.SendRequest(new string[] { "acoustic", ustPath }); - if (response.error != null) { - throw new Exception(response.error); - } - if (cancellation.IsCancellationRequested) { - return new RenderResult(); - } - } - progress.Complete(phrase.phones.Length, progressInfo); - if (File.Exists(wavPath)) { - using (var waveStream = Wave.OpenFile(wavPath)) { - result.samples = Wave.GetSamples(waveStream.ToSampleProvider().ToMono(1, 0)); - } - if (result.samples != null) { - ApplyDynamics(phrase, result.samples); - } - } else { - result.samples = new float[0]; - } - return result; - } - }); - return task; - } - /*result的格式: - result.samples:渲染好的音频,float[] - leadingMs、positionMs、estimatedLengthMs:时间轴相关,单位:毫秒,double - */ - - //加载音高渲染结果(待支持) - public RenderPitchResult LoadRenderedPitch(RenderPhrase phrase) { - return null; - } - /* - public RenderPitchResult LoadRenderedPitch(RenderPhrase phrase) { - ulong preEffectHash = PreEffectsHash(phrase); - var tmpPath = Path.Join(PathManager.Inst.CachePath, $"enu-{preEffectHash:x16}"); - var enutmpPath = tmpPath + "_enutemp"; - var f0Path = Path.Join(enutmpPath, "f0.npy"); - var layout = Layout(phrase); - if (!File.Exists(f0Path)) { - return null; - } - var config = DiffSingerConfig.Load(phrase.singer); - var f0 = np.Load(f0Path); - var result = new RenderPitchResult() { - tones = f0.Select(f => (float)MusicMath.FreqToTone(f)).ToArray(), - }; - result.ticks = new float[result.tones.Length]; - var t = layout.positionMs - layout.leadingMs; - for (int i = 0; i < result.tones.Length; i++) { - t += config.framePeriod; - result.ticks[i] = (float)(t / phrase.tickToMs) - phrase.position; - } - return result; - }*/ - - //仅考虑谱面,而不考虑参数的hash - private ulong PreEffectsHash(RenderPhrase phrase) { - using (var stream = new MemoryStream()) { - using (var writer = new BinaryWriter(stream)) { - writer.Write(phrase.singerId); - writer.Write(phrase.tempo); - writer.Write(phrase.tickToMs); - foreach (var phone in phrase.phones) { - writer.Write(phone.hash); - } - return XXH64.DigestOf(stream.ToArray()); - } - } - } - - //将OpenUTAU音素转化为diffsinger音符 - //#TODO:连音符 - static DiffSingerNote[] PhraseToDiffSingerNotes(RenderPhrase phrase) { - var notes = new List(); - notes.Add(new DiffSingerNote { - lyric = "R", - length = headTicks, - noteNum = 60, - }); - foreach (var phone in phrase.phones) { - notes.Add(new DiffSingerNote { - lyric = phone.phoneme, - length = phone.duration, - noteNum = phone.tone, - }); - } - notes.Add(new DiffSingerNote { - lyric = "R", - length = tailTicks, - noteNum = 60, - }); - return notes.ToArray(); - } - - double[] DownSampleCurve(float[] curve, double defaultValue, double frameMs, int length, int headFrames, int tailFrames, double tickToMs, Func convert) { - const int interval = 5; - var result = new double[length]; - if (curve == null) { - Array.Fill(result, defaultValue); - return result; - } - for (int i = 0; i < length - headFrames - tailFrames; i++) { - int index = (int)(i * frameMs / tickToMs / interval); - if (index < curve.Length) { - result[i + headFrames] = convert(curve[index]); - } - } - Array.Fill(result, defaultValue, 0, headFrames); - Array.Fill(result, defaultValue, length - tailFrames, tailFrames); - return result; - } - - //将音量曲线运用到输出的音频上 - void ApplyDynamics(RenderPhrase phrase, float[] samples) { - const int interval = 5; - if (phrase.dynamics == null) { - return; - } - int pos = 0; - int offset = (int)(240 * phrase.tickToMs / 1000 * 44100); - for (int i = 0; i < phrase.dynamics.Length; ++i) { - int endPos = (int)((i + 1) * interval * phrase.tickToMs / 1000 * 44100); - float a = phrase.dynamics[i]; - float b = (i + 1) == phrase.dynamics.Length ? phrase.dynamics[i] : phrase.dynamics[i + 1]; - for (int j = pos; j < endPos; ++j) { - samples[offset + j] *= a + (b - a) * (j - pos) / (endPos - pos); - } - pos = endPos; - } - } - - public override string ToString() => "DiffSinger"; - } -} +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.ML.OnnxRuntime; +using Microsoft.ML.OnnxRuntime.Tensors; +using NAudio.Wave; +using OpenUtau.Core.Format; +using OpenUtau.Core.Render; +using OpenUtau.Core.SignalChain; +using OpenUtau.Core.Ustx; +using OpenUtau.Core.Util; +using Serilog; + +namespace OpenUtau.Core.DiffSinger { + public class DiffSingerRenderer : IRenderer { + const float headMs = 0; + const float tailMs = 0; + + static readonly HashSet supportedExp = new HashSet(){ + Format.Ustx.DYN, + Format.Ustx.PITD, + }; + + struct AcousticResult { + public string path_acoustic; + public string path_f0; + public string path_spectrogram; + public string path_aperiodicity; + } + + struct AcousticResponse { + public string error; + public AcousticResult result; + } + + static readonly object lockObj = new object(); + + public USingerType SingerType => USingerType.DiffSinger; + + public bool SupportsRenderPitch => false; + + public bool SupportsExpression(UExpressionDescriptor descriptor) { + return supportedExp.Contains(descriptor.abbr); + } + + //计算时间轴,包括位置、头辅音长度、预估总时长 + public RenderResult Layout(RenderPhrase phrase) { + return new RenderResult() { + leadingMs = headMs, + positionMs = phrase.positionMs, + estimatedLengthMs = headMs + phrase.durationMs + tailMs, + }; + } + + public Task Render(RenderPhrase phrase, Progress progress, CancellationTokenSource cancellation, bool isPreRender) { + var task = Task.Run(() => { + lock (lockObj) { + if (cancellation.IsCancellationRequested) { + return new RenderResult(); + } + var result = Layout(phrase); + int speedup = Core.Util.Preferences.Default.DiffsingerSpeedup; + var wavPath = Path.Join(PathManager.Inst.CachePath, $"vog-{phrase.hash:x16}-{speedup}x.wav"); + string progressInfo = $"{this}{speedup}x \"{string.Join(" ", phrase.phones.Select(p => p.phoneme))}\""; + if (File.Exists(wavPath)) { + try { + using (var waveStream = Wave.OpenFile(wavPath)) { + result.samples = Wave.GetSamples(waveStream.ToSampleProvider().ToMono(1, 0)); + } + } catch (Exception e) { + Log.Error(e, "Failed to render."); + } + } + if (result.samples == null) { + result.samples = InvokeDiffsinger(phrase, speedup); + var source = new WaveSource(0, 0, 0, 1); + source.SetSamples(result.samples); + WaveFileWriter.CreateWaveFile16(wavPath, new ExportAdapter(source).ToMono(1, 0)); + } + if (result.samples != null) { + Renderers.ApplyDynamics(phrase, result); + } + progress.Complete(phrase.phones.Length, progressInfo); + return result; + } + }); + return task; + } + /*result的格式: + result.samples:渲染好的音频,float[] + leadingMs、positionMs、estimatedLengthMs:时间轴相关,单位:毫秒,double + */ + + float[] InvokeDiffsinger(RenderPhrase phrase,int speedup) { + var singer = phrase.singer as DiffSingerSinger; + var frameMs = singer.vocoder.frameMs(); + var frameSec = frameMs / 1000; + int headFrames = (int)(headMs / frameMs); + int tailFrames = (int)(tailMs / frameMs); + var result = Layout(phrase); + //acoustic + //mel = session.run(['mel'], {'tokens': tokens, 'durations': durations, 'f0': f0, 'speedup': speedup})[0] + //tokens: 音素编号 + //durations: 时长,帧数 + //f0: 音高曲线,Hz,采样率为帧数 + //speedup:加速倍数 + var tokens = phrase.phones + .Select(p => p.phoneme) + .Select(x => (long)(singer.phonemes.IndexOf(x))) + .ToList(); + var durations = phrase.phones + .Select(p => (long)(p.endMs / frameMs) - (long)(p.positionMs / frameMs))//防止累计误差 + .ToList(); + var totalFrames = (int)(durations.Sum()); + var f0 = SampleCurve(phrase, phrase.pitches, 0, totalFrames, headFrames, tailFrames, x => MusicMath.ToneToFreq(x * 0.01)); + float[] f0Shifted = f0.Select(f => (float)f).ToArray(); + //TODO:toneShift + + var acousticInputs = new List(); + acousticInputs.Add(NamedOnnxValue.CreateFromTensor("tokens", + new DenseTensor(tokens.ToArray(), new int[] { tokens.Count },false) + .Reshape(new int[] { 1, tokens.Count }))); + acousticInputs.Add(NamedOnnxValue.CreateFromTensor("durations", + new DenseTensor(durations.ToArray(), new int[] { durations.Count }, false) + .Reshape(new int[] { 1, durations.Count }))); + var f0tensor = new DenseTensor(f0Shifted, new int[] { f0Shifted.Length }) + .Reshape(new int[] { 1, f0Shifted.Length }); + acousticInputs.Add(NamedOnnxValue.CreateFromTensor("f0",f0tensor)); + acousticInputs.Add(NamedOnnxValue.CreateFromTensor("speedup", + new DenseTensor(new long[] { speedup }, new int[] { },false))); + Tensor mel; + using (var session = new InferenceSession(singer.getAcousticModel())) { + using var acousticOutputs = session.Run(acousticInputs); + mel = acousticOutputs.First().AsTensor().Clone(); + } + + //vocoder + //waveform = session.run(['waveform'], {'mel': mel, 'f0': f0})[0] + var vocoderInputs = new List(); + vocoderInputs.Add(NamedOnnxValue.CreateFromTensor("mel", mel)); + vocoderInputs.Add(NamedOnnxValue.CreateFromTensor("f0",f0tensor)); + float[] samples; + using (var session = new InferenceSession(singer.vocoder.getModel())) { + using var vocoderOutputs = session.Run(vocoderInputs); + samples = vocoderOutputs.First().AsTensor().ToArray(); + } + return samples; + } + + //参数曲线采样 + double[] SampleCurve(RenderPhrase phrase, float[] curve, double defaultValue, int length, int headFrames, int tailFrames, Func convert) { + var singer = phrase.singer as DiffSingerSinger; + var frameMs = singer.vocoder.frameMs(); + const int interval = 5; + var result = new double[length]; + if (curve == null) { + Array.Fill(result, defaultValue); + return result; + } + + for (int i = 0; i < length - headFrames - tailFrames; i++) { + double posMs = phrase.positionMs - phrase.leadingMs + i * frameMs; + int ticks = phrase.timeAxis.MsPosToTickPos(posMs) - (phrase.position - phrase.leading); + int index = Math.Max(0, (int)((double)ticks / interval)); + if (index < curve.Length) { + result[i + headFrames] = convert(curve[index]); + } + } + //填充头尾 + Array.Fill(result, defaultValue, 0, headFrames); + Array.Fill(result, defaultValue, length - tailFrames, tailFrames); + return result; + } + + //加载音高渲染结果(不支持) + public RenderPitchResult LoadRenderedPitch(RenderPhrase phrase) { + return null; + } + + public override string ToString() => Renderers.DIFFSINGER; + } +} diff --git a/OpenUtau.Core/DiffSinger/DiffSingerSinger.cs b/OpenUtau.Core/DiffSinger/DiffSingerSinger.cs index d4774612f..cf4ac6793 100644 --- a/OpenUtau.Core/DiffSinger/DiffSingerSinger.cs +++ b/OpenUtau.Core/DiffSinger/DiffSingerSinger.cs @@ -1,125 +1,112 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection; -using System.Text; -using System.Text.RegularExpressions; -using OpenUtau.Classic; -using OpenUtau.Core.Ustx; -using Serilog; - -namespace OpenUtau.Core.DiffSinger { - class DiffSingerSinger : USinger { - public override string Id => voicebank.Id; - public override string Name => voicebank.Name; - public override USingerType SingerType => voicebank.SingerType; - public override string BasePath => voicebank.BasePath; - public override string Author => voicebank.Author; - public override string Voice => voicebank.Voice; - public override string Location => Path.GetDirectoryName(voicebank.File); - public override string Web => voicebank.Web; - public override string Version => voicebank.Version; - public override string OtherInfo => voicebank.OtherInfo; - public override IList Errors => errors; - public override string Avatar => voicebank.Image == null ? null : Path.Combine(Location, voicebank.Image); - public override byte[] AvatarData => avatarData; - public override string Portrait => voicebank.Portrait == null ? null : Path.Combine(Location, voicebank.Portrait); - public override float PortraitOpacity => voicebank.PortraitOpacity; - public override string DefaultPhonemizer => voicebank.DefaultPhonemizer; - public override Encoding TextFileEncoding => voicebank.TextFileEncoding; - public override IList Subbanks => subbanks; - public override Dictionary Otos => otos; - - Voicebank voicebank; - List errors = new List(); - List subbanks = new List(); - Dictionary otos = new Dictionary(); - - HashSet phonemes = new HashSet(); - Dictionary table = new Dictionary(); - - public byte[] avatarData; - - public Dictionary> phoneDict = new Dictionary>(); - - public DiffSingerSinger(Voicebank voicebank) { - this.voicebank = voicebank; - //加载头像 - if (Avatar != null && File.Exists(Avatar)) { - try { - using (var stream = new FileStream(Avatar, FileMode.Open)) { - using (var memoryStream = new MemoryStream()) { - stream.CopyTo(memoryStream); - avatarData = memoryStream.ToArray(); - } - } - } catch (Exception e) { - avatarData = null; - Log.Error(e, "Failed to load avatar data."); - } - } else { - avatarData = null; - Log.Error("Avatar can't be found"); - } - //导入拼音转音素字典 - //实现inference\svs\opencpop\map.py - phoneDict.Clear(); - phonemes.Clear(); - string path = Path.Combine(Location, "pinyin2ph.txt"); - phoneDict.Add("AP", new Tuple("", "AP")); - phoneDict.Add("SP", new Tuple("", "SP")); - foreach (string line in File.ReadLines(path, Encoding.UTF8)) { - string[] elements = line.Split("|"); - elements[2] = elements[2].Trim(); - if (elements[2].Contains(" ")) {//声母+韵母 - string[] phones = elements[2].Split(" "); - phoneDict.Add(elements[1].Trim(), new Tuple(phones[0], phones[1])); - phonemes.Add(phones[0]); - phonemes.Add(phones[1]); - } else {//仅韵母 - phoneDict.Add(elements[1].Trim(), new Tuple("", elements[2])); - phonemes.Add(elements[2]); - } - } - found = true; - loaded = true; - } - - public override bool TryGetMappedOto(string phoneme, int tone, out UOto oto) { - var parts = phoneme.Split(); - if (parts.All(p => phonemes.Contains(p))) { - oto = new UOto() { - Alias = phoneme, - Phonetic = phoneme, - }; - return true; - } - oto = null; - return false; - } - - public override bool TryGetMappedOto(string phoneme, int tone, string color, out UOto oto) { - return TryGetMappedOto(phoneme, tone, out oto); - } - - public override IEnumerable GetSuggestions(string text) { - if (text != null) { - text = text.ToLowerInvariant().Replace(" ", ""); - } - bool all = string.IsNullOrEmpty(text); - return table.Keys - .Where(key => all || key.Contains(text)) - .Select(key => new UOto() { - Alias = key, - Phonetic = key, - }); - } - - public override byte[] LoadPortrait() { - return string.IsNullOrEmpty(Portrait) - ? null - : File.ReadAllBytes(Portrait); - } - } -} +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Text.RegularExpressions; +using OpenUtau.Classic; +using OpenUtau.Core.Ustx; +using Serilog; + +namespace OpenUtau.Core.DiffSinger { + class DiffSingerSinger : USinger { + public override string Id => voicebank.Id; + public override string Name => voicebank.Name; + public override USingerType SingerType => voicebank.SingerType; + public override string BasePath => voicebank.BasePath; + public override string Author => voicebank.Author; + public override string Voice => voicebank.Voice; + public override string Location => Path.GetDirectoryName(voicebank.File); + public override string Web => voicebank.Web; + public override string Version => voicebank.Version; + public override string OtherInfo => voicebank.OtherInfo; + public override IList Errors => errors; + public override string Avatar => voicebank.Image == null ? null : Path.Combine(Location, voicebank.Image); + public override byte[] AvatarData => avatarData; + public override string Portrait => voicebank.Portrait == null ? null : Path.Combine(Location, voicebank.Portrait); + public override float PortraitOpacity => voicebank.PortraitOpacity; + public override string DefaultPhonemizer => voicebank.DefaultPhonemizer; + public override Encoding TextFileEncoding => voicebank.TextFileEncoding; + public override IList Subbanks => subbanks; + + Voicebank voicebank; + List errors = new List(); + List subbanks = new List(); + Dictionary table = new Dictionary(); + public byte[] avatarData; + public List phonemes = new List(); + public DsConfig dsConfig; + public byte[] acousticModel = new byte[0]; + public DsVocoder vocoder; + + public DiffSingerSinger(Voicebank voicebank) { + this.voicebank = voicebank; + //加载头像 + if (Avatar != null && File.Exists(Avatar)) { + try { + using (var stream = new FileStream(Avatar, FileMode.Open)) { + using (var memoryStream = new MemoryStream()) { + stream.CopyTo(memoryStream); + avatarData = memoryStream.ToArray(); + } + } + } catch (Exception e) { + avatarData = null; + Log.Error(e, "Failed to load avatar data."); + } + } else { + avatarData = null; + Log.Error("Avatar can't be found"); + } + //导入音源设置 + string configPath = Path.Combine(Location, "dsconfig.yaml"); + dsConfig = Core.Yaml.DefaultDeserializer.Deserialize( + File.ReadAllText(configPath, TextFileEncoding)); + //导入音素列表 + string phonemesPath = Path.Combine(Location, dsConfig.phonemes); + phonemes = File.ReadLines(phonemesPath).ToList(); + //获取声码器 + vocoder = new DsVocoder(dsConfig.vocoder); + + found = true; + loaded = true; + + } + + public override bool TryGetOto(string phoneme, out UOto oto) { + var parts = phoneme.Split(); + if (parts.All(p => phonemes.Contains(p))) { + oto = UOto.OfDummy(phoneme); + return true; + } + oto = null; + return false; + } + + public override IEnumerable GetSuggestions(string text) { + if (text != null) { + text = text.ToLowerInvariant().Replace(" ", ""); + } + bool all = string.IsNullOrEmpty(text); + return table.Keys + .Where(key => all || key.Contains(text)) + .Select(key => UOto.OfDummy(key)); + } + + public override byte[] LoadPortrait() { + return string.IsNullOrEmpty(Portrait) + ? null + : File.ReadAllBytes(Portrait); + } + + public byte[] getAcousticModel() { + if (acousticModel.Length == 0) { + acousticModel = File.ReadAllBytes(Path.Combine(Location, dsConfig.acoustic)); + } + return acousticModel; + } + + } +} diff --git a/OpenUtau.Core/DiffSinger/DiffSingerUtils.cs b/OpenUtau.Core/DiffSinger/DiffSingerUtils.cs deleted file mode 100644 index d4fce42b9..000000000 --- a/OpenUtau.Core/DiffSinger/DiffSingerUtils.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using OpenUtau.Core.Ustx; - -namespace OpenUtau.Core.DiffSinger { - struct DiffSingerNote { - public string lyric; - public int length; - public int noteNum; - public int noteIndex; - } - - internal static class DiffSingerUtils { - static readonly Encoding ShiftJIS = Encoding.GetEncoding("shift_jis"); - - internal static void WriteUst(IList notes, double tempo, USinger singer, string ustPath) { - using (var writer = new StreamWriter(ustPath, false, ShiftJIS)) { - writer.WriteLine("[#SETTING]"); - writer.WriteLine($"Tempo={tempo}"); - writer.WriteLine("Tracks=1"); - writer.WriteLine($"Project={ustPath}"); - writer.WriteLine($"VoiceDir={singer.Location}"); - writer.WriteLine($"CacheDir={PathManager.Inst.CachePath}"); - writer.WriteLine("Mode2=True"); - for (int i = 0; i < notes.Count; ++i) { - writer.WriteLine($"[#{i}]"); - writer.WriteLine($"Lyric={notes[i].lyric}"); - writer.WriteLine($"Length={notes[i].length}"); - writer.WriteLine($"NoteNum={notes[i].noteNum}"); - } - writer.WriteLine("[#TRACKEND]"); - } - } - } -} diff --git a/OpenUtau.Core/DiffSinger/DiffSingerVocoder.cs b/OpenUtau.Core/DiffSinger/DiffSingerVocoder.cs new file mode 100644 index 000000000..51a5a0ae0 --- /dev/null +++ b/OpenUtau.Core/DiffSinger/DiffSingerVocoder.cs @@ -0,0 +1,30 @@ +using System.IO; +using System.Text; +namespace OpenUtau.Core.DiffSinger { + public class DsVocoder { + public string Location; + public DsVocoderConfig config; + public byte[] model = new byte[0]; + + //通过名称获取声码器 + public DsVocoder(string name) { + Location = Path.Combine(PathManager.Inst.VocodersPath,name); + config = Core.Yaml.DefaultDeserializer.Deserialize( + File.ReadAllText(Path.Combine(Location, "vocoder.yaml"), + System.Text.Encoding.UTF8)); + } + + public byte[] getModel() { + if (model.Length == 0) { + model = File.ReadAllBytes(Path.Combine(Location, config.model)); + } + return model; + } + + public float frameMs() { + return 1000f * config.hop_size / config.sample_rate; + } + } + + +} diff --git a/OpenUtau.Core/DocManager.cs b/OpenUtau.Core/DocManager.cs index 76678c946..964d03d72 100644 --- a/OpenUtau.Core/DocManager.cs +++ b/OpenUtau.Core/DocManager.cs @@ -15,6 +15,7 @@ namespace OpenUtau.Core { public struct ValidateOptions { + public bool SkipTiming; public UPart Part; public bool SkipPhonemizer; public bool SkipPhoneme; @@ -30,6 +31,8 @@ public class DocManager : SingletonBase { public int playPosTick = 0; + public TaskScheduler MainScheduler => mainScheduler; + public Action PostOnUIThread { get; set; } public Plugin[] Plugins { get; private set; } public PhonemizerFactory[] PhonemizerFactories { get; private set; } public UProject Project { get; private set; } @@ -67,7 +70,7 @@ public void SearchAllPlugins() { var phonemizerFactories = new List(); var files = new List(); try { - files.Add(Path.Combine(Path.GetDirectoryName(GetType().Assembly.Location), kBuiltin)); + files.Add(Path.Combine(Path.GetDirectoryName(AppContext.BaseDirectory), kBuiltin)); Directory.CreateDirectory(PathManager.Inst.PluginsPath); string oldBuiltin = Path.Combine(PathManager.Inst.PluginsPath, kBuiltin); if (File.Exists(oldBuiltin)) { @@ -109,9 +112,9 @@ public void SearchAllPlugins() { readonly Deque undoQueue = new Deque(); readonly Deque redoQueue = new Deque(); - UCommandGroup undoGroup = null; - UCommandGroup savedPoint = null; - UCommandGroup autosavedPoint = null; + UCommandGroup? undoGroup = null; + UCommandGroup? savedPoint = null; + UCommandGroup? autosavedPoint = null; public bool ChangesSaved { get { @@ -120,13 +123,23 @@ public bool ChangesSaved { } } + private void CrashSave() { - if (Project == null || string.IsNullOrEmpty(Project.FilePath)) { - return; - } try { - string dir = Path.GetDirectoryName(Project.FilePath); - string filename = Path.GetFileNameWithoutExtension(Project.FilePath); + if (Project == null) { + Log.Warning("Crash save project is null."); + return; + } + bool untitled = string.IsNullOrEmpty(Project.FilePath); + if (untitled) { + Directory.CreateDirectory(PathManager.Inst.BackupsPath); + } + string dir = untitled + ? PathManager.Inst.BackupsPath + : Path.GetDirectoryName(Project.FilePath); + string filename = untitled + ? "Untitled" + : Path.GetFileNameWithoutExtension(Project.FilePath); string backup = Path.Join(dir, filename + "-backup.ustx"); Log.Information($"Saving backup {backup}."); Format.Ustx.Save(backup, Project); @@ -158,19 +171,22 @@ public void AutoSave() { } public void ExecuteCmd(UCommand cmd) { - if (mainThread != Thread.CurrentThread && !(cmd is ProgressBarNotification)) { - Log.Error($"{cmd} not on main thread"); + if (mainThread != Thread.CurrentThread) { + if (!(cmd is ProgressBarNotification)) { + Log.Warning($"{cmd} not on main thread"); + } + PostOnUIThread(() => ExecuteCmd(cmd)); + return; } if (cmd is UNotification) { - if (cmd is SaveProjectNotification) { - var _cmd = cmd as SaveProjectNotification; + if (cmd is SaveProjectNotification saveProjectNotif) { if (undoQueue.Count > 0) { savedPoint = undoQueue.Last(); } - if (string.IsNullOrEmpty(_cmd.Path)) { + if (string.IsNullOrEmpty(saveProjectNotif.Path)) { Format.Ustx.Save(Project.FilePath, Project); } else { - Format.Ustx.Save(_cmd.Path, Project); + Format.Ustx.Save(saveProjectNotif.Path, Project); } } else if (cmd is LoadProjectNotification notification) { undoQueue.Clear(); @@ -180,18 +196,20 @@ public void ExecuteCmd(UCommand cmd) { autosavedPoint = null; Project = notification.project; playPosTick = 0; - } else if (cmd is SetPlayPosTickNotification) { - var _cmd = cmd as SetPlayPosTickNotification; - playPosTick = _cmd.playPosTick; + } else if (cmd is SetPlayPosTickNotification setPlayPosTickNotif) { + playPosTick = setPlayPosTickNotif.playPosTick; } else if (cmd is SingersChangedNotification) { SingerManager.Inst.SearchAllSingers(); } else if (cmd is ValidateProjectNotification) { Project.ValidateFull(); - } else if (cmd is SingersRefreshedNotification) { + } else if (cmd is SingersRefreshedNotification || cmd is OtoChangedNotification) { foreach (var track in Project.tracks) { track.OnSingerRefreshed(); } Project.ValidateFull(); + if (cmd is OtoChangedNotification) { + ExecuteCmd(new PreRenderNotification()); + } } Publish(cmd); if (!cmd.Silent) { diff --git a/OpenUtau.Core/Editing/LyricBatchEdits.cs b/OpenUtau.Core/Editing/LyricBatchEdits.cs index 3b30bcb44..007a7907a 100644 --- a/OpenUtau.Core/Editing/LyricBatchEdits.cs +++ b/OpenUtau.Core/Editing/LyricBatchEdits.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Linq; using OpenUtau.Core.Ustx; +using TinyPinyin; using WanaKanaNet; namespace OpenUtau.Core.Editing { @@ -53,6 +54,13 @@ protected override string Transform(string lyric) { } } + public class HanziToPinyin : SingleNoteLyricEdit { + public override string Name => "pianoroll.menu.lyrics.hanzitopinyin"; + protected override string Transform(string lyric) { + return PinyinHelper.GetPinyin(lyric).ToLowerInvariant(); + } + } + // Removes suffix like "C4", "C#4" or "Cb4" public class RemoveToneSuffix : SingleNoteLyricEdit { public override string Name => "pianoroll.menu.lyrics.removetonesuffix"; @@ -90,9 +98,9 @@ public class DashToPlus : SingleNoteLyricEdit { public override string Name => "pianoroll.menu.lyrics.dashtoplus"; protected override string Transform(string lyric) { if (lyric == "-") { - return lyric.Replace("-","+"); - } else { - return lyric; + return lyric.Replace("-", "+"); + } else { + return lyric; } } } diff --git a/OpenUtau.Core/Editing/NoteBatchEdits.cs b/OpenUtau.Core/Editing/NoteBatchEdits.cs index 8c598b88e..02b2d1cbb 100644 --- a/OpenUtau.Core/Editing/NoteBatchEdits.cs +++ b/OpenUtau.Core/Editing/NoteBatchEdits.cs @@ -36,6 +36,27 @@ public void Run(UProject project, UVoicePart part, List selectedNotes, Do } } + public class Transpose : BatchEdit { + public string Name => name; + + private int deltaNoteNum; + private string name; + + public Transpose(int deltaNoteNum, string name) { + this.deltaNoteNum = deltaNoteNum; + this.name= name; + } + + public void Run(UProject project, UVoicePart part, List selectedNotes, DocManager docManager) { + var notes = selectedNotes.Count > 0 ? selectedNotes : part.notes.ToList(); + docManager.StartUndoGroup(true); + foreach (var note in notes) { + docManager.ExecuteCmd(new MoveNoteCommand(part, note, 0, deltaNoteNum)); + } + docManager.EndUndoGroup(); + } + } + public class QuantizeNotes : BatchEdit { public virtual string Name => name; @@ -197,14 +218,14 @@ public LoadRenderedPitch() { } public void Run(UProject project, UVoicePart part, List selectedNotes, DocManager docManager) { - var renderer = project.tracks[part.trackNo].Renderer; + var renderer = project.tracks[part.trackNo].RendererSettings.Renderer; if (renderer == null || !renderer.SupportsRenderPitch) { - docManager.ExecuteCmd(new UserMessageNotification("Not supported")); + docManager.ExecuteCmd(new ErrorMessageNotification("Not supported")); return; } var notes = selectedNotes.Count > 0 ? selectedNotes : part.notes.ToList(); - var positions = notes.Select(n => n.position).ToHashSet(); - var phrases = part.renderPhrases.Where(phrase => phrase.notes.Any(n => positions.Contains(n.position))); + var positions = notes.Select(n => n.position + part.position).ToHashSet(); + var phrases = part.renderPhrases.Where(phrase => phrase.notes.Any(n => positions.Contains(phrase.position + n.position))); docManager.StartUndoGroup(true); float minPitD = -1200; if (project.expressions.TryGetValue(Format.Ustx.PITD, out var descriptor)) { @@ -222,8 +243,8 @@ public void Run(UProject project, UVoicePart part, List selectedNotes, Do if (result.tones[i] < 0) { continue; } - int x = (int)result.ticks[i]; - int pitchIndex = Math.Clamp((x - phrase.pitchStart) / 5, 0, phrase.pitches.Length - 1); + int x = phrase.position - part.position + (int)result.ticks[i]; + int pitchIndex = Math.Clamp((x - (phrase.position - part.position - phrase.leading)) / 5, 0, phrase.pitches.Length - 1); float basePitch = phrase.pitchesBeforeDeviation[pitchIndex]; int y = (int)(result.tones[i] * 100 - basePitch); lastX ??= x; diff --git a/OpenUtau.Core/Enunu/EnunuClient.cs b/OpenUtau.Core/Enunu/EnunuClient.cs index 455ab0d18..0c2cfb6ff 100644 --- a/OpenUtau.Core/Enunu/EnunuClient.cs +++ b/OpenUtau.Core/Enunu/EnunuClient.cs @@ -1,37 +1,20 @@ -using NetMQ; +using System; +using NetMQ; using NetMQ.Sockets; using Newtonsoft.Json; using Serilog; namespace OpenUtau.Core.Enunu { - class EnunuClient { - private static volatile EnunuClient instance; - private static readonly object lockObj = new object(); - - private EnunuClient() { } - - public static EnunuClient Inst { - get { - if (instance == null) { - lock (lockObj) { - if (instance == null) { - instance = new EnunuClient(); - } - } - } - return instance; - } - } - + class EnunuClient : Util.SingletonBase { internal T SendRequest(string[] args) { using (var client = new RequestSocket()) { client.Connect("tcp://localhost:15555"); string request = JsonConvert.SerializeObject(args); Log.Information($"EnunuProcess sending {request}"); client.SendFrame(request); - var message = client.ReceiveFrameString(); + client.TryReceiveFrameString(TimeSpan.FromSeconds(300), out string? message); Log.Information($"EnunuProcess received {message}"); - return JsonConvert.DeserializeObject(message); + return JsonConvert.DeserializeObject(message ?? string.Empty)!; } } } diff --git a/OpenUtau.Core/Enunu/EnunuConfig.cs b/OpenUtau.Core/Enunu/EnunuConfig.cs index 8de29167e..7aefb9419 100644 --- a/OpenUtau.Core/Enunu/EnunuConfig.cs +++ b/OpenUtau.Core/Enunu/EnunuConfig.cs @@ -1,4 +1,5 @@ -using System.IO; +using System.Collections.Generic; +using System.IO; using OpenUtau.Core.Ustx; namespace OpenUtau.Core.Enunu { @@ -7,11 +8,76 @@ class EnunuConfig { public string questionPath; public int sampleRate; public double framePeriod; + public EnunuExtensions extensions; public static EnunuConfig Load(USinger singer) { var configPath = Path.Join(singer.Location, "enuconfig.yaml"); var configTxt = File.ReadAllText(configPath); - return Yaml.DefaultDeserializer.Deserialize(configTxt); + RawEnunuConfig config = Yaml.DefaultDeserializer.Deserialize(configTxt); + return config.Convert(); + } + } + + class EnunuExtensions { + public List ust_editor = new List(); + public List ust_converter = new List(); + public List score_editor = new List(); + public List timing_calculator = new List(); + public List timing_editor = new List(); + public List acoustic_calculator = new List(); + public List acoustic_editor = new List(); + public List wav_synthesizer = new List(); + public List wav_editor = new List(); + } + + class RawEnunuExtensions { + public object ust_editor; + public object ust_converter; + public object score_editor; + public object timing_calculator; + public object timing_editor; + public object acoustic_calculator; + public object acoustic_editor; + public object wav_synthesizer; + public object wav_editor; + } + + class RawEnunuConfig { + public string tablePath; + public string questionPath; + public int sampleRate; + public double framePeriod; + public RawEnunuExtensions extensions; + + public EnunuConfig Convert() { + EnunuConfig enunuConfig = new EnunuConfig(); + enunuConfig.tablePath = this.tablePath; + enunuConfig.questionPath = this.questionPath; + enunuConfig.sampleRate = this.sampleRate; + enunuConfig.framePeriod = this.framePeriod; + enunuConfig.extensions = new EnunuExtensions(); + ParseEnunuExtension(enunuConfig.extensions.ust_editor, this.extensions.ust_editor); + ParseEnunuExtension(enunuConfig.extensions.ust_converter, this.extensions.ust_converter); + ParseEnunuExtension(enunuConfig.extensions.score_editor, this.extensions.score_editor); + ParseEnunuExtension(enunuConfig.extensions.timing_calculator, this.extensions.timing_calculator); + ParseEnunuExtension(enunuConfig.extensions.timing_editor, this.extensions.timing_editor); + ParseEnunuExtension(enunuConfig.extensions.acoustic_calculator, this.extensions.acoustic_calculator); + ParseEnunuExtension(enunuConfig.extensions.acoustic_editor, this.extensions.acoustic_editor); + ParseEnunuExtension(enunuConfig.extensions.wav_synthesizer, this.extensions.wav_synthesizer); + ParseEnunuExtension(enunuConfig.extensions.wav_editor, this.extensions.wav_editor); + return enunuConfig; + } + + private void ParseEnunuExtension(List enunuExtension, object rawEnunuExtension) { + if (rawEnunuExtension is string str) { + enunuExtension.Add(str); + } else if (rawEnunuExtension is List list) { + foreach (object o in list) { + if (o is string s) { + enunuExtension.Add(s); + } + } + } } } } diff --git a/OpenUtau.Core/Enunu/EnunuEnglishPhonemizer.cs b/OpenUtau.Core/Enunu/EnunuEnglishPhonemizer.cs new file mode 100644 index 000000000..6acf0e7b4 --- /dev/null +++ b/OpenUtau.Core/Enunu/EnunuEnglishPhonemizer.cs @@ -0,0 +1,196 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using K4os.Hash.xxHash; +using OpenUtau.Api; +using OpenUtau.Core.Editing; +using OpenUtau.Core.Ustx; +using OpenUtau.Core.G2p; +using Serilog; +using TinyPinyin; + +namespace OpenUtau.Core.Enunu { + [Phonemizer("Enunu English Phonemizer", "ENUNU EN", language:"EN")] + public class EnunuEnglishPhonemizer : EnunuPhonemizer { + readonly string PhonemizerType = "ENUNU EN"; + + protected IG2p g2p; + //index,position,is_start + protected readonly List> alignments = new List>(); + + protected IG2p LoadG2p() { + var g2ps = new List(); + + // Load dictionary from plugin folder. + + string path = Path.Combine(PluginDir, "arpasing.yaml"); + /* + if (!File.Exists(path)) { + Directory.CreateDirectory(PluginDir); + File.WriteAllBytes(path, Data.Resources.arpasing_template); + }*/ + if (File.Exists(path)) { + try { + g2ps.Add(G2pDictionary.NewBuilder().Load(File.ReadAllText(path)).Build()); + } catch (Exception e) { + Log.Error(e, $"Failed to load {path}"); + } + } + + // Load dictionary from singer folder. + if (singer != null && singer.Found && singer.Loaded) { + string file = Path.Combine(singer.Location, "arpasing.yaml"); + if (File.Exists(file)) { + try { + g2ps.Add(G2pDictionary.NewBuilder().Load(File.ReadAllText(file)).Build()); + } catch (Exception e) { + Log.Error(e, $"Failed to load {file}"); + } + } + } + + // Load base g2p. + g2ps.Add(new ArpabetG2p()); + + return new G2pFallbacks(g2ps.ToArray()); + } + + + public override void SetSinger(USinger singer) { + this.singer = singer as EnunuSinger; + g2p = LoadG2p(); + } + + string[] GetSymbols(Note note) { + if (string.IsNullOrEmpty(note.phoneticHint)) { + // User has not provided hint, query CMUdict. + return g2p.Query(note.lyric.ToLowerInvariant()); + } + // Split space-separated symbols into an array. + return note.phoneticHint.Split() + .Where(s => g2p.IsValidSymbol(s)) // skip the invalid symbols. + .ToArray(); + } + + protected EnunuNote[] MakeSimpleResult(string lyric,int length, int noteNum) { + return new EnunuNote[]{new EnunuNote { + lyric = lyric, + length = length, + noteNum = noteNum, + noteIndex = -1, + } }; + } + + protected EnunuNote[] ProcessWord(Note[] notes, int noteIndex) { + var note = notes[0]; + var totalLength = notes.Sum(n => n.duration); + if (!string.IsNullOrEmpty(note.lyric) && note.lyric[0] == '?') { + return MakeSimpleResult(note.lyric.Substring(1), totalLength, note.tone); + } + // Get the symbols of current note. + var symbols = GetSymbols(note); + if (symbols == null || symbols.Length == 0) { + // No symbol is found for current note. + return MakeSimpleResult(note.lyric, totalLength, note.tone); + } + // Find phone types of symbols. + var isVowel = symbols.Select(s => g2p.IsVowel(s)).ToArray(); + // Arpasing aligns the first vowel at 0 and shifts leading consonants to negative positions, + // so we need to find the first vowel. + + // Alignments + // - Tries to align every note to one syllable. + // - "+n" manually aligns to n-th phoneme. + alignments.Clear(); + int position = 0; + for (int i = 0; i < symbols.Length; i++) { + if (isVowel[i] && alignments.Count < notes.Length) { + alignments.Add(Tuple.Create(i, position, false)); + position += notes[alignments.Count - 1].duration; + } + } + position = notes[0].duration; + for (int i = 1; i < notes.Length; ++i) { + if (int.TryParse(notes[i].lyric.Substring(1), out var idx)) { + alignments.Add(Tuple.Create(idx - 1, position, true)); + } + position += notes[i].duration; + } + alignments.Add(Tuple.Create(symbols.Length, position, true)); + alignments.Sort((a, b) => a.Item1.CompareTo(b.Item1)); + for (int i = 0; i < alignments.Count; ++i) { + if (alignments[i].Item3) { + while (i > 0 && (alignments[i - 1].Item2 >= alignments[i].Item2 || + alignments[i - 1].Item1 == alignments[i].Item1)) { + alignments.RemoveAt(i - 1); + i--; + } + while (i < alignments.Count - 1 && (alignments[i + 1].Item2 <= alignments[i].Item2 || + alignments[i + 1].Item1 == alignments[i].Item1)) { + alignments.RemoveAt(i + 1); + } + } + } + alignments.RemoveAt(0); + + var enunuNotes = new List(); + int startIndex = 0; + int endIndex = 0; + int firstVowel = Array.IndexOf(isVowel, true); + int startTick = 0; + + foreach (var alignment in alignments) { + // Distributes phonemes between two aligment points. + EnunuNote enunuNote= new EnunuNote { + lyric = "", + length = alignment.Item2-startTick, + noteNum = note.tone, + noteIndex = noteIndex, + + }; + endIndex= alignment.Item1; + + for(int index = startIndex; index < endIndex; index++) { + enunuNote.lyric += symbols[index] + " "; + } + enunuNotes.Add(enunuNote); + startIndex = endIndex; + + startTick = alignment.Item2; + } + alignments.Clear(); + return enunuNotes.ToArray(); + } + + protected override EnunuNote[] NoteGroupsToEnunu(Note[][] notes) { + var result = new List(); + int position = 0; + int index = 0; + while (index < notes.Length) { + if (position < notes[index][0].position) { + result.Add(new EnunuNote { + lyric = "R", + length = notes[index][0].position - position, + noteNum = 60, + noteIndex = -1, + }); + position = notes[index][0].position; + } else { + /*var lyric = notes[index][0].lyric; + if (lyric.Length > 0 && PinyinHelper.IsChinese(lyric[0])) { + lyric = PinyinHelper.GetPinyin(lyric).ToLowerInvariant(); + }*/ + var wordEnunuNotes = ProcessWord(notes[index],index); + result.AddRange(wordEnunuNotes); + foreach(var enunuNote in wordEnunuNotes) { + position += enunuNote.length; + } + index++; + } + } + return result.ToArray(); + } + } +} diff --git a/OpenUtau.Core/Enunu/EnunuPhonemizer.cs b/OpenUtau.Core/Enunu/EnunuPhonemizer.cs index 3dc7c35f7..a94e1d114 100644 --- a/OpenUtau.Core/Enunu/EnunuPhonemizer.cs +++ b/OpenUtau.Core/Enunu/EnunuPhonemizer.cs @@ -11,7 +11,9 @@ namespace OpenUtau.Core.Enunu { [Phonemizer("Enunu Phonemizer", "ENUNU")] public class EnunuPhonemizer : Phonemizer { - EnunuSinger singer; + readonly string PhonemizerType = "ENUNU"; + + protected EnunuSinger singer; Dictionary partResult = new Dictionary(); struct TimingResult { @@ -40,6 +42,7 @@ public override void SetUp(Note[][] notes) { var scorePath = Path.Join(enutmpPath, $"score.lab"); var timingPath = Path.Join(enutmpPath, $"timing.lab"); var enunuNotes = NoteGroupsToEnunu(notes); + double bpm = timeAxis.GetBpmAtTick(notes[0][0].position); if (!File.Exists(scorePath) || !File.Exists(timingPath)) { EnunuUtils.WriteUst(enunuNotes, bpm, singer, ustPath); var response = EnunuClient.Inst.SendRequest(new string[] { "timing", ustPath }); @@ -60,12 +63,17 @@ public override void SetUp(Note[][] notes) { }); } - static ulong HashNoteGroups(Note[][] notes) { + ulong HashNoteGroups(Note[][] notes) { using (var stream = new MemoryStream()) { using (var writer = new BinaryWriter(stream)) { + writer.Write(this.PhonemizerType); + writer.Write(this.singer.Location); foreach (var ns in notes) { foreach (var n in ns) { writer.Write(n.lyric); + if(n.phoneticHint!= null) { + writer.Write("["+n.phoneticHint+"]"); + } writer.Write(n.position); writer.Write(n.duration); writer.Write(n.tone); @@ -76,7 +84,7 @@ static ulong HashNoteGroups(Note[][] notes) { } } - static EnunuNote[] NoteGroupsToEnunu(Note[][] notes) { + protected virtual EnunuNote[] NoteGroupsToEnunu(Note[][] notes) { var result = new List(); int position = 0; int index = 0; @@ -129,11 +137,11 @@ static Phoneme[] ParseLabel(string path) { var line = reader.ReadLine(); var parts = line.Split(); if (parts.Length == 3 && - int.TryParse(parts[0], out var pos) && - int.TryParse(parts[1], out var end)) { + long.TryParse(parts[0], out long pos) && + long.TryParse(parts[1], out long end)) { phonemes.Add(new Phoneme { phoneme = parts[2], - position = pos, + position = (int)(pos / 1000L), }); } } @@ -145,7 +153,7 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN if (partResult.TryGetValue(notes, out var phonemes)) { return new Result { phonemes = phonemes.Select(p => { - double posMs = p.position * 0.0001; + double posMs = p.position * 0.1; p.position = MsToTick(posMs) - notes[0].position; return p; }).ToArray(), diff --git a/OpenUtau.Core/Enunu/EnunuRenderer.cs b/OpenUtau.Core/Enunu/EnunuRenderer.cs index 25a236c53..19b8a7a41 100644 --- a/OpenUtau.Core/Enunu/EnunuRenderer.cs +++ b/OpenUtau.Core/Enunu/EnunuRenderer.cs @@ -4,7 +4,6 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; -using K4os.Hash.xxHash; using NAudio.Wave; using NumSharp; using OpenUtau.Core.Format; @@ -20,6 +19,7 @@ public class EnunuRenderer : IRenderer { static readonly HashSet supportedExp = new HashSet(){ Format.Ustx.DYN, + Format.Ustx.CLR, Format.Ustx.PITD, Format.Ustx.GENC, Format.Ustx.BREC, @@ -39,6 +39,15 @@ struct AcousticResponse { public AcousticResult result; } + struct VocoderResult { + public string path_wav; + } + + struct VocoderResponse { + public string error; + public VocoderResult result; + } + static readonly object lockObj = new object(); public USingerType SingerType => USingerType.Enunu; @@ -50,12 +59,12 @@ public bool SupportsExpression(UExpressionDescriptor descriptor) { } public RenderResult Layout(RenderPhrase phrase) { - var firstPhone = phrase.phones.First(); - var lastPhone = phrase.phones.Last(); + var headMs = phrase.positionMs - phrase.timeAxis.TickPosToMsPos(phrase.position - headTicks); + var tailMs = phrase.timeAxis.TickPosToMsPos(phrase.end + tailTicks) - phrase.endMs; return new RenderResult() { - leadingMs = headTicks * phrase.tickToMs, - positionMs = (phrase.position + firstPhone.position) * phrase.tickToMs, - estimatedLengthMs = (lastPhone.duration + lastPhone.position - firstPhone.position + headTicks + tailTicks) * phrase.tickToMs, + leadingMs = headMs, + positionMs = phrase.positionMs, + estimatedLengthMs = headMs + phrase.durationMs + tailMs, }; } @@ -65,22 +74,33 @@ public Task Render(RenderPhrase phrase, Progress progress, Cancell if (cancellation.IsCancellationRequested) { return new RenderResult(); } - string progressInfo = string.Join(" ", phrase.phones.Select(p => p.phoneme)); + string progressInfo = $"{this} \"{string.Join(" ", phrase.phones.Select(p => p.phoneme))}\""; progress.Complete(0, progressInfo); - ulong preEffectHash = PreEffectsHash(phrase); - var tmpPath = Path.Join(PathManager.Inst.CachePath, $"enu-{preEffectHash:x16}"); + var tmpPath = Path.Join(PathManager.Inst.CachePath, $"enu-{phrase.preEffectHash:x16}"); var ustPath = tmpPath + ".tmp"; var enutmpPath = tmpPath + "_enutemp"; var wavPath = Path.Join(PathManager.Inst.CachePath, $"enu-{phrase.hash:x16}.wav"); var result = Layout(phrase); if (!File.Exists(wavPath)) { + var config = EnunuConfig.Load(phrase.singer); + if (config.extensions.wav_synthesizer.Contains("vocoder")) { + Log.Information($"Starting enunu vocoder synthesis \"{ustPath}\""); + var enunuNotes = PhraseToEnunuNotes(phrase); + // TODO: using first note tempo as ust tempo. + EnunuUtils.WriteUst(enunuNotes, phrase.phones.First().tempo, phrase.singer, ustPath); + var response = EnunuClient.Inst.SendRequest(new string[] { "vocoder", ustPath, wavPath }); + if (response.error != null) { + throw new Exception(response.error); + } + } else { var f0Path = Path.Join(enutmpPath, "f0.npy"); var spPath = Path.Join(enutmpPath, "spectrogram.npy"); var apPath = Path.Join(enutmpPath, "aperiodicity.npy"); if (!File.Exists(f0Path) || !File.Exists(spPath) || !File.Exists(apPath)) { Log.Information($"Starting enunu acoustic \"{ustPath}\""); var enunuNotes = PhraseToEnunuNotes(phrase); - EnunuUtils.WriteUst(enunuNotes, phrase.tempo, phrase.singer, ustPath); + // TODO: using first note tempo as ust tempo. + EnunuUtils.WriteUst(enunuNotes, phrase.phones.First().tempo, phrase.singer, ustPath); var response = EnunuClient.Inst.SendRequest(new string[] { "acoustic", ustPath }); if (response.error != null) { throw new Exception(response.error); @@ -89,18 +109,19 @@ public Task Render(RenderPhrase phrase, Progress progress, Cancell if (cancellation.IsCancellationRequested) { return new RenderResult(); } - var config = EnunuConfig.Load(phrase.singer); var f0 = np.Load(f0Path); var sp = np.Load(spPath); var ap = np.Load(apPath); int totalFrames = f0.Length; - int headFrames = (int)Math.Round(headTicks * phrase.tickToMs / config.framePeriod); - int tailFrames = (int)Math.Round(tailTicks * phrase.tickToMs / config.framePeriod); - var editorF0 = DownSampleCurve(phrase.pitches, 0, config.framePeriod, totalFrames, headFrames, tailFrames, phrase.tickToMs, x => MusicMath.ToneToFreq(x * 0.01)); - var gender = DownSampleCurve(phrase.gender, 0.5, config.framePeriod, totalFrames, headFrames, tailFrames, phrase.tickToMs, x => 0.5 + 0.005 * x); - var tension = DownSampleCurve(phrase.tension, 0.5, config.framePeriod, totalFrames, headFrames, tailFrames, phrase.tickToMs, x => 0.5 + 0.005 * x); - var breathiness = DownSampleCurve(phrase.breathiness, 0.5, config.framePeriod, totalFrames, headFrames, tailFrames, phrase.tickToMs, x => 0.5 + 0.005 * x); - var voicing = DownSampleCurve(phrase.voicing, 1.0, config.framePeriod, totalFrames, headFrames, tailFrames, phrase.tickToMs, x => 0.01 * x); + var headMs = phrase.positionMs - phrase.timeAxis.TickPosToMsPos(phrase.position - headTicks); + var tailMs = phrase.timeAxis.TickPosToMsPos(phrase.end + tailTicks) - phrase.endMs; + int headFrames = (int)Math.Round(headMs / config.framePeriod); + int tailFrames = (int)Math.Round(tailMs / config.framePeriod); + var editorF0 = SampleCurve(phrase, phrase.pitches, 0, config.framePeriod, totalFrames, headFrames, tailFrames, x => MusicMath.ToneToFreq(x * 0.01)); + var gender = SampleCurve(phrase, phrase.gender, 0.5, config.framePeriod, totalFrames, headFrames, tailFrames, x => 0.5 + 0.005 * x); + var tension = SampleCurve(phrase, phrase.tension, 0.5, config.framePeriod, totalFrames, headFrames, tailFrames, x => 0.5 + 0.005 * x); + var breathiness = SampleCurve(phrase, phrase.breathiness, 0.5, config.framePeriod, totalFrames, headFrames, tailFrames, x => 0.5 + 0.005 * x); + var voicing = SampleCurve(phrase, phrase.voicing, 1.0, config.framePeriod, totalFrames, headFrames, tailFrames, x => 0.01 * x); int fftSize = (sp.GetLength(1) - 1) * 2; for (int i = 0; i < f0.Length; i++) { if (f0[i] < 50) { @@ -124,13 +145,14 @@ public Task Render(RenderPhrase phrase, Progress progress, Cancell source.SetSamples(result.samples); WaveFileWriter.CreateWaveFile16(wavPath, new ExportAdapter(source).ToMono(1, 0)); } + } progress.Complete(phrase.phones.Length, progressInfo); if (File.Exists(wavPath)) { using (var waveStream = Wave.OpenFile(wavPath)) { result.samples = Wave.GetSamples(waveStream.ToSampleProvider().ToMono(1, 0)); } if (result.samples != null) { - ApplyDynamics(phrase, result.samples); + Renderers.ApplyDynamics(phrase, result); } } else { result.samples = new float[0]; @@ -141,12 +163,30 @@ public Task Render(RenderPhrase phrase, Progress progress, Cancell return task; } + double[] SampleCurve(RenderPhrase phrase, float[] curve, double defaultValue, double frameMs, int length, int headFrames, int tailFrames, Func convert) { + const int interval = 5; + var result = new double[length]; + if (curve == null) { + Array.Fill(result, defaultValue); + return result; + } + for (int i = 0; i < length - headFrames - tailFrames; i++) { + double posMs = phrase.positionMs - phrase.leadingMs + i * frameMs; + int ticks = phrase.timeAxis.MsPosToTickPos(posMs) - (phrase.position - phrase.leading); + int index = Math.Max(0, (int)((double)ticks / interval)); + if (index < curve.Length) { + result[i + headFrames] = convert(curve[index]); + } + } + Array.Fill(result, defaultValue, 0, headFrames); + Array.Fill(result, defaultValue, length - tailFrames, tailFrames); + return result; + } + public RenderPitchResult LoadRenderedPitch(RenderPhrase phrase) { - ulong preEffectHash = PreEffectsHash(phrase); - var tmpPath = Path.Join(PathManager.Inst.CachePath, $"enu-{preEffectHash:x16}"); + var tmpPath = Path.Join(PathManager.Inst.CachePath, $"enu-{phrase.preEffectHash:x16}"); var enutmpPath = tmpPath + "_enutemp"; var f0Path = Path.Join(enutmpPath, "f0.npy"); - var layout = Layout(phrase); if (!File.Exists(f0Path)) { return null; } @@ -156,28 +196,15 @@ public RenderPitchResult LoadRenderedPitch(RenderPhrase phrase) { tones = f0.Select(f => (float)MusicMath.FreqToTone(f)).ToArray(), }; result.ticks = new float[result.tones.Length]; + var layout = Layout(phrase); var t = layout.positionMs - layout.leadingMs; for (int i = 0; i < result.tones.Length; i++) { t += config.framePeriod; - result.ticks[i] = (float)(t / phrase.tickToMs) - phrase.position; + result.ticks[i] = phrase.timeAxis.MsPosToTickPos(t) - phrase.position; } return result; } - private ulong PreEffectsHash(RenderPhrase phrase) { - using (var stream = new MemoryStream()) { - using (var writer = new BinaryWriter(stream)) { - writer.Write(phrase.singerId); - writer.Write(phrase.tempo); - writer.Write(phrase.tickToMs); - foreach (var phone in phrase.phones) { - writer.Write(phone.hash); - } - return XXH64.DigestOf(stream.ToArray()); - } - } - } - static EnunuNote[] PhraseToEnunuNotes(RenderPhrase phrase) { var notes = new List(); notes.Add(new EnunuNote { @@ -190,6 +217,7 @@ static EnunuNote[] PhraseToEnunuNotes(RenderPhrase phrase) { lyric = phone.phoneme, length = phone.duration, noteNum = phone.tone, + timbre = phone.suffix, }); } notes.Add(new EnunuNote { @@ -200,42 +228,6 @@ static EnunuNote[] PhraseToEnunuNotes(RenderPhrase phrase) { return notes.ToArray(); } - double[] DownSampleCurve(float[] curve, double defaultValue, double frameMs, int length, int headFrames, int tailFrames, double tickToMs, Func convert) { - const int interval = 5; - var result = new double[length]; - if (curve == null) { - Array.Fill(result, defaultValue); - return result; - } - for (int i = 0; i < length - headFrames - tailFrames; i++) { - int index = (int)(i * frameMs / tickToMs / interval); - if (index < curve.Length) { - result[i + headFrames] = convert(curve[index]); - } - } - Array.Fill(result, defaultValue, 0, headFrames); - Array.Fill(result, defaultValue, length - tailFrames, tailFrames); - return result; - } - - void ApplyDynamics(RenderPhrase phrase, float[] samples) { - const int interval = 5; - if (phrase.dynamics == null) { - return; - } - int pos = 0; - int offset = (int)(240 * phrase.tickToMs / 1000 * 44100); - for (int i = 0; i < phrase.dynamics.Length; ++i) { - int endPos = (int)((i + 1) * interval * phrase.tickToMs / 1000 * 44100); - float a = phrase.dynamics[i]; - float b = (i + 1) == phrase.dynamics.Length ? phrase.dynamics[i] : phrase.dynamics[i + 1]; - for (int j = pos; j < endPos; ++j) { - samples[offset + j] *= a + (b - a) * (j - pos) / (endPos - pos); - } - pos = endPos; - } - } - - public override string ToString() => "ENUNU"; + public override string ToString() => Renderers.ENUNU; } } diff --git a/OpenUtau.Core/Enunu/EnunuSinger.cs b/OpenUtau.Core/Enunu/EnunuSinger.cs index 87cd19dc9..7679044b5 100644 --- a/OpenUtau.Core/Enunu/EnunuSinger.cs +++ b/OpenUtau.Core/Enunu/EnunuSinger.cs @@ -9,7 +9,7 @@ using Serilog; namespace OpenUtau.Core.Enunu { - class EnunuSinger : USinger { + public class EnunuSinger : USinger { public override string Id => voicebank.Id; public override string Name => voicebank.Name; public override USingerType SingerType => voicebank.SingerType; @@ -28,23 +28,49 @@ class EnunuSinger : USinger { public override string DefaultPhonemizer => voicebank.DefaultPhonemizer; public override Encoding TextFileEncoding => voicebank.TextFileEncoding; public override IList Subbanks => subbanks; - public override Dictionary Otos => otos; Voicebank voicebank; EnunuConfig enuconfig; List errors = new List(); List subbanks = new List(); - Dictionary otos = new Dictionary(); HashSet phonemes = new HashSet(); + HashSet timbres = new HashSet(); Dictionary table = new Dictionary(); public byte[] avatarData; public EnunuSinger(Voicebank voicebank) { this.voicebank = voicebank; + found = true; + } + + public override void EnsureLoaded() { + if (Loaded) { + return; + } + Reload(); + } + + public override void Reload() { + if (!Found) { + return; + } + try { + voicebank.Reload(); + Load(); + loaded = true; + } catch (Exception e) { + Log.Error(e, $"Failed to load {voicebank.File}"); + } + } + + void Load() { enuconfig = EnunuConfig.Load(this); + phonemes.Clear(); + timbres.Clear(); + table.Clear(); try { var tablePath = Path.Join(Location, enuconfig.tablePath); foreach (var line in File.ReadAllLines(tablePath)) { @@ -59,22 +85,20 @@ public EnunuSinger(Voicebank voicebank) { } try { var hedPath = Path.Join(Location, enuconfig.questionPath); - var pattern = new Regex(@"\{(.*)\}"); + var pattern = new Regex("^\\s*QS\\s+\\\"(.*)\\\"\\s+\\{(.*)}"); foreach (var line in File.ReadAllLines(hedPath)) { - if (!line.StartsWith("QS ")) { - continue; - } var m = pattern.Match(line); if (!m.Success) { continue; } - var g = m.Groups[1].Value; - foreach (var p in g.Split(',')) { - var exp = p.Trim(); - if (exp.StartsWith("*^") && exp.EndsWith("-*") || - exp.StartsWith("*-") && exp.EndsWith("+*") || - exp.StartsWith("*+") && exp.EndsWith("=*")) { - phonemes.Add(exp.Substring(2, exp.Length - 4)); + foreach (var p in m.Groups[2].Value.Split(',')) { + var value = p.Trim(); + if (value.StartsWith("*^") && value.EndsWith("-*") || + value.StartsWith("*-") && value.EndsWith("+*") || + value.StartsWith("*+") && value.EndsWith("=*")) { + phonemes.Add(value.Substring(2, value.Length - 4)); + } else if (value.StartsWith("*^") && value.EndsWith("_*")) { + timbres.Add(value.Substring(2, value.Length - 4)); } } } @@ -82,6 +106,25 @@ public EnunuSinger(Voicebank voicebank) { Log.Error(e, $"Failed to load hed for {Name}"); } + subbanks.Clear(); + if (voicebank.Subbanks == null || voicebank.Subbanks.Count == 0 || + voicebank.Subbanks.Count == 1 && string.IsNullOrEmpty(voicebank.Subbanks[0].Color)) { + subbanks.Add(new USubbank(new Subbank() { + Prefix = string.Empty, + Suffix = string.Empty, + ToneRanges = new[] { "C1-B7" }, + })); + subbanks.AddRange(timbres.Select(flag => new USubbank(new Subbank() { + Color = flag, + Prefix = string.Empty, + Suffix = flag, + ToneRanges = new[] { "C1-B7" }, + }))); + } else { + subbanks.AddRange(voicebank.Subbanks + .Select(subbank => new USubbank(subbank))); + } + if (Avatar != null && File.Exists(Avatar)) { try { using (var stream = new FileStream(Avatar, FileMode.Open)) { @@ -98,28 +141,18 @@ public EnunuSinger(Voicebank voicebank) { avatarData = null; Log.Error("Avatar can't be found"); } - - found = true; - loaded = true; } - public override bool TryGetMappedOto(string phoneme, int tone, out UOto oto) { + public override bool TryGetOto(string phoneme, out UOto oto) { var parts = phoneme.Split(); if (parts.All(p => phonemes.Contains(p))) { - oto = new UOto() { - Alias = phoneme, - Phonetic = phoneme, - }; + oto = UOto.OfDummy(phoneme); return true; } oto = null; return false; } - public override bool TryGetMappedOto(string phoneme, int tone, string color, out UOto oto) { - return TryGetMappedOto(phoneme, tone, out oto); - } - public override IEnumerable GetSuggestions(string text) { if (text != null) { text = text.ToLowerInvariant().Replace(" ", ""); @@ -127,10 +160,7 @@ public override IEnumerable GetSuggestions(string text) { bool all = string.IsNullOrEmpty(text); return table.Keys .Where(key => all || key.Contains(text)) - .Select(key => new UOto() { - Alias = key, - Phonetic = key, - }); + .Select(key => UOto.OfDummy(key)); } public override byte[] LoadPortrait() { diff --git a/OpenUtau.Core/Enunu/EnunuUtils.cs b/OpenUtau.Core/Enunu/EnunuUtils.cs index 81ab84d29..b5bb15b4e 100644 --- a/OpenUtau.Core/Enunu/EnunuUtils.cs +++ b/OpenUtau.Core/Enunu/EnunuUtils.cs @@ -5,11 +5,12 @@ using OpenUtau.Core.Ustx; namespace OpenUtau.Core.Enunu { - struct EnunuNote { + public struct EnunuNote { public string lyric; public int length; public int noteNum; public int noteIndex; + public string timbre; } internal static class EnunuUtils { @@ -29,6 +30,9 @@ internal static void WriteUst(IList notes, double tempo, USinger sing writer.WriteLine($"Lyric={notes[i].lyric}"); writer.WriteLine($"Length={notes[i].length}"); writer.WriteLine($"NoteNum={notes[i].noteNum}"); + if (!string.IsNullOrEmpty(notes[i].timbre)) { + writer.WriteLine($"Flags={notes[i].timbre}"); + } } writer.WriteLine("[#TRACKEND]"); } diff --git a/OpenUtau.Core/Format/Formats.cs b/OpenUtau.Core/Format/Formats.cs index 092bbdc8b..020980b45 100644 --- a/OpenUtau.Core/Format/Formats.cs +++ b/OpenUtau.Core/Format/Formats.cs @@ -1,120 +1,121 @@ -using System.Collections.Generic; -using System.IO; -using OpenUtau.Classic; -using OpenUtau.Core.Ustx; - -namespace OpenUtau.Core.Format { - public enum ProjectFormats { Unknown, Vsq3, Vsq4, Ust, Ustx, Midi}; - - public static class Formats { - const string ustMatch = "[#SETTING]"; - const string ustxMatchJson = "\"ustxVersion\":"; - const string ustxMatchYaml = "ustx_version:"; - const string vsq3Match = VSQx.vsq3NameSpace; - const string vsq4Match = VSQx.vsq4NameSpace; - const string midiMatch = "MThd"; - - public static ProjectFormats DetectProjectFormat(string file) { - var lines = new List(); - using (var reader = new StreamReader(file)) { - for (int i = 0; i < 10 && !reader.EndOfStream; ++i) { - lines.Add(reader.ReadLine()); - } - } - string contents = string.Join("\n", lines); - if (contents.Contains(ustMatch)) { - return ProjectFormats.Ust; - } else if (contents.Contains(ustxMatchJson) || contents.Contains(ustxMatchYaml)) { - return ProjectFormats.Ustx; - } else if (contents.Contains(vsq3Match)) { - return ProjectFormats.Vsq3; - } else if (contents.Contains(vsq4Match)) { - return ProjectFormats.Vsq4; - } else if (contents.Contains(midiMatch)) { - return ProjectFormats.Midi; - } else { - return ProjectFormats.Unknown; - } - } - - public static void LoadProject(string[] files) { - if (files.Length < 1) { - return; - } - ProjectFormats format = DetectProjectFormat(files[0]); - UProject project; - switch (format) { - case ProjectFormats.Ustx: - project = Ustx.Load(files[0]); - break; - case ProjectFormats.Vsq3: - case ProjectFormats.Vsq4: - project = VSQx.Load(files[0]); - break; - case ProjectFormats.Ust: - project = Ust.Load(files); - break; - case ProjectFormats.Midi: - project = Midi.LoadProject(files[0]); - break; - default: - throw new FileFormatException("Unknown file format"); - } - if (project != null) { - DocManager.Inst.ExecuteCmd(new LoadProjectNotification(project)); - } - } - - public static void ImportTracks(UProject project, string[] files) { - if (files.Length < 1) { - return; - } - int initialTracks = project.tracks.Count; - int initialParts = project.parts.Count; - foreach (string file in files) { - ProjectFormats format = DetectProjectFormat(file); - UProject loaded; - switch (format) { - case ProjectFormats.Ustx: - loaded = Ustx.Load(file); - break; - case ProjectFormats.Vsq3: - case ProjectFormats.Vsq4: - loaded = VSQx.Load(file); - break; - case ProjectFormats.Ust: - loaded = Ust.Load(new[] { file }); - break; - default: - throw new FileFormatException("Unknown file format"); - } - int trackCount = project.tracks.Count; - foreach (var (abbr, descriptor) in loaded.expressions) { - if (!project.expressions.ContainsKey(abbr)) { - project.expressions.Add(abbr, descriptor); - } - } - foreach (var track in loaded.tracks) { - track.TrackNo = project.tracks.Count; - project.tracks.Add(track); - } - foreach (var part in loaded.parts) { - project.parts.Add(part); - part.trackNo += trackCount; - } - project.beatPerBar = loaded.beatPerBar; - project.beatUnit = loaded.beatUnit; - project.bpm = loaded.bpm; - } - for (int i = initialTracks; i < project.tracks.Count; i++) { - project.tracks[i].AfterLoad(project); - } - for (int i = initialParts; i < project.parts.Count; i++) { - var part = project.parts[i]; - part.AfterLoad(project, project.tracks[part.trackNo]); - } - project.ValidateFull(); - DocManager.Inst.ExecuteCmd(new LoadProjectNotification(project)); - } - } -} +using System.Collections.Generic; +using System.IO; +using OpenUtau.Classic; +using OpenUtau.Core.Ustx; + +namespace OpenUtau.Core.Format { + public enum ProjectFormats { Unknown, Vsq3, Vsq4, Ust, Ustx, Midi }; + + public static class Formats { + const string ustMatch = "[#SETTING]"; + const string ustxMatchJson = "\"ustxVersion\":"; + const string ustxMatchYaml = "ustx_version:"; + const string vsq3Match = VSQx.vsq3NameSpace; + const string vsq4Match = VSQx.vsq4NameSpace; + const string midiMatch = "MThd"; + + public static ProjectFormats DetectProjectFormat(string file) { + var lines = new List(); + using (var reader = new StreamReader(file)) { + for (int i = 0; i < 10 && !reader.EndOfStream; ++i) { + lines.Add(reader.ReadLine()); + } + } + string contents = string.Join("\n", lines); + if (contents.Contains(ustMatch)) { + return ProjectFormats.Ust; + } else if (contents.Contains(ustxMatchJson) || contents.Contains(ustxMatchYaml)) { + return ProjectFormats.Ustx; + } else if (contents.Contains(vsq3Match)) { + return ProjectFormats.Vsq3; + } else if (contents.Contains(vsq4Match)) { + return ProjectFormats.Vsq4; + } else if (contents.Contains(midiMatch)) { + return ProjectFormats.Midi; + } else { + return ProjectFormats.Unknown; + } + } + + public static void LoadProject(string[] files) { + if (files.Length < 1) { + return; + } + ProjectFormats format = DetectProjectFormat(files[0]); + UProject project; + switch (format) { + case ProjectFormats.Ustx: + project = Ustx.Load(files[0]); + break; + case ProjectFormats.Vsq3: + case ProjectFormats.Vsq4: + project = VSQx.Load(files[0]); + break; + case ProjectFormats.Ust: + project = Ust.Load(files); + break; + case ProjectFormats.Midi: + project = Midi.LoadProject(files[0]); + break; + default: + throw new FileFormatException("Unknown file format"); + } + if (project != null) { + DocManager.Inst.ExecuteCmd(new LoadProjectNotification(project)); + } + } + + public static void ImportTracks(UProject project, string[] files) { + if (files.Length < 1) { + return; + } + int initialTracks = project.tracks.Count; + int initialParts = project.parts.Count; + foreach (string file in files) { + ProjectFormats format = DetectProjectFormat(file); + UProject loaded; + switch (format) { + case ProjectFormats.Ustx: + loaded = Ustx.Load(file); + break; + case ProjectFormats.Vsq3: + case ProjectFormats.Vsq4: + loaded = VSQx.Load(file); + break; + case ProjectFormats.Ust: + loaded = Ust.Load(new[] { file }); + break; + default: + throw new FileFormatException("Unknown file format"); + } + int trackCount = project.tracks.Count; + foreach (var (abbr, descriptor) in loaded.expressions) { + if (!project.expressions.ContainsKey(abbr)) { + project.expressions.Add(abbr, descriptor); + } + } + foreach (var track in loaded.tracks) { + track.TrackNo = project.tracks.Count; + project.tracks.Add(track); + } + foreach (var part in loaded.parts) { + project.parts.Add(part); + part.trackNo += trackCount; + } + project.timeSignatures.Clear(); + project.timeSignatures.AddRange(loaded.timeSignatures); + project.tempos.Clear(); + project.tempos.AddRange(loaded.tempos); + } + for (int i = initialTracks; i < project.tracks.Count; i++) { + project.tracks[i].AfterLoad(project); + } + for (int i = initialParts; i < project.parts.Count; i++) { + var part = project.parts[i]; + part.AfterLoad(project, project.tracks[part.trackNo]); + } + project.ValidateFull(); + DocManager.Inst.ExecuteCmd(new LoadProjectNotification(project)); + } + } +} diff --git a/OpenUtau.Core/Format/Midi.cs b/OpenUtau.Core/Format/Midi.cs index 0f5af641d..3943c142b 100644 --- a/OpenUtau.Core/Format/Midi.cs +++ b/OpenUtau.Core/Format/Midi.cs @@ -1,107 +1,80 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -using NAudio.Midi; -using NChardet; - -using OpenUtau.Core.Ustx; -using OpenUtau.Core.Util; - -namespace OpenUtau.Core.Format -{ - public class MyCharsetDetectionObserver: NChardet.ICharsetDetectionObserver - { - public string Charset = null; - - public void Notify(string charset) { - Charset = charset; - } - } - public static class Midi - { - static public UProject LoadProject(string file) { - UProject uproject = new UProject(); - Ustx.AddDefaultExpressions(uproject); - - uproject.tracks = new List(); - - var parts = Load(file, uproject); - foreach (var part in parts) { - var track = new UTrack(); - track.TrackNo = uproject.tracks.Count; - part.trackNo = track.TrackNo; - part.AfterLoad(uproject, track); - uproject.tracks.Add(track); - uproject.parts.Add(part); - } - return uproject; - } - static public List Load(string file, UProject project) - { - List resultParts = new List(); - MidiFile midi = new MidiFile(file); - string lyric = NotePresets.Default.DefaultLyric; - for (int i = 0; i < midi.Tracks; i++) - { - //detect lyric encoding - Detector det = new Detector(6); - MyCharsetDetectionObserver cdo = new MyCharsetDetectionObserver(); - det.Init(cdo); - bool done = false; - foreach (var e in midi.Events.GetTrackEvents(i)) { - if (e is TextEvent) { //Lyric event - var _e = e as TextEvent; - if (_e.MetaEventType == MetaEventType.Lyric) { - done = det.DoIt(_e.Data, _e.Data.Length, false); - if (done) { - break; - } - } - } - } - det.DataEnd(); - string Charset = cdo.Charset; - Encoding lyricEncoding = Encoding.UTF8; - if (Charset!=null){ - lyricEncoding = Encoding.GetEncoding(Charset); - } - Dictionary parts = new Dictionary(); - foreach (var e in midi.Events.GetTrackEvents(i)) { - if (e is NoteOnEvent) { - var _e = e as NoteOnEvent; - if (_e.OffEvent == null) { - continue; - } - if (!parts.ContainsKey(_e.Channel)) parts.Add(_e.Channel, new UVoicePart()); - var note = project.CreateNote( - _e.NoteNumber, - (int)_e.AbsoluteTime * project.resolution / midi.DeltaTicksPerQuarterNote, - _e.NoteLength * project.resolution / midi.DeltaTicksPerQuarterNote); - if(lyric=="-") { - lyric = "+"; - } - note.lyric = lyric; - if (NotePresets.Default.AutoVibratoToggle && note.duration >= NotePresets.Default.AutoVibratoNoteDuration) note.vibrato.length = NotePresets.Default.DefaultVibrato.VibratoLength; - parts[e.Channel].notes.Add(note); - lyric = NotePresets.Default.DefaultLyric; - } - else if (e is TextEvent) { //Lyric event - var _e = e as TextEvent; - if(_e.MetaEventType == MetaEventType.Lyric) { - lyric = lyricEncoding.GetString(_e.Data); - } - } - } - foreach (var pair in parts) - { - pair.Value.Duration = pair.Value.GetMinDurTick(project); - resultParts.Add(pair.Value); - } - } - return resultParts; - } - } -} +using System.Collections.Generic; +using System.Text; +using NAudio.Midi; +using UtfUnknown; +using OpenUtau.Core.Ustx; +using OpenUtau.Core.Util; +using System.IO; + +namespace OpenUtau.Core.Format { + public static class Midi { + static public UProject LoadProject(string file) { + UProject uproject = new UProject(); + Ustx.AddDefaultExpressions(uproject); + + uproject.tracks = new List(); + + var parts = Load(file, uproject); + foreach (var part in parts) { + var track = new UTrack(); + track.TrackNo = uproject.tracks.Count; + part.trackNo = track.TrackNo; + part.AfterLoad(uproject, track); + uproject.tracks.Add(track); + uproject.parts.Add(part); + } + return uproject; + } + static public List Load(string file, UProject project) { + List resultParts = new List(); + MidiFile midi = new MidiFile(file, false); + string lyric = NotePresets.Default.DefaultLyric; + // Detects lyric encoding + Encoding lyricEncoding = Encoding.UTF8; + using (var stream = new MemoryStream()) { + for (int i = 0; i < midi.Tracks; i++) { + foreach (var e in midi.Events.GetTrackEvents(i)) { + if (e is TextEvent te && te.MetaEventType == MetaEventType.Lyric) { + stream.Write(te.Data); + } + } + } + stream.Seek(0, SeekOrigin.Begin); + var detectionResult = CharsetDetector.DetectFromStream(stream); + if (detectionResult.Detected != null && detectionResult.Detected.Confidence > 0.5) { + lyricEncoding = detectionResult.Detected.Encoding; + } + } + for (int i = 0; i < midi.Tracks; i++) { + Dictionary parts = new Dictionary(); + foreach (var e in midi.Events.GetTrackEvents(i)) { + if (e is NoteOnEvent) { + var _e = e as NoteOnEvent; + if (_e.OffEvent == null) { + continue; + } + if (!parts.ContainsKey(_e.Channel)) parts.Add(_e.Channel, new UVoicePart()); + var note = project.CreateNote( + _e.NoteNumber, + (int)_e.AbsoluteTime * project.resolution / midi.DeltaTicksPerQuarterNote, + _e.NoteLength * project.resolution / midi.DeltaTicksPerQuarterNote); + if (lyric == "-") { + lyric = "+"; + } + note.lyric = lyric; + if (NotePresets.Default.AutoVibratoToggle && note.duration >= NotePresets.Default.AutoVibratoNoteDuration) note.vibrato.length = NotePresets.Default.DefaultVibrato.VibratoLength; + parts[e.Channel].notes.Add(note); + lyric = NotePresets.Default.DefaultLyric; + } else if (e is TextEvent te && te.MetaEventType == MetaEventType.Lyric) { + lyric = lyricEncoding.GetString(te.Data); + } + } + foreach (var pair in parts) { + pair.Value.Duration = pair.Value.GetMinDurTick(project); + resultParts.Add(pair.Value); + } + } + return resultParts; + } + } +} diff --git a/OpenUtau.Core/Format/MidiWriter.cs b/OpenUtau.Core/Format/MidiWriter.cs new file mode 100644 index 000000000..d1d42a134 --- /dev/null +++ b/OpenUtau.Core/Format/MidiWriter.cs @@ -0,0 +1,173 @@ +using Melanchall.DryWetMidi.Common; +using System.Collections.Generic; +using Melanchall.DryWetMidi.Core; +using Melanchall.DryWetMidi.Interaction; +using OpenUtau.Core.Ustx; +using OpenUtau.Core.Util; +using System.Text; +using System.IO; +using UtfUnknown; +using System.Linq; + +namespace OpenUtau.Core.Format { + public class EncodingDetector { + + MemoryStream stream = new MemoryStream(); + + public void ReadFile(string file) { + var ReadingSettings = MidiWriter.BaseReadingSettings(); + + ReadingSettings.DecodeTextCallback = new DecodeTextCallback(AddText); + var midi = MidiFile.Read(file,ReadingSettings); + } + + string AddText(byte[] bytes, ReadingSettings settings) { + stream.Write(bytes); + return ""; + } + + public Encoding Detect() { + stream.Seek(0, SeekOrigin.Begin); + var detectionResult = CharsetDetector.DetectFromStream(stream); + if (detectionResult.Detected != null && detectionResult.Detected.Confidence > 0.5) { + return detectionResult.Detected.Encoding; + } else { + return null; + } + } + } + + public static class MidiWriter { + static public UProject LoadProject(string file) { + UProject uproject = new UProject(); + Ustx.AddDefaultExpressions(uproject); + + uproject.tracks = new List(); + + var parts = Load(file, uproject); + foreach (var part in parts) { + var track = new UTrack(); + track.TrackNo = uproject.tracks.Count; + part.trackNo = track.TrackNo; + part.AfterLoad(uproject, track); + uproject.tracks.Add(track); + uproject.parts.Add(part); + } + return uproject; + } + + public static ReadingSettings BaseReadingSettings() { + return new ReadingSettings { + InvalidChannelEventParameterValuePolicy = InvalidChannelEventParameterValuePolicy.ReadValid, + InvalidChunkSizePolicy = InvalidChunkSizePolicy.Ignore, + InvalidMetaEventParameterValuePolicy = InvalidMetaEventParameterValuePolicy.SnapToLimits, + MissedEndOfTrackPolicy = MissedEndOfTrackPolicy.Ignore, + NoHeaderChunkPolicy = NoHeaderChunkPolicy.Ignore, + NotEnoughBytesPolicy = NotEnoughBytesPolicy.Ignore, + UnexpectedTrackChunksCountPolicy = UnexpectedTrackChunksCountPolicy.Ignore, + UnknownChannelEventPolicy = UnknownChannelEventPolicy.SkipStatusByteAndOneDataByte, + UnknownChunkIdPolicy = UnknownChunkIdPolicy.ReadAsUnknownChunk, + UnknownFileFormatPolicy = UnknownFileFormatPolicy.Ignore + }; + } + + static public List Load(string file, UProject project) { + List resultParts = new List(); + string defaultLyric = NotePresets.Default.DefaultLyric; + // Detects lyric encoding + Encoding lyricEncoding = Encoding.UTF8; + var encodingDetector = new EncodingDetector(); + encodingDetector.ReadFile(file); + var encodingResult = encodingDetector.Detect(); + if(encodingResult != null) { + lyricEncoding = encodingResult; + } + //Get midifile resolution + var ReadingSettings = BaseReadingSettings(); + ReadingSettings.TextEncoding = lyricEncoding; + var midi = MidiFile.Read(file, ReadingSettings); + TicksPerQuarterNoteTimeDivision timeDivision = midi.TimeDivision as TicksPerQuarterNoteTimeDivision; + var PPQ = timeDivision.TicksPerQuarterNote; + //Parse midi data + foreach (TrackChunk trackChunk in midi.GetTrackChunks()) { + var midiNoteList = trackChunk.GetNotes().ToList(); + if (midiNoteList.Count > 0) { + var part = new UVoicePart(); + using (var objectsManager = new TimedObjectsManager(trackChunk.Events)) { + var events = objectsManager.Objects; + foreach (Melanchall.DryWetMidi.Interaction.Note midiNote in midiNoteList) { + var note = project.CreateNote( + midiNote.NoteNumber, + (int)(midiNote.Time * project.resolution / PPQ), + (int)(midiNote.Length * project.resolution / PPQ) + ); + //handle lyric import + string lyric = events.Where(e => e.Event is LyricEvent && e.Time == midiNote.Time) + .Select(e => ((LyricEvent)e.Event).Text) + .FirstOrDefault(); + if (lyric == null) { + lyric = defaultLyric; + } + if (lyric == "-") { + lyric = "+"; +; } + note.lyric = lyric; + if (NotePresets.Default.AutoVibratoToggle && note.duration >= NotePresets.Default.AutoVibratoNoteDuration) { + note.vibrato.length = NotePresets.Default.DefaultVibrato.VibratoLength; + } + part.notes.Add(note); + } + } + resultParts.Add(part); + } + } + return resultParts; + } + + static public void Save(string filePath, UProject project) { + var midiFile = new MidiFile(); + var trackChunks = new List { }; + + //Project resolution + midiFile.TimeDivision = new TicksPerQuarterNoteTimeDivision((short)project.resolution); + //Tempo + midiFile.Chunks.Add(new TrackChunk()); + using (TempoMapManager tempoMapManager = midiFile.ManageTempoMap()) { + foreach(UTempo uTempo in project.tempos){ + tempoMapManager.SetTempo(uTempo.position, Tempo.FromBeatsPerMinute(uTempo.bpm)); + } + } + //Time Signature + foreach (UTrack track in project.tracks) { + trackChunks.Add(new TrackChunk()); + } + //voice tracks + foreach (UPart part in project.parts) { + if (part is UVoicePart voicePart) { + var trackChunk = trackChunks[voicePart.trackNo]; + var partOffset = part.position; + using (var objectsManager = new TimedObjectsManager(trackChunk.Events)) { + var events = objectsManager.Objects; + foreach (UNote note in voicePart.notes) { + string lyric = note.lyric; + if (lyric == "+") { + lyric = "-"; + } + events.Add(new TimedEvent(new LyricEvent(lyric), note.position + partOffset)); + events.Add(new TimedEvent(new NoteOnEvent((SevenBitNumber)(note.tone), (SevenBitNumber)45), note.position + partOffset)); + events.Add(new TimedEvent(new NoteOffEvent((SevenBitNumber)(note.tone), (SevenBitNumber)45), note.position + partOffset + note.duration)); + } + } + } + } + + foreach(TrackChunk trackChunk in trackChunks) { + midiFile.Chunks.Add(trackChunk); + } + + midiFile.Write(filePath,true,settings: new WritingSettings { + TextEncoding = System.Text.Encoding.UTF8, + }) ; + } + } +} diff --git a/OpenUtau.Core/Format/OpusOggWaveReader.cs b/OpenUtau.Core/Format/OpusOggWaveReader.cs new file mode 100644 index 000000000..0aed6e25e --- /dev/null +++ b/OpenUtau.Core/Format/OpusOggWaveReader.cs @@ -0,0 +1,74 @@ +using System; +using System.IO; +using Concentus.Oggfile; +using Concentus.Structs; +using NAudio.Wave; + +namespace OpenUtau.Core.Format { + // Preliminary blocking Opus reader. + public class OpusOggWaveReader : WaveStream { + WaveFormat waveFormat; + MemoryStream oggStream; + OpusDecoder decoder; + OpusOggReadStream decodeStream; + byte[] wavData; + + public OpusOggWaveReader(string oggFile) { + using (FileStream fileStream = new FileStream(oggFile, FileMode.Open)) { + oggStream = new MemoryStream(); + fileStream.CopyTo(oggStream); + } + oggStream.Seek(0, SeekOrigin.Begin); + waveFormat = new WaveFormat(48000, 16, 2); + decoder = new OpusDecoder(48000, 2); + decodeStream = new OpusOggReadStream(decoder, oggStream); + } + + byte[] Decode() { + using (var wavStream = new MemoryStream()) { + var decoder = new OpusDecoder(48000, 2); + var oggIn = new OpusOggReadStream(decoder, oggStream); + while (oggIn.HasNextPacket) { + short[] packet = oggIn.DecodeNextPacket(); + if (packet != null) { + byte[] binary = ShortsToBytes(packet); + wavStream.Write(binary, 0, binary.Length); + } + } + return wavStream.ToArray(); + } + } + + public override WaveFormat WaveFormat => waveFormat; + + public override long Length => wavData.LongLength; + + public override TimeSpan TotalTime => decodeStream.TotalTime; + + public override long Position { get; set; } + + public override int Read(byte[] buffer, int offset, int count) { + if (wavData == null) { + wavData = Decode(); + } + int n = (int)Math.Min(wavData.Length - Position, count); + Array.Copy(wavData, Position, buffer, offset, n); + Position += n; + return n; + } + + static byte[] ShortsToBytes(short[] input) { + byte[] output = new byte[input.Length * sizeof(short) / sizeof(byte)]; + for (int i = 0; i < input.Length; ++i) { + output[i * 2] = (byte)(input[i] & 0xFF); + output[i * 2 + 1] = (byte)((input[i] >> 8) & 0xFF); + } + return output; + } + + protected override void Dispose(bool disposing) { + oggStream.Dispose(); + base.Dispose(disposing); + } + } +} diff --git a/OpenUtau.Core/Format/USTx.cs b/OpenUtau.Core/Format/USTx.cs index fa1697f26..aa7e12af3 100644 --- a/OpenUtau.Core/Format/USTx.cs +++ b/OpenUtau.Core/Format/USTx.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; @@ -8,7 +9,7 @@ namespace OpenUtau.Core.Format { public class Ustx { - public static readonly Version kUstxVersion = new Version(0, 5); + public static readonly Version kUstxVersion = new Version(0, 6); public const string DYN = "dyn"; public const string PITD = "pitd"; @@ -84,6 +85,9 @@ public static UProject Load(string filePath) { project.Saved = true; project.AfterLoad(); project.ValidateFull(); + if (project.ustxVersion > kUstxVersion) { + throw new FileFormatException($"Project file is newer than software! Upgrade OpenUtau!"); + } if (project.ustxVersion < kUstxVersion) { Log.Information($"Upgrading project from {project.ustxVersion} to {kUstxVersion}"); } @@ -114,6 +118,13 @@ public static UProject Load(string filePath) { .ForEach(note => note.lyric = note.lyric.Replace("...", "+")); project.ValidateFull(); } + if (project.ustxVersion < new Version(0, 6)) { +#pragma warning disable CS0612 // Type or member is obsolete + project.timeSignatures = new List { new UTimeSignature(0, project.beatPerBar, project.beatUnit) }; + project.tempos = new List { new UTempo(0, project.bpm) }; +#pragma warning restore CS0612 // Type or member is obsolete + project.ValidateFull(); + } project.ustxVersion = kUstxVersion; return project; } diff --git a/OpenUtau.Core/Format/VSQx.cs b/OpenUtau.Core/Format/VSQx.cs index 0d2639a14..602aec041 100644 --- a/OpenUtau.Core/Format/VSQx.cs +++ b/OpenUtau.Core/Format/VSQx.cs @@ -35,9 +35,8 @@ public static UProject Load(string file) { Ustx.AddDefaultExpressions(uproject); uproject.RegisterExpression(new UExpressionDescriptor("opening", "ope", 0, 100, 100)); - string bpmPath = $"{nsPrefix}masterTrack/{nsPrefix}tempo/{nsPrefix}{(nsPrefix == "v3:" ? "bpm" : "v")}"; - string beatperbarPath = $"{nsPrefix}masterTrack/{nsPrefix}timeSig/{nsPrefix}{(nsPrefix == "v3:" ? "nume" : "nu")}"; - string beatunitPath = $"{nsPrefix}masterTrack/{nsPrefix}timeSig/{nsPrefix}{(nsPrefix == "v3:" ? "denomi" : "de")}"; + string bpmPath = $"{nsPrefix}masterTrack/{nsPrefix}tempo"; + string timeSigPath = $"{nsPrefix}masterTrack/{nsPrefix}timeSig"; string premeasurePath = $"{nsPrefix}masterTrack/{nsPrefix}preMeasure"; string resolutionPath = $"{nsPrefix}masterTrack/{nsPrefix}resolution"; string projectnamePath = $"{nsPrefix}masterTrack/{nsPrefix}seqName"; @@ -60,16 +59,34 @@ public static UProject Load(string file) { string partstyleattrPath = $"{nsPrefix}{(nsPrefix == "v3:" ? "partStyle" : "pStyle")}/{nsPrefix}{(nsPrefix == "v3:" ? "attr" : "v")}"; string notestyleattrPath = $"{nsPrefix}{(nsPrefix == "v3:" ? "noteStyle" : "nStyle")}/{nsPrefix}{(nsPrefix == "v3:" ? "attr" : "v")}"; - uproject.bpm = Convert.ToDouble(root.SelectSingleNode(bpmPath, nsmanager).InnerText) / 100; - uproject.beatPerBar = int.Parse(root.SelectSingleNode(beatperbarPath, nsmanager).InnerText); - uproject.beatUnit = int.Parse(root.SelectSingleNode(beatunitPath, nsmanager).InnerText); + uproject.timeSignatures.Clear(); + foreach (XmlNode node in root.SelectNodes(timeSigPath, nsmanager)) { + uproject.timeSignatures.Add(new UTimeSignature { + barPosition = Convert.ToInt32(node[nsPrefix == "v3:" ? "posMes" : "m"].InnerText), + beatPerBar = Convert.ToInt32(node[nsPrefix == "v3:" ? "nume" : "nu"].InnerText), + beatUnit = Convert.ToInt32(node[nsPrefix == "v3:" ? "denomi" : "de"].InnerText), + }); + } + uproject.timeSignatures.Sort((lhs, rhs) => lhs.barPosition.CompareTo(rhs.barPosition)); + uproject.timeSignatures[0].barPosition = 0; + + uproject.tempos.Clear(); + foreach (XmlNode node in root.SelectNodes(bpmPath, nsmanager)) { + uproject.tempos.Add(new UTempo { + position = Convert.ToInt32(node[nsPrefix == "v3:" ? "posTick" : "t"].InnerText), + bpm = Convert.ToDouble(node[nsPrefix == "v3:" ? "bpm" : "v"].InnerText) / 100, + }); + } + uproject.tempos.Sort((lhs, rhs) => lhs.position.CompareTo(rhs.position)); + uproject.tempos[0].position = 0; + uproject.resolution = int.Parse(root.SelectSingleNode(resolutionPath, nsmanager).InnerText); uproject.FilePath = file; uproject.name = root.SelectSingleNode(projectnamePath, nsmanager).InnerText; uproject.comment = root.SelectSingleNode(projectcommentPath, nsmanager).InnerText; int preMeasure = int.Parse(root.SelectSingleNode(premeasurePath, nsmanager).InnerText); - int partPosTickShift = -preMeasure * uproject.resolution * uproject.beatPerBar * 4 / uproject.beatUnit; + int partPosTickShift = -preMeasure * uproject.resolution * uproject.timeSignatures[0].beatPerBar * 4 / uproject.timeSignatures[0].beatUnit; USinger usinger = USinger.CreateMissing(""); @@ -98,7 +115,7 @@ public static UProject Load(string file) { int? lastT = null; int? lastV = null; foreach (XmlNode ctrlPt in part.SelectNodes($"{nsPrefix}{(nsPrefix == "v3:" ? "mCtrl" : "cc")}", nsmanager)) { - var t = int.Parse(ctrlPt.SelectSingleNode($"{nsPrefix}{(nsPrefix == "v3:" ? "posTick": "t")}", nsmanager).InnerText); + var t = int.Parse(ctrlPt.SelectSingleNode($"{nsPrefix}{(nsPrefix == "v3:" ? "posTick" : "t")}", nsmanager).InnerText); var valNode = ctrlPt.SelectSingleNode($"{nsPrefix}{(nsPrefix == "v3:" ? "attr" : "v")}", nsmanager); // type of controller // D: DYN, [0,128), default: 64 @@ -136,11 +153,11 @@ public static UProject Load(string file) { var v = pt.Item2 < 0 ? pt.Item2 / 8192f : pt.Item2 / 8191f; var semitone = pbsList.FindLast(tuple => tuple.Item1 <= t)?.Item2 ?? pbsDefaultVal; var pit = (int)Math.Round(v * semitone * 100); - if(Math.Abs(pit) > 1200) { + if (Math.Abs(pit) > 1200) { // Exceed OpenUTAU's limit. clip value pit = Math.Sign(pit) * 1200; } - if(t > 0 && lastV.HasValue) { + if (t > 0 && lastV.HasValue) { // Mimic Vsqx's Hold property GetCurve(uproject, upart, Ustx.PITD).Set(t - UCurve.interval, lastV.Value, lastT ?? t, 0); GetCurve(uproject, upart, Ustx.PITD).Set(t, pit, t - UCurve.interval, 0); @@ -150,7 +167,7 @@ public static UProject Load(string file) { lastT = t; lastV = pit; } - if(lastV.HasValue) { + if (lastV.HasValue) { GetCurve(uproject, upart, Ustx.PITD).Set(upart.Duration, lastV ?? 0, lastT ?? 0, 0); } @@ -184,8 +201,10 @@ public static UProject Load(string file) { } } - unote.pitch.data[0].X = -(float)uproject.TickToMillisecond(Math.Min(15, unote.duration / 3)); - unote.pitch.data[1].X = -unote.pitch.data[0].X; + int start = Util.NotePresets.Default.DefaultPortamento.PortamentoStart; + int length = Util.NotePresets.Default.DefaultPortamento.PortamentoLength; + unote.pitch.data[0].X = start; + unote.pitch.data[1].X = start + length; upart.notes.Add(unote); } } @@ -198,8 +217,8 @@ public static UProject Load(string file) { private static UCurve GetCurve(UProject uproject, UVoicePart upart, string abbr) { var curve = upart.curves.Find(c => c.abbr == abbr); - if(curve == null) { - if(uproject.expressions.TryGetValue(abbr, out var desc)) { + if (curve == null) { + if (uproject.expressions.TryGetValue(abbr, out var desc)) { curve = new UCurve(desc); upart.curves.Add(curve); } diff --git a/OpenUtau.Core/Format/Wave.cs b/OpenUtau.Core/Format/Wave.cs index ef402afa7..58cb55c27 100644 --- a/OpenUtau.Core/Format/Wave.cs +++ b/OpenUtau.Core/Format/Wave.cs @@ -7,21 +7,22 @@ using NAudio.Wave; using NAudio.Wave.SampleProviders; using NLayer.NAudioSupport; +using NWaves.Signals; namespace OpenUtau.Core.Format { public static class Wave { public static Func OverrideMp3Reader; - public readonly static string kFileFilter = "*.wav;*.mp3;*.ogg;*.flac"; + public readonly static List FileExtensions = new List() { "wav", "mp3", "ogg", "opus", "flac" }; public static WaveStream OpenFile(string filepath) { var ext = Path.GetExtension(filepath); - byte[] buffer = new byte[4]; + byte[] buffer = new byte[128]; string tag = ""; using (var stream = File.Open(filepath, FileMode.Open, FileAccess.Read, FileShare.Read)) { if (stream.CanSeek) { - stream.Read(buffer, 0, 4); - tag = System.Text.Encoding.UTF8.GetString(buffer); + stream.Read(buffer, 0, 128); + tag = System.Text.Encoding.UTF8.GetString(buffer.AsSpan(0, 4)); } } if (tag == "RIFF") { @@ -34,7 +35,13 @@ public static WaveStream OpenFile(string filepath) { return new Mp3FileReaderBase(filepath, wf => new Mp3FrameDecompressor(wf)); } if (tag == "OggS") { - return new VorbisWaveReader(filepath); + string text = System.Text.Encoding.ASCII.GetString(buffer); + if (text.Contains("vorbis")) { + return new VorbisWaveReader(filepath); + } + if (text.Contains("OpusHead")) { + return new OpusOggWaveReader(filepath); + } } if (tag == "fLaC") { return new FlacReader(filepath); @@ -66,6 +73,16 @@ public static float[] GetSamples(ISampleProvider sampleProvider) { return samples.ToArray(); } + public static DiscreteSignal GetSignal(ISampleProvider sampleProvider) { + List samples = new List(); + float[] buffer = new float[sampleProvider.WaveFormat.SampleRate]; + int n; + while ((n = sampleProvider.Read(buffer, 0, buffer.Length)) > 0) { + samples.AddRange(buffer.Take(n)); + } + return new DiscreteSignal(sampleProvider.WaveFormat.SampleRate, samples.ToArray()); + } + public static float[] BuildPeaks(WaveStream stream, IProgress progress) { const double peaksRate = 4000; float[] peaks; diff --git a/OpenUtau.Plugin.Builtin/ArpabetG2p.cs b/OpenUtau.Core/G2p/ArpabetG2p.cs similarity index 98% rename from OpenUtau.Plugin.Builtin/ArpabetG2p.cs rename to OpenUtau.Core/G2p/ArpabetG2p.cs index 1d98cef78..9689f5e8b 100644 --- a/OpenUtau.Plugin.Builtin/ArpabetG2p.cs +++ b/OpenUtau.Core/G2p/ArpabetG2p.cs @@ -4,7 +4,7 @@ using Microsoft.ML.OnnxRuntime; using OpenUtau.Api; -namespace OpenUtau.Plugin.Builtin { +namespace OpenUtau.Core.G2p { public class ArpabetG2p : G2pPack { private static readonly string[] graphemes = new string[] { "", "", "", "", "\'", "-", "a", "b", "c", "d", "e", diff --git a/OpenUtau.Core/G2p/Data/Resources.Designer.cs b/OpenUtau.Core/G2p/Data/Resources.Designer.cs new file mode 100644 index 000000000..c9bafa5ac --- /dev/null +++ b/OpenUtau.Core/G2p/Data/Resources.Designer.cs @@ -0,0 +1,103 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OpenUtau.Core.G2p.Data { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OpenUtau.Core.G2p.Data.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] g2p_arpabet { + get { + object obj = ResourceManager.GetObject("g2p-arpabet", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] g2p_fr { + get { + object obj = ResourceManager.GetObject("g2p-fr", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] g2p_pt { + get { + object obj = ResourceManager.GetObject("g2p-pt", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] g2p_ru { + get { + object obj = ResourceManager.GetObject("g2p-ru", resourceCulture); + return ((byte[])(obj)); + } + } + } +} diff --git a/OpenUtau.Core/G2p/Data/Resources.resx b/OpenUtau.Core/G2p/Data/Resources.resx new file mode 100644 index 000000000..94e00caad --- /dev/null +++ b/OpenUtau.Core/G2p/Data/Resources.resx @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + g2p-arpabet.zip;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + g2p-fr.zip;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + g2p-pt.zip;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + g2p-ru.zip;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OpenUtau.Plugin.Builtin/Data/g2p-arpabet.zip b/OpenUtau.Core/G2p/Data/g2p-arpabet.zip similarity index 100% rename from OpenUtau.Plugin.Builtin/Data/g2p-arpabet.zip rename to OpenUtau.Core/G2p/Data/g2p-arpabet.zip diff --git a/OpenUtau.Plugin.Builtin/Data/g2p-fr.zip b/OpenUtau.Core/G2p/Data/g2p-fr.zip similarity index 100% rename from OpenUtau.Plugin.Builtin/Data/g2p-fr.zip rename to OpenUtau.Core/G2p/Data/g2p-fr.zip diff --git a/OpenUtau.Plugin.Builtin/Data/g2p-pt.zip b/OpenUtau.Core/G2p/Data/g2p-pt.zip similarity index 100% rename from OpenUtau.Plugin.Builtin/Data/g2p-pt.zip rename to OpenUtau.Core/G2p/Data/g2p-pt.zip diff --git a/OpenUtau.Plugin.Builtin/Data/g2p-ru.zip b/OpenUtau.Core/G2p/Data/g2p-ru.zip similarity index 100% rename from OpenUtau.Plugin.Builtin/Data/g2p-ru.zip rename to OpenUtau.Core/G2p/Data/g2p-ru.zip diff --git a/OpenUtau.Plugin.Builtin/FrenchG2p.cs b/OpenUtau.Core/G2p/FrenchG2p.cs similarity index 98% rename from OpenUtau.Plugin.Builtin/FrenchG2p.cs rename to OpenUtau.Core/G2p/FrenchG2p.cs index 8bef933e6..cec7975b6 100644 --- a/OpenUtau.Plugin.Builtin/FrenchG2p.cs +++ b/OpenUtau.Core/G2p/FrenchG2p.cs @@ -4,7 +4,7 @@ using Microsoft.ML.OnnxRuntime; using OpenUtau.Api; -namespace OpenUtau.Plugin.Builtin { +namespace OpenUtau.Core.G2p { public class FrenchG2p : G2pPack { private static readonly string[] graphemes = new string[] { "", "", "", "", "-", "a", "b", "c", "d", "e", "f", "g", diff --git a/OpenUtau.Plugin.Builtin/PortugueseG2p.cs b/OpenUtau.Core/G2p/PortugueseG2p.cs similarity index 98% rename from OpenUtau.Plugin.Builtin/PortugueseG2p.cs rename to OpenUtau.Core/G2p/PortugueseG2p.cs index 0a3d75aff..f91cbf68b 100644 --- a/OpenUtau.Plugin.Builtin/PortugueseG2p.cs +++ b/OpenUtau.Core/G2p/PortugueseG2p.cs @@ -4,7 +4,7 @@ using Microsoft.ML.OnnxRuntime; using OpenUtau.Api; -namespace OpenUtau.Plugin.Builtin { +namespace OpenUtau.Core.G2p { public class PortugueseG2p : G2pPack { private static readonly string[] graphemes = new string[] { "", "", "", "", "-", "a", "b", "c", "d", "e", "f", "g", "h", diff --git a/OpenUtau.Plugin.Builtin/RussianG2p.cs b/OpenUtau.Core/G2p/RussianG2p.cs similarity index 98% rename from OpenUtau.Plugin.Builtin/RussianG2p.cs rename to OpenUtau.Core/G2p/RussianG2p.cs index 508aefefb..c00575ab4 100644 --- a/OpenUtau.Plugin.Builtin/RussianG2p.cs +++ b/OpenUtau.Core/G2p/RussianG2p.cs @@ -4,7 +4,7 @@ using Microsoft.ML.OnnxRuntime; using OpenUtau.Api; -namespace OpenUtau.Plugin.Builtin { +namespace OpenUtau.Core.G2p { // Dictionary from https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/Russian/zero_ru_cont_8k_v3.tar.gz public class RussianG2p : G2pPack { private static readonly string[] graphemes = new string[] { diff --git a/OpenUtau.Core/OpenUtau.Core.csproj b/OpenUtau.Core/OpenUtau.Core.csproj index 2cf08fa7b..8d66123e4 100644 --- a/OpenUtau.Core/OpenUtau.Core.csproj +++ b/OpenUtau.Core/OpenUtau.Core.csproj @@ -4,33 +4,47 @@ netstandard2.1 none true + embedded + enable + - + + - - - + + + - - + + + + True + True + Resources.resx + + + True + True + Resources.resx + True True @@ -38,6 +52,14 @@ + + ResXFileCodeGenerator + Resources.Designer.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + ResXFileCodeGenerator VogenRes.Designer.cs diff --git a/OpenUtau.Core/PlaybackManager.cs b/OpenUtau.Core/PlaybackManager.cs index b4aaade1e..ffe06f691 100644 --- a/OpenUtau.Core/PlaybackManager.cs +++ b/OpenUtau.Core/PlaybackManager.cs @@ -6,10 +6,10 @@ using System.Threading.Tasks; using NAudio.Wave; using NAudio.Wave.SampleProviders; -using OpenUtau.Classic; using OpenUtau.Core.Render; using OpenUtau.Core.SignalChain; using OpenUtau.Core.Ustx; +using OpenUtau.Core.Util; using Serilog; namespace OpenUtau.Core { @@ -42,7 +42,7 @@ public int Read(float[] buffer, int offset, int count) { } } - public class PlaybackManager : ICmdSubscriber { + public class PlaybackManager : SingletonBase, ICmdSubscriber { private PlaybackManager() { DocManager.Inst.AddSubscriber(this); try { @@ -53,21 +53,16 @@ private PlaybackManager() { } } - private static PlaybackManager _s; - public static PlaybackManager Inst { get { if (_s == null) { _s = new PlaybackManager(); } return _s; } } - List faders; MasterAdapter masterMix; double startMs; - public int StartTick => DocManager.Inst.Project.MillisecondToTick(startMs); + public int StartTick => DocManager.Inst.Project.timeAxis.MsPosToTickPos(startMs); CancellationTokenSource renderCancellation; public Audio.IAudioOutput AudioOutput { get; set; } = new Audio.DummyAudioOutput(); public bool Playing => AudioOutput.PlaybackState == PlaybackState.Playing; public bool StartingToPlay { get; private set; } - public bool CheckResampler() => Resamplers.CheckResampler(); - public void PlayTestSound() { masterMix = null; AudioOutput.Stop(); @@ -86,16 +81,12 @@ public SineGen PlayTone(double freq) { return sineGen; } - public bool PlayOrPause() { + public void PlayOrPause() { if (Playing) { PausePlayback(); - return true; - } - if (!Resamplers.CheckResampler()) { - return false; + } else { + Play(DocManager.Inst.Project, DocManager.Inst.playPosTick); } - Play(DocManager.Inst.Project, DocManager.Inst.playPosTick); - return true; } public void Play(UProject project, int tick) { @@ -127,29 +118,25 @@ private void StartPlayback(double startMs, MasterAdapter masterAdapter) { } private void Render(UProject project, int tick) { - if (!Resamplers.CheckResampler()) { - return; - } - var scheduler = TaskScheduler.FromCurrentSynchronizationContext(); Task.Run(() => { RenderEngine engine = new RenderEngine(project, tick); - var result = engine.RenderProject(tick, scheduler, ref renderCancellation); + var result = engine.RenderProject(tick, DocManager.Inst.MainScheduler, ref renderCancellation); faders = result.Item2; StartingToPlay = false; - StartPlayback(project.TickToMillisecond(tick), result.Item1); + StartPlayback(project.timeAxis.TickPosToMsPos(tick), result.Item1); }).ContinueWith((task) => { if (task.IsFaulted) { Log.Error(task.Exception, "Failed to render."); - DocManager.Inst.ExecuteCmd(new UserMessageNotification(task.Exception.Flatten().ToString())); + DocManager.Inst.ExecuteCmd(new ErrorMessageNotification("Failed to render.", task.Exception)); throw task.Exception; } - }, CancellationToken.None, TaskContinuationOptions.OnlyOnFaulted, scheduler); + }, CancellationToken.None, TaskContinuationOptions.OnlyOnFaulted, DocManager.Inst.MainScheduler); } public void UpdatePlayPos() { if (AudioOutput != null && AudioOutput.PlaybackState == PlaybackState.Playing && masterMix != null) { double ms = (AudioOutput.GetPosition() / sizeof(float) - masterMix.Waited / 2) * 1000.0 / 44100; - int tick = DocManager.Inst.Project.MillisecondToTick(startMs + ms); + int tick = DocManager.Inst.Project.timeAxis.MsPosToTickPos(startMs + ms); DocManager.Inst.ExecuteCmd(new SetPlayPosTickNotification(tick, masterMix.IsWaiting)); } } @@ -158,12 +145,30 @@ public static float DecibelToVolume(double db) { return (db <= -24) ? 0 : (float)MusicMath.DecibelToLinear((db < -16) ? db * 2 + 16 : db); } + public void RenderMixdown(UProject project, string exportPath) { + Task.Run(() => { + var task = Task.Run(() => { + RenderEngine engine = new RenderEngine(project); + var projectMix = engine.RenderMixdown(0,DocManager.Inst.MainScheduler, ref renderCancellation,wait:true).Item1; + DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, $"Exporting to {exportPath}.")); + WaveFileWriter.CreateWaveFile16(exportPath, new ExportAdapter(projectMix).ToMono(1, 0)); + DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, $"Exported to {exportPath}.")); + }); + try { + task.Wait(); + } catch (AggregateException ae) { + foreach (var e in ae.Flatten().InnerExceptions) { + Log.Error(e, "Failed to render."); + } + } + }); + } + public void RenderToFiles(UProject project, string exportPath) { - var scheduler = TaskScheduler.FromCurrentSynchronizationContext(); Task.Run(() => { var task = Task.Run(() => { RenderEngine engine = new RenderEngine(project); - var trackMixes = engine.RenderTracks(scheduler, ref renderCancellation); + var trackMixes = engine.RenderTracks(DocManager.Inst.MainScheduler, ref renderCancellation); for (int i = 0; i < trackMixes.Count; ++i) { if (trackMixes[i] == null || i >= project.tracks.Count || project.tracks[i].Mute) { continue; @@ -185,10 +190,9 @@ public void RenderToFiles(UProject project, string exportPath) { } void SchedulePreRender() { - var scheduler = TaskScheduler.FromCurrentSynchronizationContext(); Log.Information("SchedulePreRender"); var engine = new RenderEngine(DocManager.Inst.Project); - engine.PreRenderProject(scheduler, ref renderCancellation); + engine.PreRenderProject(ref renderCancellation); } #region ICmdSubscriber diff --git a/OpenUtau.Core/Render/IRenderer.cs b/OpenUtau.Core/Render/IRenderer.cs index 6bde2ea1c..a7ae1a1b1 100644 --- a/OpenUtau.Core/Render/IRenderer.cs +++ b/OpenUtau.Core/Render/IRenderer.cs @@ -1,8 +1,12 @@ -using System.Threading; +using System; +using System.Threading; using System.Threading.Tasks; using OpenUtau.Core.Ustx; namespace OpenUtau.Core.Render { + public class NoResamplerException : Exception { } + public class NoWavtoolException : Exception { } + /// /// Render result of a phrase. /// diff --git a/OpenUtau.Core/Render/RenderEngine.cs b/OpenUtau.Core/Render/RenderEngine.cs index 69720bee3..81b314851 100644 --- a/OpenUtau.Core/Render/RenderEngine.cs +++ b/OpenUtau.Core/Render/RenderEngine.cs @@ -9,11 +9,9 @@ namespace OpenUtau.Core.Render { public class Progress { - readonly TaskScheduler uiScheduler; readonly int total; int completed = 0; - public Progress(TaskScheduler uiScheduler, int total) { - this.uiScheduler = uiScheduler; + public Progress(int total) { this.total = total; } @@ -29,7 +27,7 @@ public void Clear() { private void Notify(double progress, string info) { var notif = new ProgressBarNotification(progress, info); var task = new Task(() => DocManager.Inst.ExecuteCmd(notif)); - task.Start(uiScheduler); + task.Start(DocManager.Inst.MainScheduler); } } @@ -51,14 +49,14 @@ public RenderEngine(UProject project, int startTick = 0) { this.startTick = startTick; } - public Tuple> RenderProject(int startTick, TaskScheduler uiScheduler, ref CancellationTokenSource cancellation) { + public Tuple> RenderMixdown(int startTick, TaskScheduler uiScheduler, ref CancellationTokenSource cancellation, bool wait = false) { var newCancellation = new CancellationTokenSource(); var oldCancellation = Interlocked.Exchange(ref cancellation, newCancellation); if (oldCancellation != null) { oldCancellation.Cancel(); oldCancellation.Dispose(); } - double startMs = project.TickToMillisecond(startTick); + double startMs = project.timeAxis.TickPosToMsPos(startTick); var faders = new List(); var requests = PrepareRequests() .Where(request => request.sources.Length > 0 && request.sources.Max(s => s.EndMs) > startMs) @@ -76,9 +74,11 @@ public Tuple> RenderProject(int startTick, TaskSchedu .Select(part => part as UWavePart) .Where(part => part.Samples != null) .Select(part => { + double offsetMs = project.timeAxis.TickPosToMsPos(part.position); + double estimatedLengthMs = project.timeAxis.TickPosToMsPos(part.End) - offsetMs; var waveSource = new WaveSource( - project.TickToMillisecond(part.position), - project.TickToMillisecond(part.Duration), + offsetMs, + estimatedLengthMs, part.skipMs, part.channels); waveSource.SetSamples(part.Samples); return (ISignalSource)waveSource; @@ -89,18 +89,28 @@ public Tuple> RenderProject(int startTick, TaskSchedu fader.SetScaleToTarget(); faders.Add(fader); } - Task.Run(() => { - RenderRequests(requests, uiScheduler, newCancellation, playing: true); - }).ContinueWith(task => { + var task = Task.Run(() => { + RenderRequests(requests, newCancellation, playing: !wait); + }); + task.ContinueWith(task => { if (task.IsFaulted) { Log.Error(task.Exception, "Failed to render."); - DocManager.Inst.ExecuteCmd(new UserMessageNotification(task.Exception.Flatten().Message)); + DocManager.Inst.ExecuteCmd(new ErrorMessageNotification("Failed to render.", task.Exception)); throw task.Exception; } }, CancellationToken.None, TaskContinuationOptions.OnlyOnFaulted, uiScheduler); - var master = new MasterAdapter(new WaveMix(faders)); + if (wait) { + task.Wait(); + } + return Tuple.Create(new WaveMix(faders), faders); + } + + public Tuple> RenderProject(int startTick, TaskScheduler uiScheduler, ref CancellationTokenSource cancellation) { + double startMs = project.timeAxis.TickPosToMsPos(startTick); + var renderMixdownResult = RenderMixdown(startTick, uiScheduler, ref cancellation,wait:false); + var master = new MasterAdapter(renderMixdownResult.Item1); master.SetPosition((int)(startMs * 44100 / 1000) * 2); - return Tuple.Create(master, faders); + return Tuple.Create(master, renderMixdownResult.Item2); } public List RenderTracks(TaskScheduler uiScheduler, ref CancellationTokenSource cancellation) { @@ -122,7 +132,7 @@ public List RenderTracks(TaskScheduler uiScheduler, ref CancellationTok if (trackRequests.Length == 0) { trackMixes.Add(null); } else { - RenderRequests(trackRequests, uiScheduler, newCancellation); + RenderRequests(trackRequests, newCancellation); var mix = new WaveMix(trackRequests.Select(req => req.mix).ToArray()); trackMixes.Add(mix); } @@ -130,7 +140,7 @@ public List RenderTracks(TaskScheduler uiScheduler, ref CancellationTok return trackMixes; } - public void PreRenderProject(TaskScheduler uiScheduler, ref CancellationTokenSource cancellation) { + public void PreRenderProject(ref CancellationTokenSource cancellation) { var newCancellation = new CancellationTokenSource(); var oldCancellation = Interlocked.Exchange(ref cancellation, newCancellation); if (oldCancellation != null) { @@ -143,7 +153,7 @@ public void PreRenderProject(TaskScheduler uiScheduler, ref CancellationTokenSou if (newCancellation.Token.IsCancellationRequested) { return; } - RenderRequests(PrepareRequests(), uiScheduler, newCancellation); + RenderRequests(PrepareRequests(), newCancellation); } catch (Exception e) { if (!newCancellation.IsCancellationRequested) { Log.Error(e, "Failed to pre-render."); @@ -180,7 +190,6 @@ private RenderPartRequest[] PrepareRequests() { private void RenderRequests( RenderPartRequest[] requests, - TaskScheduler uiScheduler, CancellationTokenSource cancellation, bool playing = false) { if (requests.Length == 0 || cancellation.IsCancellationRequested) { @@ -192,13 +201,13 @@ private void RenderRequests( .ToArray(); if (playing) { var orderedTuples = tuples - .Where(tuple => tuple.Item1.endPosition > startTick) - .OrderBy(tuple => tuple.Item1.endPosition) - .Concat(tuples.Where(tuple => tuple.Item1.endPosition <= startTick)) + .Where(tuple => tuple.Item1.end > startTick) + .OrderBy(tuple => tuple.Item1.end) + .Concat(tuples.Where(tuple => tuple.Item1.end <= startTick)) .ToArray(); tuples = orderedTuples; } - var progress = new Progress(uiScheduler, tuples.Sum(t => t.Item1.phones.Length)); + var progress = new Progress(tuples.Sum(t => t.Item1.phones.Length)); foreach (var tuple in tuples) { var phrase = tuple.Item1; var source = tuple.Item2; @@ -211,14 +220,15 @@ private void RenderRequests( source.SetSamples(task.Result.samples); if (request.sources.All(s => s.HasSamples)) { request.part.SetMix(request.mix); - DocManager.Inst.ExecuteCmd(new PartRenderedNotification(request.part)); + new Task(() => DocManager.Inst.ExecuteCmd(new PartRenderedNotification(request.part))) + .Start(DocManager.Inst.MainScheduler); } } progress.Clear(); } public static void ReleaseSourceTemp() { - Classic.VoicebankFiles.ReleaseSourceTemp(); + Classic.VoicebankFiles.Inst.ReleaseSourceTemp(); } } } diff --git a/OpenUtau.Core/Render/RenderPhrase.cs b/OpenUtau.Core/Render/RenderPhrase.cs index b91123cdb..b877d4d29 100644 --- a/OpenUtau.Core/Render/RenderPhrase.cs +++ b/OpenUtau.Core/Render/RenderPhrase.cs @@ -9,60 +9,95 @@ namespace OpenUtau.Core.Render { public class RenderNote { public readonly string lyric; + public readonly int tone; + public readonly int position; public readonly int duration; - public readonly int tone; + public readonly int end; + + public readonly double positionMs; + public readonly double durationMs; + public readonly double endMs; - public RenderNote(UNote note) { + public RenderNote(UProject project, UPart part, UNote note, int phrasePosition) { lyric = note.lyric; - position = note.position; - duration = note.duration; tone = note.tone; + + position = part.position + note.position - phrasePosition; + duration = note.duration; + end = position + duration; + + positionMs = project.timeAxis.TickPosToMsPos(part.position + note.position); + endMs = project.timeAxis.TickPosToMsPos(part.position + note.End); + durationMs = endMs - positionMs; } } public class RenderPhone { + // Relative ticks public readonly int position; public readonly int duration; + public readonly int end; public readonly int leading; + + // Absolute milliseconds + public readonly double positionMs; + public readonly double durationMs; + public readonly double endMs; + public readonly double leadingMs; + public readonly string phoneme; public readonly int tone; public readonly int noteIndex; + public readonly double tempo; // classic args + public readonly double preutterMs; + public readonly double overlapMs; + public readonly double durCorrectionMs; public readonly string resampler; public readonly Tuple[] flags; + public readonly string suffix; public readonly float volume; public readonly float velocity; public readonly float modulation; - public readonly float preutterMs; public readonly Vector2[] envelope; public readonly UOto oto; public readonly ulong hash; - internal RenderPhone(UProject project, UTrack track, UVoicePart part, UNote note, UPhoneme phoneme) { - position = phoneme.position; + internal RenderPhone(UProject project, UTrack track, UVoicePart part, UNote note, UPhoneme phoneme, int phrasePosition) { + position = part.position + phoneme.position - phrasePosition; duration = phoneme.Duration; - leading = (int)Math.Round(project.MillisecondToTick(phoneme.preutter) / 5.0) * 5; // TODO + end = position + duration; + positionMs = phoneme.PositionMs; + durationMs = phoneme.DurationMs; + endMs = phoneme.EndMs; + leadingMs = phoneme.preutter; + leading = Math.Max(0, project.timeAxis.TicksBetweenMsPos(positionMs - leadingMs, positionMs)); + this.phoneme = phoneme.phoneme; tone = note.tone; + tempo = project.timeAxis.GetBpmAtTick(part.position + phoneme.position); + preutterMs = phoneme.preutter; + overlapMs = phoneme.overlap; + durCorrectionMs = phoneme.preutter - phoneme.tailIntrude + phoneme.tailOverlap; + resampler = track.RendererSettings.resampler; int eng = (int)phoneme.GetExpression(project, track, Format.Ustx.ENG).Item1; - if (project.expressions.TryGetValue(Format.Ustx.ENG, out var descriptor)) { - if (eng < 0 || eng >= descriptor.options.Length) { - eng = 0; - } + if (project.expressions.TryGetValue(Format.Ustx.ENG, out var descriptor) + && eng >= 0 && eng < descriptor.options.Length + && !string.IsNullOrEmpty(descriptor.options[eng])) { resampler = descriptor.options[eng]; - if (string.IsNullOrEmpty(resampler)) { - resampler = Util.Preferences.Default.Resampler; - } } flags = phoneme.GetResamplerFlags(project, track); + string voiceColor = phoneme.GetVoiceColor(project, track); + suffix = track.Singer.Subbanks.FirstOrDefault( + subbank => subbank.Color == voiceColor)?.Suffix; volume = phoneme.GetExpression(project, track, Format.Ustx.VOL).Item1 * 0.01f; velocity = phoneme.GetExpression(project, track, Format.Ustx.VEL).Item1 * 0.01f; modulation = phoneme.GetExpression(project, track, Format.Ustx.MOD).Item1 * 0.01f; - preutterMs = phoneme.preutter; + leadingMs = phoneme.preutter; envelope = phoneme.envelope.data.ToArray(); oto = phoneme.oto; @@ -73,20 +108,21 @@ private ulong Hash() { using (var stream = new MemoryStream()) { using (var writer = new BinaryWriter(stream)) { writer.Write(duration); - writer.Write(phoneme ?? ""); + writer.Write(phoneme ?? string.Empty); writer.Write(tone); - writer.Write(resampler ?? ""); + writer.Write(resampler ?? string.Empty); foreach (var flag in flags) { writer.Write(flag.Item1); if (flag.Item2.HasValue) { writer.Write(flag.Item2.Value); } } + writer.Write(suffix ?? string.Empty); writer.Write(volume); writer.Write(velocity); writer.Write(modulation); - writer.Write(preutterMs); + writer.Write(leadingMs); foreach (var point in envelope) { writer.Write(point.X); writer.Write(point.Y); @@ -98,15 +134,22 @@ private ulong Hash() { } public class RenderPhrase { - public readonly string singerId; public readonly USinger singer; + public readonly TimeAxis timeAxis; + public readonly int position; - public readonly int endPosition; - public readonly double tempo; - public readonly double tickToMs; + public readonly int duration; + public readonly int end; + public readonly int leading; + + public readonly double positionMs; + public readonly double durationMs; + public readonly double endMs; + public readonly double leadingMs; + public readonly RenderNote[] notes; public readonly RenderPhone[] phones; - public readonly int pitchStart; + public readonly float[] pitches; public readonly float[] pitchesBeforeDeviation; public readonly float[] dynamics; @@ -115,9 +158,11 @@ public class RenderPhrase { public readonly float[] toneShift; public readonly float[] tension; public readonly float[] voicing; + public readonly ulong preEffectHash; public readonly ulong hash; internal readonly IRenderer renderer; + public readonly string wavtool; internal RenderPhrase(UProject project, UTrack track, UVoicePart part, IEnumerable phonemes) { var uNotes = new List(); @@ -135,24 +180,33 @@ internal RenderPhrase(UProject project, UTrack track, UVoicePart part, IEnumerab uNotes.Add(next); next = next.Next; } + + singer = track.Singer; + renderer = track.RendererSettings.Renderer; + wavtool = track.RendererSettings.wavtool; + timeAxis = project.timeAxis.Clone(); + + position = part.position + phonemes.First().position; + end = part.position + phonemes.Last().End; + duration = end - position; + notes = uNotes - .Select(n => new RenderNote(n)) + .Select(n => new RenderNote(project, part, n, position)) .ToArray(); phones = phonemes - .Select(p => new RenderPhone(project, track, part, p.Parent, p)) + .Select(p => new RenderPhone(project, track, part, p.Parent, p, position)) .ToArray(); - singerId = track.Singer.Id; - singer = track.Singer; - renderer = track.Renderer; - position = part.position; - endPosition = position + phones.Last().position + phones.Last().duration; - tempo = project.bpm; - tickToMs = 60000.0 / project.bpm * project.beatUnit / 4 / project.resolution; + leading = phones.First().leading; + + positionMs = phones.First().positionMs; + endMs = phones.Last().endMs; + durationMs = endMs - positionMs; + leadingMs = phones.First().leadingMs; const int pitchInterval = 5; - pitchStart = phones[0].position - phones[0].leading; - pitches = new float[(phones.Last().position + phones.Last().duration - pitchStart) / pitchInterval + 1]; + int pitchStart = position - part.position - leading; + pitches = new float[(end - part.position - pitchStart) / pitchInterval + 1]; int index = 0; foreach (var note in uNotes) { while (pitchStart + index * pitchInterval < note.End && index < pitches.Length) { @@ -171,19 +225,23 @@ internal RenderPhrase(UProject project, UTrack track, UVoicePart part, IEnumerab } int startIndex = Math.Max(0, (int)Math.Ceiling((float)(note.position - pitchStart) / pitchInterval)); int endIndex = Math.Min(pitches.Length, (note.End - pitchStart) / pitchInterval); + // Use tempo at note start to calculate vibrato period. + float nPeriod = (float)(note.vibrato.period / note.DurationMs); for (int i = startIndex; i < endIndex; ++i) { float nPos = (float)(pitchStart + i * pitchInterval - note.position) / note.duration; - float nPeriod = (float)project.MillisecondToTick(note.vibrato.period) / note.duration; var point = note.vibrato.Evaluate(nPos, nPeriod, note); pitches[i] = point.Y * 100; } } foreach (var note in uNotes) { var pitchPoints = note.pitch.data - .Select(point => new PitchPoint( - project.MillisecondToTick(point.X) + note.position, - point.Y * 10 + note.tone * 100, - point.shape)) + .Select(point => { + double nodePosMs = timeAxis.TickPosToMsPos(part.position + note.position); + return new PitchPoint( + timeAxis.MsPosToTickPos(nodePosMs + point.X) - part.position, + point.Y * 10 + note.tone * 100, + point.shape); + }) .ToList(); if (pitchPoints.Count == 0) { pitchPoints.Add(new PitchPoint(note.position, note.tone * 100)); @@ -232,7 +290,8 @@ internal RenderPhrase(UProject project, UTrack track, UVoicePart part, IEnumerab breathiness = SampleCurve(part, Format.Ustx.BREC, pitchStart, pitches.Length, (x, _) => x); voicing = SampleCurve(part, Format.Ustx.VOIC, pitchStart, pitches.Length, (x, _) => x); - hash = Hash(); + preEffectHash = Hash(false); + hash = Hash(true); } private static float[] SampleCurve(UVoicePart part, string abbr, int start, int length, Func convert) { @@ -249,21 +308,24 @@ private static float[] SampleCurve(UVoicePart part, string abbr, int start, int return result; } - private ulong Hash() { + private ulong Hash(bool postEffect) { using (var stream = new MemoryStream()) { using (var writer = new BinaryWriter(stream)) { - writer.Write(singerId); - writer.Write(tempo); - writer.Write(tickToMs); + writer.Write(singer.Id); + writer.Write(renderer?.ToString() ?? ""); + writer.Write(wavtool ?? ""); + writer.Write(timeAxis.Timestamp); foreach (var phone in phones) { writer.Write(phone.hash); } - foreach (var array in new float[][] { pitches, dynamics, gender, breathiness, toneShift, tension, voicing }) { - if (array == null) { - writer.Write("null"); - } else { - foreach (var v in array) { - writer.Write(v); + if (postEffect) { + foreach (var array in new float[][] { pitches, dynamics, gender, breathiness, toneShift, tension, voicing }) { + if (array == null) { + writer.Write("null"); + } else { + foreach (var v in array) { + writer.Write(v); + } } } } diff --git a/OpenUtau.Core/Render/Renderers.cs b/OpenUtau.Core/Render/Renderers.cs index 4058e90fa..d60af5276 100644 --- a/OpenUtau.Core/Render/Renderers.cs +++ b/OpenUtau.Core/Render/Renderers.cs @@ -1,6 +1,8 @@ using System; +using System.Collections.Concurrent; using System.Collections.Generic; -using System.Text; +using System.Linq; +using OpenUtau.Classic; using OpenUtau.Core.Ustx; namespace OpenUtau.Core.Render { @@ -11,7 +13,7 @@ public static class Renderers { public const string VOGEN = "VOGEN"; public const string DIFFSINGER = "DIFFSINGER"; - static readonly string[] classicRenderers = new[] { CLASSIC, WORLDLINER }; + static readonly string[] classicRenderers = new[] { WORLDLINER, CLASSIC }; static readonly string[] enunuRenderers = new[] { ENUNU }; static readonly string[] vogenRenderers = new[] { VOGEN }; static readonly string[] diffSingerRenderers = new[] { DIFFSINGER }; @@ -38,9 +40,9 @@ public static string GetDefaultRenderer(USingerType singerType) { public static IRenderer CreateRenderer(string renderer) { if (renderer == CLASSIC) { - return new Classic.ClassicRenderer(); - } else if (renderer == WORLDLINER || renderer == "WORLDLINER") { - return new Classic.WorldlineRenderer(); + return new ClassicRenderer(); + } else if (renderer?.StartsWith(WORLDLINER.Substring(0, 9)) ?? false) { + return new WorldlineRenderer(); } else if (renderer == ENUNU) { return new Enunu.EnunuRenderer(); } else if (renderer == VOGEN) { @@ -50,5 +52,54 @@ public static IRenderer CreateRenderer(string renderer) { } return null; } + + readonly static ConcurrentDictionary cacheLockMap + = new ConcurrentDictionary(); + + public static object GetCacheLock(string key) { + return cacheLockMap.GetOrAdd(key, _ => new object()); + } + + public static void ApplyDynamics(RenderPhrase phrase, RenderResult result) { + const int interval = 5; + if (phrase.dynamics == null) { + return; + } + int startTick = phrase.position - phrase.leading; + double startMs = result.positionMs - result.leadingMs; + int startSample = 0; + for (int i = 0; i < phrase.dynamics.Length; ++i) { + int endTick = startTick + interval; + double endMs = phrase.timeAxis.TickPosToMsPos(endTick); + int endSample = Math.Min((int)((endMs - startMs) / 1000 * 44100), result.samples.Length); + float a = phrase.dynamics[i]; + float b = (i + 1) == phrase.dynamics.Length ? phrase.dynamics[i] : phrase.dynamics[i + 1]; + for (int j = startSample; j < endSample; ++j) { + result.samples[j] *= a + (b - a) * (j - startSample) / (endSample - startSample); + } + startTick = endTick; + startSample = endSample; + } + } + + public static IReadOnlyList GetSupportedResamplers(IWavtool wavtool) { + if (wavtool is SharpWavtool) { + return ToolsManager.Inst.Resamplers; + } else { + return ToolsManager.Inst.Resamplers + .Where(r => !(r is WorldlineResampler)) + .ToArray(); + } + } + + public static IReadOnlyList GetSupportedWavtools(IResampler resampler) { + if (resampler is WorldlineResampler) { + return ToolsManager.Inst.Wavtools + .Where(r => r is SharpWavtool) + .ToArray(); + } else { + return ToolsManager.Inst.Wavtools; + } + } } } diff --git a/OpenUtau.Core/Render/Worldline.cs b/OpenUtau.Core/Render/Worldline.cs index 7d7e6a593..c31a9a6fd 100644 --- a/OpenUtau.Core/Render/Worldline.cs +++ b/OpenUtau.Core/Render/Worldline.cs @@ -1,4 +1,5 @@ using System; +using System.IO; using System.Linq; using System.Runtime.InteropServices; using NAudio.Wave; @@ -7,7 +8,26 @@ using Serilog; namespace OpenUtau.Core.Render { - static class Worldline { + public static class Worldline { + [DllImport("worldline", CallingConvention = CallingConvention.Cdecl)] + static extern int F0( + float[] samples, int length, int fs, double framePeriod, int method, ref IntPtr f0); + + public static double[] F0(float[] samples, int fs, double framePeriod, int method) { + try { + unsafe { + IntPtr buffer = IntPtr.Zero; + int size = F0(samples, samples.Length, fs, framePeriod, method, ref buffer); + var data = new double[size]; + Marshal.Copy(buffer, data, 0, size); + return data; + } + } catch (Exception e) { + Log.Error(e, "Failed to calculate f0."); + return null; + } + } + [DllImport("worldline", CallingConvention = CallingConvention.Cdecl)] static extern int DecodeMgc( int f0Length, double[] mgc, int mgcSize, @@ -122,6 +142,8 @@ struct SynthRequest { public int sample_fs; public int sample_length; public IntPtr sample; + public int frq_length; + public IntPtr frq; public int tone; public double con_vel; public double offset; @@ -154,18 +176,34 @@ public SynthRequestWrapper(ResamplerItem item) { sample = Wave.GetSamples(waveStream.ToSampleProvider().ToMono(1, 0)) .Select(f => (double)f).ToArray(); } + string frqFile = VoicebankFiles.GetFrqFile(item.inputFile); + GCHandle? pinnedFrq = null; + byte[] frq = null; + if (File.Exists(frqFile)) { + using (var frqStream = File.OpenRead(frqFile)) { + using (var memStream = new MemoryStream()) { + frqStream.CopyTo(memStream); + frq = memStream.ToArray(); + pinnedFrq = GCHandle.Alloc(frq, GCHandleType.Pinned); + } + } + } var pinnedSample = GCHandle.Alloc(sample, GCHandleType.Pinned); var pinnedPitchBend = GCHandle.Alloc(item.pitches, GCHandleType.Pinned); - handles = new[] { pinnedSample, pinnedPitchBend }; + handles = pinnedFrq == null + ? new[] { pinnedSample, pinnedPitchBend } + : new[] { pinnedSample, pinnedPitchBend, pinnedFrq.Value }; request = new SynthRequest { sample_fs = fs, sample_length = sample.Length, sample = pinnedSample.AddrOfPinnedObject(), + frq_length = frq?.Length ?? 0, + frq = pinnedFrq?.AddrOfPinnedObject() ?? IntPtr.Zero, tone = item.tone, con_vel = item.velocity, offset = item.offset, - required_length = item.requiredLength, + required_length = item.durRequired, consonant = item.consonant, cut_off = item.cutoff, volume = item.volume, diff --git a/OpenUtau.Core/SingerManager.cs b/OpenUtau.Core/SingerManager.cs index c4905616c..db517d67b 100644 --- a/OpenUtau.Core/SingerManager.cs +++ b/OpenUtau.Core/SingerManager.cs @@ -80,7 +80,9 @@ private void Refresh() { } foreach (var singer in singers) { Log.Information($"Reloading {singer.Id}"); - DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, $"Reloading {singer.Id}")); + new Task(() => { + DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, $"Reloading {singer.Id}")); + }).Start(DocManager.Inst.MainScheduler); int retries = 5; while (retries > 0) { retries--; @@ -97,10 +99,10 @@ private void Refresh() { } } Log.Information($"Reloaded {singer.Id}"); - DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, $"Reloaded {singer.Id}")); - } - if (singers.Count > 0) { - DocManager.Inst.ExecuteCmd(new SingersRefreshedNotification()); + new Task(() => { + DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, $"Reloaded {singer.Id}")); + DocManager.Inst.ExecuteCmd(new OtoChangedNotification(external: true)); + }).Start(DocManager.Inst.MainScheduler); } } } diff --git a/OpenUtau.Core/Ustx/UNote.cs b/OpenUtau.Core/Ustx/UNote.cs index c12f58923..d64d246a0 100644 --- a/OpenUtau.Core/Ustx/UNote.cs +++ b/OpenUtau.Core/Ustx/UNote.cs @@ -18,12 +18,13 @@ public class UNote : IComparable { public UPitch pitch; public UVibrato vibrato; - [Obsolete("Only used for upgrading ustx v0.1")] - public Dictionary expressions; public List phonemeExpressions = new List(); public List phonemeOverrides = new List(); [YamlIgnore] public int End => position + duration; + [YamlIgnore] public double PositionMs { get; set; } + [YamlIgnore] public double DurationMs => EndMs - PositionMs; + [YamlIgnore] public double EndMs { get; set; } [YamlIgnore] public bool Selected { get; set; } = false; [YamlIgnore] public UNote Prev { get; set; } [YamlIgnore] public UNote Next { get; set; } @@ -75,6 +76,8 @@ public void BeforeSave(UProject project, UTrack track, UVoicePart part) { public void Validate(ValidateOptions options, UProject project, UTrack track, UVoicePart part) { duration = Math.Max(10, duration); + PositionMs = project.timeAxis.TickPosToMsPos(part.position + position); + EndMs = project.timeAxis.TickPosToMsPos(part.position + End); if (Prev != null && Prev.End > position) { Error = true; OverlapError = true; @@ -95,7 +98,7 @@ public void Validate(ValidateOptions options, UProject project, UTrack track, UV } static List attributesBuffer = new List(); - internal Phonemizer.Note ToPhonemizerNote(UTrack track) { + internal Phonemizer.Note ToPhonemizerNote(UTrack track, UPart part) { string lrc = lyric; string phoneticHint = null; lrc = phoneticHintPattern.Replace(lrc, match => { @@ -137,7 +140,7 @@ internal Phonemizer.Note ToPhonemizerNote(UTrack track) { lyric = lrc.Trim(), phoneticHint = phoneticHint?.Trim(), tone = tone, - position = position, + position = part.position + position, duration = duration, phonemeAttributes = attributes, }; @@ -303,8 +306,8 @@ public Vector2 GetToggle(UNote note) { return new Vector2(note.position + note.duration, note.tone - 1.5f); } - public void GetPeriodStartEnd(UNote note, UProject project, out Vector2 start, out Vector2 end) { - float periodTick = project.MillisecondToTick(period); + public void GetPeriodStartEnd(UProject project, UNote note, out Vector2 start, out Vector2 end) { + float periodTick = project.timeAxis.TicksBetweenMsPos(note.PositionMs, note.PositionMs + period); float shiftTick = periodTick * shift / 100f; start = new Vector2( note.position + note.duration * NormalizedStart + shiftTick, @@ -379,24 +382,24 @@ public UPitch Clone() { return result; } - public double? Sample(UProject project, UNote note, double tick) { + public double? Sample(UProject project, UPart part, UNote note, double tick) { for (int i = 0; i < note.pitch.data.Count - 1; i++) { var p1 = note.pitch.data[i]; - int t1 = note.position + project.MillisecondToTick(p1.X); + int t1 = project.timeAxis.MsPosToTickPos(note.PositionMs + p1.X) - part.position; var p2 = note.pitch.data[i + 1]; - int t2 = note.position + project.MillisecondToTick(p2.X); + int t2 = project.timeAxis.MsPosToTickPos(note.PositionMs + p2.X) - part.position; if (t1 <= tick && tick <= t2) { return MusicMath.InterpolateShape( t1, t2, p1.Y, p2.Y, tick, p1.shape) * 10; } } var pFirst = note.pitch.data.First(); - var tFirst = note.position + project.MillisecondToTick(pFirst.X); + var tFirst = project.timeAxis.MsPosToTickPos(note.PositionMs + pFirst.X) - part.position; if (tick < tFirst) { return pFirst.Y * 10; } var pLast = note.pitch.data.Last(); - var tLast = note.position + project.MillisecondToTick(pLast.X); + var tLast = project.timeAxis.MsPosToTickPos(note.PositionMs + pLast.X) - part.position; if (tick > tLast) { return pLast.Y * 10; } diff --git a/OpenUtau.Core/Ustx/UPart.cs b/OpenUtau.Core/Ustx/UPart.cs index 8b1856fd8..4b13d40db 100644 --- a/OpenUtau.Core/Ustx/UPart.cs +++ b/OpenUtau.Core/Ustx/UPart.cs @@ -8,6 +8,9 @@ using OpenUtau.Core.Render; using OpenUtau.Api; using OpenUtau.Core.SignalChain; +using NWaves.Signals; +using NWaves.Operations; +using System.Diagnostics; namespace OpenUtau.Core.Ustx { public abstract class UPart { @@ -18,7 +21,7 @@ public abstract class UPart { [YamlIgnore] public virtual string DisplayName { get; } [YamlIgnore] public virtual int Duration { set; get; } - [YamlIgnore] public int EndTick { get { return position + Duration; } } + [YamlIgnore] public int End { get { return position + Duration; } } public UPart() { } @@ -54,14 +57,12 @@ public class UVoicePart : UPart { public override string DisplayName => name; public override int GetMinDurTick(UProject project) { - return notes.Count > 0 - ? Math.Max(project.BarTicks, notes.Last().End) - : project.BarTicks; - } - - public int GetBarDurTick(UProject project) { - int barTicks = project.BarTicks; - return (int)Math.Ceiling((double)GetMinDurTick(project) / barTicks) * barTicks; + int endTicks = position + (notes.LastOrDefault()?.End ?? 1); + project.timeAxis.TickPosToBarBeat(endTicks, out int bar, out int beat, out int remainingTicks); + if (remainingTicks > 0) { + beat++; + } + return project.timeAxis.BarBeatToTickPos(bar, beat) - position; } public override void BeforeSave(UProject project, UTrack track) { @@ -74,7 +75,7 @@ public override void AfterLoad(UProject project, UTrack track) { foreach (var note in notes) { note.AfterLoad(project, track, this); } - Duration = GetBarDurTick(project); + Duration = GetMinDurTick(project); foreach (var curve in curves) { if (project.expressions.TryGetValue(curve.abbr, out var descriptor)) { curve.descriptor = descriptor; @@ -119,19 +120,18 @@ public override void Validate(ValidateOptions options, UProject project, UTrack group.Add(next); next = next.Next; } - groups.Add(group.Select(e => e.ToPhonemizerNote(track)).ToArray()); + groups.Add(group.Select(e => e.ToPhonemizerNote(track, this)).ToArray()); noteIndexes.Add(noteIndex); noteIndex++; } var request = new PhonemizerRequest() { + singer = track.Singer, part = this, timestamp = DateTime.Now.ToFileTimeUtc(), noteIndexes = noteIndexes.ToArray(), notes = groups.ToArray(), phonemizer = track.Phonemizer, - bpm = project.bpm, - beatUnit = project.beatUnit, - resolution = project.resolution, + timeAxis = project.timeAxis.Clone(), }; notesTimestamp = request.timestamp; DocManager.Inst.PhonemizerRunner?.Push(request); @@ -139,18 +139,20 @@ public override void Validate(ValidateOptions options, UProject project, UTrack lock (this) { if (phonemizerResponse != null) { var resp = phonemizerResponse; - phonemes.Clear(); - for (int i = 0; i < resp.phonemes.Length; ++i) { - for (int j = 0; j < resp.phonemes[i].Length; ++j) { - phonemes.Add(new UPhoneme() { - rawPosition = resp.phonemes[i][j].position, - rawPhoneme = resp.phonemes[i][j].phoneme, - index = j, - Parent = notes.ElementAtOrDefault(resp.noteIndexes[i]), - }); + if (resp.timestamp == notesTimestamp) { + phonemes.Clear(); + for (int i = 0; i < resp.phonemes.Length; ++i) { + for (int j = 0; j < resp.phonemes[i].Length; ++j) { + phonemes.Add(new UPhoneme() { + rawPosition = resp.phonemes[i][j].position - position, + rawPhoneme = resp.phonemes[i][j].phoneme, + index = j, + Parent = notes.ElementAtOrDefault(resp.noteIndexes[i]), + }); + } } + phonemesTimestamp = resp.timestamp; } - phonemesTimestamp = resp.timestamp; phonemizerResponse = null; } } @@ -257,41 +259,47 @@ public string FilePath { [YamlMember(Order = 100)] public string relativePath; [YamlMember(Order = 101)] public double fileDurationMs; [YamlMember(Order = 102)] public double skipMs; - [YamlMember(Order = 103)] public double TrimMs; + [YamlMember(Order = 103)] public double trimMs; [YamlIgnore] public override string DisplayName => Missing ? $"[Missing] {name}" : name; [YamlIgnore] public override int Duration { - get => fileDurTick; + get => duration; set { } } [YamlIgnore] bool Missing { get; set; } - [YamlIgnore] public float[] Peaks { get; set; } [YamlIgnore] public float[] Samples { get; private set; } + [YamlIgnore] public Task Peaks { get; set; } [YamlIgnore] public int channels; - [YamlIgnore] public int fileDurTick; + [YamlIgnore] public int sampleRate; + [YamlIgnore] public int peaksSampleRate; - private TimeSpan duration; + private int duration; - public override int GetMinDurTick(UProject project) { return project.MillisecondToTick(duration.TotalMilliseconds); } + public override int GetMinDurTick(UProject project) { + double posMs = project.timeAxis.TickPosToMsPos(position); + int end = project.timeAxis.MsPosToTickPos(posMs + fileDurationMs); + return end - position; + } public override UPart Clone() { - return new UWavePart() { + var part = new UWavePart() { _filePath = _filePath, - Peaks = Peaks, - channels = channels, - fileDurTick = fileDurTick, + relativePath = relativePath, + skipMs = skipMs, + trimMs = trimMs, }; + part.Load(DocManager.Inst.Project); + return part; } private readonly object loadLockObj = new object(); public void Load(UProject project) { try { using (var waveStream = Format.Wave.OpenFile(FilePath)) { - duration = waveStream.TotalTime; - fileDurationMs = duration.TotalMilliseconds; + fileDurationMs = waveStream.TotalTime.TotalMilliseconds; channels = waveStream.WaveFormat.Channels; } } catch (Exception e) { @@ -300,35 +308,62 @@ public void Load(UProject project) { if (fileDurationMs == 0) { fileDurationMs = 10000; } - duration = TimeSpan.FromMilliseconds(fileDurationMs); } - fileDurTick = project.MillisecondToTick(fileDurationMs); lock (loadLockObj) { if (Samples != null || Missing) { + Peaks = Task.FromResult(null); return; } } - Task.Run(() => { + UpdateDuration(project); + Peaks = Task.Run(() => { + var stopwatch = Stopwatch.StartNew(); using (var waveStream = Format.Wave.OpenFile(FilePath)) { var samples = Format.Wave.GetStereoSamples(waveStream); lock (loadLockObj) { + sampleRate = 44100; // GetStereoSamples resamples waveStream. Samples = samples; } } + stopwatch.Stop(); + Log.Information($"Loaded {FilePath} {stopwatch.Elapsed}"); + + stopwatch.Restart(); + float[][] channelSamples = new float[channels][]; + int length = Samples.Length / channels; + for (int i = 0; i < channels; ++i) { + channelSamples[i] = new float[length]; + } + int pos = 0; + for (int i = 0; i < length; ++i) { + for (int j = 0; j < channels; ++j) { + channelSamples[j][i] = Samples[pos++]; + } + } + DiscreteSignal[] peaks = new DiscreteSignal[channels]; + var resampler = new Resampler(); + for (int i = 0; i < channels; ++i) { + peaks[i] = new DiscreteSignal(sampleRate, channelSamples[i], false); + peaks[i] = resampler.Decimate(peaks[i], 10); + for (int j = 0; j < peaks[i].Samples.Length; ++j) { + peaks[i].Samples[j] = Math.Clamp(peaks[i].Samples[j], -1, 1); + } + } + peaksSampleRate = sampleRate / 10; + stopwatch.Stop(); + Log.Information($"Built peaks {FilePath} {stopwatch.Elapsed}"); + return peaks; }); } - public void BuildPeaks(IProgress progress) { - using (var waveStream = Format.Wave.OpenFile(FilePath)) { - var peaks = Format.Wave.BuildPeaks(waveStream, progress); - lock (loadLockObj) { - Peaks = peaks; - } - } + public override void Validate(ValidateOptions options, UProject project, UTrack track) { + UpdateDuration(project); } - public override void Validate(ValidateOptions options, UProject project, UTrack track) { - fileDurTick = project.MillisecondToTick(duration.TotalMilliseconds); + private void UpdateDuration(UProject project) { + double posMs = project.timeAxis.TickPosToMsPos(position); + int end = project.timeAxis.MsPosToTickPos(posMs + fileDurationMs); + duration = end - position; } public override void BeforeSave(UProject project, UTrack track) { diff --git a/OpenUtau.Core/Ustx/UPhoneme.cs b/OpenUtau.Core/Ustx/UPhoneme.cs index fd1c224a3..7b6d5defe 100644 --- a/OpenUtau.Core/Ustx/UPhoneme.cs +++ b/OpenUtau.Core/Ustx/UPhoneme.cs @@ -15,19 +15,22 @@ public class UPhoneme { public string phonemeMapped { get; private set; } public UEnvelope envelope { get; private set; } = new UEnvelope(); public UOto oto { get; private set; } - public float preutter { get; private set; } - public float overlap { get; private set; } - public float autoPreutter { get; private set; } - public float autoOverlap { get; private set; } + public double preutter { get; private set; } + public double overlap { get; private set; } + public double autoPreutter { get; private set; } + public double autoOverlap { get; private set; } public bool overlapped { get; private set; } - public float tailIntrude { get; private set; } - public float tailOverlap { get; private set; } - public float? preutterDelta { get; set; } - public float? overlapDelta { get; set; } + public double tailIntrude { get; private set; } + public double tailOverlap { get; private set; } + public double? preutterDelta { get; set; } + public double? overlapDelta { get; set; } public UNote Parent { get; set; } public int Duration { get; private set; } public int End { get { return position + Duration; } } + public double PositionMs { get; private set; } + public double DurationMs => EndMs - PositionMs; + public double EndMs { get; private set; } public UPhoneme Prev { get; set; } public UPhoneme Next { get; set; } public bool Error { get; set; } = false; @@ -43,13 +46,13 @@ public UPhoneme Clone() { public void Validate(ValidateOptions options, UProject project, UTrack track, UVoicePart part, UNote note) { Error = note.Error; - ValidateDuration(note); + ValidateDuration(project, part); ValidateOto(track, note); - ValidateOverlap(project, track, note); + ValidateOverlap(project, track, part, note); ValidateEnvelope(project, track, note); } - void ValidateDuration(UNote note) { + void ValidateDuration(UProject project, UVoicePart part) { if (Error) { return; } @@ -61,6 +64,8 @@ void ValidateDuration(UNote note) { } Duration = Math.Min(Duration, Next.position - position); } + PositionMs = project.timeAxis.TickPosToMsPos(part.position + position); + EndMs = project.timeAxis.TickPosToMsPos(part.position + End); Error = Duration <= 0; } @@ -74,7 +79,7 @@ void ValidateOto(UTrack track, UNote note) { return; } // Load oto. - if (track.Singer.TryGetMappedOto(phoneme, note.tone, out var oto)) { + if (track.Singer.TryGetOto(phoneme, out var oto)) { this.oto = oto; Error = false; phonemeMapped = oto.Alias; @@ -85,22 +90,21 @@ void ValidateOto(UTrack track, UNote note) { } } - void ValidateOverlap(UProject project, UTrack track, UNote note) { + void ValidateOverlap(UProject project, UTrack track, UPart part, UNote note) { if (Error) { return; } - float consonantStretch = (float)Math.Pow(2f, 1.0f - GetExpression(project, track, Format.Ustx.VEL).Item1 / 100f); - autoOverlap = (float)oto.Overlap * consonantStretch; - autoPreutter = (float)oto.Preutter * consonantStretch; + double consonantStretch = Math.Pow(2f, 1.0f - GetExpression(project, track, Format.Ustx.VEL).Item1 / 100f); + autoOverlap = oto.Overlap * consonantStretch; + autoPreutter = oto.Preutter * consonantStretch; overlapped = false; tailIntrude = 0; tailOverlap = 0; if (Prev != null) { - int gapTick = position - Prev.End; - float gapMs = (float)project.TickToMillisecond(gapTick); - float prevDur = (float)project.TickToMillisecond(Prev.Duration); - float maxPreutter = autoPreutter; + double gapMs = PositionMs - Prev.EndMs; + double prevDur = Prev.DurationMs; + double maxPreutter = autoPreutter; if (gapMs <= 0) { overlapped = true; if (autoPreutter - autoOverlap > prevDur * 0.5f) { @@ -110,12 +114,12 @@ void ValidateOverlap(UProject project, UTrack track, UNote note) { maxPreutter = gapMs; } if (autoPreutter > maxPreutter) { - float ratio = maxPreutter / autoPreutter; + double ratio = maxPreutter / autoPreutter; autoPreutter = maxPreutter; autoOverlap *= ratio; } if (autoPreutter > prevDur * 0.9f && overlapped) { - float delta = autoPreutter - prevDur * 0.9f; + double delta = autoPreutter - prevDur * 0.9f; autoPreutter -= delta; autoOverlap -= delta; } @@ -138,13 +142,13 @@ void ValidateEnvelope(UProject project, UTrack track, UNote note) { var dec = GetExpression(project, track, Format.Ustx.DEC).Item1; Vector2 p0, p1, p2, p3, p4; - p0.X = -preutter; - p1.X = p0.X + (!overlapped && overlapDelta == null ? 5f : Math.Max(overlap, 5f)); + p0.X = (float)-preutter; + p1.X = (float)(p0.X + (!overlapped && overlapDelta == null ? 5f : Math.Max(overlap, 5f))); p2.X = Math.Max(0f, p1.X); - p3.X = (float)project.TickToMillisecond(Duration) - (float)tailIntrude; - p4.X = p3.X + (float)tailOverlap; + p3.X = (float)(DurationMs - tailIntrude); + p4.X = (float)(p3.X + tailOverlap); if (p3.X == p4.X) { - p3.X = Math.Max(p2.X, p3.X - 25f); + p3.X = Math.Max(p2.X, p3.X - 35f); } p0.Y = 0f; @@ -213,6 +217,17 @@ public void SetExpression(UProject project, UTrack track, string abbr, float val } return flags.ToArray(); } + + public string GetVoiceColor(UProject project, UTrack track) { + if (track.VoiceColorExp == null) { + return null; + } + int index = (int)GetExpression(project, track, Format.Ustx.CLR).Item1; + if (index < 0 || index >= track.VoiceColorExp.options.Length) { + return null; + } + return track.VoiceColorExp.options[index]; + } } public class UEnvelope { diff --git a/OpenUtau.Core/Ustx/UProject.cs b/OpenUtau.Core/Ustx/UProject.cs index 3597abd37..60fa65eb6 100644 --- a/OpenUtau.Core/Ustx/UProject.cs +++ b/OpenUtau.Core/Ustx/UProject.cs @@ -5,6 +5,32 @@ using YamlDotNet.Serialization; namespace OpenUtau.Core.Ustx { + public class UTempo { + public int position; + public double bpm; + + public UTempo() { } + public UTempo(int position, double bpm) { + this.position = position; + this.bpm = bpm; + } + public override string ToString() => $"{bpm}@{position}"; + } + + public class UTimeSignature { + public int barPosition; + public int beatPerBar; + public int beatUnit; + + public UTimeSignature() { } + public UTimeSignature(int barPosition, int beatPerBar, int beatUnit) { + this.barPosition = barPosition; + this.beatPerBar = beatPerBar; + this.beatUnit = beatUnit; + } + public override string ToString() => $"{beatPerBar}/{beatUnit}@bar{barPosition}"; + } + public class UProject { public string name = "New Project"; public string comment = string.Empty; @@ -12,15 +38,17 @@ public class UProject { public string cacheDir = "UCache"; [YamlMember(SerializeAs = typeof(string))] public Version ustxVersion; - - public double bpm = 120; - public int beatPerBar = 4; - public int beatUnit = 4; public int resolution = 480; + [Obsolete("Since ustx v0.6")] public double bpm = 120; + [Obsolete("Since ustx v0.6")] public int beatPerBar = 4; + [Obsolete("Since ustx v0.6")] public int beatUnit = 4; + public Dictionary expressions = new Dictionary(); - public List tracks = new List(); - [YamlIgnore] public List parts = new List(); + public List timeSignatures; + public List tempos; + public List tracks; + [YamlIgnore] public List parts; /// /// Transient field used for serialization. @@ -33,8 +61,17 @@ public class UProject { [YamlIgnore] public string FilePath { get; set; } [YamlIgnore] public bool Saved { get; set; } = false; - [YamlIgnore] public int EndTick => parts.Count == 0 ? 0 : parts.Max(p => p.EndTick); - [YamlIgnore] public int BarTicks => resolution * 4 * beatPerBar / beatUnit; + [YamlIgnore] public int EndTick => parts.Count == 0 ? 0 : parts.Max(p => p.End); + + [YamlIgnore] public readonly TimeAxis timeAxis = new TimeAxis(); + + public UProject() { + timeSignatures = new List { new UTimeSignature(0, 4, 4) }; + tempos = new List { new UTempo(0, 120) }; + tracks = new List(); + parts = new List(); + timeAxis.BuildSegments(this); + } public void RegisterExpression(UExpressionDescriptor descriptor) { if (!expressions.ContainsKey(descriptor.abbr)) { @@ -59,14 +96,6 @@ public UNote CreateNote(int noteNum, int posTick, int durTick) { return note; } - public int MillisecondToTick(double ms) { - return MusicMath.MillisecondToTick(ms, bpm, beatUnit, resolution); - } - - public double TickToMillisecond(double tick) { - return MusicMath.TickToMillisecond(tick, bpm, beatUnit, resolution); - } - public void BeforeSave() { foreach (var track in tracks) { track.BeforeSave(); @@ -121,6 +150,11 @@ public void AfterLoad() { } public void Validate(ValidateOptions options) { + if (!options.SkipTiming) { + timeSignatures.Sort((lhs, rhs) => lhs.barPosition.CompareTo(rhs.barPosition)); + tempos.Sort((lhs, rhs) => lhs.position.CompareTo(rhs.position)); + timeAxis.BuildSegments(this); + } if (options.Part == null) { foreach (var track in tracks) { track.Validate(options, this); diff --git a/OpenUtau.Core/Ustx/USinger.cs b/OpenUtau.Core/Ustx/USinger.cs index db45f86e3..93e2220ee 100644 --- a/OpenUtau.Core/Ustx/USinger.cs +++ b/OpenUtau.Core/Ustx/USinger.cs @@ -1,30 +1,71 @@ using System; using System.Collections.Generic; +using System.ComponentModel; using System.IO; using System.Text; using OpenUtau.Classic; namespace OpenUtau.Core.Ustx { - public class UOto { - public string Alias { get; set; } - public string Phonetic { get; set; } - public string Set { get; set; } - public string Color { get; set; } - public string Prefix { get; set; } - public string Suffix { get; set; } - public SortedSet ToneSet { get; set; } - public string File { get; set; } - public string DisplayFile { get; set; } - public double Offset { get; set; } - public double Consonant { get; set; } - public double Cutoff { get; set; } - public double Preutter { get; set; } - public double Overlap { get; set; } - public List SearchTerms { private set; get; } + public class UOto : INotifyPropertyChanged { + public string Alias { get; private set; } + public string Phonetic { get; private set; } + public string Set { get; private set; } + public string Color { get; private set; } + public string Prefix { get; private set; } + public string Suffix { get; private set; } + public SortedSet ToneSet { get; private set; } + public string File { get; private set; } + public string DisplayFile { get; private set; } + public double Offset { + get => offset; + set { + offset = Math.Max(0, Math.Round(value, 3)); + NotifyPropertyChanged(nameof(Offset)); + } + } + public double Consonant { + get => consonant; + set { + consonant = Math.Max(0, Math.Round(value, 3)); + NotifyPropertyChanged(nameof(Consonant)); + } + } + public double Cutoff { + get => cutoff; + set { + cutoff = Math.Round(value, 3); + NotifyPropertyChanged(nameof(Cutoff)); + } + } + public double Preutter { + get => preutter; + set { + preutter = Math.Max(0, Math.Round(value, 3)); + NotifyPropertyChanged(nameof(Preutter)); + } + } + public double Overlap { + get => overlap; + set { + overlap = Math.Round(value, 3); + NotifyPropertyChanged(nameof(Overlap)); + } + } + public List SearchTerms { get; private set; } + + public event PropertyChangedEventHandler PropertyChanged; + + private Oto oto; + private double offset; + private double consonant; + private double cutoff; + private double preutter; + private double overlap; public UOto() { } public UOto(Oto oto, UOtoSet set, USubbank subbank) { + this.oto = oto; Alias = oto.Alias; Phonetic = oto.Phonetic; Set = set.Name; @@ -43,6 +84,23 @@ public UOto(Oto oto, UOtoSet set, USubbank subbank) { SearchTerms = new List(); } + public static UOto OfDummy(string alias) => new UOto() { + Alias = alias, + Phonetic = alias, + }; + + public void WriteBack() { + oto.Offset = offset; + oto.Consonant = consonant; + oto.Cutoff = cutoff; + oto.Preutter = preutter; + oto.Overlap = overlap; + } + + private void NotifyPropertyChanged(string propertyName = "") { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + public override string ToString() => Alias; } @@ -120,7 +178,9 @@ private static void AddToneRange(string range, SortedSet set) { [Flags] public enum USingerType { Classic = 0x1, Enunu = 0x2, Vogen = 0x4, DiffSinger=0x5 } - public class USinger { + public class USinger : INotifyPropertyChanged { + protected static readonly List emptyOtos = new List(); + public virtual string Id { get; } public virtual string Name => name; public virtual USingerType SingerType { get; } @@ -139,13 +199,23 @@ public class USinger { public virtual string DefaultPhonemizer { get; } public virtual Encoding TextFileEncoding => Encoding.UTF8; public virtual IList Subbanks { get; } - public virtual Dictionary Otos { get; } + public virtual IList Otos => emptyOtos; public bool Found => found; public bool Loaded => found && loaded; + public bool OtoDirty { + get => otoDirty; + set { + otoDirty = value; + NotifyPropertyChanged(nameof(OtoDirty)); + } + } + + public event PropertyChangedEventHandler PropertyChanged; protected bool found; protected bool loaded; + protected bool otoDirty; private string name; @@ -153,16 +223,18 @@ public class USinger { public virtual void EnsureLoaded() { } public virtual void Reload() { } - public virtual bool TryGetMappedOto(string phoneme, int tone, out UOto oto) { + public virtual void Save() { } + public virtual bool TryGetOto(string phoneme, out UOto oto) { oto = default; return false; } + public virtual bool TryGetMappedOto(string phoneme, int tone, out UOto oto) { + return TryGetOto(phoneme, out oto); + } public virtual bool TryGetMappedOto(string phoneme, int tone, string color, out UOto oto) { - oto = default; - return false; + return TryGetOto(phoneme, out oto); } - private static readonly List emptyOtos = new List(); public virtual IEnumerable GetSuggestions(string text) { return emptyOtos; } public virtual byte[] LoadPortrait() => null; public override string ToString() => Name; @@ -174,5 +246,9 @@ public static USinger CreateMissing(string name) { name = name, }; } + + private void NotifyPropertyChanged(string propertyName = "") { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } } } diff --git a/OpenUtau.Core/Ustx/UTrack.cs b/OpenUtau.Core/Ustx/UTrack.cs index dedddf82c..9004d9579 100644 --- a/OpenUtau.Core/Ustx/UTrack.cs +++ b/OpenUtau.Core/Ustx/UTrack.cs @@ -6,10 +6,69 @@ using YamlDotNet.Serialization; namespace OpenUtau.Core.Ustx { + public class URenderSettings { + public string renderer; + public string resampler; + public string wavtool; + + [YamlIgnore] public IRenderer Renderer { get; set; } + [YamlIgnore] public Classic.IResampler Resampler { get; set; } + [YamlIgnore] public Classic.IWavtool Wavtool { get; set; } + + public void Validate(UTrack track) { + if (track.Singer == null || !track.Singer.Found) { + renderer = null; + Renderer = null; + resampler = null; + Resampler = null; + wavtool = null; + Wavtool = null; + return; + } + if (string.IsNullOrEmpty(renderer)) { + renderer = Renderers.GetDefaultRenderer(track.Singer.SingerType); + } + if (renderer != Renderer?.ToString()) { + Renderer = Renderers.CreateRenderer(renderer); + } + if (renderer == Renderers.CLASSIC) { + if (string.IsNullOrEmpty(resampler)) { + if (!Util.Preferences.Default.DefaultResamplers.TryGetValue(renderer, out resampler)) { + resampler = null; + } + } + if (string.IsNullOrEmpty(resampler) || resampler != Resampler?.ToString()) { + Resampler = Classic.ToolsManager.Inst.GetResampler(resampler); + resampler = Resampler.ToString(); + } + if (string.IsNullOrEmpty(wavtool)) { + if (!Util.Preferences.Default.DefaultWavtools.TryGetValue(renderer, out wavtool)) { + wavtool = null; + } + } + if (string.IsNullOrEmpty(wavtool) || wavtool != Wavtool?.ToString()) { + Wavtool = Classic.ToolsManager.Inst.GetWavtool(wavtool); + wavtool = Wavtool.ToString(); + } + } else { + wavtool = null; + Wavtool = null; + } + } + + public URenderSettings Clone() { + return new URenderSettings { + renderer = renderer, + resampler = resampler, + wavtool = wavtool, + }; + } + } + public class UTrack { public string singer; public string phonemizer; - public string renderer; + public URenderSettings RendererSettings { get; set; } = new URenderSettings(); private USinger singer_; @@ -19,14 +78,12 @@ public USinger Singer { set { if (singer_ != value) { singer_ = value; - Phonemizer.SetSinger(value); VoiceColorExp = null; } } } [YamlIgnore] public Phonemizer Phonemizer { get; set; } = PhonemizerFactory.Get(typeof(DefaultPhonemizer)).Create(); [YamlIgnore] public string PhonemizerTag => Phonemizer.Tag; - [YamlIgnore] public IRenderer Renderer { get; set; } [YamlIgnore] public string SingerName => Singer != null ? Singer.DisplayName : "[No Singer]"; [YamlIgnore] public int TrackNo { set; get; } @@ -58,6 +115,10 @@ public void Validate(ValidateOptions options, UProject project) { if (Singer != null && Singer.Found) { Singer.EnsureLoaded(); } + if (RendererSettings == null) { + RendererSettings = new URenderSettings(); + } + RendererSettings.Validate(this); if (project.expressions.TryGetValue(Format.Ustx.CLR, out var descriptor)) { if (VoiceColorExp == null && Singer != null && Singer.Found && Singer.Loaded) { VoiceColorExp = descriptor.Clone(); @@ -71,7 +132,6 @@ public void Validate(ValidateOptions options, UProject project) { public void BeforeSave() { singer = Singer?.Id; phonemizer = Phonemizer.GetType().FullName; - renderer = Renderer?.ToString(); } public void AfterLoad(UProject project) { @@ -93,13 +153,13 @@ public void AfterLoad(UProject project) { Singer = USinger.CreateMissing(singer); } } - Phonemizer.SetSinger(Singer); + if (RendererSettings == null) { + RendererSettings = new URenderSettings(); + } if (Singer != null && Singer.Found) { - Renderer = Renderers.CreateRenderer(renderer); - if (Renderer == null) { - renderer = Renderers.GetDefaultRenderer(Singer.SingerType); - Renderer = Renderers.CreateRenderer(renderer); - } + if (string.IsNullOrEmpty(RendererSettings.renderer)) { + RendererSettings.renderer = Renderers.GetDefaultRenderer(Singer.SingerType); + }; } TrackNo = project.tracks.IndexOf(this); } diff --git a/OpenUtau.Core/Util/LyricsHelper.cs b/OpenUtau.Core/Util/LyricsHelper.cs new file mode 100644 index 000000000..af301a30e --- /dev/null +++ b/OpenUtau.Core/Util/LyricsHelper.cs @@ -0,0 +1,88 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using OpenUtau.Api; +using OpenUtau.Core.G2p; + +namespace OpenUtau.Core.Util { + public interface ILyricsHelper { + string Source { get; } + string Convert(string lyric); + } + + public class ActiveLyricsHelper : SingletonBase { + public ILyricsHelper Current { get; private set; } + + public ActiveLyricsHelper() { + Set(GetPreferred()); + } + + public void Set(Type t) { + if (!Available.Contains(t)) { + Current = null; + return; + } + Current = Activator.CreateInstance(t) as ILyricsHelper; + } + + public Type GetPreferred() { + return Available.FirstOrDefault( + avail => avail.Name == Preferences.Default.LyricHelper) + ?? typeof(HiraganaLyricsHelper); + } + + public readonly List Available = new List() { + typeof(HiraganaLyricsHelper), + typeof(PinyinLyricsHelper), + typeof(ArpabetG2pLyricsHelper), + typeof(FrenchG2pLyricsHelper), + typeof(PortugueseG2pLyricsHelper), + typeof(RussianG2pLyricsHelper), + }; + } + + public class HiraganaLyricsHelper : ILyricsHelper { + public string Source => "a->あ"; + public string Convert(string text) { + return WanaKanaNet.WanaKana.ToHiragana(text); + } + } + + public class PinyinLyricsHelper : ILyricsHelper { + public string Source => "汉->han"; + public string Convert(string lyric) { + return TinyPinyin.PinyinHelper.GetPinyin(lyric); + } + } + + public abstract class G2pLyricsHelper : ILyricsHelper { + readonly G2pPack pack; + public G2pLyricsHelper(G2pPack pack) { + this.pack = pack; + } + public string Source => pack.GetType().Name; + public string Convert(string lyric) { + var result = pack.Query(lyric); + if (result == null || result.Length == 0) { + return null; + } + return string.Join(" ", pack.Query(lyric)); + } + } + + public class ArpabetG2pLyricsHelper : G2pLyricsHelper { + public ArpabetG2pLyricsHelper() : base(new ArpabetG2p()) { } + } + + public class FrenchG2pLyricsHelper : G2pLyricsHelper { + public FrenchG2pLyricsHelper() : base(new FrenchG2p()) { } + } + + public class PortugueseG2pLyricsHelper : G2pLyricsHelper { + public PortugueseG2pLyricsHelper() : base(new PortugueseG2p()) { } + } + + public class RussianG2pLyricsHelper : G2pLyricsHelper { + public RussianG2pLyricsHelper() : base(new RussianG2p()) { } + } +} diff --git a/OpenUtau.Core/Util/MusicMath.cs b/OpenUtau.Core/Util/MusicMath.cs index e6d048436..6e066523f 100644 --- a/OpenUtau.Core/Util/MusicMath.cs +++ b/OpenUtau.Core/Util/MusicMath.cs @@ -88,14 +88,6 @@ public static double getZoomRatio(double quarterWidth, int beatPerBar, int beatU } } - public static double TickToMillisecond(double tick, double BPM, int beatUnit, int resolution) { - return tick * 60000.0 / BPM * beatUnit / 4 / resolution; - } - - public static int MillisecondToTick(double ms, double BPM, int beatUnit, int resolution) { - return (int)Math.Ceiling(ms / 60000.0 * BPM / beatUnit * 4 * resolution); - } - public static double SinEasingInOut(double x0, double x1, double y0, double y1, double x) { return y0 + (y1 - y0) * (1 - Math.Cos((x - x0) / (x1 - x0) * Math.PI)) / 2; } @@ -165,5 +157,37 @@ public static double ToneToFreq(double tone) { public static double FreqToTone(double freq) { return Math.Log(freq / 440.0, a) + 69; } + + public static List GetSnapDivs(int resolution) { + var result = new List(); + int div = 4; + int ticks = resolution * 4 / div; + result.Add(div); + while (ticks % 2 == 0) { + ticks /= 2; + div *= 2; + result.Add(div); + } + div = 6; + ticks = resolution * 4 / div; + result.Add(div); + while (ticks % 2 == 0) { + ticks /= 2; + div *= 2; + result.Add(div); + } + return result; + } + + public static void GetSnapUnit( + int resolution, double minTicks, bool triplet, + out int ticks, out int div) { + div = triplet ? 6 : 4; + ticks = resolution * 4 / div; + while (ticks % 2 == 0 && ticks / 2 >= minTicks) { + ticks /= 2; + div *= 2; + } + } } } diff --git a/OpenUtau.Core/Util/OS.cs b/OpenUtau.Core/Util/OS.cs index fd32fb5fe..94d25e57a 100644 --- a/OpenUtau.Core/Util/OS.cs +++ b/OpenUtau.Core/Util/OS.cs @@ -18,6 +18,24 @@ public static void OpenFolder(string path) { } } + public static void GotoFile(string path) { + if (File.Exists(path)) { + if (IsWindows()) { + Process.Start(new ProcessStartInfo { + FileName = GetOpener(), + Arguments = $"/select, {path}", + }); + } else if (IsMacOS()) { + Process.Start(new ProcessStartInfo { + FileName = GetOpener(), + Arguments = $" -R {path}", + }); + } else { + OpenFolder(Path.GetDirectoryName(path)); + } + } + } + public static void OpenWeb(string url) { Process.Start(new ProcessStartInfo { FileName = GetOpener(), @@ -25,6 +43,14 @@ public static void OpenWeb(string url) { }); } + public static bool AppExists(string path) { + if (IsMacOS()) { + return Directory.Exists(path) && path.EndsWith(".app"); + } else { + return File.Exists(path); + } + } + public static string GetUpdaterRid() { if (IsWindows()) { if (RuntimeInformation.ProcessArchitecture == Architecture.X86) { diff --git a/OpenUtau.Core/Util/PathManager.cs b/OpenUtau.Core/Util/PathManager.cs index d02cfd47a..af81c27e9 100644 --- a/OpenUtau.Core/Util/PathManager.cs +++ b/OpenUtau.Core/Util/PathManager.cs @@ -13,17 +13,35 @@ public class PathManager : SingletonBase { public PathManager() { RootPath = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); if (OS.IsMacOS()) { - HomePath = Path.Combine(Environment.GetFolderPath( - Environment.SpecialFolder.Personal), "Library", "OpenUtau"); + string userHome = Environment.GetFolderPath(Environment.SpecialFolder.Personal); + DataPath = Path.Combine(userHome, "Library", "OpenUtau"); + CachePath = Path.Combine(userHome, "Library", "Caches", "OpenUtau"); HomePathIsAscii = true; + try { + // Deletes old cache. + string oldCache = Path.Combine(DataPath, "Cache"); + if (Directory.Exists(oldCache)) { + Directory.Delete(oldCache, true); + } + } catch { } } else if (OS.IsLinux()) { - HomePath = Path.Combine(Environment.GetFolderPath( - Environment.SpecialFolder.Personal), "OpenUtau"); + string userHome = Environment.GetFolderPath(Environment.SpecialFolder.Personal); + string dataHome = Environment.GetEnvironmentVariable("XDG_DATA_HOME"); + if (string.IsNullOrEmpty(dataHome)) { + dataHome = Path.Combine(userHome, ".local", "share"); + } + DataPath = Path.Combine(dataHome, "OpenUtau"); + string cacheHome = Environment.GetEnvironmentVariable("XDG_CACHE_HOME"); + if (string.IsNullOrEmpty(cacheHome)) { + cacheHome = Path.Combine(userHome, ".cache"); + } + CachePath = Path.Combine(cacheHome, "OpenUtau"); HomePathIsAscii = true; } else { - HomePath = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName); + DataPath = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName); + CachePath = Path.Combine(DataPath, "Cache"); HomePathIsAscii = true; - var etor = StringInfo.GetTextElementEnumerator(HomePath); + var etor = StringInfo.GetTextElementEnumerator(DataPath); while (etor.MoveNext()) { string s = etor.GetTextElement(); if (s.Length != 1 || s[0] >= 128) { @@ -32,27 +50,30 @@ public PathManager() { } } } - Log.Logger.Information($"Home path = {HomePath}"); } public string RootPath { get; private set; } - public string HomePath { get; private set; } + public string DataPath { get; private set; } + public string CachePath { get; private set; } public bool HomePathIsAscii { get; private set; } - public string SingersPathOld => Path.Combine(HomePath, "Content", "Singers"); - public string SingersPath => Path.Combine(HomePath, "Singers"); + public string SingersPathOld => Path.Combine(DataPath, "Content", "Singers"); + public string SingersPath => Path.Combine(DataPath, "Singers"); public string AdditionalSingersPath => Preferences.Default.AdditionalSingerPath; public string SingersInstallPath => Preferences.Default.InstallToAdditionalSingersPath && !string.IsNullOrEmpty(Preferences.Default.AdditionalSingerPath) ? AdditionalSingersPath : SingersPath; - public string ResamplersPath => Path.Combine(HomePath, "Resamplers"); - public string PluginsPath => Path.Combine(HomePath, "Plugins"); - public string DictionariesPath => Path.Combine(HomePath, "Dictionaries"); - public string TemplatesPath => Path.Combine(HomePath, "Templates"); - public string LogFilePath => Path.Combine(HomePath, "Logs", "log.txt"); - public string PrefsFilePath => Path.Combine(HomePath, "prefs.json"); - public string NotePresetsFilePath => Path.Combine(HomePath, "notepresets.json"); - public string CachePath => Path.Combine(HomePath, "Cache"); + public string ResamplersPath => Path.Combine(DataPath, "Resamplers"); + public string WavtoolsPath => Path.Combine(DataPath, "Wavtools"); + public string VocodersPath => Path.Combine(DataPath, "Vocoders"); + public string PluginsPath => Path.Combine(DataPath, "Plugins"); + public string DictionariesPath => Path.Combine(DataPath, "Dictionaries"); + public string TemplatesPath => Path.Combine(DataPath, "Templates"); + public string LogsPath => Path.Combine(DataPath, "Logs"); + public string LogFilePath => Path.Combine(DataPath, "Logs", "log.txt"); + public string PrefsFilePath => Path.Combine(DataPath, "prefs.json"); + public string NotePresetsFilePath => Path.Combine(DataPath, "notepresets.json"); + public string BackupsPath => Path.Combine(DataPath, "Backups"); public string GetPartSavePath(string projectPath, int partNo) { var name = Path.GetFileNameWithoutExtension(projectPath); diff --git a/OpenUtau.Core/Util/Preferences.cs b/OpenUtau.Core/Util/Preferences.cs index 9dec2952a..7e1591a74 100644 --- a/OpenUtau.Core/Util/Preferences.cs +++ b/OpenUtau.Core/Util/Preferences.cs @@ -78,21 +78,20 @@ public class SerializablePreferences { public bool MidiMaximized; public int UndoLimit = 100; public List SingerSearchPaths = new List(); - public string Resampler = string.Empty; - public string Wavtool = string.Empty; public string PlaybackDevice = string.Empty; public int PlaybackDeviceNumber; public int? PlaybackDeviceIndex; public bool ShowPrefs = true; public bool ShowTips = true; public int Theme; - public int PhaseCompensation = 1; public bool PreRender = true; + public int NumRenderThreads = 2; + public int DiffsingerSpeedup = 50; public string Language = string.Empty; public List RecentFiles = new List(); public string SkipUpdate = string.Empty; public string AdditionalSingerPath = string.Empty; - public bool InstallToAdditionalSingersPath = false; + public bool InstallToAdditionalSingersPath = true; public bool PreferCommaSeparator = false; public bool ResamplerLogging = false; public List RecentSingers = new List(); @@ -104,6 +103,13 @@ public class SerializablePreferences { public int PlaybackAutoScroll = 1; public bool ReverseLogOrder = true; public bool ShowPortrait = true; + public bool ShowGhostNotes = true; + public Dictionary DefaultResamplers = new Dictionary(); + public Dictionary DefaultWavtools = new Dictionary(); + public string LyricHelper = string.Empty; + public bool LyricsHelperBrackets = false; + public int OtoEditor = 0; + public string VLabelerPath = string.Empty; } } } diff --git a/OpenUtau.Core/Util/SingletonBase.cs b/OpenUtau.Core/Util/SingletonBase.cs index ac717d47b..0577a699a 100644 --- a/OpenUtau.Core/Util/SingletonBase.cs +++ b/OpenUtau.Core/Util/SingletonBase.cs @@ -2,8 +2,9 @@ namespace OpenUtau.Core.Util { public abstract class SingletonBase where T : class { - private static readonly Lazy inst =new Lazy( - () => Activator.CreateInstance(typeof(T), true) as T); + private static readonly Lazy inst = new Lazy( + () => (T)Activator.CreateInstance(typeof(T), true), + isThreadSafe: true); public static T Inst => inst.Value; } } diff --git a/OpenUtau.Core/Util/TimeAxis.cs b/OpenUtau.Core/Util/TimeAxis.cs new file mode 100644 index 000000000..d26de4625 --- /dev/null +++ b/OpenUtau.Core/Util/TimeAxis.cs @@ -0,0 +1,189 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using OpenUtau.Core.Ustx; + +namespace OpenUtau.Core { + public class TimeAxis { + class TimeSigSegment { + public int barPos; + public int barEnd = int.MaxValue; + public int tickPos; + public int tickEnd = int.MaxValue; + + public int beatPerBar; + public int beatUnit; + + public int ticksPerBar; + public int ticksPerBeat; + } + + class TempoSegment { + public int tickPos; + public int tickEnd = int.MaxValue; + + public double bpm; + public int beatPerBar; + public int beatUnit; + + public double msPos; + public double msEnd = double.MaxValue; + public double msPerTick; + public double ticksPerMs; + + public int Ticks => tickEnd - tickPos; + } + + readonly List timeSigSegments = new List(); + readonly List tempoSegments = new List(); + + public long Timestamp { get; private set; } + + public void BuildSegments(UProject project) { + Timestamp = DateTime.Now.ToFileTimeUtc(); + timeSigSegments.Clear(); + for (var i = 0; i < project.timeSignatures.Count; ++i) { + var timesig = project.timeSignatures[i]; + var posTick = 0; + if (i > 0) { + var lastBarPos = project.timeSignatures[i - 1].barPosition; + posTick = timeSigSegments.Last().tickPos + + timeSigSegments.Last().ticksPerBar * (timesig.barPosition - lastBarPos); + } else { + Debug.Assert(timesig.barPosition == 0); + } + timeSigSegments.Add(new TimeSigSegment { + barPos = timesig.barPosition, + tickPos = posTick, + beatPerBar = timesig.beatPerBar, + beatUnit = timesig.beatUnit, + ticksPerBar = project.resolution * 4 * timesig.beatPerBar / timesig.beatUnit, + ticksPerBeat = project.resolution * 4 / timesig.beatUnit, + }); + } + for (var i = 0; i < timeSigSegments.Count - 1; ++i) { + timeSigSegments[i].barEnd = timeSigSegments[i + 1].barPos; + timeSigSegments[i].tickEnd = timeSigSegments[i + 1].tickPos; + } + + tempoSegments.Clear(); + tempoSegments.AddRange(timeSigSegments.Select(sigseg => new TempoSegment { + tickPos = sigseg.tickPos, + beatPerBar = sigseg.beatPerBar, + beatUnit = sigseg.beatUnit, + })); + for (var i = 0; i < project.tempos.Count; ++i) { + var tempo = project.tempos[i]; + if (i == 0) { + Debug.Assert(tempo.position == 0); + } + var index = tempoSegments.FindIndex(seg => seg.tickPos >= tempo.position); + if (index < 0) { + tempoSegments.Add(new TempoSegment { + tickPos = tempo.position, + bpm = tempo.bpm, + beatPerBar = tempoSegments.Last().beatPerBar, + beatUnit = tempoSegments.Last().beatUnit, + }); + } else if (tempoSegments[index].tickPos == tempo.position) { + tempoSegments[index].bpm = tempo.bpm; + } else { + tempoSegments.Insert(index, new TempoSegment { + tickPos = tempo.position, + bpm = tempo.bpm, + beatPerBar = tempoSegments[index - 1].beatPerBar, + beatUnit = tempoSegments[index - 1].beatUnit, + }); + } + } + for (var i = 0; i < tempoSegments.Count - 1; ++i) { + if (tempoSegments[i + 1].bpm == 0) { + tempoSegments[i + 1].bpm = tempoSegments[i].bpm; + } + tempoSegments[i].tickEnd = tempoSegments[i + 1].tickPos; + } + for (var i = 0; i < tempoSegments.Count; ++i) { + tempoSegments[i].msPerTick = 60.0 * 1000.0 * tempoSegments[i].beatPerBar / (tempoSegments[i].bpm * 4 * project.resolution); + tempoSegments[i].ticksPerMs = tempoSegments[i].bpm * 4 * project.resolution / (60.0 * 1000.0 * tempoSegments[i].beatPerBar); + if (i > 0) { + tempoSegments[i].msPos = tempoSegments[i - 1].msPos + tempoSegments[i - 1].Ticks * tempoSegments[i - 1].msPerTick; + tempoSegments[i - 1].msEnd = tempoSegments[i].msPos; + } + } + } + + public double GetBpmAtTick(int tick) { + var segment = tempoSegments.First(seg => seg.tickPos == tick || seg.tickEnd > tick); // TODO: optimize + return segment.bpm; + } + + public double TickPosToMsPos(double tick) { + var segment = tempoSegments.First(seg => seg.tickPos == tick || seg.tickEnd > tick); // TODO: optimize + return segment.msPos + segment.msPerTick * (tick - segment.tickPos); + } + + public int MsPosToTickPos(double ms) { + var segment = tempoSegments.First(seg => seg.msPos == ms || seg.msEnd > ms); // TODO: optimize + double tickPos = segment.tickPos + (ms - segment.msPos) * segment.ticksPerMs; + return (int)Math.Round(tickPos); + } + + public int TicksBetweenMsPos(double msPos, double msEnd) { + return MsPosToTickPos(msEnd) - MsPosToTickPos(msPos); + } + + public double MsBetweenTickPos(double tickPos, double tickEnd) { + return TickPosToMsPos(tickEnd) - TickPosToMsPos(tickPos); + } + + public void TickPosToBarBeat(int tick, out int bar, out int beat, out int remainingTicks) { + var segment = timeSigSegments.First(seg => seg.tickPos == tick || seg.tickEnd > tick); // TODO: optimize + bar = segment.barPos + (tick - segment.tickPos) / segment.ticksPerBar; + int tickInBar = tick - segment.tickPos - segment.ticksPerBar * (bar - segment.barPos); + beat = tickInBar / segment.ticksPerBeat; + remainingTicks = tickInBar - beat * segment.ticksPerBeat; + } + + public int BarBeatToTickPos(int bar, int beat) { + var segment = timeSigSegments.First(seg => seg.barPos == bar || seg.barEnd > bar); // TODO: optimize + return segment.tickPos + segment.ticksPerBar * (bar - segment.barPos) + segment.ticksPerBeat * beat; + } + + public void NextBarBeat(int bar, int beat, out int nextBar, out int nextBeat) { + nextBar = bar; + nextBeat = beat + 1; + var segment = timeSigSegments.First(seg => seg.barPos == bar || seg.barEnd > bar); // TODO: optimize + if (nextBeat >= segment.beatPerBar) { + nextBar++; + nextBeat = 0; + } + } + + public UTimeSignature TimeSignatureAtTick(int tick) { + var segment = timeSigSegments.First(seg => seg.tickPos == tick || seg.tickEnd > tick); // TODO: optimize + return new UTimeSignature { + barPosition = segment.barPos, + beatPerBar = segment.beatPerBar, + beatUnit = segment.beatUnit, + }; + } + + public UTimeSignature TimeSignatureAtBar(int bar) { + var segment = timeSigSegments.First(seg => seg.barPos == bar || seg.barEnd > bar); // TODO: optimize + return new UTimeSignature { + barPosition = segment.barPos, + beatPerBar = segment.beatPerBar, + beatUnit = segment.beatUnit, + }; + } + + public TimeAxis Clone() { + var clone = new TimeAxis(); + // Shallow copy segments since they are unmodified after built. + clone.timeSigSegments.AddRange(timeSigSegments); + clone.tempoSegments.AddRange(tempoSegments); + return clone; + } + } +} diff --git a/OpenUtau.Core/Util/Yaml.cs b/OpenUtau.Core/Util/Yaml.cs index fb38f68e7..143b210b3 100644 --- a/OpenUtau.Core/Util/Yaml.cs +++ b/OpenUtau.Core/Util/Yaml.cs @@ -13,6 +13,7 @@ public static class Yaml { .ConfigureDefaultValuesHandling(DefaultValuesHandling.OmitNull) .WithEventEmitter(next => new FlowEmitter(next)) .DisableAliases() + .WithQuotingNecessaryStrings() .Build(); public static IDeserializer DefaultDeserializer = new DeserializerBuilder() diff --git a/OpenUtau.Core/Vogen/TrieNode.cs b/OpenUtau.Core/Vogen/TrieNode.cs index d5b2bb84b..0585a782b 100644 --- a/OpenUtau.Core/Vogen/TrieNode.cs +++ b/OpenUtau.Core/Vogen/TrieNode.cs @@ -6,37 +6,42 @@ namespace OpenUtau.Core.Vogen { class TrieNode { public Dictionary children = new Dictionary(); - public string[] pinyins; + public string[]? pinyins = null; public static TrieNode LoadDictionary(IEnumerable lines) { TrieNode root = new TrieNode(); - foreach (var line in lines.Skip(1)) { + foreach (var line in lines.Skip(1).Reverse()) { var parts = line.Trim().Split(','); - var etor = StringInfo.GetTextElementEnumerator(parts[0]); - BuildTrie(root, etor, parts.Skip(1).ToArray()); + if (parts.Length >= 2) { + var etor = StringInfo.GetTextElementEnumerator(parts[0]); + BuildTrie(root, etor, parts[1]); + } } return root; } - private static void BuildTrie(TrieNode node, TextElementEnumerator etor, string[] pinyins) { + private static void BuildTrie(TrieNode node, TextElementEnumerator etor, string pinyin) { if (!etor.MoveNext()) { - node.pinyins = pinyins; + node.pinyins = pinyin.Split(); return; } string hanzi = etor.GetTextElement(); if (!node.children.TryGetValue(hanzi, out var child)) { node.children[hanzi] = child = new TrieNode(); } - BuildTrie(child, etor, pinyins); + BuildTrie(child, etor, pinyin); } - public string[] Query(string s) { - var etor = StringInfo.GetTextElementEnumerator(s); - string[] pinyins = null; - while (etor.MoveNext() && children.TryGetValue(etor.GetTextElement(), out var node)) { - if (node.pinyins != null) { - pinyins = node.pinyins; + public string[]? Query(Span text) { + string[]? pinyins = null; + int index = 0; + TrieNode node = this; + while (index < text.Length && node.children.TryGetValue(text[index], out var child)) { + if (child.pinyins != null) { + pinyins = child.pinyins; } + node = child; + index++; } return pinyins; } diff --git a/OpenUtau.Core/Vogen/VogenBasePhonemizer.cs b/OpenUtau.Core/Vogen/VogenBasePhonemizer.cs index bc0cf0312..e345192a8 100644 --- a/OpenUtau.Core/Vogen/VogenBasePhonemizer.cs +++ b/OpenUtau.Core/Vogen/VogenBasePhonemizer.cs @@ -19,7 +19,7 @@ public VogenBasePhonemizer() { } protected abstract string LangPrefix { get; } - protected virtual string Romanize(string lyric) => lyric; + protected virtual string[] Romanize(string[] lyric) => lyric; public override void SetSinger(USinger singer) { } @@ -43,17 +43,17 @@ public override void SetUp(Note[][] groups) { } void ProcessPart(IList notes) { - float padding = (float)TickToMs(240); + float padding = 1000; int totalDur = notes.Sum(n => n.duration); - var lyrics = new string[notes.Count, 8]; + var lyrics = Romanize(notes.Select(n => n.lyric).ToArray()); + var lyricsPadded = new string[notes.Count, 8]; for (int i = 0; i < notes.Count; ++i) { - var lyric = Romanize(notes[i].lyric); - lyric = lyric.PadRight(8, '\0'); + string lyric = lyrics[i].PadRight(8, '\0'); for (int j = 0; j < 8; j++) { - lyrics[i, j] = lyric[j].ToString(); + lyricsPadded[i, j] = lyric[j].ToString(); } } - var x = lyrics.ToTensor(); + var x = lyricsPadded.ToTensor(); var inputs = new List(); inputs.Add(NamedOnnxValue.CreateFromTensor("letters", x)); var outputs = G2p.Run(inputs); @@ -74,7 +74,8 @@ void ProcessPart(IList notes) { phs.Add($"{LangPrefix}{phsTensor[i, j]}"); } } - noteDursSec.Add((float)TickToMs(notes[i].duration) / 1000); + noteDursSec.Add((float)timeAxis.MsBetweenTickPos( + notes[i].position, notes[i].position + notes[i].duration) / 1000); } phs.Add(""); chPhCounts.Add(1); @@ -95,11 +96,13 @@ void ProcessPart(IList notes) { outputs.Dispose(); int index = 1; + double offsetMs = timeAxis.TickPosToMsPos(notes[0].position); double notePos = 0; for (int i = 1; i < chPhCounts.Count - 1; ++i) { var phonemes = new List>(); for (int j = index; j < index + chPhCounts[i]; ++j) { - phonemes.Add(Tuple.Create(phs[j], MsToTick((positions[j] - notePos) * 1000))); + phonemes.Add(Tuple.Create(phs[j], timeAxis.TicksBetweenMsPos( + offsetMs + notePos * 1000, offsetMs + positions[j] * 1000))); } partResult[notes[i - 1].position] = phonemes; index += (int)chPhCounts[i]; diff --git a/OpenUtau.Core/Vogen/VogenMandarinPhonemizer.cs b/OpenUtau.Core/Vogen/VogenMandarinPhonemizer.cs index 68f24707d..ef2ab8439 100644 --- a/OpenUtau.Core/Vogen/VogenMandarinPhonemizer.cs +++ b/OpenUtau.Core/Vogen/VogenMandarinPhonemizer.cs @@ -3,10 +3,10 @@ using TinyPinyin; namespace OpenUtau.Core.Vogen { - [Phonemizer("Vogen Chinese Mandarin Phonemizer", "VOGEN ZH")] + [Phonemizer("Vogen Chinese Mandarin Phonemizer", "VOGEN ZH", language: "ZH")] public class VogenMandarinPhonemizer : VogenBasePhonemizer { - private static InferenceSession g2p; - private static InferenceSession prosody; + private static InferenceSession? g2p; + private static InferenceSession? prosody; public VogenMandarinPhonemizer() { g2p ??= new InferenceSession(Data.VogenRes.g2p_man); @@ -16,11 +16,17 @@ public VogenMandarinPhonemizer() { } protected override string LangPrefix => "man:"; - protected override string Romanize(string lyric) { - if (lyric.Length > 0 && PinyinHelper.IsChinese(lyric[0])) { - return PinyinHelper.GetPinyin(lyric).ToLowerInvariant(); + protected override string[] Romanize(string[] lyrics) { + var result = new string[lyrics.Length]; + for (int i = 0; i < lyrics.Length; ++i) { + string lyric = lyrics[i]; + if (lyric.Length > 0 && PinyinHelper.IsChinese(lyric[0])) { + result[i] = PinyinHelper.GetPinyin(lyric).ToLowerInvariant(); + } else { + result[i] = lyric; + } } - return lyric; + return result; } } } diff --git a/OpenUtau.Core/Vogen/VogenRenderer.cs b/OpenUtau.Core/Vogen/VogenRenderer.cs index 52ae35565..03a15b502 100644 --- a/OpenUtau.Core/Vogen/VogenRenderer.cs +++ b/OpenUtau.Core/Vogen/VogenRenderer.cs @@ -47,12 +47,10 @@ public bool SupportsExpression(UExpressionDescriptor descriptor) { } public RenderResult Layout(RenderPhrase phrase) { - var firstPhone = phrase.phones.First(); - var lastPhone = phrase.phones.Last(); return new RenderResult() { leadingMs = headMs, - positionMs = (phrase.position + firstPhone.position) * phrase.tickToMs, - estimatedLengthMs = headMs + (lastPhone.duration + lastPhone.position - firstPhone.position) * phrase.tickToMs + tailMs, + positionMs = phrase.positionMs, + estimatedLengthMs = headMs + phrase.durationMs + tailMs, }; } @@ -64,7 +62,7 @@ public Task Render(RenderPhrase phrase, Progress progress, Cancell } var result = Layout(phrase); var wavPath = Path.Join(PathManager.Inst.CachePath, $"vog-{phrase.hash:x16}.wav"); - string progressInfo = string.Join(" ", phrase.phones.Select(p => p.phoneme)); + string progressInfo = $"{this} \"{string.Join(" ", phrase.phones.Select(p => p.phoneme))}\""; progress.Complete(0, progressInfo); if (File.Exists(wavPath)) { try { @@ -82,7 +80,7 @@ public Task Render(RenderPhrase phrase, Progress progress, Cancell WaveFileWriter.CreateWaveFile16(wavPath, new ExportAdapter(source).ToMono(1, 0)); } if (result.samples != null) { - ApplyDynamics(phrase, result.samples); + Renderers.ApplyDynamics(phrase, result); } progress.Complete(phrase.phones.Length, progressInfo); return result; @@ -103,7 +101,7 @@ float[] InvokeVogen(RenderPhrase phrase) { .Append(0) .ToList(); var noteDurs = phrase.notes - .Select(n => (long)Math.Round(n.duration * phrase.tickToMs / frameMs)) + .Select(n => (long)Math.Round(n.durationMs / frameMs)) .Prepend(headFrames) .Append(tailFrames) .ToList(); @@ -115,22 +113,19 @@ float[] InvokeVogen(RenderPhrase phrase) { .Prepend("") .Append("") .ToList(); - var phDurs = new List(); - phDurs.Add(headFrames); - int startTick = phrase.phones.First().position; - double lastEndMs = 0; - foreach (var phone in phrase.phones) { - double endMs = (phone.position + phone.duration - startTick) * phrase.tickToMs; - phDurs.Add((int)Math.Round((endMs - lastEndMs) / frameMs)); - lastEndMs = endMs; - } - phDurs.Add(tailFrames); + var phDurs = phrase.phones + .Select(p => (long)Math.Round(p.durationMs / frameMs)) + .Prepend(headFrames) + .Append(tailFrames) + .ToList(); var totalFrames = (int)phDurs.Sum(); - var f0 = DownSampleCurve(phrase.pitches, 0, totalFrames, headFrames, tailFrames, phrase.tickToMs, x => MusicMath.ToneToFreq(x * 0.01)); + var f0 = SampleCurve(phrase, phrase.pitches, 0, totalFrames, headFrames, tailFrames, x => MusicMath.ToneToFreq(x * 0.01)); float[] f0Shifted = f0.Select(f => (float)f).ToArray(); if (phrase.toneShift != null) { for (int i = 0; i < f0.Length - headFrames - tailFrames; i++) { - int index = (int)(i * frameMs / phrase.tickToMs / pitchInterval); + double posMs = phrase.positionMs - phrase.leadingMs + i * frameMs; + int ticks = phrase.timeAxis.MsPosToTickPos(posMs) - (phrase.position - phrase.leading); + int index = Math.Max(0, (int)((double)ticks / pitchInterval)); if (index < phrase.pitches.Length) { f0Shifted[i + headFrames] = (float)MusicMath.ToneToFreq((phrase.pitches[index] + phrase.toneShift[index]) * 0.01); } @@ -181,10 +176,10 @@ float[] InvokeVogen(RenderPhrase phrase) { sp = Worldline.DecodeMgc(f0.Length, mgc, fftSize, fs); ap = Worldline.DecodeBap(f0.Length, bap, fftSize, fs); } - var gender = DownSampleCurve(phrase.gender, 0.5, totalFrames, headFrames, tailFrames, phrase.tickToMs, x => 0.5 + 0.005 * x); - var tension = DownSampleCurve(phrase.tension, 0.5, totalFrames, headFrames, tailFrames, phrase.tickToMs, x => 0.5 + 0.005 * x); - var breathiness = DownSampleCurve(phrase.breathiness, 0.5, totalFrames, headFrames, tailFrames, phrase.tickToMs, x => 0.5 + 0.005 * x); - var voicing = DownSampleCurve(phrase.voicing, 1.0, totalFrames, headFrames, tailFrames, phrase.tickToMs, x => 0.01 * x); + var gender = SampleCurve(phrase, phrase.gender, 0.5, totalFrames, headFrames, tailFrames, x => 0.5 + 0.005 * x); + var tension = SampleCurve(phrase, phrase.tension, 0.5, totalFrames, headFrames, tailFrames, x => 0.5 + 0.005 * x); + var breathiness = SampleCurve(phrase, phrase.breathiness, 0.5, totalFrames, headFrames, tailFrames, x => 0.5 + 0.005 * x); + var voicing = SampleCurve(phrase, phrase.voicing, 1.0, totalFrames, headFrames, tailFrames, x => 0.01 * x); var samples = Worldline.WorldSynthesis( f0, sp, false, sp.GetLength(1), @@ -194,7 +189,7 @@ float[] InvokeVogen(RenderPhrase phrase) { return samples.Select(f => (float)f).ToArray(); } - double[] DownSampleCurve(float[] curve, double defaultValue, int length, int headFrames, int tailFrames, double tickToMs, Func convert) { + double[] SampleCurve(RenderPhrase phrase, float[] curve, double defaultValue, int length, int headFrames, int tailFrames, Func convert) { const int interval = 5; var result = new double[length]; if (curve == null) { @@ -202,7 +197,9 @@ double[] DownSampleCurve(float[] curve, double defaultValue, int length, int hea return result; } for (int i = 0; i < length - headFrames - tailFrames; i++) { - int index = (int)(i * frameMs / tickToMs / interval); + double posMs = phrase.positionMs - phrase.leadingMs + i * frameMs; + int ticks = phrase.timeAxis.MsPosToTickPos(posMs) - (phrase.position - phrase.leading); + int index = Math.Max(0, (int)((double)ticks / interval)); if (index < curve.Length) { result[i + headFrames] = convert(curve[index]); } @@ -212,24 +209,6 @@ double[] DownSampleCurve(float[] curve, double defaultValue, int length, int hea return result; } - void ApplyDynamics(RenderPhrase phrase, float[] samples) { - const int interval = 5; - if (phrase.dynamics == null) { - return; - } - int pos = 0; - int offset = (int)(headMs / 1000 * 44100); - for (int i = 0; i < phrase.dynamics.Length; ++i) { - int endPos = (int)((i + 1) * interval * phrase.tickToMs / 1000 * 44100); - float a = phrase.dynamics[i]; - float b = (i + 1) == phrase.dynamics.Length ? phrase.dynamics[i] : phrase.dynamics[i + 1]; - for (int j = pos; j < endPos; ++j) { - samples[offset + j] *= a + (b - a) * (j - pos) / (endPos - pos); - } - pos = endPos; - } - } - public RenderPitchResult LoadRenderedPitch(RenderPhrase phrase) { var f0Path = Path.Join(PathManager.Inst.CachePath, $"vog-{phrase.hash:x16}-f0.npy"); if (!File.Exists(f0Path)) { @@ -243,11 +222,11 @@ public RenderPitchResult LoadRenderedPitch(RenderPhrase phrase) { var t = layout.positionMs - layout.leadingMs; for (int i = 0; i < result.tones.Length; i++) { t += frameMs; - result.ticks[i] = (float)(t / phrase.tickToMs) - phrase.position; + result.ticks[i] = phrase.timeAxis.MsPosToTickPos(t) - phrase.position; } return result; } - public override string ToString() => "VOGEN"; + public override string ToString() => Renderers.VOGEN; } } diff --git a/OpenUtau.Core/Vogen/VogenSinger.cs b/OpenUtau.Core/Vogen/VogenSinger.cs index f7b0105e0..754899c90 100644 --- a/OpenUtau.Core/Vogen/VogenSinger.cs +++ b/OpenUtau.Core/Vogen/VogenSinger.cs @@ -24,14 +24,12 @@ class VogenSinger : USinger { public override string DefaultPhonemizer => "OpenUtau.Core.Vogen.VogenMandarinPhonemizer"; public override Encoding TextFileEncoding => Encoding.UTF8; public override IList Subbanks => subbanks; - public override Dictionary Otos => otos; string basePath; string filePath; VogenMeta meta; List errors = new List(); List subbanks = new List(); - Dictionary otos = new Dictionary(); public byte[] model; public byte[] avatarData; @@ -46,19 +44,8 @@ public VogenSinger(string filePath, VogenMeta meta, byte[] model, byte[] avatar) loaded = true; } - public override bool TryGetMappedOto(string phoneme, int tone, out UOto oto) { - oto = new UOto() { - Alias = phoneme, - Phonetic = phoneme, - }; - return true; - } - - public override bool TryGetMappedOto(string phoneme, int tone, string color, out UOto oto) { - oto = new UOto() { - Alias = phoneme, - Phonetic = phoneme, - }; + public override bool TryGetOto(string phoneme, out UOto oto) { + oto = UOto.OfDummy(phoneme); return true; } diff --git a/OpenUtau.Core/Vogen/VogenSingerInstaller.cs b/OpenUtau.Core/Vogen/VogenSingerInstaller.cs index 5cc0797d6..92457925a 100644 --- a/OpenUtau.Core/Vogen/VogenSingerInstaller.cs +++ b/OpenUtau.Core/Vogen/VogenSingerInstaller.cs @@ -1,4 +1,5 @@ using System.IO; +using System.Threading.Tasks; namespace OpenUtau.Core.Vogen { public class VogenSingerInstaller { @@ -7,12 +8,14 @@ public static void Install(string filePath) { string fileName = Path.GetFileName(filePath); string destName = Path.Combine(PathManager.Inst.SingersInstallPath, fileName); if (File.Exists(destName)) { - DocManager.Inst.ExecuteCmd(new UserMessageNotification($"{destName} already exist!")); + DocManager.Inst.ExecuteCmd(new ErrorMessageNotification($"{destName} already exist!")); return; } File.Copy(filePath, destName); - DocManager.Inst.ExecuteCmd(new SingersChangedNotification()); - DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, $"Installed {fileName}")); + new Task(() => { + DocManager.Inst.ExecuteCmd(new SingersChangedNotification()); + DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, $"Installed {fileName}")); + }).Start(DocManager.Inst.MainScheduler); } } } diff --git a/OpenUtau.Core/Vogen/VogenYuePhonemizer.cs b/OpenUtau.Core/Vogen/VogenYuePhonemizer.cs index 663bb1ff9..867f4722c 100644 --- a/OpenUtau.Core/Vogen/VogenYuePhonemizer.cs +++ b/OpenUtau.Core/Vogen/VogenYuePhonemizer.cs @@ -3,11 +3,11 @@ using System; namespace OpenUtau.Core.Vogen { - [Phonemizer("Vogen Chinese Yue Phonemizer", "VOGEN ZH-YUE")] + [Phonemizer("Vogen Chinese Yue Phonemizer", "VOGEN ZH-YUE", language: "ZH")] public class VogenYuePhonemizer : VogenBasePhonemizer { - private static TrieNode trie; - private static InferenceSession g2p; - private static InferenceSession prosody; + private static TrieNode? trie; + private static InferenceSession? g2p; + private static InferenceSession? prosody; public VogenYuePhonemizer() { trie ??= TrieNode.LoadDictionary( @@ -21,12 +21,20 @@ public VogenYuePhonemizer() { protected override string LangPrefix => "yue:"; - protected override string Romanize(string lyric) { - var romanized = trie.Query(lyric); - if (romanized != null && romanized.Length > 0) { - return romanized[0]; + protected override string[] Romanize(string[] lyrics) { + var result = new string[lyrics.Length]; + int index = 0; + while (index < lyrics.Length) { + string[]? romanized = trie!.Query(new Span(lyrics, index, lyrics.Length - index)); + if (romanized == null) { + result[index] = lyrics[index]; + index++; + } else { + Array.Copy(romanized, 0, result, index, romanized.Length); + index += romanized.Length; + } } - return string.Empty; + return result; } } } diff --git a/OpenUtau.Plugin.Builtin/ArpasingPhonemizer.cs b/OpenUtau.Plugin.Builtin/ArpasingPhonemizer.cs index 7ec06a45f..22dd5b12f 100644 --- a/OpenUtau.Plugin.Builtin/ArpasingPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/ArpasingPhonemizer.cs @@ -3,6 +3,7 @@ using System.IO; using System.Linq; using OpenUtau.Api; +using OpenUtau.Core.G2p; using Serilog; namespace OpenUtau.Plugin.Builtin { @@ -13,7 +14,7 @@ namespace OpenUtau.Plugin.Builtin { /// See http://www.speech.cs.cmu.edu/cgi-bin/cmudict and https://arpasing.neocities.org/en/faq.html. /// /// - [Phonemizer("English Arpasing Phonemizer", "EN ARPA")] + [Phonemizer("English Arpasing Phonemizer", "EN ARPA", language: "EN")] public class ArpasingPhonemizer : LatinDiphonePhonemizer { public ArpasingPhonemizer() { try { diff --git a/OpenUtau.Plugin.Builtin/BrazilianPortugueseCVCPhonemizer.cs b/OpenUtau.Plugin.Builtin/BrazilianPortugueseCVCPhonemizer.cs index 295314192..5e4be1972 100644 --- a/OpenUtau.Plugin.Builtin/BrazilianPortugueseCVCPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/BrazilianPortugueseCVCPhonemizer.cs @@ -1,24 +1,25 @@ using System; using System.Collections.Generic; -using System.Text; -using OpenUtau.Api; using System.Linq; +using OpenUtau.Api; +using OpenUtau.Core.G2p; namespace OpenUtau.Plugin.Builtin { - [Phonemizer("Brazilian Portuguese CVC Phonemizer", "PT-BR CVC", "HAI-D")] + [Phonemizer("Brazilian Portuguese CVC Phonemizer", "PT-BR CVC", "HAI-D", language:"PT")] public class BrazilianPortugueseCVCPhonemizer : SyllableBasedPhonemizer { /// /// Brazilian Portuguese CVC Phonemizer by HAI-D - /// Utilizing Xiao's reclist connotation - /// Alias: -C, -V, C-, V-, -CV, VC-, CV, VC, V + /// Connotation: BRAPA + /// Main Accent: Neutral + /// Supported Alias: -C, -V, C-, V-, -CV, VC-, CV, VC, V, VV, _V /// - private readonly string[] vowels = "a,e,i,o,u,X,V,@,7,1,0,Q".Split(","); - private readonly string[] consonants = "b,ch,d,D',f,g,h,j,k,l,lh,m,n,nh,p,r,rh,s,sh,t,v,w,y,z".Split(","); - private readonly string[] burstConsonants = "b,ch,d,D',g,k,p,t".Split(","); - private readonly Dictionary dictionaryReplacements = ("a=a;e=e;i=i;o=o;u=u;E=X;O=V;a~=@;e~=7;i~=1;o~=0;u~=Q;" + - "b=b;tS=ch;d=d;dZ=D';f=f;g=g;h=h;X=h;R=h;Z=j;k=k;l=l;L=lh;m=m;n=n;J=nh;p=p;r=r;s=s;S=sh;t=t;v=v;w=w;w~=w;j=y;j~=y;z=z").Split(';') + private readonly string[] vowels = "a,oa,ah,ahn,ax,an,e,en,eh,ehn,ae,aen,i,in,i0,o,on,oh,ohn,u,un,u0".Split(","); + private readonly string[] consonants = "b,bv,ch,d,dj,f,g,gv,h,hr,k,l,l0,lh,m,n,ng,nh,p,r,rr,rw,s,sh,t,v,w,x,y,z,rh".Split(","); + private readonly string[] burstConsonants = "b,ch,d,dj,g,k,p,t".Split(","); + private readonly Dictionary dictionaryReplacements = ("a=a;e=e;i=i;o=o;u=u;E=eh;O=oh;a~=an;e~=en;i~=in;o~=on;u~=un;" + + "b=b;tS=ch;d=d;dZ=dj;f=f;g=g;h=h;X=h;R=h;Z=j;k=k;l=l;L=lh;m=m;n=n;J=nh;p=p;r=r;s=s;S=sh;t=t;v=v;w=w;w~=w;j=y;j~=y;z=z").Split(';') .Select(entry => entry.Split('=')) .Where(parts => parts.Length == 2) .Where(parts => parts[0] != parts[1]) @@ -31,6 +32,7 @@ public class BrazilianPortugueseCVCPhonemizer : SyllableBasedPhonemizer { protected override string[] GetConsonants() => consonants; protected override string GetDictionaryName() => "cmudict_ptbr.txt"; protected override IG2p LoadBaseDictionary() => new PortugueseG2p(); + protected override Dictionary GetDictionaryPhonemesReplacement() => dictionaryReplacements; protected override List ProcessSyllable(Syllable syllable) { @@ -41,32 +43,43 @@ protected override List ProcessSyllable(Syllable syllable) { string basePhoneme; var phonemes = new List(); if (syllable.IsStartingV) { - basePhoneme = $"-{v}"; + basePhoneme = $"- {v}"; } - else if (syllable.IsVV) { + else if (syllable.IsVV) { // if VV if (!CanMakeAliasExtension(syllable)) { - basePhoneme = v; + //try VV + basePhoneme = $"{prevV} {v}"; + + //if no VV -> _V + if (!HasOto(basePhoneme, syllable.vowelTone)) { + basePhoneme = $"_{v}"; + + //if no _V -> V + if (!HasOto(basePhoneme, syllable.vowelTone)) { + basePhoneme = v; + } + } } else { // the previous alias will be extended basePhoneme = null; } } else if (syllable.IsStartingCV) { - basePhoneme = $"-{cc.Last()}{v}"; + basePhoneme = $"-{cc.Last()} {v}"; for (var i = 0; i < cc.Length - 1; i++) { - phonemes.Add($"-{cc[i]}"); + phonemes.Add($"- {cc[i]}"); } } else { // VCV if (cc.Length == 1 || IsShort(syllable) || cc.Last() == "`") { - basePhoneme = $"{cc.Last()}{v}"; + basePhoneme = $"{cc.Last()} {v}"; } else { - basePhoneme = $"-{cc.Last()}{v}"; + basePhoneme = $"-{cc.Last()} {v}"; } - phonemes.Add($"{prevV}{cc[0]}"); ; + phonemes.Add($"{prevV} {cc[0]}"); ; var offset = burstConsonants.Contains(cc[0]) ? 0 : 1; for (var i = offset; i < cc.Length - 1; i++) { - var cr = $"{cc[i]}-"; + var cr = $"{cc[i]} -"; phonemes.Add(HasOto(cr, syllable.tone) ? cr : cc[i]); } } @@ -80,12 +93,12 @@ protected override List ProcessEnding(Ending ending) { var phonemes = new List(); if (ending.IsEndingV) { - phonemes.Add($"{v}-"); + phonemes.Add($"{v} -"); } else { - phonemes.Add($"{v}{cc[0]}-"); + phonemes.Add($"{v} {cc[0]}-"); for (var i = 1; i < cc.Length; i++) { - var cr = $"{cc[i]}-"; + var cr = $"{cc[i]} -"; phonemes.Add(HasOto(cr, ending.tone) ? cr : cc[i]); } } @@ -93,6 +106,15 @@ protected override List ProcessEnding(Ending ending) { return phonemes; } + // change rh V -> r V + // since rh is a VC only alias, r is used as their natural approximant to make CV connections, if it happens + protected override string ValidateAlias(string alias) { + foreach (var vowel in vowels) { + alias = alias.Replace("rh" + " " + vowel, "r" + " " + vowel); + } + return alias; + } + protected override double GetTransitionBasicLengthMs(string alias = "") { foreach (var c in shortConsonants) { if (alias.EndsWith(c)) { diff --git a/OpenUtau.Plugin.Builtin/ChineseCVVCPhonemizer.cs b/OpenUtau.Plugin.Builtin/ChineseCVVCPhonemizer.cs index 5f0435bd7..fd68c62fc 100644 --- a/OpenUtau.Plugin.Builtin/ChineseCVVCPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/ChineseCVVCPhonemizer.cs @@ -9,7 +9,7 @@ using TinyPinyin; namespace OpenUtau.Plugin.Builtin { - [Phonemizer("Chinese CVVC Phonemizer", "ZH CVVC")] + [Phonemizer("Chinese CVVC Phonemizer", "ZH CVVC", language: "ZH")] public class ChineseCVVCPhonemizer : Phonemizer { private Dictionary vowels = new Dictionary(); private Dictionary consonants = new Dictionary(); @@ -34,26 +34,17 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN var attr0 = notes[0].phonemeAttributes?.FirstOrDefault(attr => attr.index == 0) ?? default; var attr1 = notes[0].phonemeAttributes?.FirstOrDefault(attr => attr.index == 1) ?? default; if (lyric == "-" || lyric.ToLowerInvariant() == "r") { - return new Result { - phonemes = new Phoneme[] { - new Phoneme() { - phoneme = $"{prevVowel} R", - }, - }, - }; + if (singer.TryGetMappedOto($"{prevVowel} R", notes[0].tone + attr0.toneShift, attr0.voiceColor, out var oto1)) { + return MakeSimpleResult(oto1.Alias); + } + return MakeSimpleResult($"{prevVowel} R"); } int totalDuration = notes.Sum(n => n.duration); if (singer.TryGetMappedOto($"{prevVowel} {lyric}", notes[0].tone + attr0.toneShift, attr0.voiceColor, out var oto)) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme() { - phoneme = oto.Alias, - }, - }, - }; + return MakeSimpleResult(oto.Alias); } int vcLen = 120; - if (singer.TryGetMappedOto($"{lyric}", notes[0].tone + attr0.toneShift, attr0.voiceColor, out var cvOto)) { + if (singer.TryGetMappedOto(lyric, notes[0].tone + attr0.toneShift, attr0.voiceColor, out var cvOto)) { vcLen = MsToTick(cvOto.Preutter); if (cvOto.Overlap == 0 && vcLen < 120) { vcLen = Math.Min(120, vcLen * 2); // explosive consonant with short preutter. @@ -67,18 +58,12 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN position = -vcLen, }, new Phoneme() { - phoneme = cvOto.Alias ?? $"{lyric}", + phoneme = cvOto?.Alias ?? lyric, }, }, }; } - return new Result { - phonemes = new Phoneme[] { - new Phoneme() { - phoneme = lyric, - }, - }, - }; + return MakeSimpleResult(cvOto?.Alias ?? lyric); } public override void SetSinger(USinger singer) { diff --git a/OpenUtau.Plugin.Builtin/ChineseCVVPhonemizer.cs b/OpenUtau.Plugin.Builtin/ChineseCVVPhonemizer.cs index 1bc74b61b..15ea8208e 100644 --- a/OpenUtau.Plugin.Builtin/ChineseCVVPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/ChineseCVVPhonemizer.cs @@ -9,7 +9,7 @@ namespace OpenUtau.Plugin.Builtin { /// Chinese 十月式整音扩张 CVV Phonemizer. /// It works by spliting "duang" to "duang" + "_ang", to produce the proper tail sound. /// - [Phonemizer("Chinese CVV (十月式整音扩张) Phonemizer", "ZH CVV")] + [Phonemizer("Chinese CVV (十月式整音扩张) Phonemizer", "ZH CVV", language: "ZH")] public class ChineseCVVPhonemizer : Phonemizer { /// /// The consonant table. @@ -34,6 +34,9 @@ static ChineseCVVPhonemizer() { // Simply stores the singer in a field. public override void SetSinger(USinger singer) => this.singer = singer; + + // Legacy mapping. Might adjust later to new mapping style. + public override bool LegacyMapping => true; public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevNeighbour, Note? nextNeighbour, Note[] prevNeighbours) { // The overall logic is: diff --git a/OpenUtau.Plugin.Builtin/Data/Resources.Designer.cs b/OpenUtau.Plugin.Builtin/Data/Resources.Designer.cs index c5c21bd46..692e5ab6e 100644 --- a/OpenUtau.Plugin.Builtin/Data/Resources.Designer.cs +++ b/OpenUtau.Plugin.Builtin/Data/Resources.Designer.cs @@ -73,39 +73,9 @@ internal static byte[] arpasing_template { /// /// Looks up a localized resource of type System.Byte[]. /// - internal static byte[] g2p_arpabet { + internal static byte[] envccv_template { get { - object obj = ResourceManager.GetObject("g2p_arpabet", resourceCulture); - return ((byte[])(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Byte[]. - /// - internal static byte[] g2p_fr { - get { - object obj = ResourceManager.GetObject("g2p_fr", resourceCulture); - return ((byte[])(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Byte[]. - /// - internal static byte[] g2p_pt { - get { - object obj = ResourceManager.GetObject("g2p_pt", resourceCulture); - return ((byte[])(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Byte[]. - /// - internal static byte[] g2p_ru { - get { - object obj = ResourceManager.GetObject("g2p_ru", resourceCulture); + object obj = ResourceManager.GetObject("envccv_template", resourceCulture); return ((byte[])(obj)); } } diff --git a/OpenUtau.Plugin.Builtin/Data/Resources.resx b/OpenUtau.Plugin.Builtin/Data/Resources.resx index 6028d5e8e..371c6d232 100644 --- a/OpenUtau.Plugin.Builtin/Data/Resources.resx +++ b/OpenUtau.Plugin.Builtin/Data/Resources.resx @@ -121,16 +121,7 @@ arpasing.template.yaml;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - g2p-arpabet.zip;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - g2p-fr.zip;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - g2p-pt.zip;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - g2p-ru.zip;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + envccv.template.yaml;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 \ No newline at end of file diff --git a/OpenUtau.Plugin.Builtin/Data/envccv.template.yaml b/OpenUtau.Plugin.Builtin/Data/envccv.template.yaml new file mode 100644 index 000000000..eb5050b86 --- /dev/null +++ b/OpenUtau.Plugin.Builtin/Data/envccv.template.yaml @@ -0,0 +1,75 @@ +%YAML 1.2 +--- +symbols: +#CZsampa standard vowels + - {symbol: '@', type: vowel} + - {symbol: a, type: vowel} + - {symbol: i, type: vowel} + - {symbol: u, type: vowel} + - {symbol: e, type: vowel} + - {symbol: o, type: vowel} + - {symbol: A, type: vowel} + - {symbol: I, type: vowel} + - {symbol: E, type: vowel} + - {symbol: O, type: vowel} + - {symbol: 0, type: vowel} + - {symbol: 3, type: vowel} + - {symbol: 6, type: vowel} + - {symbol: 8, type: vowel} + - {symbol: Q, type: vowel} + - {symbol: h, type: aspirate} + - {symbol: j, type: affricate} +#Arpasing + - {symbol: aa, type: vowel} + - {symbol: ae, type: vowel} + - {symbol: ah, type: vowel} + - {symbol: ao, type: vowel} + - {symbol: aw, type: vowel} + - {symbol: ay, type: vowel} + - {symbol: b, type: stop} + - {symbol: ch, type: affricate} + - {symbol: d, type: stop} + - {symbol: dh, type: fricative} + - {symbol: eh, type: vowel} + - {symbol: er, type: vowel} + - {symbol: ey, type: vowel} + - {symbol: f, type: fricative} + - {symbol: g, type: stop} + - {symbol: hh, type: aspirate} + - {symbol: ih, type: vowel} + - {symbol: iy, type: vowel} + - {symbol: jh, type: affricate} + - {symbol: k, type: stop} + - {symbol: l, type: liquid} + - {symbol: m, type: nasal} + - {symbol: n, type: nasal} + - {symbol: ng, type: nasal} + - {symbol: ow, type: vowel} + - {symbol: oy, type: vowel} + - {symbol: p, type: stop} + - {symbol: r, type: liquid} + - {symbol: s, type: fricative} + - {symbol: sh, type: fricative} + - {symbol: t, type: stop} + - {symbol: th, type: fricative} + - {symbol: uh, type: vowel} + - {symbol: uw, type: vowel} + - {symbol: v, type: fricative} + - {symbol: w, type: semivowel} + - {symbol: y, type: semivowel} + - {symbol: z, type: fricative} + - {symbol: zh, type: fricative} + #bonus symbols + - {symbol: '&', type: vowel} + - {symbol: 1, type: vowel} + - {symbol: 9, type: vowel} + - {symbol: x, type: vowel} + - {symbol: dd, type: tap} + +entries: + - grapheme: openutau + phonemes: [ow, p, eh, n, w, uw, t, ah, w, uw] + - grapheme: vccv + phonemes: [v, E, s, E, s, E, v, E] + - grapheme: "VCCV" + phonemes: [v, E, s, E, s, E, v, E] diff --git a/OpenUtau.Plugin.Builtin/ENDeltaVer1Phonemizer.cs b/OpenUtau.Plugin.Builtin/ENDeltaVer1Phonemizer.cs index 9c007eb25..29d505edb 100644 --- a/OpenUtau.Plugin.Builtin/ENDeltaVer1Phonemizer.cs +++ b/OpenUtau.Plugin.Builtin/ENDeltaVer1Phonemizer.cs @@ -1,388 +1,478 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using OpenUtau.Api; -using Serilog; - -namespace OpenUtau.Plugin.Builtin -{ - [Phonemizer("Delta English (Version 1) Phonemizer", "EN Delta (Ver1)", "Lotte V")] - public class ENDeltaVer1Phonemizer : SyllableBasedPhonemizer - { - /// - /// General English phonemizer for Delta list (X-SAMPA) voicebanks. - /// The difference between this phonemizer and the Teto English phonemizer is that this one was made to support all Delta list-based banks. - /// However, it should be fully compatible with Kasane Teto's English voicebank regardless. - /// This is the version based on the first version of the list, with "full" diphthongs. - /// There is also a second version of the phonemizer with split diphthongs, based on the third version of the list. - /// It also has some support for sounds not found in the "classic" Delta list. - /// Due to the flexibility of X-SAMPA, it was easy to add those. - /// They are mostly based on sounds based on Cz's English VCCV list, just written differently. They are mostly found in North-American dialects. - /// All of these sounds are optional and should be inserted manually/phonetically, if the voicebank supports them. - /// - - private readonly string[] vowels = "a,A,@,{,V,O,aU,aI,E,3,eI,I,i,oU,OI,U,u,Q,Ol,aUn,e@,eN,IN,e,o,Ar,Er,Ir,Or,Ur,@l,@m,@n,@N,1,e@m,e@n".Split(','); - private readonly string[] consonants = "b,tS,d,D,4,f,g,h,dZ,k,l,m,n,N,p,r,s,S,t,T,v,w,j,z,Z,t_},・,_".Split(','); - private readonly string[] burstConsonants = "b,tS,d,dZ,4,g,k,p,t".Split(','); - private readonly string[] affricates = "tS,dZ".Split(','); - private readonly Dictionary dictionaryReplacements = ("aa=A;ae={;ah=V;ao=O;aw=aU;ax=@;ay=aI;" + - "b=b;ch=tS;d=d;dh=D;dx=4;eh=E;el=@l;em=@m;en=@n;eng=@N;er=3;ey=eI;f=f;g=g;hh=h;ih=I;iy=i;jh=dZ;k=k;l=l;m=m;n=n;ng=N;ow=oU;oy=OI;" + - "p=p;q=・;r=r;s=s;sh=S;t=t;th=T;uh=U;uw=u;v=v;w=w;y=j;z=z;zh=Z").Split(';') - .Select(entry => entry.Split('=')) - .Where(parts => parts.Length == 2) - .Where(parts => parts[0] != parts[1]) - .ToDictionary(parts => parts[0], parts => parts[1]); - protected override string[] GetVowels() => vowels; - protected override string[] GetConsonants() => consonants; - protected override string GetDictionaryName() => "cmudict-0_7b.txt"; - protected override Dictionary GetDictionaryPhonemesReplacement() => dictionaryReplacements; - - protected override IG2p LoadBaseDictionary() => new ArpabetG2p(); - - protected override List ProcessSyllable(Syllable syllable) - { - string prevV = syllable.prevV; - string[] cc = syllable.cc; - string v = syllable.v; - - string basePhoneme; - var phonemes = new List(); - var lastC = cc.Length - 1; - var firstC = 0; - if (syllable.IsStartingV) - { - basePhoneme = $"- {v}"; - } - else if (syllable.IsVV) - { - if (!CanMakeAliasExtension(syllable)) - { - basePhoneme = $"{prevV} {v}"; - } - else - { - // the previous alias will be extended - basePhoneme = null; - } - if (!HasOto($"{prevV} {v}", syllable.vowelTone)) { - if (prevV == "V" && !HasOto(prevV, syllable.vowelTone)) { - syllable.prevV = "@"; - } else if (v == "V" && !HasOto(v, syllable.vowelTone)) { - syllable.v = "@"; - } else { - basePhoneme = $"{v}"; - } - } - } - else if (syllable.IsStartingCVWithOneConsonant) - { - // TODO: move to config -CV or -C CV - var rcv = $"- {cc[0]}{v}"; - if (HasOto(rcv, syllable.vowelTone)) - { - basePhoneme = rcv; - } - else if (v == "V" && !HasOto(rcv, syllable.vowelTone) && HasOto($"- {cc[0]}@", syllable.vowelTone)) - { - basePhoneme = $"- {cc[0]}@"; - } - else - { - basePhoneme = $"{cc[0]}{v}"; - if (consonants.Contains(cc[0])) - { - TryAddPhoneme(phonemes, syllable.tone, $"- {cc[0]}"); - } - } - } - else if (syllable.IsStartingCVWithMoreThanOneConsonant) - { - // try RCCV - var rccv = $"- {string.Join("", cc)}{v}"; - if (HasOto(rccv, syllable.vowelTone)) - { - basePhoneme = rccv; - } - else - { - basePhoneme = $"{cc.Last()}{v}"; - if (HasOto($"_{cc.Last()}{v}", syllable.vowelTone)) { - basePhoneme = $"_{cc.Last()}{v}"; - } - // try RCC - for (var i = cc.Length; i > 1; i--) - { - if (TryAddPhoneme(phonemes, syllable.tone, $"- {string.Join("", cc.Take(i))}")) - { - firstC = i; - break; - } - } - if (phonemes.Count == 0) { - TryAddPhoneme(phonemes, syllable.tone, $"- {cc[0]}"); - } - // try CCV - for (var i = firstC; i < cc.Length - 1; i++) - { - var ccv = string.Join("", cc.Skip(i)) + v; - if (HasOto(ccv, syllable.tone)) - { - basePhoneme = ccv; - lastC = i; - break; - } - } - } - } - else - { // VCV - var vcv = $"{prevV} {cc[0]}{v}"; - var vccv = $"{prevV} {string.Join("", cc)}{v}"; - if (syllable.IsVCVWithOneConsonant && HasOto(vcv, syllable.vowelTone)) - { - basePhoneme = vcv; - } - else if (syllable.IsVCVWithMoreThanOneConsonant && HasOto(vccv, syllable.vowelTone)) - { - basePhoneme = vccv; - } - else if (prevV == "V" && !HasOto($"V {cc[0]}", syllable.vowelTone) && !HasOto(vcv, syllable.vowelTone) && !HasOto(vccv, syllable.vowelTone) && HasOto($"@ {string.Join("", cc)}", syllable.vowelTone)) - { - basePhoneme = $"{cc.Last()}{v}"; - phonemes.Add($"@ {string.Join("", cc)}"); - } - else - { - basePhoneme = cc.Last() + v; - // try CCV - if (cc.Length - firstC > 1) - { - for (var i = firstC; i < cc.Length; i++) - { - var ccv = $"{string.Join("", cc.Skip(i))}{v}"; - var rccv = $"- {string.Join("", cc.Skip(i))}{v}"; - if (HasOto(ccv, syllable.vowelTone)) - { - lastC = i; - basePhoneme = ccv; - break; - } - else if (HasOto(rccv, syllable.vowelTone) && (!HasOto(ccv, syllable.vowelTone))) - { - lastC = i; - basePhoneme = rccv; - break; - } - } - } - // try vcc - for (var i = lastC + 1; i >= 0; i--) - { - if (i == 0) - { - phonemes.Add($"{prevV} -"); - break; - } - var vcc = $"{prevV} {string.Join("", cc.Take(i))}"; - if (HasOto(vcc, syllable.tone)) - { - phonemes.Add(vcc); - firstC = i - 1; - break; - } - } - } - } - for (var i = firstC; i < lastC; i++) { - // we could use some CCV, so lastC is used - // we could use -CC so firstC is used - var cc1 = $"{string.Join("", cc.Skip(i))}"; - if (!HasOto($"- {string.Join("", cc)}{v}", syllable.vowelTone)) { - if (!HasOto(cc1, syllable.tone)) { - cc1 = $"{cc[i]}{cc[i + 1]}"; - } - if (!HasOto($"{string.Join("", cc.Skip(i))}", syllable.tone) && !HasOto($"{cc[i]}{cc[i + 1]}", syllable.tone)) { - cc1 = $"{cc[i]} {cc[i + 1]}"; - } - if (HasOto($"_{cc.Last()}{v}", syllable.vowelTone) && HasOto(cc1, syllable.vowelTone) && !cc1.Contains($"{cc[i]} {cc[i + 1]}")) { - basePhoneme = $"_{cc.Last()}{v}"; - } - if (i + 1 < lastC) { - var cc2 = $"{string.Join("", cc.Skip(i))}"; - if (!HasOto(cc2, syllable.tone)) { - cc2 = $"{cc[i + 1]}{cc[i + 2]}"; - } - if (!HasOto($"{cc[i + 1]}{cc[i + 2]}", syllable.tone) && !HasOto($"{string.Join("", cc.Skip(i))}", syllable.tone)) { - cc2 = $"{cc[i + 1]} {cc[i + 2]}"; - } - if (HasOto($"_{cc.Last()}{v}", syllable.vowelTone) && HasOto(cc2, syllable.vowelTone)) { - basePhoneme = $"_{cc.Last()}{v}"; - } if (HasOto(cc1, syllable.tone) && HasOto(cc2, syllable.tone) && !cc1.Contains($"{string.Join("", cc.Skip(i))}")) { - // like [V C1] [C1 C2] [C2 C3] [C3 ..] - phonemes.Add(cc1); - } else if (TryAddPhoneme(phonemes, syllable.tone, cc1)) { - // like [V C1] [C1 C2] [C2 ..] - } else if (TryAddPhoneme(phonemes, syllable.tone, $"{cc[i]} {cc[i + 1]}-")) { - // like [V C1] [C1 C2-] [C3 ..] - i++; - } else if (burstConsonants.Contains(cc[i])) { - // like [V C1] [C1] [C2 ..] - TryAddPhoneme(phonemes, syllable.tone, cc[i], $"{cc[i]} -"); - if (cc[i] == cc.Last() && !affricates.Contains(cc[i])) { - phonemes.Remove(cc[i]); - phonemes.Remove($"{cc[i]} -"); - } - } - } else { - // like [V C1] [C1 C2] [C2 ..] or like [V C1] [C1 -] [C3 ..] - TryAddPhoneme(phonemes, syllable.tone, cc1); - if (burstConsonants.Contains(cc[i])) { - TryAddPhoneme(phonemes, syllable.tone, cc[i], $"{cc[i]} -"); - } - if (cc[i] == cc.Last() && !affricates.Contains(cc[i])) { - phonemes.Remove(cc[i]); - phonemes.Remove($"{cc[i]} -"); - } - } - } - } - - phonemes.Add(basePhoneme); - return phonemes; - } - - protected override List ProcessEnding(Ending ending) - { - string[] cc = ending.cc; - string v = ending.prevV; - - var phonemes = new List(); - if (ending.IsEndingV) - { - phonemes.Add($"{v} -"); - } - else if (ending.IsEndingVCWithOneConsonant) - { - var vcr = $"{v} {cc[0]}-"; - if (HasOto(vcr, ending.tone)) { - phonemes.Add(vcr); - } else if (HasOto($"{v}{cc[0]} -", ending.tone)) { - phonemes.Add($"{v}{cc[0]} -"); - } else if (v == "V" && !HasOto(vcr, ending.tone) && HasOto($"@ {cc[0]}-", ending.tone)) { - phonemes.Add($"@ {cc[0]}-"); - } else { - phonemes.Add($"{v} {cc[0]}"); - if (burstConsonants.Contains(cc[0])) { - TryAddPhoneme(phonemes, ending.tone, $"{cc[0]} -", cc[0]); - } else { - TryAddPhoneme(phonemes, ending.tone, $"{cc[0]} -"); - } - } - } - else { - var vcc1 = $"{v} {string.Join("", cc)}-"; - var vcc2 = $"{v}{string.Join(" ", cc)}-"; - var vcc3 = $"{v}{cc[0]} {cc[0 + 1]}-"; - var vcc4 = $"{v}{cc[0]} {cc[0 + 1]}"; - if (HasOto(vcc1, ending.tone)) { - phonemes.Add(vcc1); - } else if (HasOto(vcc2, ending.tone)) { - phonemes.Add(vcc2); - } else if (HasOto(vcc3, ending.tone)) { - phonemes.Add(vcc3); - } else { - if (HasOto(vcc4, ending.tone)) { - phonemes.Add(vcc4); - } else if (!HasOto(vcc4, ending.tone)) { - phonemes.Add($"{v} {cc[0]}"); - } - // all CCs except the first one are /C1C2/, the last one is /C1 C2-/ - // but if there is no /C1C2/, we try /C1 C2-/, vise versa for the last one - for (var i = 0; i < cc.Length - 1; i++) { - var cc1 = $"{cc[i]} {cc[i + 1]}"; - if (!HasOto(cc1, ending.tone)) { - cc1 = $"{cc[i]}{cc[i + 1]}"; - } - if (!HasOto(cc1, ending.tone) && !HasOto($"{cc[i]}{cc[i + 1]}", ending.tone)) { - cc1 = $"{cc[i]} {cc[i + 1]}-"; - } - if (i < cc.Length - 2) { - var cc3 = $"{cc[i]} {cc[i + 1]}{cc[i + 2]}-"; - if (HasOto(cc3, ending.tone)) { - // like [C1 C2][C2 ...] - phonemes.Add(cc3); - i++; - } else { - if (HasOto(cc1, ending.tone) && (!HasOto(vcc4, ending.tone))) { - // like [C1 C2][C2 ...] - phonemes.Add(cc1); - } else if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} {cc[i + 2]}-")) { - // like [C1 C2-][C2 ...] - i++; - } else if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} {cc[i + 2]}")) { - // like [C1 C2][C3 ...] - } else if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]}{cc[i + 2]}")) { - // like [C1C2][C3 ...] - } else if (!cc.First().Contains(cc[i + 1]) || !cc.First().Contains(cc[i + 2])) { - // like [C1][C2 ...] - if (burstConsonants.Contains(cc[i]) && (!HasOto(vcc4, ending.tone))) { - TryAddPhoneme(phonemes, ending.tone, cc[i], $"{cc[i]} -"); - } - TryAddPhoneme(phonemes, ending.tone, cc[i + 1], $"{cc[i + 1]} -"); - TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 2]} -", cc[i + 2]); - i++; - } else if (!cc.First().Contains(cc[i])) { - // like [C1][C2 ...] - TryAddPhoneme(phonemes, ending.tone, cc[i], $"{cc[i]} -"); - i++; - } - } - } else { - if (!HasOto(vcc4, ending.tone)) { - if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i]} {cc[i + 1]}-")) { - // like [C1 C2-] - i++; - } else if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i]}{cc[i + 1]}")) { - // like [C1C2][C2 -] - TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -"); - if (burstConsonants.Contains(cc[i + 1])) { - TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -", cc[i + 1]); - } - i++; - } else if (TryAddPhoneme(phonemes, ending.tone, cc1)) { - // like [C1 C2][C2 -] - TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -"); - if (burstConsonants.Contains(cc[i + 1])) { - TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -", cc[i + 1]); - } - i++; - } - } else { - // like [C1][C2 -] - if (!HasOto(vcc4, ending.tone)) { - TryAddPhoneme(phonemes, ending.tone, cc[i], $"{cc[i]} -"); - if (!burstConsonants.Contains(cc[0])) { - phonemes.Remove(cc[0]); - } - } - TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -", cc[i + 1]); - i++; - } - } - } - } - } - return phonemes; - } - - protected override string ValidateAlias(string alias) - { - foreach (var vowel in new[] { "V" }) - { - alias = alias.Replace(vowel, "@"); - } - return alias; - } - } -} +using System; +using System.Collections.Generic; +using System.Linq; +using OpenUtau.Api; +using OpenUtau.Core.G2p; + +namespace OpenUtau.Plugin.Builtin +{ + [Phonemizer("Delta English (Version 1) Phonemizer", "EN Delta (Ver1)", "Lotte V", language:"EN")] + public class ENDeltaVer1Phonemizer : SyllableBasedPhonemizer + { + /// + /// General English phonemizer for Delta list (X-SAMPA) voicebanks. + /// The difference between this phonemizer and the Teto English phonemizer is that this one was made to support all Delta list-based banks. + /// However, it should be fully compatible with Kasane Teto's English voicebank regardless. + /// This is the version based on the first version of the list, with "full" diphthongs. + /// There is also a second version of the phonemizer with split diphthongs, based on the third version of the list. + /// It also has some support for sounds not found in the "classic" Delta list. + /// Due to the flexibility of X-SAMPA, it was easy to add those. + /// They are mostly based on sounds based on Cz's English VCCV list, just written differently. They are mostly found in North-American dialects. + /// All of these sounds are optional and should be inserted manually/phonetically, if the voicebank supports them. + /// + + private readonly string[] vowels = "a,A,@,{,V,O,aU,aI,E,3,eI,I,i,oU,OI,U,u,Q,Ol,aUn,e@,eN,IN,e,o,Ar,Er,Ir,Or,Ur,ir,ur,@l,@m,@n,@N,1,e@m,e@n".Split(','); + private readonly string[] consonants = "b,tS,d,D,4,f,g,h,dZ,k,l,m,n,N,p,r,s,S,t,T,v,w,W,j,z,Z,t_},・,_".Split(','); + private readonly string[] affricates = "tS,dZ".Split(','); + private readonly string[] shortConsonants = "4".Split(","); + private readonly string[] longConsonants = "tS,f,dZ,k,p,s,S,t,T,t_}".Split(","); + private readonly string[] normalConsonants = "b,d,D,g,h,l,m,n,N,r,v,w,W,j,z,Z,・".Split(','); + private readonly Dictionary dictionaryReplacements = ("aa=A;ae={;ah=V;ao=O;aw=aU;ax=@;ay=aI;" + + "b=b;ch=tS;d=d;dh=D;dx=4;eh=E;el=@l;em=@m;en=@n;eng=@N;er=3;ey=eI;f=f;g=g;hh=h;ih=I;iy=i;jh=dZ;k=k;l=l;m=m;n=n;ng=N;ow=oU;oy=OI;" + + "p=p;q=・;r=r;s=s;sh=S;t=t;th=T;uh=U;uw=u;v=v;w=w;y=j;z=z;zh=Z").Split(';') + .Select(entry => entry.Split('=')) + .Where(parts => parts.Length == 2) + .Where(parts => parts[0] != parts[1]) + .ToDictionary(parts => parts[0], parts => parts[1]); + protected override string[] GetVowels() => vowels; + protected override string[] GetConsonants() => consonants; + protected override string GetDictionaryName() => "cmudict-0_7b.txt"; + protected override Dictionary GetDictionaryPhonemesReplacement() => dictionaryReplacements; + + protected override IG2p LoadBaseDictionary() => new ArpabetG2p(); + + protected override List ProcessSyllable(Syllable syllable) + { + string prevV = syllable.prevV; + string[] cc = syllable.cc; + string v = syllable.v; + + string basePhoneme; + var phonemes = new List(); + var lastC = cc.Length - 1; + var firstC = 0; + var rv = $"- {v}"; + if (syllable.IsStartingV) + { + if (HasOto(rv, syllable.vowelTone)) { + basePhoneme = rv; + if (rv.Contains("V") && !HasOto(rv, syllable.vowelTone) && HasOto($"- A", syllable.vowelTone)) { + basePhoneme = $"- A"; + } + } + else { + basePhoneme = v; + if (v.Contains("V") && !HasOto(v, syllable.vowelTone) && HasOto($"A", syllable.vowelTone)) { + basePhoneme = $"A"; + } + } + } + else if (syllable.IsVV) + { + if (!CanMakeAliasExtension(syllable)) + { + basePhoneme = $"{prevV} {v}"; + } + else + { + // the previous alias will be extended + basePhoneme = null; + } + if (!HasOto($"{prevV} {v}", syllable.vowelTone)) { + if (prevV == "V" && !HasOto(prevV, syllable.vowelTone)) { + syllable.prevV = "A"; + } else if (v == "V" && !HasOto(v, syllable.vowelTone)) { + syllable.v = "A"; + } else { + basePhoneme = $"{v}"; + } + } + } + else if (syllable.IsStartingCVWithOneConsonant) + { + // TODO: move to config -CV or -C CV + var rcv = $"- {cc[0]}{v}"; + var cv = $"{cc[0]}{v}"; + if (HasOto(rcv, syllable.vowelTone)) + { + basePhoneme = rcv; + } + else if (v == "V" && !HasOto(rcv, syllable.vowelTone) && HasOto($"- {cc[0]}A", syllable.vowelTone)) + { + basePhoneme = $"- {cc[0]}A"; + } + else + { + basePhoneme = cv; + if (v == "V" && !HasOto(rcv, syllable.vowelTone) && !HasOto(cv, syllable.vowelTone) && HasOto($"{cc[0]}A", syllable.vowelTone)) { + basePhoneme = $"{cc[0]}A"; + } + if (consonants.Contains(cc[0])) + { + TryAddPhoneme(phonemes, syllable.tone, $"- {cc[0]}"); + } + } + } + else if (syllable.IsStartingCVWithMoreThanOneConsonant) + { + // try RCCV + var rccv = $"- {string.Join("", cc)}{v}"; + if (HasOto(rccv, syllable.vowelTone)) + { + basePhoneme = rccv; + } + else + { + basePhoneme = $"{cc.Last()}{v}"; + if (!HasOto($"{cc.Last()}V", syllable.vowelTone) && HasOto($"{cc.Last()}A", syllable.vowelTone)) { + basePhoneme = $"{cc.Last()}A"; + } + if (HasOto($"_{cc.Last()}{v}", syllable.vowelTone)) { + basePhoneme = $"_{cc.Last()}{v}"; + } + // try RCC + for (var i = cc.Length; i > 1; i--) + { + if (TryAddPhoneme(phonemes, syllable.tone, $"- {string.Join("", cc.Take(i))}")) + { + firstC = i; + break; + } + } + if (phonemes.Count == 0) { + TryAddPhoneme(phonemes, syllable.tone, $"- {cc[0]}"); + } + // try CCV + for (var i = firstC; i < cc.Length - 1; i++) + { + var ccv = string.Join("", cc.Skip(i)) + v; + if (HasOto(ccv, syllable.tone)) + { + basePhoneme = ccv; + lastC = i; + break; + } + } + } + } + else + { // VCV + var vcv = $"{prevV} {cc[0]}{v}"; + var vccv = $"{prevV} {string.Join("", cc)}{v}"; + if (syllable.IsVCVWithOneConsonant && HasOto(vcv, syllable.vowelTone)) + { + basePhoneme = vcv; + } + else if (syllable.IsVCVWithMoreThanOneConsonant && HasOto(vccv, syllable.vowelTone)) + { + basePhoneme = vccv; + } + else if (prevV == "V" && !HasOto($"V {cc[0]}", syllable.vowelTone) && !HasOto(vcv, syllable.vowelTone) && !HasOto(vccv, syllable.vowelTone)) + { + basePhoneme = $"{cc.Last()}{v}"; + phonemes.Add($"A {cc[0]}"); + } + else + { + basePhoneme = cc.Last() + v; + // try CCV + if (cc.Length - firstC > 1) + { + for (var i = firstC; i < cc.Length; i++) + { + var ccv = $"{string.Join("", cc.Skip(i))}{v}"; + var rccv = $"- {string.Join("", cc.Skip(i))}{v}"; + if (HasOto(ccv, syllable.vowelTone)) + { + lastC = i; + basePhoneme = ccv; + break; + } + else if (HasOto(rccv, syllable.vowelTone) && (!HasOto(ccv, syllable.vowelTone))) + { + lastC = i; + basePhoneme = rccv; + break; + } + } + } + // try vcc + for (var i = lastC + 1; i >= 0; i--) + { + var vcc = $"{prevV} {string.Join("", cc.Take(i))}"; + var vcc2 = $"{prevV}{string.Join(" ", cc.Take(2))}"; + var vcc3 = $"{prevV}{string.Join(" ", cc.Take(i))}"; + var cc1 = $"{string.Join(" ", cc.Take(2))}"; + var cc2 = $"{string.Join("", cc.Take(2))}"; + if (i == 0) { + phonemes.Add($"{prevV} -"); + } else if (HasOto(vcc, syllable.tone)) { + phonemes.Add(vcc); + firstC = i - 1; + break; + } else if (HasOto(vcc2, syllable.tone) && !(HasOto(cc1, syllable.tone)) && !(HasOto(cc2, syllable.tone))) { + phonemes.Add(vcc2); + firstC = i - 2; + break; + } else if (HasOto(vcc3, syllable.tone)) { + phonemes.Add(vcc3); + firstC = i - 1; + break; + } else { + phonemes.Add($"{prevV} {cc[0]}"); + break; + } + } + } + } + for (var i = firstC; i < lastC; i++) { + // we could use some CCV, so lastC is used + // we could use -CC so firstC is used + var cc1 = $"{string.Join("", cc.Skip(i))}"; + var ccv = string.Join("", cc.Skip(i)) + v; + if (!HasOto($"- {string.Join("", cc)}{v}", syllable.vowelTone)) { + if (!HasOto(cc1, syllable.tone)) { + cc1 = $"{cc[i]}{cc[i + 1]}"; + } + if (!HasOto($"{string.Join("", cc.Skip(i))}", syllable.tone) && !HasOto($"{cc[i]}{cc[i + 1]}", syllable.tone)) { + cc1 = $"{cc[i]} {cc[i + 1]}"; + } + if (HasOto(ccv, syllable.vowelTone)) { + basePhoneme = ccv; + } else if (HasOto($"_{cc.Last()}{v}", syllable.vowelTone) && HasOto(cc1, syllable.vowelTone) && !cc1.Contains($"{cc[i]} {cc[i + 1]}")) { + basePhoneme = $"_{cc.Last()}{v}"; + } + if (i + 1 < lastC) { + var cc2 = $"{string.Join("", cc.Skip(i))}"; + if (!HasOto(cc2, syllable.tone)) { + cc2 = $"{cc[i + 1]}{cc[i + 2]}"; + } + if (!HasOto($"{cc[i + 1]}{cc[i + 2]}", syllable.tone) && !HasOto($"{string.Join("", cc.Skip(i))}", syllable.tone)) { + cc2 = $"{cc[i + 1]} {cc[i + 2]}"; + } + if (HasOto(ccv, syllable.vowelTone)) { + basePhoneme = ccv; + } else if (HasOto($"_{cc.Last()}{v}", syllable.vowelTone) && HasOto(cc2, syllable.vowelTone) && !cc2.Contains($"{cc[i + 1]} {cc[i + 2]}")) { + basePhoneme = $"_{cc.Last()}{v}"; + } if (HasOto(cc1, syllable.tone) && HasOto(cc2, syllable.tone) && !cc1.Contains($"{string.Join("", cc.Skip(i))}")) { + // like [V C1] [C1 C2] [C2 C3] [C3 ..] + phonemes.Add(cc1); + } else if (TryAddPhoneme(phonemes, syllable.tone, cc1)) { + // like [V C1] [C1 C2] [C2 ..] + if (cc1.Contains($"{string.Join("", cc.Skip(i))}")) { + i++; + } + } else if (TryAddPhoneme(phonemes, syllable.tone, $"{cc[i]} {cc[i + 1]}-")) { + // like [V C1] [C1 C2-] [C3 ..] + if (affricates.Contains(cc[i + 1])) { + i++; + } else { + // continue as usual + } + } else if (affricates.Contains(cc[i])) { + // like [V C1] [C1] [C2 ..] + TryAddPhoneme(phonemes, syllable.tone, cc[i], $"{cc[i]} -"); + //if (cc[i] == cc.Last() && !affricates.Contains(cc[i])) { + // phonemes.Remove(cc[i]); + // phonemes.Remove($"{cc[i]} -"); + //} + } + } else { + // like [V C1] [C1 C2] [C2 ..] or like [V C1] [C1 -] [C3 ..] + TryAddPhoneme(phonemes, syllable.tone, cc1); + if (affricates.Contains(cc[i]) && !HasOto(cc1, syllable.tone)) { + TryAddPhoneme(phonemes, syllable.tone, cc[i], $"{cc[i]} -"); + //if (!affricates.Contains(cc[i]) && cc[i] == cc.Last()) { + // phonemes.Remove(cc[i]); + // phonemes.Remove($"{cc[i]} -"); + //} + } + } + } + } + + phonemes.Add(basePhoneme); + return phonemes; + } + + protected override List ProcessEnding(Ending ending) + { + string[] cc = ending.cc; + string v = ending.prevV; + + var phonemes = new List(); + if (ending.IsEndingV) { + if (HasOto($"{v} -", ending.tone)) { + phonemes.Add($"{v} -"); + } else if (v == "V" && !HasOto($"{v} -", ending.tone) && HasOto($"A -", ending.tone)) { + phonemes.Add($"A -"); + } else { + //continue as usual + } + } + else if (ending.IsEndingVCWithOneConsonant) + { + var vcr = $"{v} {cc[0]}-"; + if (HasOto(vcr, ending.tone)) { + phonemes.Add(vcr); + } else if (HasOto($"{v}{cc[0]} -", ending.tone)) { + phonemes.Add($"{v}{cc[0]} -"); + } else if (v == "V" && !HasOto(vcr, ending.tone) && HasOto($"A {cc[0]}-", ending.tone)) { + phonemes.Add($"A {cc[0]}-"); + } else { + phonemes.Add($"{v} {cc[0]}"); + if (v == "V" && !HasOto($"{v} {cc[0]}", ending.tone) && HasOto($"A {cc[0]}", ending.tone)) { + v.Replace("V", "A"); + } + if (affricates.Contains(cc[0])) { + TryAddPhoneme(phonemes, ending.tone, $"{cc[0]} -", cc[0]); + } else { + TryAddPhoneme(phonemes, ending.tone, $"{cc[0]} -"); + } + } + } else { + var vcc1 = $"{v} {string.Join("", cc)}-"; + var vcc2 = $"{v}{string.Join(" ", cc)}-"; + var vcc3 = $"{v}{cc[0]} {cc[0 + 1]}-"; + var vcc4 = $"{v}{cc[0]} {cc[0 + 1]}"; + if (HasOto(vcc1, ending.tone)) { + phonemes.Add(vcc1); + } else if (HasOto(vcc2, ending.tone)) { + phonemes.Add(vcc2); + } else if (HasOto(vcc3, ending.tone)) { + phonemes.Add(vcc3); + } else { + if (HasOto(vcc4, ending.tone)) { + phonemes.Add(vcc4); + } else if (!HasOto(vcc4, ending.tone)) { + phonemes.Add($"{v} {cc[0]}"); + } + // all CCs except the first one are /C1C2/, the last one is /C1 C2-/ + // but if there is no /C1C2/, we try /C1 C2-/, vise versa for the last one + for (var i = 0; i < cc.Length - 1; i++) { + var cc1 = $"{cc[i]} {cc[i + 1]}"; + if (!HasOto(cc1, ending.tone)) { + cc1 = $"{cc[i]}{cc[i + 1]}"; + } + if (!HasOto(cc1, ending.tone) && !HasOto($"{cc[i]}{cc[i + 1]}", ending.tone)) { + cc1 = $"{cc[i]} {cc[i + 1]}-"; + } + if (i < cc.Length - 2) { + var cc2 = $"{cc[i]} {string.Join("", cc.Skip(i))}-"; + var cc3 = $"{cc[i]} {cc[i + 1]}{cc[i + 2]}-"; + if (HasOto(cc2, ending.tone)) { + phonemes.Add(cc2); + i++; + } else if (HasOto(cc3, ending.tone)) { + // like [C1 C2][C2 ...] + phonemes.Add(cc3); + i++; + } else { + if (HasOto(cc1, ending.tone) && (!HasOto(vcc4, ending.tone))) { + // like [C1 C2][C2 ...] + phonemes.Add(cc1); + } else if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} {cc[i + 2]}-")) { + // like [C1 C2-][C2 ...] + i++; + } else if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} {cc[i + 2]}")) { + // like [C1 C2][C3 ...] + if (cc[i + 2] == cc.Last()) { + TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 2]} -"); + i++; + } else { + continue; + } + } else if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]}{cc[i + 2]}")) { + // like [C1C2][C3 ...] + } else if (!cc.First().Contains(cc[i + 1]) || !cc.First().Contains(cc[i + 2])) { + // like [C1][C2 ...] + if (affricates.Contains(cc[i]) && (!HasOto(vcc4, ending.tone))) { + TryAddPhoneme(phonemes, ending.tone, cc[i], $"{cc[i]} -"); + } + TryAddPhoneme(phonemes, ending.tone, cc[i + 1], $"{cc[i + 1]} -"); + TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 2]} -", cc[i + 2]); + i++; + } else if (!cc.First().Contains(cc[i])) { + // like [C1][C2 ...] + TryAddPhoneme(phonemes, ending.tone, cc[i], $"{cc[i]} -"); + i++; + } + } + } else { + if (!HasOto(vcc4, ending.tone)) { + if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i]} {cc[i + 1]}-")) { + // like [C1 C2-] + i++; + } else if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i]}{cc[i + 1]}")) { + // like [C1C2][C2 -] + if (affricates.Contains(cc[i + 1])) { + TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -", cc[i + 1]); + } else { + TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -"); + } + i++; + } else if (TryAddPhoneme(phonemes, ending.tone, cc1)) { + // like [C1 C2][C2 -] + if (affricates.Contains(cc[i + 1])) { + TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -", cc[i + 1]); + } else { + TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -"); + } + i++; + } else { + // like [C1][C2 -] + if (!HasOto(vcc4, ending.tone)) { + TryAddPhoneme(phonemes, ending.tone, cc[i], $"{cc[i]} -"); + if (!affricates.Contains(cc[0])) { + phonemes.Remove(cc[0]); + } + TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -", cc[i + 1]); + i++; + } + } + } + } + } + } + } + return phonemes; + } + + protected override string ValidateAlias(string alias) + { + foreach (var vowel in new[] { "V" }) + { + alias = alias.Replace(vowel, "A"); + } + return alias; + } + + protected override double GetTransitionBasicLengthMs(string alias = "") { + foreach (var c in longConsonants) { + if (alias.Contains(c)) { + if (!alias.StartsWith(c)) { + return base.GetTransitionBasicLengthMs() * 2.0; + } + } + } + foreach (var c in normalConsonants) { + if (!alias.Contains("_D")) { + if (alias.Contains(c)) { + if (!alias.StartsWith(c)) { + return base.GetTransitionBasicLengthMs(); + } + } + } + } + + foreach (var c in shortConsonants) { + if (alias.Contains(c)) { + if (!alias.Contains(" _")) { + return base.GetTransitionBasicLengthMs() * 0.50; + } + } + } + return base.GetTransitionBasicLengthMs(); + } + } +} diff --git a/OpenUtau.Plugin.Builtin/ENDeltaVer2Phonemizer.cs b/OpenUtau.Plugin.Builtin/ENDeltaVer2Phonemizer.cs index 1a989f9a9..bb26dc041 100644 --- a/OpenUtau.Plugin.Builtin/ENDeltaVer2Phonemizer.cs +++ b/OpenUtau.Plugin.Builtin/ENDeltaVer2Phonemizer.cs @@ -1,390 +1,564 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using OpenUtau.Api; -using Serilog; - -namespace OpenUtau.Plugin.Builtin -{ - [Phonemizer("Delta English (Version 2) Phonemizer", "EN Delta (Ver2)", "Lotte V")] - public class ENDeltaVer2Phonemizer : SyllableBasedPhonemizer - { - /// - /// General English phonemizer for Delta list (X-SAMPA) voicebanks. - /// This version is based on the third version of Delta's list, with split diphthongs. - /// There is also a version of the phonemizer based on the first version of the list, with "whole" diphthongs. - /// This version of the phonemizer also supports slightly less extra sounds, for practical reasons. - /// But it still contains some support for North-American sounds. - /// - - private readonly string[] vowels = "a,A,@,{,V,O,aU,aI,E,3,eI,I,i,oU,OI,U,u,Q,e,o,1".Split(','); - private readonly string[] consonants = "b,tS,d,D,4,f,g,h,dZ,k,l,m,n,N,p,r,s,S,t,T,v,w,j,z,Z,t_},・,_".Split(','); - private readonly string[] burstConsonants = "b,tS,d,dZ,4,g,k,p,t".Split(','); - private readonly string[] affricates = "tS,dZ".Split(','); - private readonly Dictionary dictionaryReplacements = ("aa=A;ae={;ah=V;ao=O;aw=aU;ax=@;ay=aI;" + - "b=b;ch=tS;d=d;dh=D;dx=4;eh=E;er=3;ey=eI;f=f;g=g;hh=h;ih=I;iy=i;jh=dZ;k=k;l=l;m=m;n=n;ng=N;ow=oU;oy=OI;" + - "p=p;q=・;r=r;s=s;sh=S;t=t;th=T;uh=U;uw=u;v=v;w=w;y=j;z=z;zh=Z").Split(';') - .Select(entry => entry.Split('=')) - .Where(parts => parts.Length == 2) - .Where(parts => parts[0] != parts[1]) - .ToDictionary(parts => parts[0], parts => parts[1]); - protected override string[] GetVowels() => vowels; - protected override string[] GetConsonants() => consonants; - protected override string GetDictionaryName() => "cmudict-0_7b.txt"; - protected override Dictionary GetDictionaryPhonemesReplacement() => dictionaryReplacements; - - protected override IG2p LoadBaseDictionary() => new ArpabetG2p(); - - protected override string[] GetSymbols(Note note) - { - string[] original = base.GetSymbols(note); - if (original == null) - { - return null; - } - List modified = new List(); - string[] diphthongs = new[] { "aI", "eI", "OI", "aU", "oU" }; - foreach (string s in original) - { - if (diphthongs.Contains(s)) - { - modified.AddRange(new string[] { s[0].ToString(), s[1].ToString() }); - } - else - { - modified.Add(s); - } - } - return modified.ToArray(); - } - - protected override List ProcessSyllable(Syllable syllable) - { - string prevV = syllable.prevV; - string[] cc = syllable.cc; - string v = syllable.v; - - string basePhoneme; - var phonemes = new List(); - var lastC = cc.Length - 1; - var firstC = 0; - if (syllable.IsStartingV) { - basePhoneme = $"- {v}"; - } else if (syllable.IsVV) { - if (!CanMakeAliasExtension(syllable)) { - basePhoneme = $"{prevV} {v}"; - } else { - // the previous alias will be extended - basePhoneme = null; - } - if (!HasOto($"{prevV} {v}", syllable.vowelTone)) { - if (prevV == "V" && !HasOto(prevV, syllable.vowelTone)) { - syllable.prevV = "@"; - } else if (v == "V" && !HasOto(v, syllable.vowelTone)) { - syllable.v = "@"; - } else if (prevV == "E" && !HasOto(prevV, syllable.vowelTone)) { - syllable.prevV = "e"; - } else if (v == "E" && !HasOto(v, syllable.vowelTone)) { - syllable.v = "e"; - } else if (prevV == "o" && !HasOto(prevV, syllable.vowelTone)) { - syllable.prevV = "O"; - } else if (v == "o" && !HasOto(v, syllable.vowelTone)) { - syllable.v = "O"; - } else { - basePhoneme = $"{v}"; - } - } - } else if (syllable.IsStartingCVWithOneConsonant) { - // TODO: move to config -CV or -C CV - var rcv = $"- {cc[0]}{v}"; - if (HasOto(rcv, syllable.vowelTone)) { - basePhoneme = rcv; - } else if (v == "V" && !HasOto(rcv, syllable.vowelTone) && HasOto($"- {cc[0]}@", syllable.vowelTone)) { - basePhoneme = $"- {cc[0]}@"; - } else if (v == "E" && !HasOto(rcv, syllable.vowelTone) && HasOto($"- {cc[0]}e", syllable.vowelTone)) { - basePhoneme = $"- {cc[0]}e"; - } else if (v == "o" && !HasOto(rcv, syllable.vowelTone) && HasOto($"- {cc[0]}O", syllable.vowelTone)) { - basePhoneme = $"- {cc[0]}O"; - } else { - basePhoneme = $"{cc[0]}{v}"; - if (consonants.Contains(cc[0])) { - TryAddPhoneme(phonemes, syllable.tone, $"- {cc[0]}"); - } - } - } else if (syllable.IsStartingCVWithMoreThanOneConsonant) { - // try RCCV - var rccv = $"- {string.Join("", cc)}{v}"; - if (HasOto(rccv, syllable.vowelTone)) { - basePhoneme = rccv; - } else { - basePhoneme = $"{cc.Last()}{v}"; - if (HasOto($"_{cc.Last()}{v}", syllable.vowelTone)) { - basePhoneme = $"_{cc.Last()}{v}"; - } - // try RCC - for (var i = cc.Length; i > 1; i--) { - if (TryAddPhoneme(phonemes, syllable.tone, $"- {string.Join("", cc.Take(i))}", $"{string.Join("", cc.Take(i))}")) { - firstC = i; - break; - } - } - if (phonemes.Count == 0) { - TryAddPhoneme(phonemes, syllable.tone, $"- {cc[0]}"); - } - // try CCV - for (var i = firstC; i < cc.Length - 1; i++) { - var ccv = string.Join("", cc.Skip(i)) + v; - if (HasOto(ccv, syllable.tone)) { - basePhoneme = ccv; - lastC = i; - break; - } - } - } - } else { // VCV - var vcv = $"{prevV} {cc[0]}{v}"; - var vccv = $"{prevV} {string.Join("", cc)}{v}"; - if (syllable.IsVCVWithOneConsonant && HasOto(vcv, syllable.vowelTone)) { - basePhoneme = vcv; - } else if (syllable.IsVCVWithMoreThanOneConsonant && HasOto(vccv, syllable.vowelTone)) { - basePhoneme = vccv; - } else if (prevV == "V" && !HasOto($"V {cc[0]}", syllable.vowelTone) && !HasOto(vcv, syllable.vowelTone) && !HasOto(vccv, syllable.vowelTone) && HasOto($"@ {string.Join("", cc)}", syllable.vowelTone)) { - basePhoneme = $"{cc.Last()}{v}"; - phonemes.Add($"@ {string.Join("", cc)}"); - } else if (prevV == "E" && !HasOto($"E {cc[0]}", syllable.vowelTone) && !HasOto(vcv, syllable.vowelTone) && !HasOto(vccv, syllable.vowelTone) && HasOto($"e {string.Join("", cc)}", syllable.vowelTone)) { - basePhoneme = $"{cc.Last()}{v}"; - phonemes.Add($"e {string.Join("", cc)}"); - } else if (prevV == "o" && !HasOto($"o {cc[0]}", syllable.vowelTone) && !HasOto(vcv, syllable.vowelTone) && !HasOto(vccv, syllable.vowelTone) && HasOto($"O {string.Join("", cc)}", syllable.vowelTone)) { - basePhoneme = $"{cc.Last()}{v}"; - phonemes.Add($"O {string.Join("", cc)}"); - } else { - // try CCV - basePhoneme = cc.Last() + v; - if (cc.Length - firstC > 1) { - for (var i = firstC; i < cc.Length; i++) { - var ccv = $"{string.Join("", cc.Skip(i))}{v}"; - var rccv = $"- {string.Join("", cc.Skip(i))}{v}"; - if (HasOto(ccv, syllable.vowelTone)) { - lastC = i; - basePhoneme = ccv; - break; - } else if (HasOto(rccv, syllable.vowelTone) && (!HasOto(ccv, syllable.vowelTone))) { - lastC = i; - basePhoneme = rccv; - break; - } - } - } - // try vcc - for (var i = lastC + 1; i >= 0; i--) { - if (i == 0) { - phonemes.Add($"{prevV} -"); - break; - } - var vcc = $"{prevV} {string.Join("", cc.Take(i))}"; - if (HasOto(vcc, syllable.tone)) { - phonemes.Add(vcc); - firstC = i - 1; - break; - } - } - } - } - for (var i = firstC; i < lastC; i++) { - // we could use some CCV, so lastC is used - // we could use -CC so firstC is used - var cc1 = $"{string.Join("", cc.Skip(i))}"; - if (!HasOto($"- {string.Join("", cc)}{v}", syllable.vowelTone)) { - if (!HasOto(cc1, syllable.tone)) { - cc1 = $"{cc[i]}{cc[i + 1]}"; - } - if (!HasOto($"{string.Join("", cc.Skip(i))}", syllable.tone) && !HasOto($"{cc[i]}{cc[i + 1]}", syllable.tone)) { - cc1 = $"{cc[i]} {cc[i + 1]}"; - } - if (HasOto($"_{cc.Last()}{v}", syllable.vowelTone) && HasOto(cc1, syllable.vowelTone) && !cc1.Contains($"{cc[i]} {cc[i + 1]}")) { - basePhoneme = $"_{cc.Last()}{v}"; - } - if (i + 1 < lastC) { - var cc2 = $"{string.Join("", cc.Skip(i))}"; - if (!HasOto(cc2, syllable.tone)) { - cc2 = $"{cc[i + 1]}{cc[i + 2]}"; - } - if (!HasOto($"{cc[i + 1]}{cc[i + 2]}", syllable.tone) && !HasOto($"{string.Join("", cc.Skip(i))}", syllable.tone)) { - cc2 = $"{cc[i + 1]} {cc[i + 2]}"; - } - if (HasOto($"_{cc.Last()}{v}", syllable.vowelTone) && HasOto(cc2, syllable.vowelTone)) { - basePhoneme = $"_{cc.Last()}{v}"; - } - if (HasOto(cc1, syllable.tone) && HasOto(cc2, syllable.tone) && !cc1.Contains($"{string.Join("", cc.Skip(i))}")) { - // like [V C1] [C1 C2] [C2 C3] [C3 ..] - phonemes.Add(cc1); - } else if (TryAddPhoneme(phonemes, syllable.tone, cc1)) { - // like [V C1] [C1 C2] [C2 ..] - } else if (TryAddPhoneme(phonemes, syllable.tone, $"{cc[i]} {cc[i + 1]}-")) { - // like [V C1] [C1 C2-] [C3 ..] - i++; - } else if (burstConsonants.Contains(cc[i])) { - // like [V C1] [C1] [C2 ..] - TryAddPhoneme(phonemes, syllable.tone, cc[i], $"{cc[i]} -"); - if (cc[i] == cc.Last() && !affricates.Contains(cc[i])) { - phonemes.Remove(cc[i]); - phonemes.Remove($"{cc[i]} -"); - } - } - } else { - // like [V C1] [C1 C2] [C2 ..] or like [V C1] [C1 -] [C3 ..] - TryAddPhoneme(phonemes, syllable.tone, cc1); - if (burstConsonants.Contains(cc[i])) { - TryAddPhoneme(phonemes, syllable.tone, cc[i], $"{cc[i]} -"); - } - if (cc[i] == cc.Last() && !affricates.Contains(cc[i])) { - phonemes.Remove(cc[i]); - phonemes.Remove($"{cc[i]} -"); - } - } - } - } - - phonemes.Add(basePhoneme); - return phonemes; - } - - protected override List ProcessEnding(Ending ending) - { - string[] cc = ending.cc; - string v = ending.prevV; - - var phonemes = new List(); - if (ending.IsEndingV) { - phonemes.Add($"{v} -"); - } else if (ending.IsEndingVCWithOneConsonant) { - var vcr = $"{v} {cc[0]}-"; - if (HasOto(vcr, ending.tone)) { - phonemes.Add(vcr); - } else if (v == "V" && !HasOto(vcr, ending.tone) && HasOto($"@ {cc[0]}-", ending.tone)) { - phonemes.Add($"@ {cc[0]}-"); - } else if (v == "E" && !HasOto(vcr, ending.tone) && HasOto($"e {cc[0]}-", ending.tone)) { - phonemes.Add($"e {cc[0]}-"); - } else if (v == "o" && !HasOto(vcr, ending.tone) && HasOto($"O {cc[0]}-", ending.tone)) { - phonemes.Add($"O {cc[0]}-"); - } else { - phonemes.Add($"{v} {cc[0]}"); - if (burstConsonants.Contains(cc[0])) { - TryAddPhoneme(phonemes, ending.tone, $"{cc[0]} -", cc[0]); - } else { - TryAddPhoneme(phonemes, ending.tone, $"{cc[0]} -"); - } - } - } else { - var vcc1 = $"{v} {string.Join("", cc)}-"; - var vcc2 = $"{v}{string.Join(" ", cc)}-"; - var vcc3 = $"{v}{cc[0]} {cc[0 + 1]}-"; - var vcc4 = $"{v}{cc[0]} {cc[0 + 1]}"; - if (HasOto(vcc1, ending.tone)) { - phonemes.Add(vcc1); - } else if (HasOto(vcc2, ending.tone)) { - phonemes.Add(vcc2); - } else if (HasOto(vcc3, ending.tone)) { - phonemes.Add(vcc3); - } else { - if (HasOto(vcc4, ending.tone)) { - phonemes.Add(vcc4); - } else if (!HasOto(vcc4, ending.tone)) { - phonemes.Add($"{v} {cc[0]}"); - } - // all CCs except the first one are /C1C2/, the last one is /C1 C2-/ - // but if there is no /C1C2/, we try /C1 C2-/, vise versa for the last one - for (var i = 0; i < cc.Length - 1; i++) { - var cc1 = $"{cc[i]} {cc[i + 1]}"; - if (!HasOto(cc1, ending.tone)) { - cc1 = $"{cc[i]}{cc[i + 1]}"; - } - if (!HasOto(cc1, ending.tone) && !HasOto($"{cc[i]}{cc[i + 1]}", ending.tone)) { - cc1 = $"{cc[i]} {cc[i + 1]}-"; - } - if (i < cc.Length - 2) { - var cc3 = $"{cc[i]} {cc[i + 1]}{cc[i + 2]}-"; - if (HasOto(cc3, ending.tone)) { - // like [C1 C2][C2 ...] - phonemes.Add(cc3); - i++; - } else { - if (HasOto(cc1, ending.tone) && (!HasOto(vcc4, ending.tone))) { - // like [C1 C2][C2 ...] - phonemes.Add(cc1); - } else if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} {cc[i + 2]}-")) { - // like [C1 C2-][C2 ...] - i++; - } else if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} {cc[i + 2]}")) { - // like [C1 C2][C3 ...] - } else if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]}{cc[i + 2]}")) { - // like [C1C2][C3 ...] - } else if (!cc.First().Contains(cc[i + 1]) || !cc.First().Contains(cc[i + 2])) { - // like [C1][C2 ...] - if (burstConsonants.Contains(cc[i]) && (!HasOto(vcc4, ending.tone))) { - TryAddPhoneme(phonemes, ending.tone, cc[i], $"{cc[i]} -"); - } - TryAddPhoneme(phonemes, ending.tone, cc[i + 1], $"{cc[i + 1]} -"); - TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 2]} -", cc[i + 2]); - i++; - } else if (!cc.First().Contains(cc[i])) { - // like [C1][C2 ...] - TryAddPhoneme(phonemes, ending.tone, cc[i], $"{cc[i]} -"); - i++; - } - } - } else { - if (!HasOto(vcc4, ending.tone)) { - if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i]} {cc[i + 1]}-")) { - // like [C1 C2-] - i++; - } else if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i]}{cc[i + 1]}")) { - // like [C1C2][C2 -] - TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -"); - if (burstConsonants.Contains(cc[i + 1])) { - TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -", cc[i + 1]); - } - i++; - } else if (TryAddPhoneme(phonemes, ending.tone, cc1)) { - // like [C1 C2][C2 -] - TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -"); - if (burstConsonants.Contains(cc[i + 1])) { - TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -", cc[i + 1]); - } - i++; - } - } else { - // like [C1][C2 -] - if (!HasOto(vcc4, ending.tone)) { - TryAddPhoneme(phonemes, ending.tone, cc[i], $"{cc[i]} -"); - if (!burstConsonants.Contains(cc[0])) { - phonemes.Remove(cc[0]); - } - } - TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -", cc[i + 1]); - i++; - } - } - } - } - } - return phonemes; - } - - protected override string ValidateAlias(string alias) - { - foreach (var vowel in new[] { "V" }) - { - alias = alias.Replace(vowel, "@"); - } - foreach (var vowel in new[] { "E" }) { - alias = alias.Replace(vowel, "e"); - } - foreach (var vowel in new[] { "o" }) { - alias = alias.Replace(vowel, "O"); - } - return alias; - } - } -} +using System; +using System.Collections.Generic; +using System.Linq; +using OpenUtau.Api; +using OpenUtau.Core.G2p; + +namespace OpenUtau.Plugin.Builtin +{ + [Phonemizer("Delta English (Version 2) Phonemizer", "EN Delta (Ver2)", "Lotte V", language:"EN")] + public class ENDeltaVer2Phonemizer : SyllableBasedPhonemizer + { + /// + /// General English phonemizer for Delta list (X-SAMPA) voicebanks. + /// This version is based on the third version of Delta's list, with split diphthongs. + /// There is also a version of the phonemizer based on the first version of the list, with "whole" diphthongs. + /// This version of the phonemizer also supports slightly less extra sounds, for practical reasons. + /// But it still contains some support for North-American sounds. + /// + + private readonly string[] vowels = "a,A,@,{,V,O,aU,aI,E,3,eI,I,i,oU,OI,U,u,Q,e,o,1".Split(','); + private readonly string[] consonants = "b,tS,d,D,4,f,g,h,dZ,k,l,m,n,N,p,r,s,S,t,T,v,w,W,j,z,Z,t_},・,_".Split(','); + private readonly string[] affricates = "tS,dZ".Split(','); + private readonly string[] shortConsonants = "4".Split(","); + private readonly string[] longConsonants = "tS,f,dZ,k,p,s,S,t,T,t_}".Split(","); + private readonly string[] normalConsonants = "b,d,D,g,h,l,m,n,N,r,v,w,W,j,z,Z,・".Split(','); + private readonly Dictionary dictionaryReplacements = ("aa=A;ae={;ah=V;ao=O;aw=aU;ax=@;ay=aI;" + + "b=b;ch=tS;d=d;dh=D;dx=4;eh=E;er=3;ey=eI;f=f;g=g;hh=h;ih=I;iy=i;jh=dZ;k=k;l=l;m=m;n=n;ng=N;ow=oU;oy=OI;" + + "p=p;q=・;r=r;s=s;sh=S;t=t;th=T;uh=U;uw=u;v=v;w=w;y=j;z=z;zh=Z").Split(';') + .Select(entry => entry.Split('=')) + .Where(parts => parts.Length == 2) + .Where(parts => parts[0] != parts[1]) + .ToDictionary(parts => parts[0], parts => parts[1]); + protected override string[] GetVowels() => vowels; + protected override string[] GetConsonants() => consonants; + protected override string GetDictionaryName() => "cmudict-0_7b.txt"; + protected override Dictionary GetDictionaryPhonemesReplacement() => dictionaryReplacements; + + protected override IG2p LoadBaseDictionary() => new ArpabetG2p(); + + protected override string[] GetSymbols(Note note) + { + string[] original = base.GetSymbols(note); + if (original == null) + { + return null; + } + List modified = new List(); + string[] diphthongs = new[] { "aI", "eI", "OI", "aU", "oU" }; + foreach (string s in original) + { + if (diphthongs.Contains(s)) + { + modified.AddRange(new string[] { s[0].ToString(), s[1].ToString() }); + } + else + { + modified.Add(s); + } + } + return modified.ToArray(); + } + + protected override List ProcessSyllable(Syllable syllable) + { + string prevV = syllable.prevV; + string[] cc = syllable.cc; + string v = syllable.v; + + string basePhoneme; + var phonemes = new List(); + var lastC = cc.Length - 1; + var firstC = 0; + var rv = $"- {v}"; + if (syllable.IsStartingV) { + if (HasOto(rv, syllable.vowelTone)) { + basePhoneme = rv; + if (rv.Contains("V") && !HasOto(rv, syllable.vowelTone) && HasOto($"- A", syllable.vowelTone)) { + basePhoneme = $"- A"; + } else if (rv.Contains("E") && !HasOto(rv, syllable.vowelTone) && HasOto($"- e", syllable.vowelTone)) { + basePhoneme = $"- e"; + } else if (rv.Contains("I") && !HasOto(rv, syllable.vowelTone) && HasOto($"- i", syllable.vowelTone)) { + basePhoneme = $"- i"; + } else if (rv.Contains("o") && !HasOto(rv, syllable.vowelTone) && HasOto($"- O", syllable.vowelTone)) { + basePhoneme = $"- O"; + } else if (rv.Contains("U") && !HasOto(rv, syllable.vowelTone) && HasOto($"- u", syllable.vowelTone)) { + basePhoneme = $"- u"; + } + } + else { + basePhoneme = v; + if (v.Contains("V") && !HasOto(v, syllable.vowelTone) && HasOto($"A", syllable.vowelTone)) { + basePhoneme = $"A"; + } else if (v.Contains("E") && !HasOto(v, syllable.vowelTone) && HasOto($"e", syllable.vowelTone)) { + basePhoneme = $"e"; + } else if (v.Contains("I") && !HasOto(v, syllable.vowelTone) && HasOto($"i", syllable.vowelTone)) { + basePhoneme = $"i"; + } else if (v.Contains("o") && !HasOto(v, syllable.vowelTone) && HasOto($"O", syllable.vowelTone)) { + basePhoneme = $"O"; + }else if (v.Contains("U") && !HasOto(v, syllable.vowelTone) && HasOto($"u", syllable.vowelTone)) { + basePhoneme = $"u"; + } + } + } else if (syllable.IsVV) { + if (!CanMakeAliasExtension(syllable)) { + basePhoneme = $"{prevV} {v}"; + } else { + // the previous alias will be extended + basePhoneme = null; + } + if (!HasOto($"{prevV} {v}", syllable.vowelTone)) { + if (prevV == "V" && !HasOto(prevV, syllable.vowelTone)) { + syllable.prevV = "A"; + } else if (v == "V" && !HasOto(v, syllable.vowelTone)) { + syllable.v = "A"; + } else if (prevV == "E" && !HasOto(prevV, syllable.vowelTone)) { + syllable.prevV = "e"; + } else if (v == "E" && !HasOto(v, syllable.vowelTone)) { + syllable.v = "e"; + } else if (prevV == "I" && !HasOto(prevV, syllable.vowelTone)) { + syllable.prevV = "i"; + } else if (v == "I" && !HasOto(v, syllable.vowelTone)) { + syllable.v = "i"; + } else if (prevV == "o" && !HasOto(prevV, syllable.vowelTone)) { + syllable.prevV = "O"; + } else if (v == "o" && !HasOto(v, syllable.vowelTone)) { + syllable.v = "O"; + } else if (prevV == "U" && !HasOto(prevV, syllable.vowelTone)) { + syllable.prevV = "u"; + } else if (v == "U" && !HasOto(v, syllable.vowelTone)) { + syllable.v = "u"; + } else { + basePhoneme = $"{v}"; + } + } + } else if (syllable.IsStartingCVWithOneConsonant) { + // TODO: move to config -CV or -C CV + var rcv = $"- {cc[0]}{v}"; + var cv = $"{cc[0]}{v}"; + if (HasOto(rcv, syllable.vowelTone)) { + basePhoneme = rcv; + } else if (v == "V" && !HasOto(rcv, syllable.vowelTone) && HasOto($"- {cc[0]}A", syllable.vowelTone)) { + basePhoneme = $"- {cc[0]}A"; + } else if (v == "E" && !HasOto(rcv, syllable.vowelTone) && HasOto($"- {cc[0]}e", syllable.vowelTone)) { + basePhoneme = $"- {cc[0]}e"; + } else if (v == "I" && !HasOto(rcv, syllable.vowelTone) && HasOto($"- {cc[0]}i", syllable.vowelTone)) { + basePhoneme = $"- {cc[0]}i"; + } else if (v == "o" && !HasOto(rcv, syllable.vowelTone) && HasOto($"- {cc[0]}O", syllable.vowelTone)) { + basePhoneme = $"- {cc[0]}O"; + } else if (v == "U" && !HasOto(rcv, syllable.vowelTone) && HasOto($"- {cc[0]}u", syllable.vowelTone)) { + basePhoneme = $"- {cc[0]}u"; + } else { + basePhoneme = cv; + if (v == "V" && !HasOto(rcv, syllable.vowelTone) && !HasOto(cv, syllable.vowelTone) && HasOto($"{cc[0]}A", syllable.vowelTone)) { + basePhoneme = $"{cc[0]}A"; + } + else if (v == "E" && !HasOto(rcv, syllable.vowelTone) && !HasOto(cv, syllable.vowelTone) && HasOto($"{cc[0]}e", syllable.vowelTone)) { + basePhoneme = $"{cc[0]}e"; + } + else if (v == "I" && !HasOto(rcv, syllable.vowelTone) && !HasOto(cv, syllable.vowelTone) && HasOto($"{cc[0]}i", syllable.vowelTone)) { + basePhoneme = $"{cc[0]}i"; + } + else if (v == "o" && !HasOto(rcv, syllable.vowelTone) && !HasOto(cv, syllable.vowelTone) && HasOto($"{cc[0]}O", syllable.vowelTone)) { + basePhoneme = $"{cc[0]}O"; + } + else if (v == "U" && !HasOto(rcv, syllable.vowelTone) && !HasOto(cv, syllable.vowelTone) && HasOto($"{cc[0]}u", syllable.vowelTone)) { + basePhoneme = $"{cc[0]}u"; + } + if (consonants.Contains(cc[0])) { + TryAddPhoneme(phonemes, syllable.tone, $"- {cc[0]}"); + } + } + } else if (syllable.IsStartingCVWithMoreThanOneConsonant) { + // try RCCV + var rccv = $"- {string.Join("", cc)}{v}"; + if (HasOto(rccv, syllable.vowelTone)) { + basePhoneme = rccv; + } else { + basePhoneme = $"{cc.Last()}{v}"; + if (!HasOto($"{cc.Last()}V", syllable.vowelTone) && HasOto($"{cc.Last()}A", syllable.vowelTone)) { + basePhoneme = $"{cc.Last()}A"; + } else if (!HasOto($"{cc.Last()}E", syllable.vowelTone) && HasOto($"{cc.Last()}e", syllable.vowelTone)) { + basePhoneme = $"{cc.Last()}e"; + } else if (!HasOto($"{cc.Last()}I", syllable.vowelTone) && HasOto($"{cc.Last()}i", syllable.vowelTone)) { + basePhoneme = $"{cc.Last()}i"; + } else if (!HasOto($"{cc.Last()}o", syllable.vowelTone) && HasOto($"{cc.Last()}O", syllable.vowelTone)) { + basePhoneme = $"{cc.Last()}O"; + } else if (!HasOto($"{cc.Last()}U", syllable.vowelTone) && HasOto($"{cc.Last()}u", syllable.vowelTone)) { + basePhoneme = $"{cc.Last()}u"; + } + if (HasOto($"_{cc.Last()}{v}", syllable.vowelTone)) { + basePhoneme = $"_{cc.Last()}{v}"; + } + // try RCC + for (var i = cc.Length; i > 1; i--) { + if (TryAddPhoneme(phonemes, syllable.tone, $"- {string.Join("", cc.Take(i))}", $"{string.Join("", cc.Take(i))}")) { + firstC = i; + break; + } + } + if (phonemes.Count == 0) { + TryAddPhoneme(phonemes, syllable.tone, $"- {cc[0]}"); + } + // try CCV + for (var i = firstC; i < cc.Length - 1; i++) { + var ccv = string.Join("", cc.Skip(i)) + v; + if (HasOto(ccv, syllable.tone)) { + basePhoneme = ccv; + lastC = i; + break; + } + } + } + } else { // VCV + var vcv = $"{prevV} {cc[0]}{v}"; + var vccv = $"{prevV} {string.Join("", cc)}{v}"; + if (syllable.IsVCVWithOneConsonant && HasOto(vcv, syllable.vowelTone)) { + basePhoneme = vcv; + } else if (syllable.IsVCVWithMoreThanOneConsonant && HasOto(vccv, syllable.vowelTone)) { + basePhoneme = vccv; + } else if (prevV == "V" && !HasOto($"V {cc[0]}", syllable.vowelTone) && !HasOto(vcv, syllable.vowelTone) && !HasOto(vccv, syllable.vowelTone) && HasOto($"@ {cc[0]}", syllable.vowelTone)) { + basePhoneme = $"{cc.Last()}{v}"; + phonemes.Add($"A {cc[0]}"); + } else if (prevV == "E" && !HasOto($"E {cc[0]}", syllable.vowelTone) && !HasOto(vcv, syllable.vowelTone) && !HasOto(vccv, syllable.vowelTone) && HasOto($"e {cc[0]}", syllable.vowelTone)) { + basePhoneme = $"{cc.Last()}{v}"; + phonemes.Add($"e {cc[0]}"); + } else if (prevV == "I" && !HasOto($"I {cc[0]}", syllable.vowelTone) && !HasOto(vcv, syllable.vowelTone) && !HasOto(vccv, syllable.vowelTone) && HasOto($"i {cc[0]}", syllable.vowelTone)) { + basePhoneme = $"{cc.Last()}{v}"; + phonemes.Add($"i {cc[0]}"); + } else if (prevV == "o" && !HasOto($"o {cc[0]}", syllable.vowelTone) && !HasOto(vcv, syllable.vowelTone) && !HasOto(vccv, syllable.vowelTone) && HasOto($"O {cc[0]}", syllable.vowelTone)) { + basePhoneme = $"{cc.Last()}{v}"; + phonemes.Add($"O {cc[0]}"); + } else if (prevV == "U" && !HasOto($"U {cc[0]}", syllable.vowelTone) && !HasOto(vcv, syllable.vowelTone) && !HasOto(vccv, syllable.vowelTone) && HasOto($"u {cc[0]}", syllable.vowelTone)) { + basePhoneme = $"{cc.Last()}{v}"; + phonemes.Add($"u {cc[0]}"); + } else { + // try CCV + basePhoneme = cc.Last() + v; + if (cc.Length - firstC > 1) { + for (var i = firstC; i < cc.Length; i++) { + var ccv = $"{string.Join("", cc.Skip(i))}{v}"; + var rccv = $"- {string.Join("", cc.Skip(i))}{v}"; + if (HasOto(ccv, syllable.vowelTone)) { + lastC = i; + basePhoneme = ccv; + break; + } else if (HasOto(rccv, syllable.vowelTone) && (!HasOto(ccv, syllable.vowelTone))) { + lastC = i; + basePhoneme = rccv; + break; + } + } + } + // try vcc + for (var i = lastC + 1; i >= 0; i--) + { + var vcc = $"{prevV} {string.Join("", cc.Take(i))}"; + var vcc2 = $"{prevV}{string.Join(" ", cc.Take(2))}"; + var vcc3 = $"{prevV}{string.Join(" ", cc.Take(i))}"; + var cc1 = $"{string.Join(" ", cc.Take(2))}"; + var cc2 = $"{string.Join("", cc.Take(2))}"; + if (i == 0) { + phonemes.Add($"{prevV} -"); + } else if (HasOto(vcc, syllable.tone)) { + phonemes.Add(vcc); + firstC = i - 1; + break; + } else if (HasOto(vcc2, syllable.tone) && !(HasOto(cc1, syllable.tone)) && !(HasOto(cc2, syllable.tone))) { + phonemes.Add(vcc2); + firstC = i - 2; + break; + } else if (HasOto(vcc3, syllable.tone)) { + phonemes.Add(vcc3); + firstC = i - 1; + break; + } else { + phonemes.Add($"{prevV} {cc[0]}"); + break; + } + } + } + } + for (var i = firstC; i < lastC; i++) { + // we could use some CCV, so lastC is used + // we could use -CC so firstC is used + var cc1 = $"{string.Join("", cc.Skip(i))}"; + var ccv = string.Join("", cc.Skip(i)) + v; + if (!HasOto($"- {string.Join("", cc)}{v}", syllable.vowelTone)) { + if (!HasOto(cc1, syllable.tone)) { + cc1 = $"{cc[i]}{cc[i + 1]}"; + } + if (!HasOto($"{string.Join("", cc.Skip(i))}", syllable.tone) && !HasOto($"{cc[i]}{cc[i + 1]}", syllable.tone)) { + cc1 = $"{cc[i]} {cc[i + 1]}"; + } + if (HasOto(ccv, syllable.vowelTone)) { + basePhoneme = ccv; + } else if (HasOto($"_{cc.Last()}{v}", syllable.vowelTone) && HasOto(cc1, syllable.vowelTone) && !cc1.Contains($"{cc[i]} {cc[i + 1]}")) { + basePhoneme = $"_{cc.Last()}{v}"; + } + if (i + 1 < lastC) { + var cc2 = $"{string.Join("", cc.Skip(i))}"; + if (!HasOto(cc2, syllable.tone)) { + cc2 = $"{cc[i + 1]}{cc[i + 2]}"; + } + if (!HasOto($"{cc[i + 1]}{cc[i + 2]}", syllable.tone) && !HasOto($"{string.Join("", cc.Skip(i))}", syllable.tone)) { + cc2 = $"{cc[i + 1]} {cc[i + 2]}"; + } + if (HasOto(ccv, syllable.vowelTone)) { + basePhoneme = ccv; + } else if (HasOto($"_{cc.Last()}{v}", syllable.vowelTone) && HasOto(cc2, syllable.vowelTone) && !cc2.Contains($"{cc[i + 1]} {cc[i + 2]}")) { + basePhoneme = $"_{cc.Last()}{v}"; + } if (HasOto(cc1, syllable.tone) && HasOto(cc2, syllable.tone) && !cc1.Contains($"{string.Join("", cc.Skip(i))}")) { + // like [V C1] [C1 C2] [C2 C3] [C3 ..] + phonemes.Add(cc1); + } else if (TryAddPhoneme(phonemes, syllable.tone, cc1)) { + // like [V C1] [C1 C2] [C2 ..] + if (cc1.Contains($"{string.Join("", cc.Skip(i))}")) { + i++; + } + } else if (TryAddPhoneme(phonemes, syllable.tone, $"{cc[i]} {cc[i + 1]}-")) { + // like [V C1] [C1 C2-] [C3 ..] + if (affricates.Contains(cc[i + 1])) { + i++; + } else { + // continue as usual + } + } else if (affricates.Contains(cc[i])) { + // like [V C1] [C1] [C2 ..] + TryAddPhoneme(phonemes, syllable.tone, cc[i], $"{cc[i]} -"); + //if (cc[i] == cc.Last() && !affricates.Contains(cc[i])) { + // phonemes.Remove(cc[i]); + // phonemes.Remove($"{cc[i]} -"); + //} + } + } else { + // like [V C1] [C1 C2] [C2 ..] or like [V C1] [C1 -] [C3 ..] + TryAddPhoneme(phonemes, syllable.tone, cc1); + if (affricates.Contains(cc[i]) && !HasOto(cc1, syllable.tone)) { + TryAddPhoneme(phonemes, syllable.tone, cc[i], $"{cc[i]} -"); + //if (!affricates.Contains(cc[i]) && cc[i] == cc.Last()) { + // phonemes.Remove(cc[i]); + // phonemes.Remove($"{cc[i]} -"); + //} + } + } + } + } + + phonemes.Add(basePhoneme); + return phonemes; + } + + protected override List ProcessEnding(Ending ending) + { + string[] cc = ending.cc; + string v = ending.prevV; + + var phonemes = new List(); + if (ending.IsEndingV) { + if (HasOto($"{v} -", ending.tone)) { + phonemes.Add($"{v} -"); + } else if (v == "V" && !HasOto($"{v} -", ending.tone) && HasOto($"A -", ending.tone)) { + phonemes.Add($"A -"); + } else if (v == "E" && !HasOto($"{v} -", ending.tone) && HasOto($"e -", ending.tone)) { + phonemes.Add($"e -"); + } else if (v == "I" && !HasOto($"{v} -", ending.tone) && HasOto($"i -", ending.tone)) { + phonemes.Add($"i -"); + } else if (v == "o" && !HasOto($"{v} -", ending.tone) && HasOto($"O -", ending.tone)) { + phonemes.Add($"O -"); + } else if (v == "U" && !HasOto($"{v} -", ending.tone) && HasOto($"u -", ending.tone)) { + phonemes.Add($"u -"); + } else { + //continue as usual + } + } else if (ending.IsEndingVCWithOneConsonant) { + var vcr = $"{v} {cc[0]}-"; + if (HasOto(vcr, ending.tone)) { + phonemes.Add(vcr); + } else if (v == "V" && !HasOto(vcr, ending.tone) && HasOto($"A {cc[0]}-", ending.tone)) { + phonemes.Add($"A {cc[0]}-"); + } else if (v == "E" && !HasOto(vcr, ending.tone) && HasOto($"e {cc[0]}-", ending.tone)) { + phonemes.Add($"e {cc[0]}-"); + } else if (v == "I" && !HasOto(vcr, ending.tone) && HasOto($"i {cc[0]}-", ending.tone)) { + phonemes.Add($"i {cc[0]}-"); + } else if (v == "o" && !HasOto(vcr, ending.tone) && HasOto($"O {cc[0]}-", ending.tone)) { + phonemes.Add($"O {cc[0]}-"); + } else if (v == "U" && !HasOto(vcr, ending.tone) && HasOto($"u {cc[0]}-", ending.tone)) { + phonemes.Add($"u {cc[0]}-"); + } else { + phonemes.Add($"{v} {cc[0]}"); + if (v == "V" && !HasOto($"{v} {cc[0]}", ending.tone) && HasOto($"A {cc[0]}", ending.tone)) { + v.Replace("V", "A"); + } else if (v == "E" && !HasOto($"{v} {cc[0]}", ending.tone) && HasOto($"e {cc[0]}", ending.tone)) { + v.Replace("E", "e"); + } else if (v == "I" && !HasOto($"{v} {cc[0]}", ending.tone) && HasOto($"I {cc[0]}", ending.tone)) { + v.Replace("I", "i"); + } else if (v == "o" && !HasOto($"{v} {cc[0]}", ending.tone) && HasOto($"O {cc[0]}", ending.tone)) { + v.Replace("o", "O"); + } else if (v == "U" && !HasOto($"{v} {cc[0]}", ending.tone) && HasOto($"U {cc[0]}", ending.tone)) { + v.Replace("U", "u"); + } + if (affricates.Contains(cc[0])) { + TryAddPhoneme(phonemes, ending.tone, $"{cc[0]} -", cc[0]); + } else { + TryAddPhoneme(phonemes, ending.tone, $"{cc[0]} -"); + } + } + } else { + var vcc1 = $"{v} {string.Join("", cc)}-"; + var vcc2 = $"{v}{string.Join(" ", cc)}-"; + var vcc3 = $"{v}{cc[0]} {cc[0 + 1]}-"; + var vcc4 = $"{v}{cc[0]} {cc[0 + 1]}"; + if (HasOto(vcc1, ending.tone)) { + phonemes.Add(vcc1); + } else if (HasOto(vcc2, ending.tone)) { + phonemes.Add(vcc2); + } else if (HasOto(vcc3, ending.tone)) { + phonemes.Add(vcc3); + } else { + if (HasOto(vcc4, ending.tone)) { + phonemes.Add(vcc4); + } else if (!HasOto(vcc4, ending.tone)) { + phonemes.Add($"{v} {cc[0]}"); + } + // all CCs except the first one are /C1C2/, the last one is /C1 C2-/ + // but if there is no /C1C2/, we try /C1 C2-/, vise versa for the last one + for (var i = 0; i < cc.Length - 1; i++) { + var cc1 = $"{cc[i]} {cc[i + 1]}"; + if (!HasOto(cc1, ending.tone)) { + cc1 = $"{cc[i]}{cc[i + 1]}"; + } + if (!HasOto(cc1, ending.tone) && !HasOto($"{cc[i]}{cc[i + 1]}", ending.tone)) { + cc1 = $"{cc[i]} {cc[i + 1]}-"; + } + if (i < cc.Length - 2) { + var cc2 = $"{cc[i]} {string.Join("", cc.Skip(i))}-"; + var cc3 = $"{cc[i]} {cc[i + 1]}{cc[i + 2]}-"; + if (HasOto(cc2, ending.tone)) { + phonemes.Add(cc2); + i++; + } else if (HasOto(cc3, ending.tone)) { + // like [C1 C2][C2 ...] + phonemes.Add(cc3); + i++; + } else { + if (HasOto(cc1, ending.tone) && (!HasOto(vcc4, ending.tone))) { + // like [C1 C2][C2 ...] + phonemes.Add(cc1); + } else if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} {cc[i + 2]}-")) { + // like [C1 C2-][C2 ...] + i++; + } else if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} {cc[i + 2]}")) { + // like [C1 C2][C3 ...] + if (cc[i + 2] == cc.Last()) { + TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 2]} -"); + i++; + } else { + continue; + } + } else if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]}{cc[i + 2]}")) { + // like [C1C2][C3 ...] + } else if (!cc.First().Contains(cc[i + 1]) || !cc.First().Contains(cc[i + 2])) { + // like [C1][C2 ...] + if (affricates.Contains(cc[i]) && (!HasOto(vcc4, ending.tone))) { + TryAddPhoneme(phonemes, ending.tone, cc[i], $"{cc[i]} -"); + } + TryAddPhoneme(phonemes, ending.tone, cc[i + 1], $"{cc[i + 1]} -"); + TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 2]} -", cc[i + 2]); + i++; + } else if (!cc.First().Contains(cc[i])) { + // like [C1][C2 ...] + TryAddPhoneme(phonemes, ending.tone, cc[i], $"{cc[i]} -"); + i++; + } + } + } else { + if (!HasOto(vcc4, ending.tone)) { + if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i]} {cc[i + 1]}-")) { + // like [C1 C2-] + i++; + } else if (TryAddPhoneme(phonemes, ending.tone, $"{cc[i]}{cc[i + 1]}")) { + // like [C1C2][C2 -] + if (affricates.Contains(cc[i + 1])) { + TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -", cc[i + 1]); + } else { + TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -"); + } + i++; + } else if (TryAddPhoneme(phonemes, ending.tone, cc1)) { + // like [C1 C2][C2 -] + if (affricates.Contains(cc[i + 1])) { + TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -", cc[i + 1]); + } else { + TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -"); + } + i++; + } else { + // like [C1][C2 -] + if (!HasOto(vcc4, ending.tone)) { + TryAddPhoneme(phonemes, ending.tone, cc[i], $"{cc[i]} -"); + if (!affricates.Contains(cc[0])) { + phonemes.Remove(cc[0]); + } + TryAddPhoneme(phonemes, ending.tone, $"{cc[i + 1]} -", cc[i + 1]); + i++; + } + } + } + } + } + } + } + return phonemes; + } + + protected override string ValidateAlias(string alias) + { + foreach (var vowel in new[] { "V" }) + { + alias = alias.Replace(vowel, "A"); + } + foreach (var vowel in new[] { "E" }) { + alias = alias.Replace(vowel, "e"); + } + foreach (var vowel in new[] { "I" }) { + alias = alias.Replace(vowel, "i"); + } + foreach (var vowel in new[] { "o" }) { + alias = alias.Replace(vowel, "O"); + } + foreach (var vowel in new[] { "U" }) { + alias = alias.Replace(vowel, "u"); + } + return alias; + } + + protected override double GetTransitionBasicLengthMs(string alias = "") { + foreach (var c in longConsonants) { + if (alias.Contains(c)) { + if (!alias.StartsWith(c)) { + return base.GetTransitionBasicLengthMs() * 2.0; + } + } + } + foreach (var c in normalConsonants) { + if (!alias.Contains("_D")) { + if (alias.Contains(c)) { + if (!alias.StartsWith(c)) { + return base.GetTransitionBasicLengthMs(); + } + } + } + } + + foreach (var c in shortConsonants) { + if (alias.Contains(c)) { + if (!alias.Contains(" _")) { + return base.GetTransitionBasicLengthMs() * 0.50; + } + } + } + return base.GetTransitionBasicLengthMs(); + } + } +} diff --git a/OpenUtau.Plugin.Builtin/ENtoJAPhonemizer.cs b/OpenUtau.Plugin.Builtin/ENtoJAPhonemizer.cs index 4140500d8..5036d6aa5 100644 --- a/OpenUtau.Plugin.Builtin/ENtoJAPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/ENtoJAPhonemizer.cs @@ -1,11 +1,12 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using OpenUtau.Api; +using OpenUtau.Core.G2p; using WanaKanaNet; namespace OpenUtau.Plugin.Builtin { - [Phonemizer("English to Japanese Phonemizer", "EN to JA", "TUBS")] + [Phonemizer("English to Japanese Phonemizer", "EN to JA", "TUBS", language: "EN")] public class ENtoJAPhonemizer : SyllableBasedPhonemizer { protected override string[] GetVowels() => vowels; private static readonly string[] vowels = diff --git a/OpenUtau.Plugin.Builtin/EStoJAPhonemizer.cs b/OpenUtau.Plugin.Builtin/EStoJAPhonemizer.cs index d180dbb9f..1123efffd 100644 --- a/OpenUtau.Plugin.Builtin/EStoJAPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/EStoJAPhonemizer.cs @@ -1,611 +1,611 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using OpenUtau.Api; -using WanaKanaNet; - -namespace OpenUtau.Plugin.Builtin { - [Phonemizer("Spanish to Japanese Phonemizer", "ES to JA", "Lotte V")] - public class EStoJAPhonemizer : SyllableBasedPhonemizer { - /// - /// Phonemizer for using Japanese banks for Spanish songs. - /// Closely based on TUBS' English To Japanese Phonemizer; it has many of the same functions, just tweaked for Spanish. - /// This phonemizer always uses seseo, because the Japanese "z" is very different from the Spanish "z". - /// - protected override string[] GetVowels() => vowels; - private static readonly string[] vowels = - "a i u e o".Split(); - protected override string[] GetConsonants() => consonants; - private static readonly string[] consonants = - "b by ch d dy f g gy h hh hy j k ky l ly m my n ny p py r ry rr rry s sh t ty ts w y z".Split(); - protected override string GetDictionaryName() => "cmudict_es.txt"; - protected override Dictionary GetDictionaryPhonemesReplacement() => dictionaryPhonemesReplacement; - private static readonly Dictionary dictionaryPhonemesReplacement = new Dictionary { - { "a", "a" }, - { "b", "b" }, - { "ch", "ch" }, - { "d", "d" }, - { "e", "e" }, - { "f", "f" }, - { "g", "g" }, - { "h", "h" }, - { "hh", "hh" }, - { "i", "i" }, - { "I", "y" }, - { "ll", "j" }, - { "k", "k" }, - { "l", "l" }, - { "m", "m" }, - { "n", "n" }, - { "gn", "ny" }, - { "o", "o" }, - { "p", "p" }, - { "r", "r" }, - { "rr", "rr" }, - { "s", "s" }, - { "t", "t" }, - { "u", "u" }, - { "U", "w" }, - { "w", "w" }, - { "y", "y" }, - { "z", "z" }, - }; - - private Dictionary StartingConsonant => startingConsonant; - private static readonly Dictionary startingConsonant = new Dictionary { - { "", "" }, - { "b", "b" }, - { "by", "by" }, - { "bw", "bw" }, - { "ch", "ch" }, - { "chw", "chw" }, - { "d", "d" }, - { "dy", "dy" }, - { "dw", "dw" }, - { "f", "f" }, - { "fy", "fy" }, - { "fw", "fw" }, - { "g", "g" }, - { "gy", "gy" }, - { "gw", "gw" }, - { "h", "h" }, - { "hy", "hy" }, - { "hw", "hw" }, - { "j", "j" }, - { "jw", "jw" }, - { "k", "k" }, - { "ky", "ky" }, - { "kw", "kw" }, - { "l", "r" }, - { "ly", "ry" }, - { "lw", "rw" }, - { "m", "m" }, - { "my", "my" }, - { "mw", "mw" }, - { "n", "n" }, - { "ny", "ny" }, - { "nw", "nw" }, - { "p", "p" }, - { "py", "py" }, - { "pw", "pw" }, - { "r", "r" }, - { "rw", "rw" }, - { "rr", "rr" }, - { "rry", "rry" }, - { "rrw", "rrw" }, - { "s", "s" }, - { "sy", "sy" }, - { "sw", "sw" }, - { "t", "t" }, - { "ty", "ty" }, - { "tw", "tw" }, - { "w", "w" }, - { "y", "y" }, - { "z", "s" }, - { "zy", "sy" }, - { "zw", "sw" }, - }; - - private Dictionary SoloConsonant => soloConsonant; - private static readonly Dictionary soloConsonant = new Dictionary { - { "b", "ぶ" }, - { "by", "び" }, - { "bu", "ぶ" }, - { "ch", "ちゅ" }, - { "chw", "ちゅ" }, - { "d", "ど" }, - { "dy", "でぃ" }, - { "dw", "どぅ" }, - { "f", "ふ" }, - { "fy", "ふぃ" }, - { "g", "ぐ" }, - { "gy", "ぎ" }, - { "gw", "ぐ" }, - { "h", "ほ" }, - { "hy", "ひ" }, - { "hw", "ほ" }, - { "hh", "息" }, - { "I", "い" }, - { "j", "じゅ" }, - { "jw", "じゅ" }, - { "k", "く" }, - { "ky", "き" }, - { "kw", "く" }, - { "l", "る" }, - { "ly", "り" }, - { "lw", "る" }, - { "m", "ん" }, - { "my", "み" }, - { "mw", "む" }, - { "n", "ん" }, - { "ny", "に" }, - { "nw", "ぬ" }, - { "p", "ぷ" }, - { "py", "ぴ" }, - { "pw", "ぷ" }, - { "r", "る" }, - { "ry", "り" }, - { "rw", "る" }, - { "rr", "る" }, - { "rry", "り" }, - { "rrw", "る" }, - { "s", "す" }, - { "sy", "すぃ" }, - { "sw", "す" }, - { "t", "と" }, - { "ty", "てぃ" }, - { "tw", "とぅ" }, - { "U", "う" }, - { "w", "う" }, - { "y", "い" }, - { "z", "す" }, - { "zy", "すぃ" }, - { "zw", "す" }, - }; - - private readonly string[] SpecialClusters = "ky kw gy gw sy sw zy zw jw ty tw chw dy dw ny nw hy hw by bw py pw my mw ry rw rry rrw ly lw".Split(); - - private Dictionary AltCv => altCv; - private static readonly Dictionary altCv = new Dictionary { - {"kwa", "kula" }, - {"kwi", "kuli" }, - {"kwe", "kule" }, - {"kwo", "kulo" }, - {"gwa", "gula" }, - {"gwi", "guli" }, - {"gwe", "gule" }, - {"gwo", "gulo" }, - {"si", "suli" }, - {"sya", "sulya" }, - {"syu", "sulyu" }, - {"sye", "sulile" }, - {"syo", "sulyo" }, - {"swa", "sula" }, - {"swi", "sui" }, - {"swe", "sule" }, - {"swo", "sulo" }, - {"zi", "suli" }, - {"zya", "sulya" }, - {"zyu", "sulyu" }, - {"zye", "sulile" }, - {"zyo", "sulyo" }, - {"zwa", "sula" }, - {"zwi", "sui" }, - {"zwe", "sule" }, - {"zwo", "sulo" }, - {"ti", "teli" }, - {"tya", "telya" }, - {"tyu", "telyu" }, - {"tye", "tele" }, - {"tyo", "telyo" }, - {"tu", "tolu" }, - {"twa", "tola" }, - {"twi", "toli" }, - {"twe", "tole" }, - {"two", "tolo" }, - {"di", "deli" }, - {"dya", "delya" }, - {"dyu", "delyu" }, - {"dye", "dele" }, - {"dyo", "delyo" }, - {"du", "dolu" }, - {"dwa", "dola" }, - {"dwi", "doli" }, - {"dwe", "dole" }, - {"dwo", "dolo" }, - {"nwa", "nula" }, - {"nwi", "nuli" }, - {"nwe", "nule" }, - {"nwo", "nulo" }, - {"hwa", "hola" }, - {"hwi", "holi" }, - {"hwe", "hole" }, - {"hwo", "holo" }, - {"fwa", "fua" }, - {"fwi", "fui" }, - {"fwe", "fue" }, - {"fwo", "fuo" }, - {"bwa", "bula" }, - {"bwi", "buli" }, - {"bwe", "bule" }, - {"bwo", "bulo" }, - {"pwa", "pula" }, - {"pwi", "puli" }, - {"pwe", "pule" }, - {"pwo", "pulo" }, - {"hu", "holu" }, - {"mwa", "mula" }, - {"mwi", "muli" }, - {"mwe", "mule" }, - {"mwo", "mulo" }, - {"yi", "i" }, - {"rwa", "rula" }, - {"rwi", "ruli" }, - {"rwe", "rule" }, - {"rwo", "rulo" }, - {"wu", "u" }, - {"wi", "uli" }, - {"we", "ule" }, - {"wo", "ulo" }, - }; - - private Dictionary ConditionalAlt => conditionalAlt; - private static readonly Dictionary conditionalAlt = new Dictionary { - {"uli", "wi" }, - {"ule", "we" }, - {"ulo", "wo"}, - }; - - private Dictionary ExtraCv => extraCv; - private static readonly Dictionary extraCv = new Dictionary { - {"rr", new [] { "ru", "ru", "ru" } }, - {"rra", new [] { "ra", "ra", "ra" } }, - {"rri", new [] { "ri", "ri", "ri" } }, - {"rru", new [] { "ru", "ru", "ru" } }, - {"rre", new [] { "re", "re", "re" } }, - {"rro", new [] { "ro", "ro", "ro" } }, - {"rrya", new [] { "ri", "ri", "rya" } }, - {"rryu", new [] { "ri", "ri", "ryu" } }, - {"rrye", new [] { "ri", "ri", "rye" } }, - {"rryo", new [] { "ri", "ri", "ryo" } }, - {"rrwa", new [] { "ru", "ru", "wa" } }, - {"rrwi", new [] { "ru", "ru", "uli" } }, - {"rrwe", new [] { "ru", "ru", "ule" } }, - {"rrwo", new [] { "ru", "ru", "ulo" } }, - {"kye", new [] { "ki", "e" } }, - {"kula", new [] { "ku", "wa" } }, - {"kuli", new [] { "ku", "uli" } }, - {"kule", new [] { "ku", "ule" } }, - {"kulo", new [] { "ku", "ulo" } }, - {"gye", new [] { "gi", "e" } }, - {"gula", new [] { "gu", "wa" } }, - {"guli", new [] { "gu", "uli" } }, - {"gule", new [] { "gu", "ule" } }, - {"gulo", new [] { "gu", "ulo" } }, - {"suli", new [] { "se", "i" } }, - {"sulya", new [] { "suli", "ya" } }, - {"sulyu", new [] { "suli", "yu" } }, - {"sulile", new [] { "suli", "ye" } }, - {"sulyo", new [] { "suli", "yo" } }, - {"sula", new [] { "su", "wa" } }, - {"sui", new [] { "su", "uli" } }, - {"sule", new [] { "su", "ule" } }, - {"sulo", new [] { "su", "ulo" } }, - {"je", new [] { "ji", "e" } }, - {"jwa", new [] { "ju", "wa" } }, - {"jwi", new [] { "ju", "uli" } }, - {"jwe", new [] { "ju", "ule" } }, - {"jwo", new [] { "ju", "ulo" } }, - {"teli", new [] { "te", "i" } }, - {"telya", new [] { "teli", "ya" } }, - {"telyu", new [] { "teli", "yu" } }, - {"tele", new [] { "teli", "ye" } }, - {"telyo", new [] { "teli", "yo" } }, - {"tolu", new [] { "to", "u" } }, - {"tola", new [] { "tolu", "wa" } }, - {"toli", new [] { "tolu", "uli" } }, - {"tole", new [] { "tolu", "ule" } }, - {"tolo", new [] { "tolu", "ulo" } }, - {"che", new [] { "chi", "e" } }, - {"chwa", new [] { "chu", "wa" } }, - {"chwi", new [] { "chu", "uli" } }, - {"chwe", new [] { "chu", "ule" } }, - {"chwo", new [] { "chu", "ulo" } }, - {"deli", new [] { "de", "i" } }, - {"delya", new [] { "deli", "ya" } }, - {"delyu", new [] { "deli", "yu" } }, - {"dele", new [] { "deli", "ye" } }, - {"delyo", new [] { "deli", "yo" } }, - {"dolu", new [] { "do", "u" } }, - {"dola", new [] { "dolu", "wa" } }, - {"doli", new [] { "dolu", "uli" } }, - {"dole", new [] { "dolu", "ule" } }, - {"dolo", new [] { "dolu", "ulo" } }, - {"nye", new [] { "ni", "e" } }, - {"nula", new [] { "nu", "wa" } }, - {"nuli", new [] { "nu", "uli" } }, - {"nule", new [] { "nu", "ule" } }, - {"nulo", new [] { "nu", "ulo" } }, - {"hye", new [] { "hi", "e" } }, - {"holu", new [] { "ho", "u" } }, - {"hola", new [] { "ho", "wa" } }, - {"holi", new [] { "ho", "uli" } }, - {"hole", new [] { "ho", "ule" } }, - {"holo", new [] { "ho", "ulo" } }, - {"fa", new [] { "fu", "a" } }, - {"fi", new [] { "fu", "i" } }, - {"fe", new [] { "fu", "e" } }, - {"fo", new [] { "fu", "o" } }, - {"fua", new [] { "fu", "wa" } }, - {"fui", new [] { "fu", "uli" } }, - {"fue", new [] { "fu", "ule" } }, - {"fuo", new [] { "fu", "ulo" } }, - {"fya", new [] { "fi", "ya" } }, - {"fyu", new [] { "fi", "yu" } }, - {"fye", new [] { "fi", "ye" } }, - {"fyo", new [] { "fi", "yo" } }, - {"bye", new [] { "bi", "e" } }, - {"bula", new [] { "bu", "wa" } }, - {"buli", new [] { "bu", "uli" } }, - {"bule", new [] { "bu", "ule" } }, - {"bulo", new [] { "bu", "ulo" } }, - {"pye", new [] { "pi", "e" } }, - {"pula", new [] { "pu", "wa" } }, - {"puli", new [] { "pu", "uli" } }, - {"pule", new [] { "pu", "ule" } }, - {"pulo", new [] { "pu", "ulo" } }, - {"mye", new [] { "mi", "e" } }, - {"mula", new [] { "mu", "wa" } }, - {"muli", new [] { "mu", "uli" } }, - {"mule", new [] { "mu", "ule" } }, - {"mulo", new [] { "mu", "ulo" } }, - {"ye", new [] { "i", "e" } }, - {"rye", new [] { "ri", "e" } }, - {"rula", new [] { "ru", "wa" } }, - {"ruli", new [] { "ru", "uli" } }, - {"rule", new [] { "ru", "ule" } }, - {"rulo", new [] { "ru", "ulo" } }, - {"uli", new [] { "u", "i" } }, - {"ule", new [] { "u", "e" } }, - {"ulo", new [] { "u", "o" } }, - }; - - private readonly string[] affricates = "ch j".Split(); - - protected override List ProcessSyllable(Syllable syllable) { - // Skip processing if this note extends the prevous syllable - if (CanMakeAliasExtension(syllable)) { - return new List { null }; - } - - var prevV = syllable.prevV; - var cc = syllable.cc; - var v = syllable.v; - var phonemes = new List(); - var usingVC = false; - - if (prevV.Length == 0) { - prevV = "-"; - } - - // Check CCs for special clusters - var adjustedCC = new List(); - for (var i = 0; i < cc.Length; i++) { - if (i == cc.Length - 1) { - adjustedCC.Add(cc[i]); - } else { - if (cc[i] == cc[i + 1]) { - adjustedCC.Add(cc[i]); - i++; - continue; - } - var diphone = $"{cc[i]}{cc[i + 1]}"; - if (SpecialClusters.Contains(diphone)) { - adjustedCC.Add(diphone); - i++; - } else { - adjustedCC.Add(cc[i]); - } - } - } - cc = adjustedCC.ToArray(); - - // Separate CCs and main CV - var finalCons = ""; - if (cc.Length > 0) { - finalCons = cc[cc.Length - 1]; - - var start = 0; - (var hasVc, var vcPhonemes) = HasVc(prevV, cc[0], syllable.tone, cc.Length); - usingVC = hasVc; - phonemes.AddRange(vcPhonemes); - - if (usingVC) { - start = 1; - } - - for (var i = start; i < cc.Length - 1; i++) { - var cons = SoloConsonant[cc[i]]; - if (!usingVC) { - cons = TryVcv(prevV, cons, syllable.tone); - } else { - usingVC = false; - } - if (HasOto(cons, syllable.tone)) { - phonemes.Add(cons); - } else if (ConditionalAlt.ContainsKey(cons)) { - cons = ConditionalAlt[cons]; - phonemes.Add(TryVcv(prevV, cons, syllable.tone)); - } - prevV = WanaKana.ToRomaji(cons).Last().ToString(); - } - } - - // Convert to hiragana - var cv = $"{StartingConsonant[finalCons]}{v}"; - cv = AltCv.ContainsKey(cv) ? AltCv[cv] : cv; - var hiragana = ToHiragana(cv); - if (!usingVC) { - hiragana = TryVcv(prevV, hiragana, syllable.vowelTone); - } else { - hiragana = FixCv(hiragana, syllable.vowelTone); - } - - // Check for nonstandard CV - var split = false; - if (HasOto(hiragana, syllable.vowelTone)) { - phonemes.Add(hiragana); - } else if (ConditionalAlt.ContainsKey(cv)) { - cv = ConditionalAlt[cv]; - hiragana = TryVcv(prevV, ToHiragana(cv), syllable.vowelTone); - if (HasOto(hiragana, syllable.vowelTone)) { - phonemes.Add(hiragana); - } else { - split = true; - } - } else { - split = true; - } - - // Handle nonstandard CV - if (split && ExtraCv.ContainsKey(cv)) { - var splitCv = ExtraCv[cv]; - for (var i = 0; i < splitCv.Length; i++) { - if (splitCv[i] != prevV) { - var converted = ToHiragana(splitCv[i]); - phonemes.Add(TryVcv(prevV, converted, syllable.vowelTone)); - prevV = splitCv[i].Last().ToString(); - } - } - } - - return phonemes; - } - - protected override List ProcessEnding(Ending ending) { - var prevV = ending.prevV; - var cc = ending.cc; - var phonemes = new List(); - - // Check CCs for special clusters - var adjustedCC = new List(); - for (var i = 0; i < cc.Length; i++) { - if (i == cc.Length - 1) { - adjustedCC.Add(cc[i]); - } else { - if (cc[i] == cc[i + 1]) { - adjustedCC.Add(cc[i]); - i++; - continue; - } - var diphone = $"{cc[i]}{cc[i + 1]}"; - if (SpecialClusters.Contains(diphone)) { - adjustedCC.Add(diphone); - i++; - } else { - adjustedCC.Add(cc[i]); - } - } - } - cc = adjustedCC.ToArray(); - - var usingVC = false; - // Convert to hiragana - for (var i = 0; i < cc.Length; i++) { - var symbol = cc[i]; - - if (i == 0) { - (var hasVc, var vcPhonemes) = HasVc(prevV, symbol, ending.tone, cc.Length + 1); - usingVC = hasVc; - phonemes.AddRange(vcPhonemes); - if (usingVC) { - continue; - } - } - - var solo = SoloConsonant[symbol]; - if (!usingVC) { - solo = TryVcv(prevV, solo, ending.tone); - } else { - usingVC = false; - solo = FixCv(solo, ending.tone); - } - - if (HasOto(solo, ending.tone)) { - phonemes.Add(solo); - } else if (ConditionalAlt.ContainsKey(solo)) { - solo = ConditionalAlt[solo]; - if (!usingVC) { - solo = TryVcv(prevV, solo, ending.tone); - } else { - solo = FixCv(solo, ending.tone); - } - phonemes.Add(solo); - } - - if (solo.Contains("ん")) { - if (ending.IsEndingVCWithOneConsonant) { - TryAddPhoneme(phonemes, ending.tone, $"n R", $"n -", $"n-"); - } else if (ending.IsEndingVCWithMoreThanOneConsonant && cc.Last() == "n" || cc.Last() == "m") { - TryAddPhoneme(phonemes, ending.tone, $"n R", $"n -", $"n-"); - } - } - - prevV = WanaKana.ToRomaji(solo).Last().ToString(); - } - - if (ending.IsEndingV) { - TryAddPhoneme(phonemes, ending.tone, $"{prevV} R", $"{prevV} -", $"{prevV}-"); - } - - return phonemes; - } - - private (bool, string[]) HasVc(string vowel, string cons, int tone, int cc) { - if (vowel == "" || vowel == "-") { - return (false, new string[0]); - } - - var phonemes = new List(); - if (cons == "rr") { - cons = "r"; - } else if (cons == "rry") { - cons = "ry"; - } else if (cons == "l") { - cons = "r"; - } else if (cons == "ly") { - cons = "ry"; - } - - var vc = $"{vowel} {cons}"; - var altVc = $"{vowel} {cons[0]}"; - - if (HasOto(vc, tone)) { - phonemes.Add(vc); - } else if (HasOto(altVc, tone)) { - phonemes.Add(altVc); - } - - if (affricates.Contains(cons) && cc > 1) { - phonemes.Add(FixCv(SoloConsonant[cons], tone)); - } - - return (phonemes.Count > 0, phonemes.ToArray()); - } - - private string TryVcv(string vowel, string cv, int tone) { - var vcv = $"{vowel} {cv}"; - return HasOto(vcv, tone) ? vcv : FixCv(cv, tone); - } - - private string FixCv(string cv, int tone) { - var alt = $"- {cv}"; - return HasOto(cv, tone) ? cv : HasOto(alt, tone) ? alt : cv; - } - private string ToHiragana(string romaji) { - var hiragana = WanaKana.ToHiragana(romaji); - hiragana = hiragana.Replace("ゔ", "ヴ"); - return hiragana; - } - } -} +using System; +using System.Collections.Generic; +using System.Linq; +using OpenUtau.Api; +using WanaKanaNet; + +namespace OpenUtau.Plugin.Builtin { + [Phonemizer("Spanish to Japanese Phonemizer", "ES to JA", "Lotte V", language: "ES")] + public class EStoJAPhonemizer : SyllableBasedPhonemizer { + /// + /// Phonemizer for using Japanese banks for Spanish songs. + /// Closely based on TUBS' English To Japanese Phonemizer; it has many of the same functions, just tweaked for Spanish. + /// This phonemizer always uses seseo, because the Japanese "z" is very different from the Spanish "z". + /// + protected override string[] GetVowels() => vowels; + private static readonly string[] vowels = + "a i u e o".Split(); + protected override string[] GetConsonants() => consonants; + private static readonly string[] consonants = + "b by ch d dy f g gy h hh hy j k ky l ly m my n ny p py r ry rr rry s sh t ty ts w y z".Split(); + protected override string GetDictionaryName() => "cmudict_es.txt"; + protected override Dictionary GetDictionaryPhonemesReplacement() => dictionaryPhonemesReplacement; + private static readonly Dictionary dictionaryPhonemesReplacement = new Dictionary { + { "a", "a" }, + { "b", "b" }, + { "ch", "ch" }, + { "d", "d" }, + { "e", "e" }, + { "f", "f" }, + { "g", "g" }, + { "h", "h" }, + { "hh", "hh" }, + { "i", "i" }, + { "I", "y" }, + { "ll", "j" }, + { "k", "k" }, + { "l", "l" }, + { "m", "m" }, + { "n", "n" }, + { "gn", "ny" }, + { "o", "o" }, + { "p", "p" }, + { "r", "r" }, + { "rr", "rr" }, + { "s", "s" }, + { "t", "t" }, + { "u", "u" }, + { "U", "w" }, + { "w", "w" }, + { "y", "y" }, + { "z", "z" }, + }; + + private Dictionary StartingConsonant => startingConsonant; + private static readonly Dictionary startingConsonant = new Dictionary { + { "", "" }, + { "b", "b" }, + { "by", "by" }, + { "bw", "bw" }, + { "ch", "ch" }, + { "chw", "chw" }, + { "d", "d" }, + { "dy", "dy" }, + { "dw", "dw" }, + { "f", "f" }, + { "fy", "fy" }, + { "fw", "fw" }, + { "g", "g" }, + { "gy", "gy" }, + { "gw", "gw" }, + { "h", "h" }, + { "hy", "hy" }, + { "hw", "hw" }, + { "j", "j" }, + { "jw", "jw" }, + { "k", "k" }, + { "ky", "ky" }, + { "kw", "kw" }, + { "l", "r" }, + { "ly", "ry" }, + { "lw", "rw" }, + { "m", "m" }, + { "my", "my" }, + { "mw", "mw" }, + { "n", "n" }, + { "ny", "ny" }, + { "nw", "nw" }, + { "p", "p" }, + { "py", "py" }, + { "pw", "pw" }, + { "r", "r" }, + { "rw", "rw" }, + { "rr", "rr" }, + { "rry", "rry" }, + { "rrw", "rrw" }, + { "s", "s" }, + { "sy", "sy" }, + { "sw", "sw" }, + { "t", "t" }, + { "ty", "ty" }, + { "tw", "tw" }, + { "w", "w" }, + { "y", "y" }, + { "z", "s" }, + { "zy", "sy" }, + { "zw", "sw" }, + }; + + private Dictionary SoloConsonant => soloConsonant; + private static readonly Dictionary soloConsonant = new Dictionary { + { "b", "ぶ" }, + { "by", "び" }, + { "bu", "ぶ" }, + { "ch", "ちゅ" }, + { "chw", "ちゅ" }, + { "d", "ど" }, + { "dy", "でぃ" }, + { "dw", "どぅ" }, + { "f", "ふ" }, + { "fy", "ふぃ" }, + { "g", "ぐ" }, + { "gy", "ぎ" }, + { "gw", "ぐ" }, + { "h", "ほ" }, + { "hy", "ひ" }, + { "hw", "ほ" }, + { "hh", "息" }, + { "I", "い" }, + { "j", "じゅ" }, + { "jw", "じゅ" }, + { "k", "く" }, + { "ky", "き" }, + { "kw", "く" }, + { "l", "る" }, + { "ly", "り" }, + { "lw", "る" }, + { "m", "ん" }, + { "my", "み" }, + { "mw", "む" }, + { "n", "ん" }, + { "ny", "に" }, + { "nw", "ぬ" }, + { "p", "ぷ" }, + { "py", "ぴ" }, + { "pw", "ぷ" }, + { "r", "る" }, + { "ry", "り" }, + { "rw", "る" }, + { "rr", "る" }, + { "rry", "り" }, + { "rrw", "る" }, + { "s", "す" }, + { "sy", "すぃ" }, + { "sw", "す" }, + { "t", "と" }, + { "ty", "てぃ" }, + { "tw", "とぅ" }, + { "U", "う" }, + { "w", "う" }, + { "y", "い" }, + { "z", "す" }, + { "zy", "すぃ" }, + { "zw", "す" }, + }; + + private readonly string[] SpecialClusters = "ky kw gy gw sy sw zy zw jw ty tw chw dy dw ny nw hy hw by bw py pw my mw ry rw rry rrw ly lw".Split(); + + private Dictionary AltCv => altCv; + private static readonly Dictionary altCv = new Dictionary { + {"kwa", "kula" }, + {"kwi", "kuli" }, + {"kwe", "kule" }, + {"kwo", "kulo" }, + {"gwa", "gula" }, + {"gwi", "guli" }, + {"gwe", "gule" }, + {"gwo", "gulo" }, + {"si", "suli" }, + {"sya", "sulya" }, + {"syu", "sulyu" }, + {"sye", "sulile" }, + {"syo", "sulyo" }, + {"swa", "sula" }, + {"swi", "sui" }, + {"swe", "sule" }, + {"swo", "sulo" }, + {"zi", "suli" }, + {"zya", "sulya" }, + {"zyu", "sulyu" }, + {"zye", "sulile" }, + {"zyo", "sulyo" }, + {"zwa", "sula" }, + {"zwi", "sui" }, + {"zwe", "sule" }, + {"zwo", "sulo" }, + {"ti", "teli" }, + {"tya", "telya" }, + {"tyu", "telyu" }, + {"tye", "tele" }, + {"tyo", "telyo" }, + {"tu", "tolu" }, + {"twa", "tola" }, + {"twi", "toli" }, + {"twe", "tole" }, + {"two", "tolo" }, + {"di", "deli" }, + {"dya", "delya" }, + {"dyu", "delyu" }, + {"dye", "dele" }, + {"dyo", "delyo" }, + {"du", "dolu" }, + {"dwa", "dola" }, + {"dwi", "doli" }, + {"dwe", "dole" }, + {"dwo", "dolo" }, + {"nwa", "nula" }, + {"nwi", "nuli" }, + {"nwe", "nule" }, + {"nwo", "nulo" }, + {"hwa", "hola" }, + {"hwi", "holi" }, + {"hwe", "hole" }, + {"hwo", "holo" }, + {"fwa", "fua" }, + {"fwi", "fui" }, + {"fwe", "fue" }, + {"fwo", "fuo" }, + {"bwa", "bula" }, + {"bwi", "buli" }, + {"bwe", "bule" }, + {"bwo", "bulo" }, + {"pwa", "pula" }, + {"pwi", "puli" }, + {"pwe", "pule" }, + {"pwo", "pulo" }, + {"hu", "holu" }, + {"mwa", "mula" }, + {"mwi", "muli" }, + {"mwe", "mule" }, + {"mwo", "mulo" }, + {"yi", "i" }, + {"rwa", "rula" }, + {"rwi", "ruli" }, + {"rwe", "rule" }, + {"rwo", "rulo" }, + {"wu", "u" }, + {"wi", "uli" }, + {"we", "ule" }, + {"wo", "ulo" }, + }; + + private Dictionary ConditionalAlt => conditionalAlt; + private static readonly Dictionary conditionalAlt = new Dictionary { + {"uli", "wi" }, + {"ule", "we" }, + {"ulo", "wo"}, + }; + + private Dictionary ExtraCv => extraCv; + private static readonly Dictionary extraCv = new Dictionary { + {"rr", new [] { "ru", "ru", "ru" } }, + {"rra", new [] { "ra", "ra", "ra" } }, + {"rri", new [] { "ri", "ri", "ri" } }, + {"rru", new [] { "ru", "ru", "ru" } }, + {"rre", new [] { "re", "re", "re" } }, + {"rro", new [] { "ro", "ro", "ro" } }, + {"rrya", new [] { "ri", "ri", "rya" } }, + {"rryu", new [] { "ri", "ri", "ryu" } }, + {"rrye", new [] { "ri", "ri", "rye" } }, + {"rryo", new [] { "ri", "ri", "ryo" } }, + {"rrwa", new [] { "ru", "ru", "wa" } }, + {"rrwi", new [] { "ru", "ru", "uli" } }, + {"rrwe", new [] { "ru", "ru", "ule" } }, + {"rrwo", new [] { "ru", "ru", "ulo" } }, + {"kye", new [] { "ki", "e" } }, + {"kula", new [] { "ku", "wa" } }, + {"kuli", new [] { "ku", "uli" } }, + {"kule", new [] { "ku", "ule" } }, + {"kulo", new [] { "ku", "ulo" } }, + {"gye", new [] { "gi", "e" } }, + {"gula", new [] { "gu", "wa" } }, + {"guli", new [] { "gu", "uli" } }, + {"gule", new [] { "gu", "ule" } }, + {"gulo", new [] { "gu", "ulo" } }, + {"suli", new [] { "se", "i" } }, + {"sulya", new [] { "suli", "ya" } }, + {"sulyu", new [] { "suli", "yu" } }, + {"sulile", new [] { "suli", "ye" } }, + {"sulyo", new [] { "suli", "yo" } }, + {"sula", new [] { "su", "wa" } }, + {"sui", new [] { "su", "uli" } }, + {"sule", new [] { "su", "ule" } }, + {"sulo", new [] { "su", "ulo" } }, + {"je", new [] { "ji", "e" } }, + {"jwa", new [] { "ju", "wa" } }, + {"jwi", new [] { "ju", "uli" } }, + {"jwe", new [] { "ju", "ule" } }, + {"jwo", new [] { "ju", "ulo" } }, + {"teli", new [] { "te", "i" } }, + {"telya", new [] { "teli", "ya" } }, + {"telyu", new [] { "teli", "yu" } }, + {"tele", new [] { "teli", "ye" } }, + {"telyo", new [] { "teli", "yo" } }, + {"tolu", new [] { "to", "u" } }, + {"tola", new [] { "tolu", "wa" } }, + {"toli", new [] { "tolu", "uli" } }, + {"tole", new [] { "tolu", "ule" } }, + {"tolo", new [] { "tolu", "ulo" } }, + {"che", new [] { "chi", "e" } }, + {"chwa", new [] { "chu", "wa" } }, + {"chwi", new [] { "chu", "uli" } }, + {"chwe", new [] { "chu", "ule" } }, + {"chwo", new [] { "chu", "ulo" } }, + {"deli", new [] { "de", "i" } }, + {"delya", new [] { "deli", "ya" } }, + {"delyu", new [] { "deli", "yu" } }, + {"dele", new [] { "deli", "ye" } }, + {"delyo", new [] { "deli", "yo" } }, + {"dolu", new [] { "do", "u" } }, + {"dola", new [] { "dolu", "wa" } }, + {"doli", new [] { "dolu", "uli" } }, + {"dole", new [] { "dolu", "ule" } }, + {"dolo", new [] { "dolu", "ulo" } }, + {"nye", new [] { "ni", "e" } }, + {"nula", new [] { "nu", "wa" } }, + {"nuli", new [] { "nu", "uli" } }, + {"nule", new [] { "nu", "ule" } }, + {"nulo", new [] { "nu", "ulo" } }, + {"hye", new [] { "hi", "e" } }, + {"holu", new [] { "ho", "u" } }, + {"hola", new [] { "ho", "wa" } }, + {"holi", new [] { "ho", "uli" } }, + {"hole", new [] { "ho", "ule" } }, + {"holo", new [] { "ho", "ulo" } }, + {"fa", new [] { "fu", "a" } }, + {"fi", new [] { "fu", "i" } }, + {"fe", new [] { "fu", "e" } }, + {"fo", new [] { "fu", "o" } }, + {"fua", new [] { "fu", "wa" } }, + {"fui", new [] { "fu", "uli" } }, + {"fue", new [] { "fu", "ule" } }, + {"fuo", new [] { "fu", "ulo" } }, + {"fya", new [] { "fi", "ya" } }, + {"fyu", new [] { "fi", "yu" } }, + {"fye", new [] { "fi", "ye" } }, + {"fyo", new [] { "fi", "yo" } }, + {"bye", new [] { "bi", "e" } }, + {"bula", new [] { "bu", "wa" } }, + {"buli", new [] { "bu", "uli" } }, + {"bule", new [] { "bu", "ule" } }, + {"bulo", new [] { "bu", "ulo" } }, + {"pye", new [] { "pi", "e" } }, + {"pula", new [] { "pu", "wa" } }, + {"puli", new [] { "pu", "uli" } }, + {"pule", new [] { "pu", "ule" } }, + {"pulo", new [] { "pu", "ulo" } }, + {"mye", new [] { "mi", "e" } }, + {"mula", new [] { "mu", "wa" } }, + {"muli", new [] { "mu", "uli" } }, + {"mule", new [] { "mu", "ule" } }, + {"mulo", new [] { "mu", "ulo" } }, + {"ye", new [] { "i", "e" } }, + {"rye", new [] { "ri", "e" } }, + {"rula", new [] { "ru", "wa" } }, + {"ruli", new [] { "ru", "uli" } }, + {"rule", new [] { "ru", "ule" } }, + {"rulo", new [] { "ru", "ulo" } }, + {"uli", new [] { "u", "i" } }, + {"ule", new [] { "u", "e" } }, + {"ulo", new [] { "u", "o" } }, + }; + + private readonly string[] affricates = "ch j".Split(); + + protected override List ProcessSyllable(Syllable syllable) { + // Skip processing if this note extends the prevous syllable + if (CanMakeAliasExtension(syllable)) { + return new List { null }; + } + + var prevV = syllable.prevV; + var cc = syllable.cc; + var v = syllable.v; + var phonemes = new List(); + var usingVC = false; + + if (prevV.Length == 0) { + prevV = "-"; + } + + // Check CCs for special clusters + var adjustedCC = new List(); + for (var i = 0; i < cc.Length; i++) { + if (i == cc.Length - 1) { + adjustedCC.Add(cc[i]); + } else { + if (cc[i] == cc[i + 1]) { + adjustedCC.Add(cc[i]); + i++; + continue; + } + var diphone = $"{cc[i]}{cc[i + 1]}"; + if (SpecialClusters.Contains(diphone)) { + adjustedCC.Add(diphone); + i++; + } else { + adjustedCC.Add(cc[i]); + } + } + } + cc = adjustedCC.ToArray(); + + // Separate CCs and main CV + var finalCons = ""; + if (cc.Length > 0) { + finalCons = cc[cc.Length - 1]; + + var start = 0; + (var hasVc, var vcPhonemes) = HasVc(prevV, cc[0], syllable.tone, cc.Length); + usingVC = hasVc; + phonemes.AddRange(vcPhonemes); + + if (usingVC) { + start = 1; + } + + for (var i = start; i < cc.Length - 1; i++) { + var cons = SoloConsonant[cc[i]]; + if (!usingVC) { + cons = TryVcv(prevV, cons, syllable.tone); + } else { + usingVC = false; + } + if (HasOto(cons, syllable.tone)) { + phonemes.Add(cons); + } else if (ConditionalAlt.ContainsKey(cons)) { + cons = ConditionalAlt[cons]; + phonemes.Add(TryVcv(prevV, cons, syllable.tone)); + } + prevV = WanaKana.ToRomaji(cons).Last().ToString(); + } + } + + // Convert to hiragana + var cv = $"{StartingConsonant[finalCons]}{v}"; + cv = AltCv.ContainsKey(cv) ? AltCv[cv] : cv; + var hiragana = ToHiragana(cv); + if (!usingVC) { + hiragana = TryVcv(prevV, hiragana, syllable.vowelTone); + } else { + hiragana = FixCv(hiragana, syllable.vowelTone); + } + + // Check for nonstandard CV + var split = false; + if (HasOto(hiragana, syllable.vowelTone)) { + phonemes.Add(hiragana); + } else if (ConditionalAlt.ContainsKey(cv)) { + cv = ConditionalAlt[cv]; + hiragana = TryVcv(prevV, ToHiragana(cv), syllable.vowelTone); + if (HasOto(hiragana, syllable.vowelTone)) { + phonemes.Add(hiragana); + } else { + split = true; + } + } else { + split = true; + } + + // Handle nonstandard CV + if (split && ExtraCv.ContainsKey(cv)) { + var splitCv = ExtraCv[cv]; + for (var i = 0; i < splitCv.Length; i++) { + if (splitCv[i] != prevV) { + var converted = ToHiragana(splitCv[i]); + phonemes.Add(TryVcv(prevV, converted, syllable.vowelTone)); + prevV = splitCv[i].Last().ToString(); + } + } + } + + return phonemes; + } + + protected override List ProcessEnding(Ending ending) { + var prevV = ending.prevV; + var cc = ending.cc; + var phonemes = new List(); + + // Check CCs for special clusters + var adjustedCC = new List(); + for (var i = 0; i < cc.Length; i++) { + if (i == cc.Length - 1) { + adjustedCC.Add(cc[i]); + } else { + if (cc[i] == cc[i + 1]) { + adjustedCC.Add(cc[i]); + i++; + continue; + } + var diphone = $"{cc[i]}{cc[i + 1]}"; + if (SpecialClusters.Contains(diphone)) { + adjustedCC.Add(diphone); + i++; + } else { + adjustedCC.Add(cc[i]); + } + } + } + cc = adjustedCC.ToArray(); + + var usingVC = false; + // Convert to hiragana + for (var i = 0; i < cc.Length; i++) { + var symbol = cc[i]; + + if (i == 0) { + (var hasVc, var vcPhonemes) = HasVc(prevV, symbol, ending.tone, cc.Length + 1); + usingVC = hasVc; + phonemes.AddRange(vcPhonemes); + if (usingVC) { + continue; + } + } + + var solo = SoloConsonant[symbol]; + if (!usingVC) { + solo = TryVcv(prevV, solo, ending.tone); + } else { + usingVC = false; + solo = FixCv(solo, ending.tone); + } + + if (HasOto(solo, ending.tone)) { + phonemes.Add(solo); + } else if (ConditionalAlt.ContainsKey(solo)) { + solo = ConditionalAlt[solo]; + if (!usingVC) { + solo = TryVcv(prevV, solo, ending.tone); + } else { + solo = FixCv(solo, ending.tone); + } + phonemes.Add(solo); + } + + if (solo.Contains("ん")) { + if (ending.IsEndingVCWithOneConsonant) { + TryAddPhoneme(phonemes, ending.tone, $"n R", $"n -", $"n-"); + } else if (ending.IsEndingVCWithMoreThanOneConsonant && cc.Last() == "n" || cc.Last() == "m") { + TryAddPhoneme(phonemes, ending.tone, $"n R", $"n -", $"n-"); + } + } + + prevV = WanaKana.ToRomaji(solo).Last().ToString(); + } + + if (ending.IsEndingV) { + TryAddPhoneme(phonemes, ending.tone, $"{prevV} R", $"{prevV} -", $"{prevV}-"); + } + + return phonemes; + } + + private (bool, string[]) HasVc(string vowel, string cons, int tone, int cc) { + if (vowel == "" || vowel == "-") { + return (false, new string[0]); + } + + var phonemes = new List(); + if (cons == "rr") { + cons = "r"; + } else if (cons == "rry") { + cons = "ry"; + } else if (cons == "l") { + cons = "r"; + } else if (cons == "ly") { + cons = "ry"; + } + + var vc = $"{vowel} {cons}"; + var altVc = $"{vowel} {cons[0]}"; + + if (HasOto(vc, tone)) { + phonemes.Add(vc); + } else if (HasOto(altVc, tone)) { + phonemes.Add(altVc); + } + + if (affricates.Contains(cons) && cc > 1) { + phonemes.Add(FixCv(SoloConsonant[cons], tone)); + } + + return (phonemes.Count > 0, phonemes.ToArray()); + } + + private string TryVcv(string vowel, string cv, int tone) { + var vcv = $"{vowel} {cv}"; + return HasOto(vcv, tone) ? vcv : FixCv(cv, tone); + } + + private string FixCv(string cv, int tone) { + var alt = $"- {cv}"; + return HasOto(cv, tone) ? cv : HasOto(alt, tone) ? alt : cv; + } + private string ToHiragana(string romaji) { + var hiragana = WanaKana.ToHiragana(romaji); + hiragana = hiragana.Replace("ゔ", "ヴ"); + return hiragana; + } + } +} diff --git a/OpenUtau.Plugin.Builtin/EnglishVCCVPhonemizer.cs b/OpenUtau.Plugin.Builtin/EnglishVCCVPhonemizer.cs index ffb14ac4d..546cdc633 100644 --- a/OpenUtau.Plugin.Builtin/EnglishVCCVPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/EnglishVCCVPhonemizer.cs @@ -1,20 +1,21 @@ using System; using System.Collections.Generic; -using System.Text; -using OpenUtau.Api; +using System.IO; using System.Linq; - +using OpenUtau.Api; +using OpenUtau.Core.G2p; +using Serilog; namespace OpenUtau.Plugin.Builtin { - [Phonemizer("English VCCV Phonemizer", "EN VCCV", "Mim")] + [Phonemizer("English VCCV Phonemizer", "EN VCCV", "Mim", language: "EN")] // This is a temporary solution until Cz's comes out with their own. // Feel free to use the Lyric Parser plugin for more accurate pronunciations & support of ConVel. - // Thanks to cubialpha, Cz and nago for their help. + // Thanks to cubialpha, Cz, Halo/BagelHero and nago for their help. public class EnglishVCCVPhonemizer : SyllableBasedPhonemizer { - private readonly string[] vowels = "a,@,u,0,8,I,e,3,A,i,E,O,Q,6,o,1ng,9".Split(","); - private readonly string[] consonants = "b,ch,d,dh,f,g,h,j,k,l,m,n,ng,p,r,s,sh,t,th,v,w,y,z,zh,dd,hh".Split(","); + private readonly string[] vowels = "a,@,u,0,8,I,e,3,A,i,E,O,Q,6,o,1ng,9,&,x,1".Split(","); + private readonly string[] consonants = "b,ch,d,dh,f,g,h,j,k,l,m,n,ng,p,r,s,sh,t,th,v,w,y,z,zh,dd,hh,sp,st".Split(","); private readonly Dictionary dictionaryReplacements = ("aa=a;ae=@;ah=u;ao=9;aw=8;ay=I;" + "b=b;ch=ch;d=d;dh=dh;eh=e;er=3;ey=A;f=f;g=g;hh=h;ih=i;iy=E;jh=j;k=k;l=l;m=m;n=n;ng=ng;ow=O;oy=Q;" + "p=p;r=r;s=s;sh=sh;t=t;th=th;uh=6;uw=o;v=v;w=w;y=y;z=z;zh=zh;dx=dd;").Split(';') @@ -23,7 +24,6 @@ public class EnglishVCCVPhonemizer : SyllableBasedPhonemizer { .Where(parts => parts[0] != parts[1]) .ToDictionary(parts => parts[0], parts => parts[1]); - //some of these could be removed if we can implement the lyric parser dictionary in some way private readonly Dictionary vcExceptions = new Dictionary() { {"i ng","1ng"}, @@ -70,12 +70,38 @@ public class EnglishVCCVPhonemizer : SyllableBasedPhonemizer { {"3","r"}, }; - private readonly string[] ccExceptions = { "th", "ch", "dh", "zh", "sh","ng" }; + private readonly string[] ccExceptions = { "th", "ch", "dh", "zh", "sh", "ng" }; + private readonly string[] stopCs = { "b","d","g","k","p","t" }; + protected override string[] GetVowels() => vowels; protected override string[] GetConsonants() => consonants; protected override string GetDictionaryName() => "cmudict-0_7b.txt"; - protected override IG2p LoadBaseDictionary() => new ArpabetG2p(); + protected override IG2p LoadBaseDictionary() { + var g2ps = new List(); + + // Load dictionary from plugin folder. + string path = Path.Combine(PluginDir, "envccv.yaml"); + if (!File.Exists(path)) { + Directory.CreateDirectory(PluginDir); + File.WriteAllBytes(path, Data.Resources.envccv_template); + } + g2ps.Add(G2pDictionary.NewBuilder().Load(File.ReadAllText(path)).Build()); + + // Load dictionary from singer folder. + if (singer != null && singer.Found && singer.Loaded) { + string file = Path.Combine(singer.Location, "envccv.yaml"); + if (File.Exists(file)) { + try { + g2ps.Add(G2pDictionary.NewBuilder().Load(File.ReadAllText(file)).Build()); + } catch (Exception e) { + Log.Error(e, $"Failed to load {file}"); + } + } + } + g2ps.Add(new ArpabetG2p()); + return new G2pFallbacks(g2ps.ToArray()); + } protected override Dictionary GetDictionaryPhonemesReplacement() => dictionaryReplacements; @@ -163,10 +189,16 @@ protected override List ProcessSyllable(Syllable syllable) { } // --------------------------- IS VCV ------------------------------- // else { + + cc = ValidateCC(cc); + if (syllable.IsVCVWithOneConsonant) { basePhoneme = $"{cc.Last()}{v}"; if (!HasOto(basePhoneme, syllable.vowelTone)) { - basePhoneme = $"_{v}"; + if($"{cc.Last()}" == "h") { + basePhoneme = $"hh{v}"; + } + else basePhoneme = $"_{v}"; } var vc = $"{prevV} {cc.Last()}"; @@ -180,146 +212,69 @@ protected override List ProcessSyllable(Syllable syllable) { if (!HasOto(basePhoneme, syllable.tone) || cc.Length == lastCPrevWord + 1) { basePhoneme = $"{cc.Last()}{v}"; } - var vc = "placeholder"; - - var startingC = 0; - - - //----- VCs -----// - if (!HasOto(vc, syllable.tone)) { - vc = $"{prevV} {cc[startingC]}"; + if (cc.Length == lastCPrevWord && stopCs.Contains($"{cc.Last()}")) + { + basePhoneme = $"-{v}"; } - vc = CheckVCExceptions(vc); + var startingC = 0; - if (startingC + 1 < cc.Length) { - // replace 'V C' with 'VC' if theres no CC transition - if (!HasOto($"{cc[startingC]}{cc[startingC + 1]}", syllable.tone) && !HasOto($"{cc[startingC]} {cc[startingC + 1]}", syllable.tone)) { - vc = $"{prevV}{cc[startingC]}"; - } + var vc = $"{prevV}{cc[startingC]}-"; - // replace 'V C' with 'VC' if there's no 'C C' transition and it's the end of the word - if (!HasOto($"{cc[startingC]} {cc[startingC + 1]}", syllable.tone) && startingC < lastCPrevWord) { - vc = $"{prevV}{cc[startingC]}"; + if (!HasOto(vc, syllable.vowelTone)) { + vc = $"{prevV}{cc[startingC]}"; + if (!HasOto(vc, syllable.vowelTone)) { + vc = $"{prevV} {cc[startingC]}"; } } - if (!HasOto(vc, syllable.tone) && startingC > 0) { - vc = $"{prevV}"; + if (lastCPrevWord == 1) { + vc = $"{prevV}{cc[startingC]}"; + startingC = 1; } + vc = CheckVCExceptions(vc); - phonemes.Add(vc); - - int max = cc.Length - 1; - //try CCC + CV and CCV (for example: "a stone" and "a stripe") - var ccv = "placeholder"; - - - if (lastC > 1 && lastC - 2 >= lastCPrevWord) { - - ccv = $"{cc[lastC - 2]}{cc[lastC - 1]}{cc[lastC]}"; - - if (!CheckCCExceptions(ccv)) { - if (HasOto(ccv, syllable.tone)) { - - startingC = 0; - max -= 2; - } + if (cc.Length > 1) { + var vcc = vc + $" {cc[1]}"; + if (HasOto(vcc, syllable.tone)) { + vc = vcc; + startingC = 1; } - } - if (!HasOto(ccv, syllable.tone)) { - var ccv2 = $"{cc[lastC - 1]}{cc[lastC]}{v}"; - - if (HasOto(ccv2, syllable.tone) && !CheckCCExceptions(ccv2)) { - basePhoneme = ccv2; - ccv = "placeholder"; - startingC = 0; - max = cc.Length - 1; - } - - } - - - - // ------------- CC & VC C - var currentCc = "placeholder"; - - for (int i = startingC; i < max; i++) { - - // VC C exceptions ("1ng s" etc.) - currentCc = $"{vc} {cc[i + 1]}"; - if (HasOto(currentCc, syllable.tone) && i + 1 <= startingC + 1) { - phonemes.RemoveAt(phonemes.Count - 1); - phonemes.Add(currentCc); - continue; - } - - // try 'v cc' (for exemple 'u st') - if (i + 1 <= max) { - currentCc = $"{prevV} {cc[i]}{cc[i + 1]}"; + if (lastCPrevWord == 0 && prevV == "3") { - if (!CheckCCExceptions(currentCc)) { + vc = $"{prevV} {cc[0]}"; +// vc = $"{prevV}-"; + } - if (HasOto(currentCc, syllable.tone)) { - phonemes.RemoveAt(phonemes.Count - 1); - phonemes.Add(currentCc); - i++; - max -= 1; - continue; - } - } - } + phonemes.Add(vc); + var cca = "null"; - // try 'c cc' (for exemple 'l sp') - if (i + 2 <= max) { - currentCc = $"{cc[i]} {cc[i + 1]}{cc[i + 2]}"; + for (int i = startingC; i < cc.Length - 1; i++) { - if (!CheckCCExceptions(currentCc)) { + cca = $"{cc[i]}{cc[i + 1]}"; - if (HasOto(currentCc, syllable.tone)) { - phonemes.Add(currentCc); - i++; - max -= 1; - continue; - } - } - } + if (HasOto(cca, syllable.tone)) { + phonemes.Add(cca); - if (i+1 == syllable.prevWordConsonantsCount - 1 && cc.Length > syllable.prevWordConsonantsCount) { - currentCc = $"{cc[i]}{cc[i + 1]}"; - if (HasOto(currentCc, syllable.tone)) { - phonemes.Add(currentCc); + //if end of word, skip next CC + if (lastCPrevWord == i + 2) { + i++; continue; - } else { - currentCc = $"{cc[i]} {cc[i + 1]}"; - if (HasOto(currentCc, syllable.tone)) { - phonemes.Add(currentCc); - continue; - } } - } - //fallback, uses C C by default - currentCc = $"{cc[i]} {cc[i + 1]}"; - if (HasOto(currentCc, syllable.tone)) { - phonemes.Add(currentCc); + continue; } else { - currentCc = $"{cc[i]}{cc[i + 1]}"; - if (HasOto(currentCc, syllable.tone)) { - phonemes.Add(currentCc); + cca = $"{cc[i]} {cc[i + 1]}"; + if (HasOto(cca, syllable.tone)) { + phonemes.Add(cca); + continue; } } - - } - - - if (HasOto(ccv, syllable.tone)) { - phonemes.Add(ccv); } } @@ -420,10 +375,6 @@ protected override List ProcessEnding(Ending ending) { return phonemes; } - // TODO: See if it can be implemented in a nice way but default sounds better for now. - //protected override double GetTransitionBasicLengthMs(string alias = "") { - // return GetTransitionBasicLengthMsByOto(alias); - //} private string CheckVCExceptions(string vc) { if (vcExceptions.ContainsKey(vc)) { @@ -451,5 +402,91 @@ protected override string ValidateAlias(string alias) { return alias; } + + private string[] ValidateCC(string[] cc) { + List ccList = cc.ToList(); + List newCc = new List(); + + string buffer = ""; + string bufferCCC = ""; + + if (ccList.Count == 1) { + return cc; + } + //Check for CC & CCC + for (var i = 0; i < ccList.Count; i++) { + string letter = $"{ccList[i]}"; + + if (bufferCCC == "sp") { + if (letter == "l" || letter == "r") { + newCc.Remove("sp"); + newCc.Add("s"); + newCc.Add("p" + letter); + newCc.Add(letter); + bufferCCC = ""; + continue; + } + } + if (bufferCCC == "st") { + if (letter == "r") { + newCc.Remove("st"); + newCc.Add("s"); + newCc.Add("tr"); + newCc.Add("r"); + bufferCCC = ""; + continue; + } + } + if (buffer == "s") { + if (letter == "p" || letter == "t" || letter == "m" || letter == "k") { + buffer += letter; + bufferCCC = "s" + letter; + newCc.Add(buffer); + newCc.Add(letter); + buffer = ""; + continue; + } else { + newCc.Add("s"); + newCc.Add(letter); + buffer = ""; + continue; + } + } + if (buffer == "hh") { + if (letter == "y") { + newCc.Add(buffer); + buffer = "hhy"; + newCc.Add(buffer); + buffer = ""; + continue; + } else { + newCc.Add(buffer); + newCc.Add(letter); + buffer = ""; + continue; + } + } + if (letter == "s" && i != ccList.Count - 1) { + buffer = letter; + continue; + } + + if (letter == "h" && i != ccList.Count - 1) { + buffer = "hh"; + continue; + } + if (letter == "hh" && i != ccList.Count - 1) { + buffer = letter; + continue; + } + newCc.Add(letter); + } + + string[] ccModified = newCc.ToArray(); + + return ccModified; + } + + } } diff --git a/OpenUtau.Plugin.Builtin/FrenchCMUSphinxPhonemizer.cs b/OpenUtau.Plugin.Builtin/FrenchCMUSphinxPhonemizer.cs index 6df34ac8e..32adeb4e9 100644 --- a/OpenUtau.Plugin.Builtin/FrenchCMUSphinxPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/FrenchCMUSphinxPhonemizer.cs @@ -2,13 +2,14 @@ using System.Collections.Generic; using System.IO; using OpenUtau.Api; +using OpenUtau.Core.G2p; using Serilog; namespace OpenUtau.Plugin.Builtin { /// /// A French diphone phonemizer that uses CMUSphinx dictionary. /// - [Phonemizer("French CMUSphinx Phonemizer", "FR SPHINX")] + [Phonemizer("French CMUSphinx Phonemizer", "FR SPHINX", language:"FR")] public class FrenchCMUSphinxPhonemizer : LatinDiphonePhonemizer { public FrenchCMUSphinxPhonemizer() { try { diff --git a/OpenUtau.Plugin.Builtin/FrenchCVVCPhonemizer.cs b/OpenUtau.Plugin.Builtin/FrenchCVVCPhonemizer.cs index 624730f51..973907a1f 100644 --- a/OpenUtau.Plugin.Builtin/FrenchCVVCPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/FrenchCVVCPhonemizer.cs @@ -6,7 +6,7 @@ namespace OpenUtau.Plugin.Builtin { - [Phonemizer("French CVVC Phonemizer", "FR CVVC", "Mim")] + [Phonemizer("French CVVC Phonemizer", "FR CVVC", "Mim", language: "FR")] // Contributed by Mim with the help of Heiden.BZR & nago's phonemizers //This is a first implementation and I'm already working on optimization @@ -16,7 +16,7 @@ public class FrenchCVVCPhonemizer : SyllableBasedPhonemizer { private readonly string[] consonants = "b,d,f,g,j,k,l,m,n,p,r,s,sh,t,v,w,y,z,gn,.,-,R,BR,_hh".Split(","); private readonly Dictionary dictionaryReplacements = ( "aa=ah;ai=ae;ei=eh;eu=ee;ee=ee;oe=oe;ii=ih;au=oh;oo=oo;ou=ou;uu=uh;an=en;in=in;un=in;on=on;uy=ui;" + - "bb=b;dd=d;ff=f;gg=g;jj=j;kk=k;ll=l;mm=m;nn=n;pp=p;rr=r;ss=s;ch=sh;tt=t;vv=v;ww=w;yy=y;zz=z;gn=gn;").Split(';') + "bb=b;dd=d;ff=f;gg=g;jj=j;kk=k;ll=l;mm=m;nn=n;pp=p;rr=r;ss=s;ch=sh;tt=t;vv=v;ww=w;yy=y;zz=z;gn=gn;4=l;hh=h;").Split(';') .Select(entry => entry.Split('=')) .Where(parts => parts.Length == 2) .Where(parts => parts[0] != parts[1]) @@ -25,7 +25,6 @@ public class FrenchCVVCPhonemizer : SyllableBasedPhonemizer { private string[] shortConsonants = "r".Split(","); private string[] longConsonants = "t,k,g,p,s,sh,j".Split(","); - private readonly string[] burstConsonants = "t,k,p,b,g,d".Split(","); private readonly Dictionary fraloidsReplacement = ( @@ -70,7 +69,7 @@ protected override List ProcessSyllable(Syllable syllable) { - // --------------------------- STARTING VV ------------------------------- // + // --------------------------- is VV ------------------------------- // } else if (syllable.IsVV) { // if VV if (!CanMakeAliasExtension(syllable)) { var vvCheck = prevV + v; @@ -82,23 +81,13 @@ protected override List ProcessSyllable(Syllable syllable) { if (basePhoneme == v) { //TODO clean exception part below if (prevV == "ih" || prevV == "i") { - if (HasOto($"{prevV}y", syllable.vowelTone)) { - phonemes.Add($"{prevV}y"); - } else if (HasOto($"{prevV} y", syllable.vowelTone)) { - phonemes.Add($"{prevV} y"); - } - if (HasOto($"y{v}", syllable.vowelTone)) { - basePhoneme = $"y{v}"; - } + basePhoneme = $"y{v}"; } if (prevV == "ou") { - if (HasOto($"{prevV}w", syllable.vowelTone)) { - phonemes.Add($"{prevV}w"); - } else { - phonemes.Add($"{prevV} w"); - } basePhoneme = $"w{v}"; } + if (!HasOto(basePhoneme, syllable.tone)) + basePhoneme = v; } } @@ -210,7 +199,10 @@ protected override List ProcessSyllable(Syllable syllable) { // exception of y sound if ($"{cc[i + 1]}" == "y" && ccc.Contains(CheckCoeEnding(ccc, syllable.tone))) { - ccc = $"{cc[i]}ih"; + if (usesFraloids) + ccc = $"{cc[i]}i"; + else + ccc = $"{cc[i]}ih"; } phonemes.Add(ccc); @@ -241,8 +233,7 @@ protected override List ProcessSyllable(Syllable syllable) { vc = ReplaceFraloidsConflict(vc, syllable.tone); if (HasOto(vc, syllable.tone)) { phonemes.Add(vc); - } - else { + } else { vc = $"{prevV}{cc[0]}"; if (HasOto(vc, syllable.tone)) { phonemes.Add(vc); @@ -339,26 +330,36 @@ protected override List ProcessSyllable(Syllable syllable) { break; } + + ccc = CheckAliasFormatting(ccc, "endccOe", syllable.tone, $"{cc[i + 1]}"); if (ccc.Contains(CheckCoeEnding(ccc, syllable.tone)) || ccc == $"{cc[i]}") { - if (i == 0) { + + if (cc[i] == cc[i + 1]) { + break; + } + if (i == 0 && $"{cc[i + 1]}" != "y") { continue; } } + // exception of y sound + if ($"{cc[i + 1]}" == "y" && ccc.Contains(CheckCoeEnding(ccc, syllable.tone))) { + if (usesFraloids) + ccc = $"{cc[i]}i"; + else + ccc = $"{cc[i]}ih"; + } + + if (ccc == $"{cc[i]}") { if (i + 2 <= cc.Length) { break; } } - // exception of y sound - if ($"{cc[i + 1]}" == "y" && ccc.Contains(CheckCoeEnding(ccc, syllable.tone))) { - ccc = $"{cc[i]}ih"; - } - phonemes.Add(ccc); @@ -369,6 +370,7 @@ protected override List ProcessSyllable(Syllable syllable) { } + phonemes.Add(basePhoneme); return phonemes; } @@ -508,6 +510,8 @@ protected override List ProcessEnding(Ending ending) { } //else try CC if (i + 1 < cc.Length) { + + ccc = $"{cc[i]}"; ccc = CheckAliasFormatting(ccc, "endcc", ending.tone, $"{cc[i + 1]}"); if (HasOto(ccc, ending.tone)) { phonemes.Add(ccc); @@ -518,14 +522,8 @@ protected override List ProcessEnding(Ending ending) { if (i > 0) { ccc = $"{cc[i]}"; ccc = CheckAliasFormatting(ccc, "endcOe", ending.tone, ""); - - // exception of y sound - if (i + 1 < cc.Length) { - if ($"{cc[i + 1]}" == "y" && ccc.Contains(CheckCoeEnding(ccc, ending.tone))) { - ccc = $"{cc[i]}ih"; - } - } } + if (HasOto(ccc, ending.tone)) { phonemes.Add(ccc); } @@ -721,15 +719,33 @@ protected override string[] GetSymbols(Note note) { if (original == null) { return null; } - List modified = new List(); + + string[] arpabet = "aa,ai,ei,eu,ii,au,uu,an,un,uy,bb,dd,ff,gg,jj,kk,ll,mm,nn,pp,rr,ss,ch,tt,vv,ww,yy,zz".Split(","); + string[] petitmot = "ah,ae,eh,ee,ih,oh,uh,en,in,ui,b,d,f,g,j,k,l,m,n,p,r,s,sh,t,v,w,y,z".Split(","); + + List convert = new List(); foreach (string s in original) { + string c = s; + for (int i = 0; i < arpabet.Length; i++) { + if (s == arpabet[i]) { + c = petitmot[i]; + } + } + convert.Add(c); + } + + if (convert == null) { + return null; + } + + List modified = new List(); + foreach (string s in convert) { if (s == "gn") { modified.AddRange(new string[] { "n", "y" }); } else { modified.Add(s); } } - return modified.ToArray(); } diff --git a/OpenUtau.Plugin.Builtin/FrenchVCCVPhonemizer.cs b/OpenUtau.Plugin.Builtin/FrenchVCCVPhonemizer.cs new file mode 100644 index 000000000..6a6aeaeed --- /dev/null +++ b/OpenUtau.Plugin.Builtin/FrenchVCCVPhonemizer.cs @@ -0,0 +1,281 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OpenUtau.Api; +using System.Linq; + + +namespace OpenUtau.Plugin.Builtin { + [Phonemizer("French VCCV m2RUg Phonemizer", "FR VCCV", "Mim", language:"FR")] + // This is Phonemizer + + public class FrenchVCCVPhonemizer : SyllableBasedPhonemizer { + + private readonly string[] vowels = "A,E,e,2,9,i,o,O,u,y,a,U,0,A',E',e',2',9',i',o',O',u',y',a',U',0'".Split(","); + private readonly string[] consonants = "b,d,f,g,Z,k,l,m,n,p,R,s,S,t,v,w,j,z,J,H,h,4,r,_hh".Split(","); + private readonly Dictionary dictionaryReplacements = ( + "aa=A;ai=E;ei=e;eu=2;ee=2;oe=9;ii=i;au=o;oo=O;ou=u;uu=y;an=a;in=U;un=U;on=0;uy=H;" + + "bb=b;dd=d;ff=f;gg=g;jj=Z;kk=k;ll=l;mm=m;nn=n;pp=p;rr=R;ss=s;ch=S;tt=t;vv=v;ww=w;yy=j;zz=z;gn=J;4=4;hh=h;").Split(';') + .Select(entry => entry.Split('=')) + .Where(parts => parts.Length == 2) + .Where(parts => parts[0] != parts[1]) + .ToDictionary(parts => parts[0], parts => parts[1]); + + + private string[] shortConsonants = "R".Split(","); + private string[] longConsonants = "t,k,g,p,s,S,Z".Split(","); + private string[] hardConsonants = "t,k,g,p,d".Split(","); + + protected override string[] GetVowels() => vowels; + protected override string[] GetConsonants() => consonants; + protected override string GetDictionaryName() => "cmudict_fr.txt"; + protected override Dictionary GetDictionaryPhonemesReplacement() => dictionaryReplacements; + + protected override List ProcessSyllable(Syllable syllable) { + string prevV = syllable.prevV; + string[] cc = syllable.cc; + string v = syllable.v; + var lastC = cc.Length - 1; + var firstC = 0; + + string basePhoneme; + var phonemes = new List(); + + // add vocal fry support + if (prevV.Contains("'")) { + prevV = prevV.Replace("'", ""); + } + + // --------------------------- STARTING V ------------------------------- // + if (syllable.IsStartingV) { + basePhoneme = $"- {v}"; + + } else if (syllable.IsVV) { // if VV + //if (!CanMakeAliasExtension(syllable)) { + basePhoneme = $"{prevV} {v}"; + //} else { + // // the previous alias will be extended + // basePhoneme = null; + //} + // --------------------------- STARTING CV ------------------------------- // + } else if (syllable.IsStartingCVWithOneConsonant) { + + basePhoneme = $"- {cc[0]}{v}"; + if(!HasOto(basePhoneme,syllable.tone)) { + TryAddPhoneme(phonemes, syllable.tone, $"- {cc[0]}"); + basePhoneme = $"{cc[0]}{v}"; + } + + // --------------------------- STARTING CCV ------------------------------- // + } else if (syllable.IsStartingCVWithMoreThanOneConsonant) { + + if (!hardConsonants.Contains(cc[0])) { + phonemes.Add($"- {cc[0]}"); + } + + basePhoneme = $"{cc.Last()}{v}"; + + // CC + CCV support + var ccv = $"{cc[cc.Length-2]}{cc.Last()}{v}"; + if (HasOto(ccv,syllable.tone)) { + basePhoneme = ccv; + + for (int i = 0; i < cc.Length - 2; i++) { + var cci = $"{cc[i]} {cc[i + 1]}"; + + if (!HasOto(cci, syllable.tone)) { + cci = $"{cc[i]}{cc[i + 1]}_"; + if (i+1 == cc.Length-2 && HasOto($"_{ccv}",syllable.tone)) { + basePhoneme = $"_{ccv}"; + } + } + + TryAddPhoneme(phonemes, syllable.tone, cci); + } + } else { + // CC + CV support + for (int i = 0; i < cc.Length - 1; i++) { + var cci = $"{cc[i]}{cc[i + 1]}_"; + + if (HasOto(cci, syllable.tone)) { + phonemes.Add(cci); + if (i + 1 == cc.Length - 1 && HasOto($"_{cc.Last()}{v}", syllable.tone)) { + basePhoneme = $"_{cc.Last()}{v}"; + } + } else { + cci = $"{cc[i]} {cc[i + 1]}"; + TryAddPhoneme(phonemes, syllable.tone, cci); + } + } + } + + + } + // --------------------------- IS VCV ------------------------------- // + else if (syllable.IsVCVWithOneConsonant) { + + // try VCV + var vc = $"{prevV} {cc[0]}"; + phonemes.Add(vc); + + basePhoneme = $"{cc[0]}{v}"; + + } else { + // ------------- IS VCV WITH MORE THAN ONE CONSONANT --------------- // + var vc = $"{prevV} {cc[0]}"; + phonemes.Add(vc); + + basePhoneme = $"{cc.Last()}{v}"; + + // CC + CCV support + var ccv = $"{cc[cc.Length - 2]}{cc.Last()}{v}"; + if (HasOto(ccv, syllable.tone)) { + basePhoneme = ccv; + + for (int i = 0; i < cc.Length - 2; i++) { + var cci = $"{cc[i]} {cc[i + 1]}"; + + if (!HasOto(cci, syllable.tone)) { + cci = $"{cc[i]}{cc[i + 1]}_"; + if (i + 1 == cc.Length - 2 && HasOto($"_{ccv}", syllable.tone)) { + basePhoneme = $"_{ccv}"; + } + } + + TryAddPhoneme(phonemes, syllable.tone, cci); + } + } else { + // CC + CV support + for (int i = 0; i < cc.Length - 1; i++) { + var cci = $"{cc[i]}{cc[i + 1]}_"; + + if (HasOto(cci, syllable.tone)) { + phonemes.Add(cci); + if (i + 1 == cc.Length - 1 && HasOto($"_{cc.Last()}{v}", syllable.tone)) { + basePhoneme = $"_{cc.Last()}{v}"; + } + } else { + cci = $"{cc[i]} {cc[i + 1]}"; + if (!HasOto(cci, syllable.tone)) { + cci = $"{cc[i]}{cc[i + 1]}"; + } + TryAddPhoneme(phonemes, syllable.tone, cci); + } + + } + } + + // convert 'n + j' to 'J' + if($"{cc.Last()}" == "j" && $"{cc[cc.Length-2]}" == "n") { + basePhoneme = $"J{v}"; + } + + } + + phonemes.Add(basePhoneme); + return phonemes; + } + protected override List ProcessEnding(Ending ending) { + string[] cc = ending.cc; + string v = ending.prevV; + + var phonemes = new List(); + + // --------------------------- ENDING V ------------------------------- // + if (ending.IsEndingV) { + var vE = $"{v} -"; + phonemes.Add(vE); + + } else { + // --------------------------- ENDING VC ------------------------------- // + if (ending.IsEndingVCWithOneConsonant) { + + // try 'VC -' else 'V C' + 'C -' + var vc = $"{v}{cc[0]} -"; + if(HasOto(vc,ending.tone)) { + phonemes.Add(vc); + } else { + vc = $"{v} {cc[0]}"; + phonemes.Add(vc); + + var cE = $"{cc[0]} -"; + phonemes.Add(cE); + } + + + + } else { + + // --------------------------- ENDING VCC ------------------------------- // + var vc = $"{v} {cc[0]}"; + phonemes.Add(vc); + + for (int i = 0; i < cc.Length - 1; i++) { + var cci = $"{cc[i]} {cc[i + 1]}"; + if (!HasOto(cci,ending.tone)) { + cci = $"{cc[i]}{cc[i + 1]}_"; + } + if (!HasOto(cci, ending.tone)) { + cci = $"{cc[i]}{cc[i + 1]}"; + } + + TryAddPhoneme(phonemes, ending.tone, cci); + } + + var cE = $"{cc.Last()} -"; + TryAddPhoneme(phonemes, ending.tone, cE); + } + + + } + + // ---------------------------------------------------------------------------------- // + + return phonemes; + } + + + protected override double GetTransitionBasicLengthMs(string alias = "") { + foreach (var c in shortConsonants) { + if (alias.EndsWith(c)) { + return base.GetTransitionBasicLengthMs() * 0.75; + } + } + foreach (var c in longConsonants) { + if (alias.EndsWith(c)) { + return base.GetTransitionBasicLengthMs() * 1.5; + } + } + return base.GetTransitionBasicLengthMs() * 1.25; + } + + protected override string[] GetSymbols(Note note) { + string[] original = base.GetSymbols(note); + if (original == null) { + return null; + } + + string[] arpabet = "aa,ai,ei,eu,ee,oe,ii,au,oo,ou,uu,an,in,un,on,uy,bb,dd,ff,gg,jj,kk,ll,mm,nn,pp,rr,ss,ch,tt,vv,ww,yy,zz,gn".Split(","); + string[] m2rUg = "A,E,e,2,2,9,i,o,O,u,y,a,U,U,0,H,b,d,f,g,Z,k,l,m,n,p,R,s,S,t,v,w,j,z,J".Split(","); + + List convert = new List(); + foreach (string s in original) { + string c = s; + for (int i = 0; i < arpabet.Length; i++) { + if (s == arpabet[i]) { + c = m2rUg[i]; + } + } + convert.Add(c); + } + + if (convert == null) { + return null; + } + + return convert.ToArray(); + } + + + } +} diff --git a/OpenUtau.Plugin.Builtin/ItalianCVVCPhonemizer.cs b/OpenUtau.Plugin.Builtin/ItalianCVVCPhonemizer.cs index 8f360bed1..42bf1cc90 100644 --- a/OpenUtau.Plugin.Builtin/ItalianCVVCPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/ItalianCVVCPhonemizer.cs @@ -6,7 +6,7 @@ using Serilog; namespace OpenUtau.Plugin.Builtin { - [Phonemizer("Italian CVVC Phonemizer", "IT CVVC", "DJ-001")] + [Phonemizer("Italian CVVC Phonemizer", "IT CVVC", "DJ-001", language: "IT")] public class ItalianCVVCPhonemizer : Phonemizer { /// diff --git a/OpenUtau.Plugin.Builtin/ItalianSyllableBasedPhonemizer.cs b/OpenUtau.Plugin.Builtin/ItalianSyllableBasedPhonemizer.cs new file mode 100644 index 000000000..d823dbc2e --- /dev/null +++ b/OpenUtau.Plugin.Builtin/ItalianSyllableBasedPhonemizer.cs @@ -0,0 +1,171 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OpenUtau.Api; +using System.Linq; +using Serilog; + +namespace OpenUtau.Plugin.Builtin { + [Phonemizer("Italian Syllable-Based Phonemizer", "IT SYL", "Lotte V", language:"IT")] + public class ItalianSyllableBasedPhonemizer : SyllableBasedPhonemizer { + /// + /// Italian syllable-based phonemizer. + /// As opposed to the already existing Italian phonemizer, this one is dictionary-based. + /// Similarly to that one, it's based on Makkusan's list. + /// It also has support for extra Spanish consonants, but only through phonetic input. + /// + + private readonly string[] vowels = "a,e,i,o,u,3,0".Split(','); + private readonly string[] consonants = "b,d,dz,dZ,f,g,gn,j,k,l,m,M,n,N,p,r,rr,s,S,t,ts,tS,v,w,y,z,B,D,G,h,T,x,Y,'".Split(','); + private readonly Dictionary dictionaryReplacements = ("a=a;e=e;i=i;o=o;u=u;EE=3;OO=0;" + "a1=a;e1=e;i1=i;o1=o;u1=u;" + + "b=b;d=d;dz=dz;dZZ=dZ;f=f;g=g;JJ=gn;k=k;l=l;LL=j;m=m;n=n;nf=M;ng=N;p=p;r=r;rr=rr;s=s;SS=S;t=t;ts=ts;tSS=tS;v=v;w=w;y=y;z=z").Split(';') + .Select(entry => entry.Split('=')) + .Where(parts => parts.Length == 2) + .Where(parts => parts[0] != parts[1]) + .ToDictionary(parts => parts[0], parts => parts[1]); + + protected override string[] GetVowels() => vowels; + protected override string[] GetConsonants() => consonants; + protected override string GetDictionaryName() => "cmudict_it.txt"; + protected override Dictionary GetDictionaryPhonemesReplacement() => dictionaryReplacements; + + protected override List ProcessSyllable(Syllable syllable) + { + string prevV = syllable.prevV; + string[] cc = syllable.cc; + string v = syllable.v; + + string basePhoneme; + var phonemes = new List(); + var lastC = cc.Length - 1; + var firstC = 0; + + if (syllable.IsStartingV) { + basePhoneme = $"-{v}"; + } else if (syllable.IsVV) { + if (!CanMakeAliasExtension(syllable)) { + basePhoneme = $"{prevV} {v}"; + } else { + // the previous alias will be extended + basePhoneme = null; + } + } else if (syllable.IsStartingCVWithOneConsonant) { + // TODO: move to config -CV or -C CV + var rcv = $"-{cc[0]}{v}"; + if (HasOto(rcv, syllable.tone)) { + basePhoneme = rcv; + } else { + basePhoneme = $"{cc[0]}{v}"; + } + } else if (syllable.IsStartingCVWithMoreThanOneConsonant) { + // try RCCV + var rccv = $"-{string.Join("", cc)}{v}"; + if (HasOto(rccv, syllable.vowelTone)) { + basePhoneme = rccv; + } else { + var _cv = $"_{cc.Last()}{v}"; + if (HasOto(_cv, syllable.tone)) { + basePhoneme = _cv; + } else { + basePhoneme = $"{cc.Last()}{v}"; + } + // try RCC + for (var i = cc.Length; i > 1; i--) { + if (TryAddPhoneme(phonemes, syllable.tone, $"-{string.Join("", cc.Take(i))}")) { + firstC = i; + break; + } + } + } + } else { + basePhoneme = cc.Last() + v; + // try CCV + if (cc.Length - firstC > 1) + { + for (var i = firstC; i < cc.Length; i++) + { + var ccv = $"{string.Join("", cc.Skip(i))}{v}"; + if (HasOto(ccv, syllable.vowelTone)) + { + lastC = i; + basePhoneme = ccv; + break; + } + } + } + phonemes.Add($"{prevV} {cc[0]}"); + } + for (var i = firstC; i < lastC; i++) { + var rccv = $"-{string.Join("", cc)}{v}"; + if (!HasOto(rccv, syllable.vowelTone)) { + // we could use some CCV, so lastC is used + // we could use -CC so firstC is used + var _cv = $"_{cc.Last()}{v}"; + var cc1 = $"{string.Join("", cc.Skip(i))}"; + if (!HasOto(cc1, syllable.tone)) { + cc1 = $"{cc[i]}{cc[i + 1]}"; + } + if (!HasOto($"{cc[i]}{cc[i + 1]}", syllable.tone) && !HasOto($"{string.Join("", cc.Skip(i))}", syllable.tone)) { + cc1 = $"{cc[i]} {cc[i + 1]}"; + } + if (HasOto(_cv, syllable.vowelTone) && HasOto(cc1, syllable.tone) && !cc1.Contains($"{cc[i]} {cc[i + 1]}")) { + basePhoneme = _cv; + } + if (i + 1 < lastC) { + var cc2 = $"{string.Join("", cc.Take(i))}"; + if (!HasOto(cc2, syllable.tone)) { + cc2 = $"{cc[i + 1]}{cc[i + 2]}"; + } + if (!HasOto($"{cc[i + 1]}{cc[i + 2]}", syllable.tone) && !HasOto($"{string.Join("", cc.Skip(i))}", syllable.tone)) { + cc2 = $"{cc[i + 1]} {cc[i + 2]}"; + } + if (HasOto($"_{cc.Last()}{v}", syllable.vowelTone) && HasOto(cc2, syllable.vowelTone) && !cc2.Contains($"{cc[i + 1]} {cc[i + 2]}")) { + basePhoneme = $"_{cc.Last()}{v}"; + } + if (HasOto(cc1, syllable.tone) && HasOto(cc2, syllable.tone) && !cc1.Contains($"{string.Join("", cc.Skip(i))}")) { + // like [V C1] [C1 C2] [C2 C3] [C3 ..] + phonemes.Add(cc1); + } else if (TryAddPhoneme(phonemes, syllable.tone, cc1)) { + // like [V C1] [C1 C2] [C2 ..] + i++; + } else if (TryAddPhoneme(phonemes, syllable.tone, $"{cc[i]}{cc[i + 1]}-")) { + // like [V C1] [C1 C2-] [C3 ..] + } + } else { + // like [V C1] [C1 C2] [C2 ..] or like [V C1] [C1 -] [C3 ..] + TryAddPhoneme(phonemes, syllable.tone, cc1); + } + } + } + phonemes.Add(basePhoneme); + return phonemes; + } + + protected override List ProcessEnding(Ending ending) + { + string[] cc = ending.cc; + string v = ending.prevV; + + var phonemes = new List(); + if (ending.IsEndingV) { + phonemes.Add($"{v} R"); + } else if (ending.IsEndingVCWithOneConsonant) { + var vcr = $"{v}{cc[0]}-"; + if (HasOto(vcr, ending.tone)) { + phonemes.Add(vcr); + } + } else if (ending.IsEndingVCWithMoreThanOneConsonant) { + phonemes.Add($"{v} {cc[0]}"); + for (var i = 0; i < cc.Length - 1; i++) + { + var cc1 = $"{cc[i]}{cc[i + 1]}-"; + if (HasOto(cc1, ending.tone)) + { + phonemes.Add(cc1); + } + } + } + return phonemes; + } + } +} diff --git a/OpenUtau.Plugin.Builtin/JapaneseCVVCPhonemizer.cs b/OpenUtau.Plugin.Builtin/JapaneseCVVCPhonemizer.cs index 88e9e5d75..2d924ea0e 100644 --- a/OpenUtau.Plugin.Builtin/JapaneseCVVCPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/JapaneseCVVCPhonemizer.cs @@ -6,52 +6,14 @@ using Serilog; namespace OpenUtau.Plugin.Builtin { - [Phonemizer("Japanese CVVC Phonemizer", "JA CVVC", "TUBS")] + [Phonemizer("Japanese CVVC Phonemizer", "JA CVVC", "TUBS",language:"JA")] public class JapaneseCVVCPhonemizer : Phonemizer { - static readonly string[] plainVowels = new string[] { - "あ", - "い", - "う", - "え", - "お", - "を", - "ん", - "息", - "吸", - "R", - "-", - "k", - "ky", - "g", - "gy", - "s", - "sh", - "z", - "j", - "t", - "ch", - "ty", - "ts", - "d", - "dy", - "n", - "ny", - "h", - "hy", - "f", - "b", - "by", - "p", - "py", - "m", - "my", - "y", - "r", - "4", - "ry", - "w", - "v", - "ng", + static readonly string[] plainVowels = new string[] {"あ","い","う","え","お","を","ん","ン"}; + static readonly string[] nonVowels = new string[]{"息","吸","R","-","k","ky","g","gy", + "s","sh","z","j","t","ch","ty","ts", + "d","dy","n","ny","h","hy","f","b", + "by","p","py","m","my","y","r","4", + "ry","w","v","ng","l","・", }; static readonly string[] vowels = new string[] { @@ -62,44 +24,55 @@ public class JapaneseCVVCPhonemizer : Phonemizer { "n=ん", "u=ぅ,う,く,ぐ,す,ず,つ,づ,ぬ,ふ,ぶ,ぷ,む,ゅ,ゆ,る,ゥ,ウ,ク,グ,ス,ズ,ツ,ヅ,ヌ,フ,ブ,プ,ム,ュ,ユ,ル,ヴ", "N=ン", + "・=・", }; static readonly string[] consonants = new string[] { - "ch=ch,ち,ちぇ,ちゃ,ちゅ,ちょ", - "gy=gy,ぎ,ぎぇ,ぎゃ,ぎゅ,ぎょ", - "ts=ts,つ,つぁ,つぃ,つぇ,つぉ", - "ty=ty,てぃ,てぇ,てゃ,てゅ,てょ", - "py=py,ぴ,ぴぇ,ぴゃ,ぴゅ,ぴょ", - "ry=ry,り,りぇ,りゃ,りゅ,りょ", - "ny=ny,に,にぇ,にゃ,にゅ,にょ", - "r=r,4,ら,る,るぃ,れ,ろ", - "hy=hy,ひ,ひぇ,ひゃ,ひゅ,ひょ", - "dy=dy,でぃ,でぇ,でゃ,でゅ,でょ", - "by=by,び,びぇ,びゃ,びゅ,びょ", - "b=b,ば,ぶ,ぶぃ,べ,ぼ", - "d=d,だ,で,ど,どぃ,どぅ", - "g=g,が,ぐ,ぐぃ,げ,ご", - "f=f,ふ,ふぁ,ふぃ,ふぇ,ふぉ", - "h=h,は,はぃ,へ,ほ,ほぅ", - "k=k,か,く,くぃ,け,こ", - "j=j,じ,じぇ,じゃ,じゅ,じょ", - "m=m,ま,む,むぃ,め,も", - "n=n,な,ぬ,ぬぃ,ね,の", - "p=p,ぱ,ぷ,ぷぃ,ぺ,ぽ", - "s=s,さ,す,すぃ,せ,そ", - "sh=sh,し,しぇ,しゃ,しゅ,しょ", - "t=t,た,て,と,とぃ,とぅ", - "v=v,ヴ,ヴぁ,ヴぃ,ヴぅ,ヴぇ,ヴぉ", - "ky=ky,き,きぇ,きゃ,きゅ,きょ", - "w=w,うぃ,うぅ,うぇ,うぉ,わ,ゐ,ゑ,を,ヰ,ヱ", - "y=y,いぃ,いぇ,や,ゆ,よ", - "z=z,ざ,ず,ずぃ,ぜ,ぞ", - "my=my,み,みぇ,みゃ,みゅ,みょ", - "ng=ng,ガ,ギ,グ,ゲ,ゴ", + "ch=ち,ちぇ,ちゃ,ちゅ,ちょ", + "gy=ぎ,ぎぇ,ぎゃ,ぎゅ,ぎょ", + "ts=つ,つぁ,つぃ,つぇ,つぉ", + "ty=てぃ,てぇ,てゃ,てゅ,てょ", + "py=ぴ,ぴぇ,ぴゃ,ぴゅ,ぴょ", + "ry=り,りぇ,りゃ,りゅ,りょ", + "ly=リ,リェ,リャ,リュ,リョ", + "ny=に,にぇ,にゃ,にゅ,にょ", + "r=ら,る,るぃ,れ,ろ", + "hy=ひ,ひぇ,ひゃ,ひゅ,ひょ", + "dy=でぃ,でぇ,でゃ,でゅ,でょ", + "by=び,びぇ,びゃ,びゅ,びょ", + "b=ば,ぶ,ぶぃ,べ,ぼ", + "d=だ,で,ど,どぃ,どぅ", + "g=が,ぐ,ぐぃ,げ,ご", + "f=ふ,ふぁ,ふぃ,ふぇ,ふぉ", + "h=は,はぃ,へ,ほ,ほぅ", + "k=か,く,くぃ,け,こ", + "j=じ,じぇ,じゃ,じゅ,じょ,ぢ,ぢぇ,ぢゃ,ぢゅ,ぢょ", + "m=ま,む,むぃ,め,も", + "n=な,ぬ,ぬぃ,ね,の", + "p=ぱ,ぷ,ぷぃ,ぺ,ぽ", + "s=さ,す,すぃ,せ,そ", + "sh=し,しぇ,しゃ,しゅ,しょ", + "t=た,て,と,とぃ,とぅ", + "v=ヴ,ヴぁ,ヴぃ,ヴぅ,ヴぇ,ヴぉ", + "ky=き,きぇ,きゃ,きゅ,きょ", + "w=うぃ,うぅ,うぇ,うぉ,わ,ゐ,ゑ,を,ヰ,ヱ", + "y=いぃ,いぇ,や,ゆ,よ", + "z=ざ,ず,ずぃ,ぜ,ぞ", + "dz=づ,づぃ", + "my=み,みぇ,みゃ,みゅ,みょ", + "ng=ガ,ギ,グ,ゲ,ゴ,ギェ,ギャ,ギュ,ギョ,カ゜,キ゜,ク゜,ケ゜,コ゜,キ゜ェ,キ゜ャ,キ゜ュ,キ゜ョ", + "l=ラ,ル,レ,ロ", + "・=・あ,・い,・う,・え,・お,・ん,・を,・ン", + }; + + // in case voicebank is missing certain symbols + static readonly string[] substitution = new string[] { + "ty,ch,ts=t", "j,dy=d", "gy=g", "ky=k", "py=p", "ny=n", "ry=r", "hy,f=h", "by,v=b", "dz=z", "l=r", "ly=l" }; static readonly Dictionary vowelLookup; static readonly Dictionary consonantLookup; + static readonly Dictionary substituteLookup; static JapaneseCVVCPhonemizer() { vowelLookup = vowels.ToList() @@ -114,17 +87,38 @@ static JapaneseCVVCPhonemizer() { return parts[1].Split(',').Select(cv => (cv, parts[0])); }) .ToDictionary(t => t.Item1, t => t.Item2); + substituteLookup = substitution.ToList() + .SelectMany(line => { + var parts = line.Split('='); + return parts[0].Split(',').Select(orig => (orig, parts[1])); + }) + .ToDictionary(t => t.Item1, t => t.Item2); } // Store singer in field, will try reading presamp.ini later private USinger singer; public override void SetSinger(USinger singer) => this.singer = singer; + // make it quicker to check multiple oto occurrences at once rather than spamming if else if + private bool checkOtoUntilHit(string[] input, Note note, out UOto oto){ + oto = default; + + var attr0 = note.phonemeAttributes?.FirstOrDefault(attr => attr.index == 0) ?? default; + var attr1 = note.phonemeAttributes?.FirstOrDefault(attr => attr.index == 1) ?? default; + + foreach (string test in input){ + if (singer.TryGetMappedOto(test, note.tone + attr0.toneShift, attr0.voiceColor, out oto)){ + return true; + } + } + + return false; + } + + // can probably be cleaned up more but i have work in the morning. have fun. public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevNeighbour, Note? nextNeighbour, Note[] prevNeighbours) { var note = notes[0]; var currentUnicode = ToUnicodeElements(note.lyric); - var vowLyric = note.lyric; - var cvLyric = note.lyric; var currentLyric = note.lyric; var cfLyric = $"* {currentLyric}"; var attr0 = note.phonemeAttributes?.FirstOrDefault(attr => attr.index == 0) ?? default; @@ -133,26 +127,25 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN if (prevNeighbour == null) { // Use "- V" or "- CV" if present in voicebank var initial = $"- {currentLyric}"; - if (singer.TryGetMappedOto(initial, note.tone + attr0.toneShift, attr0.voiceColor, out var oto)) { + string[] tests = new string[] {initial, currentLyric}; + // try [- XX] before trying plain lyric + if (checkOtoUntilHit(tests, note, out var oto)){ currentLyric = oto.Alias; - } else if (singer.TryGetMappedOto(cvLyric, note.tone + attr0.toneShift, attr0.voiceColor, out var oto2)) { - currentLyric = oto2.Alias; } - } else if (plainVowels.Contains(currentLyric)) { + } else if (plainVowels.Contains(currentLyric) || nonVowels.Contains(currentLyric)) { var prevUnicode = ToUnicodeElements(prevNeighbour?.lyric); // Current note is VV if (vowelLookup.TryGetValue(prevUnicode.LastOrDefault() ?? string.Empty, out var vow)) { - vowLyric = $"{vow} {currentLyric}"; - if (singer.TryGetMappedOto(vowLyric, note.tone + attr0.toneShift, attr0.voiceColor, out var oto)) { + var vowLyric = $"{vow} {currentLyric}"; + // try vowlyric before cflyric, if both fail try currentlyric + string[] tests = new string[] {vowLyric, cfLyric, currentLyric}; + if (checkOtoUntilHit(tests, note, out var oto)){ currentLyric = oto.Alias; - } else if (singer.TryGetMappedOto(cfLyric, note.tone + attr0.toneShift, attr0.voiceColor, out var oto2)) { - currentLyric = oto2.Alias; - } else if (singer.TryGetMappedOto(cvLyric, note.tone + attr0.toneShift, attr0.voiceColor, out var oto3)) { - currentLyric = oto3.Alias; } } - } else if (cvLyric.Contains(currentLyric)) { - if (singer.TryGetMappedOto(cvLyric, note.tone + attr0.toneShift, attr0.voiceColor, out var oto)) { + } else { + string[] tests = new string[] {currentLyric}; + if (checkOtoUntilHit(tests, note, out var oto)){ currentLyric = oto.Alias; } } @@ -175,7 +168,6 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN // Insert VC before next neighbor // Get vowel from current note - var vowel = ""; if (vowelLookup.TryGetValue(currentUnicode.LastOrDefault() ?? string.Empty, out var vow)) { vowel = vow; @@ -200,7 +192,13 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN } var vcPhoneme = $"{vowel} {consonant}"; - if (singer.TryGetMappedOto(vcPhoneme, note.tone + attr1.toneShift, attr1.voiceColor, out var oto1)) { + var vcPhonemes = new string[] {vcPhoneme, ""}; + // find potential substitute symbol + if (substituteLookup.TryGetValue(consonant ?? string.Empty, out con)){ + vcPhonemes[1] = $"{vowel} {con}"; + } + //if (singer.TryGetMappedOto(vcPhoneme, note.tone + attr0.toneShift, attr0.voiceColor, out var oto1)) { + if (checkOtoUntilHit(vcPhonemes, note, out var oto1)) { vcPhoneme = oto1.Alias; } else { return new Result { diff --git a/OpenUtau.Plugin.Builtin/JapaneseVCVPhonemizer.cs b/OpenUtau.Plugin.Builtin/JapaneseVCVPhonemizer.cs index b4a0e132f..739bd2317 100644 --- a/OpenUtau.Plugin.Builtin/JapaneseVCVPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/JapaneseVCVPhonemizer.cs @@ -4,19 +4,19 @@ using OpenUtau.Core.Ustx; namespace OpenUtau.Plugin.Builtin { - [Phonemizer("Japanese VCV Phonemizer", "JA VCV")] + [Phonemizer("Japanese VCV Phonemizer", "JA VCV", language: "JA")] public class JapaneseVCVPhonemizer : Phonemizer { /// /// The lookup table to convert a hiragana to its tail vowel. /// static readonly string[] vowels = new string[] { - "a=ぁ,あ,か,が,さ,ざ,た,だ,な,は,ば,ぱ,ま,ゃ,や,ら,わ,ァ,ア,カ,ガ,サ,ザ,タ,ダ,ナ,ハ,バ,パ,マ,ャ,ヤ,ラ,ワ", - "e=ぇ,え,け,げ,せ,ぜ,て,で,ね,へ,べ,ぺ,め,れ,ゑ,ェ,エ,ケ,ゲ,セ,ゼ,テ,デ,ネ,ヘ,ベ,ペ,メ,レ,ヱ", - "i=ぃ,い,き,ぎ,し,じ,ち,ぢ,に,ひ,び,ぴ,み,り,ゐ,ィ,イ,キ,ギ,シ,ジ,チ,ヂ,ニ,ヒ,ビ,ピ,ミ,リ,ヰ", - "o=ぉ,お,こ,ご,そ,ぞ,と,ど,の,ほ,ぼ,ぽ,も,ょ,よ,ろ,を,ォ,オ,コ,ゴ,ソ,ゾ,ト,ド,ノ,ホ,ボ,ポ,モ,ョ,ヨ,ロ,ヲ", - "n=ん", - "u=ぅ,う,く,ぐ,す,ず,つ,づ,ぬ,ふ,ぶ,ぷ,む,ゅ,ゆ,る,ゥ,ウ,ク,グ,ス,ズ,ツ,ヅ,ヌ,フ,ブ,プ,ム,ュ,ユ,ル,ヴ", - "N=ン", + "a=ぁ,あ,か,が,さ,ざ,た,だ,な,は,ば,ぱ,ま,ゃ,や,ら,わ,ァ,ア,カ,ガ,サ,ザ,タ,ダ,ナ,ハ,バ,パ,マ,ャ,ヤ,ラ,ワ,a", + "e=ぇ,え,け,げ,せ,ぜ,て,で,ね,へ,べ,ぺ,め,れ,ゑ,ェ,エ,ケ,ゲ,セ,ゼ,テ,デ,ネ,ヘ,ベ,ペ,メ,レ,ヱ,e", + "i=ぃ,い,き,ぎ,し,じ,ち,ぢ,に,ひ,び,ぴ,み,り,ゐ,ィ,イ,キ,ギ,シ,ジ,チ,ヂ,ニ,ヒ,ビ,ピ,ミ,リ,ヰ,i", + "o=ぉ,お,こ,ご,そ,ぞ,と,ど,の,ほ,ぼ,ぽ,も,ょ,よ,ろ,を,ォ,オ,コ,ゴ,ソ,ゾ,ト,ド,ノ,ホ,ボ,ポ,モ,ョ,ヨ,ロ,ヲ,o", + "n=ん,n", + "u=ぅ,う,く,ぐ,す,ず,つ,づ,ぬ,ふ,ぶ,ぷ,む,ゅ,ゆ,る,ゥ,ウ,ク,グ,ス,ズ,ツ,ヅ,ヌ,フ,ブ,プ,ム,ュ,ユ,ル,ヴ,u", + "N=ン,ng", }; static readonly Dictionary vowelLookup; @@ -71,6 +71,8 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN } if (singer.TryGetMappedOto(phoneme, note.tone + toneShift, color, out var oto)) { phoneme = oto.Alias; + } else if (singer.TryGetMappedOto(note.lyric, note.tone + toneShift, color, out oto)) { + phoneme = oto.Alias; } else { phoneme = note.lyric; } diff --git a/OpenUtau.Plugin.Builtin/KoreanCBNNPhonemizer.cs b/OpenUtau.Plugin.Builtin/KoreanCBNNPhonemizer.cs new file mode 100644 index 000000000..270a0c6a4 --- /dev/null +++ b/OpenUtau.Plugin.Builtin/KoreanCBNNPhonemizer.cs @@ -0,0 +1,858 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using OpenUtau.Api; +using OpenUtau.Classic; +using OpenUtau.Core.Ustx; +using Serilog; +using static OpenUtau.Api.Phonemizer; + +namespace OpenUtau.Plugin.Builtin { + /// This phonemizer is based on 'KOR CVC Phonemizer'(by NANA). /// + [Phonemizer("Korean CBNN Phonemizer", "KO CBNN", "EX3", language:"KO")] + + public class KoreanCBNNPhonemizer : Phonemizer { + + // ↓ Plainvowels of [ㅏ ㅐ ㅑ ㅒ ㅓ ㅔ ㅕ ㅖ ㅗ ㅘ ㅙ ㅚ ㅛ ㅜ ㅝ ㅞ ㅟ ㅠ ㅡ ㅢ ㅣ]. // + static readonly string[] naPlainVowels = new string[] { "a", "e", "a", "e", "eo", "e", "eo", "e", "o", "a", "e", "e", "o", "u", "eo", "e", "i", "u", "eu", "i", "i" }; + static readonly string[] naConsonants = new string[] { + "ㄱ:g","ㄲ:gg","ㄴ:n","ㄷ:d","ㄸ:dd","ㄹ:r","ㅁ:m","ㅂ:b","ㅃ:bb","ㅅ:s","ㅆ:ss","ㅇ:","ㅈ:j","ㅉ:jj","ㅊ:ch","ㅋ:k","ㅌ:t","ㅍ:p","ㅎ:h" + }; + + // ↓ ㅢ is e (* There's no "eui" in Kor CBNN *).// + static readonly string[] naVowels = new string[] { + "ㅏ:a","ㅐ:e","ㅑ:ya","ㅒ:ye","ㅓ:eo","ㅔ:e","ㅕ:yeo","ㅖ:ye","ㅗ:o","ㅘ:wa","ㅙ:we","ㅚ:we","ㅛ:yo","ㅜ:u","ㅝ:weo","ㅞ:we","ㅟ:wi","ㅠ:yu","ㅡ:eu","ㅢ:e","ㅣ:i" + }; + + // ↓ ["Grapheme : Phoneme"] of batchims. + static readonly string[] naFinals = new string[] { + ":","ㄱ:k","ㄲ:k","ㄳ:k","ㄴ:n","ㄵ:n","ㄶ:n","ㄷ:t","ㄹ:l","ㄺ:l","ㄻ:m","ㄼ:l","ㄽ:l","ㄾ:l","ㄿ:p","ㅀ:l","ㅁ:m","ㅂ:p","ㅄ:p","ㅅ:t","ㅆ:t","ㅇ:ng","ㅈ:t","ㅊ:t","ㅋ:k","ㅌ:t","ㅍ:p:1","ㅎ:t:2" + }; + private const int hangeulStartIndex = 0xAC00; // unicode of '가' + private const int hangeulEndIndex = 0xD7A3; // unicode of '힣' + + // ====================================================================================== + + + // ↓ Plain vowels of Korean. + static readonly string[] plainVowels = new string[] { "eu", "eo", "a", "i", "u", "e", "o" }; + + // ↓ Vowels of romanized CVs. + static readonly string[] vowels = new string[] { + "eu=geu,neu,deu,reu,meu,beu,seu,eu,jeu,cheu,keu,teu,peu,heu,ggeu,ddeu,bbeu,sseu,jjeu", + "eo=geo,neo,deo,reo,meo,beo,seo,eo,jeo,cheo,keo,teo,peo,heo,ggeo,ddeo,bbeo,sseo,jjeo,gyeo,nyeo,dyeo,ryeo,myeo,byeo,syeo,yeo,jyeo,chyeo,kyeo,tyeo,pyeo,hyeo,ggyeo,ddyeo,bbyeo,ssyeo,jjyeo,gweo,nweo,dweo,rweo,mweo,bweo,sweo,weo,jweo,chweo,kweo,tweo,pweo,hweo,ggweo,ddweo,bbweo,ssweo,jjweo", + "a=ga,na,da,ra,ma,ba,sa,a,ja,cha,ka,ta,pa,ha,gga,dda,bba,ssa,jja,gya,nya,dya,rya,mya,bya,sya,ya,jya,chya,kya,tya,pya,hya,ggya,ddya,bbya,ssya,jjya,gwa,nwa,dwa,rwa,mwa,bwa,swa,wa,jwa,chwa,kwa,twa,pwa,hwa,ggwa,ddwa,bbwa,sswa,jjwa", + "e=ge,ne,de,re,me,be,se,e,je,che,ke,te,pe,he,gge,dde,bbe,sse,jje,gye,nye,dye,rye,mye,bye,sye,ye,jye,chye,kye,tye,pye,hye,ggye,ddye,bbye,ssye,jjye,gwe,nwe,dwe,rwe,mwe,bwe,swe,we,jwe,chwe,kwe,twe,pwe,hwe,ggwe,ddwe,bbwe,sswe,jjwe", + "i=gi,ni,di,ri,mi,bi,si,i,ji,chi,ki,ti,pi,hi,ggi,ddi,bbi,ssi,jji,gwi,nwi,dwi,rwi,mwi,bwi,swi,wi,jwi,chwi,kwi,twi,pwi,hwi,ggwi,ddwi,bbwi,sswi,jjwi", + "o=go,no,do,ro,mo,bo,so,o,jo,cho,ko,to,po,ho,ggo,ddo,bbo,sso,jjo,gyo,nyo,dyo,ryo,myo,byo,syo,yo,jyo,chyo,kyo,tyo,pyo,hyo,ggyo,ddyo,bbyo,ssyo,jjyo", + "u=gu,nu,du,ru,mu,bu,su,u,ju,chu,ku,tu,pu,hu,ggu,ddu,bbu,ssu,jju,gyu,nyu,dyu,ryu,myu,byu,syu,yu,jyu,chyu,kyu,tyu,pyu,hyu,ggyu,ddyu,bbyu,ssyu,jjyu", + "ng=ang,ing,ung,eng,ong,eung,eong", + "n=an,in,un,en,on,eun,eon", + "m=am,im,um,em,om,eum,eom", + "l=al,il,ul,el,ol,eul,eol", + "p=ap,ip,up,ep,op,eup,eop", + "t=at,it,ut,et,ot,eut,eot", + "k=ak,ik,uk,ek,ok,euk,eok" + }; + + // ↓ consonants of romanized CVs. + static readonly string[] consonants = new string[] { + "ggy=ggya,ggyu,ggye,ggyo,ggyeo", + "ggw=ggwa,ggwi,ggwe,ggweo", + "gg=gg,gga,ggi,ggu,gge,ggo,ggeu,ggeo", + "ddy=ddya,ddyu,ddye,ddyo,ddyeo", + "ddw=ddwa,ddwi,ddwe,ddweo", + "dd=dd,dda,ddi,ddu,dde,ddo,ddeu,ddeo", + "bby=bbya,bbyu,bbye,bbyo,bbyeo", + "bbw=bbwa,bbwi,bbwe,bbweo", + "bb=bb,bba,bbi,bbu,bbe,bbo,bbeu,bbeo", + "ssy=ssya,ssyu,ssye,ssyo,ssyeo", + "ssw=sswa,sswi,sswe,ssweo", + "ss=ss,ssa,ssi,ssu,sse,sso,sseu,sseo", + "gy=gya,gyu,gye,gyo,gyeo", + "gw=gwa,gwi,gwe,gweo", + "g=g,ga,gi,gu,ge,go,geu,geo", + "ny=nya,nyu,nye,nyo,nyeo", + "nw=nwa,nwi,nwe,nweo", + "n=n,na,ni,nu,ne,no,neu,neo", + "dy=dya,dyu,dye,dyo,dyeo", + "dw=dwa,dwi,dwe,dweo", + "d=d,da,di,du,de,do,deu,deo", + "ry=rya,ryu,rye,ryo,ryeo", + "rw=rwa,rwi,rwe,rweo", + "r=r,ra,ri,ru,re,ro,reu,reo", + "my=mya,myu,mye,myo,myeo", + "mw=mwa,mwi,mwe,mweo", + "m=m,ma,mi,mu,me,mo,meu,meo", + "by=bya,byu,bye,byo,byeo", + "bw=bwa,bwi,bwe,bweo", + "b=b,ba,bi,bu,be,bo,beu,beo", + "sy=sya,syu,sye,syo,syeo", + "sw=swa,swi,swe,sweo", + "s=s,sa,si,su,se,so,seu,seo", + "jy=jya,jyu,jye,jyo,jyeo", + "jw=jwa,jwi,jwe,jweo", + "j=j,ja,ji,ju,je,jo,jeu,jeo", + "chy=chya,chyu,chye,chyo,chyeo,chwa", + "chw=chwi,chwe,chweo", + "ch=ch,cha,chi,chu,che,cho,cheu,cheo", + "ky=kya,kyu,kye,kyo,kyeo", + "kw=kwa,kwi,kwe,kweo", + "k=k,ka,ki,ku,ke,ko,keu,keo", + "ty=tya,tyu,tye,tyo,tyeo", + "tw=twa,twi,twe,tweo", + "t=t,ta,ti,tu,te,to,teu,teo", + "py=pya,pyu,pye,pyo,pyeo", + "pw=pwa,pwi,pwe,pweo", + "p=p,pa,pi,pu,pe,po,peu,peo", + "hy=hya,hyu,hye,hyo,hyeo", + "hw=hwa,hwi,hwe,hweo", + "h=h,ha,hi,hu,he,ho,heu,heo" + }; + + static readonly Dictionary vowelLookup; + static readonly Dictionary consonantLookup; + + string getConsonant(string str) { + str = str.Replace('a', ' '); + str = str.Replace('i', ' '); + str = str.Replace('u', ' '); + str = str.Replace('e', ' '); + str = str.Replace('o', ' '); + str = str.Trim(); + + return str; + } + + bool isAlphaCon(string consStr) { + String str = consStr.Replace('w', ' '); + str = consStr.Replace('y', ' '); + str = str.Trim(); + + if (str == "gg") { return true; } + else if (str == "dd") { return true; } + else if (str == "bb") { return true; } + else if (str == "ss") { return true; } + else if (str == "g") { return true; } + else if (str == "n") { return true; } + else if (str == "d") { return true; } + else if (str == "r") { return true; } + else if (str == "m") { return true; } + else if (str == "b") { return true; } + else if (str == "s") { return true; } + else if (str == "j") { return true; } + else if (str == "ch") { return true; } + else if (str == "k") { return true; } + else if (str == "t") { return true; } + else if (str == "p") { return true; } + else if (str == "h") { return true; }else { return false; } + } + + static KoreanCBNNPhonemizer() { + vowelLookup = vowels.ToList() + .SelectMany(line => { + var parts = line.Split('='); + return parts[1].Split(',').Select(cv => (cv, parts[0])); + }) + .ToDictionary(t => t.Item1, t => t.Item2); + consonantLookup = consonants.ToList() + .SelectMany(line => { + var parts = line.Split('='); + return parts[1].Split(',').Select(cv => (cv, parts[0])); + }) + .ToDictionary(t => t.Item1, t => t.Item2); + } + + + // ====================================================================================== + + + private USinger singer; + public override void SetSinger(USinger singer) => this.singer = singer; + + // make it quicker to check multiple oto occurrences at once rather than spamming if else if + private bool checkOtoUntilHit(string[] input, Note note, out UOto oto){ + oto = default; + + var attr0 = note.phonemeAttributes?.FirstOrDefault(attr => attr.index == 0) ?? default; + var attr1 = note.phonemeAttributes?.FirstOrDefault(attr => attr.index == 1) ?? default; + + foreach (string test in input){ + if (singer.TryGetMappedOto(test, note.tone + attr0.toneShift, attr0.voiceColor, out oto)){ + return true; + } + } + + return false; + } + + public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevNeighbour, Note? nextNeighbour, Note[] prevNeighbours) { + var note = notes[0]; + var currentUnicode = ToUnicodeElements(note.lyric); // ← unicode of current lyric + string currentLyric = note.lyric; // ← string of current lyric + var attr0 = note.phonemeAttributes?.FirstOrDefault(attr => attr.index == 0) ?? default; + var attr1 = note.phonemeAttributes?.FirstOrDefault(attr => attr.index == 1) ?? default; + + //-----------------------------------------------------------------------// + ////// *** ↓↓↓ Seperates Lyrics in: // + ///// - first consonant letter(초성, "consonant" in below), // + ///// - middle vowel letter(중성, "vowel" in below), // + ///// - last consonant letter(종성, "final" in below) ↓↓↓ *** //. + + + //// ↓↓ 1 ** Variables for 'Current Notes' ** -- + // ↓ index of "consonant", "vowel", "final". + int CLconsonant = 0; + int CLvowel = 0; + int CLfinal = 0; + + // ↓ Use for Temp + string[] TCLtemp; + + // ↓ use these for applying phonological rules + string TCLconsonant = ""; + string TCLvowel = ""; + string TCLfinal = ""; + string TCLplainvowel = ""; //← Simplifies vowels + + int TCLsemivowel = 0; // semi vowel is 'y', 'w'. [0 means "there's no semi vowel], [1 means "there is 'y'"], [2 means "there is 'w'"]] + + // ↓ use these for generating phonemes in phonemizers + string TCLconsonantCBNN = ""; + string TCLvowelCBNN = ""; + + //// ↓↓ 2 ** Variables for 'Next Notes' ** -- + // ↓ index of "consonant", "vowel", "final". + int NLconsonant = 0; + int NLvowel = 0; + int NLfinal = 0; + + // ↓ Use for Temp + string[] TNLtemp; + + // ↓ use these for applying phonological rules + string TNLconsonant = ""; + string TNLvowel = ""; + string TNLfinal = ""; + string TNLplainvowel = ""; + + // ↓ use these for generating phonemes in phonemizers + string TNLconsonantCBNN = ""; + //string TNLvowelCBNN = ""; + + int TNLsemivowel = 0; // semi vowel is 'y', 'w'. [0 means "there's no semi vowel], [1 means "there is 'y'"], [2 means "there is 'w'"]] + + //// ↓↓ 3 ** Variables for 'Previous Notes' ** -- + // ↓ index of "consonant", "vowel", "final". + int PLconsonant = 0; + int PLvowel = 0; + int PLfinal = 0; + + // ↓ Use for Temp + string[] TPLtemp; + + // ↓ use these for applying phonological rules + string TPLconsonant = ""; + string TPLvowel = ""; + string TPLfinal = ""; + string TPLplainvowel = ""; + string TPLplainfinal = ""; + + // ↓ use these for generating phonemes in phonemizers + //string TPLconsonantCBNN = ""; + //string TPLvowelCBNN = ""; + + //int TPLsemivowel = 0; // semi vowel is 'y', 'w'. [0 means "there's no semi vowel], [1 means "there is 'y'"], [2 means "there is 'w'"]] + + + //// ↓↓ 4 ** Variables for checking notes ** -- + bool currentHangeul = false; + bool prevHangeul = false; + bool nextHangeul = false; + + bool prevExist = false; + bool nextExist = false; + + char firstCL, firstPL, firstNL; + int uCL, uPL, uNL; + bool prevIsBreath = false; + + + // check first lyric + firstCL = currentLyric[0]; + + uCL = (int)firstCL; + if ((uCL >= hangeulStartIndex) && (uCL <= hangeulEndIndex)) { + currentHangeul = true; + CLconsonant = (uCL - hangeulStartIndex) / (21 * 28); + CLvowel = (uCL - hangeulStartIndex) % (21 * 28) / 28; + CLfinal = (uCL - hangeulStartIndex) % 28; + + + TCLtemp = naVowels[CLvowel].Split(":"); + TCLvowel = TCLtemp[1]; + TCLplainvowel = naPlainVowels[CLvowel]; + + if (TCLvowel.StartsWith('y')) {TCLsemivowel = 1;} + else if (TCLvowel.StartsWith('w')) {TCLsemivowel = 2;} + + TCLtemp = naConsonants[CLconsonant].Split(":"); + TCLconsonant = TCLtemp[1]; + + TCLtemp = naFinals[CLfinal].Split(":"); + TCLfinal = TCLtemp[1]; + + + // TCLconsonant : 현노트 초성 TCLvowel : 현노트 중성 TCLfinal : 현노트 종성 + + } + + // 이전 노트 존재 여부 확인 + 이전 노트 첫번째 글자 확인 + if (prevNeighbour != null) { + firstPL = (prevNeighbour?.lyric)[0]; // 가사 받아오기 + prevExist = true; // 이전 노트 존재한다 반짝 + + uPL = (int)firstPL; // 가사를 int로 변환 + + if ((uPL >= hangeulStartIndex) && (uPL <= hangeulEndIndex)) { + prevHangeul = true; + + PLconsonant = (uPL - hangeulStartIndex) / (21 * 28); + PLvowel = (uPL - hangeulStartIndex) % (21 * 28) / 28; + PLfinal = (uPL - hangeulStartIndex) % 28; + + + TPLtemp = naConsonants[PLconsonant].Split(":"); + TPLconsonant = TPLtemp[1]; + + TPLtemp = naVowels[PLvowel].Split(":"); + TPLvowel = TPLtemp[1]; + TPLplainvowel = naPlainVowels[PLvowel]; + + //if (TPLvowel.StartsWith('y')) {TPLsemivowel = 1;} + //else if (TPLvowel.StartsWith('w')) {TPLsemivowel = 2;} + + TPLtemp = naFinals[PLfinal].Split(":"); + TPLfinal = TPLtemp[1]; + TPLplainfinal = TPLfinal; + } + } + + // 다음 노트 존재 여부 확인 + 다음 노트 첫번째 글자 확인 + if (nextNeighbour != null) { + firstNL = (nextNeighbour?.lyric)[0]; + nextExist = true; + uNL = (int)firstNL; + + if ((uNL >= hangeulStartIndex) && (uNL <= hangeulEndIndex)) { + nextHangeul = true; + + NLconsonant = (uNL - hangeulStartIndex) / (21 * 28); + NLvowel = (uNL - hangeulStartIndex) % (21 * 28) / 28; + NLfinal = (uNL - hangeulStartIndex) % 28; + + + TNLtemp = naConsonants[NLconsonant].Split(":"); + TNLconsonant = TNLtemp[1]; + + TNLtemp = naVowels[NLvowel].Split(":"); + TNLvowel = TNLtemp[1]; + TNLplainvowel = naPlainVowels[NLvowel]; + + if (TNLvowel.StartsWith('y')) {TNLsemivowel = 1;} + else if (TNLvowel.StartsWith('w')) {TNLsemivowel = 2;} + + + TNLtemp = naFinals[NLfinal].Split(":"); + TNLfinal = TNLtemp[1]; + } + } + + if (currentHangeul) { + // 음운규칙 적용 + if (currentHangeul) { + + // 1. 연음법칙 + string tempTCLconsonant = ""; + string tempTCLfinal = ""; + bool yeoneum = false; + bool yeoneum2 = false; + + if (prevExist && prevHangeul && (CLconsonant == 11) && (TPLfinal != "")) { + int temp = PLfinal; + if (temp == 1) { TCLtemp = naConsonants[0].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 2) { TCLtemp = naConsonants[1].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 3) { TCLtemp = naConsonants[10].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 4) { TCLtemp = naConsonants[2].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 5) { TCLtemp = naConsonants[12].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 6) { TCLtemp = naConsonants[18].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 7) { TCLtemp = naConsonants[3].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 8) { TCLtemp = naConsonants[5].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 9) { TCLtemp = naConsonants[0].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 10) { TCLtemp = naConsonants[6].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 11) { TCLtemp = naConsonants[7].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 12) { TCLtemp = naConsonants[9].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 13) { TCLtemp = naConsonants[16].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 14) { TCLtemp = naConsonants[17].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 15) { TCLtemp = naConsonants[18].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 16) { TCLtemp = naConsonants[6].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 17) { TCLtemp = naConsonants[7].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 18) { TCLtemp = naConsonants[9].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 19) { TCLtemp = naConsonants[9].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 20) { TCLtemp = naConsonants[10].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 21) { tempTCLconsonant = ""; yeoneum = true; } + else if (temp == 22) { TCLtemp = naConsonants[12].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 23) { TCLtemp = naConsonants[14].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 24) { TCLtemp = naConsonants[15].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 25) { TCLtemp = naConsonants[16].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 26) { TCLtemp = naConsonants[17].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + else if (temp == 27) { TCLtemp = naConsonants[18].Split(":"); tempTCLconsonant = TCLtemp[1]; yeoneum = true; } + } + + if (nextExist && nextHangeul && (TCLfinal != "") && (TNLconsonant == "")) { + int temp = CLfinal; + + if (temp == 1) { TCLtemp = naConsonants[0].Split(":"); tempTCLfinal = TCLtemp[1]; TCLfinal = ""; yeoneum2 = true; } + else if (temp == 2) { TCLtemp = naConsonants[1].Split(":"); tempTCLfinal = TCLtemp[1]; TCLfinal = ""; yeoneum2 = true; } + else if (temp == 3) { TCLfinal = "k"; yeoneum2 = true; } + else if (temp == 4) { TCLtemp = naConsonants[2].Split(":"); tempTCLfinal = TCLtemp[1]; TCLfinal = ""; yeoneum2 = true; } + else if (temp == 5) { TCLfinal = "n"; yeoneum2 = true; } + else if (temp == 6) { TCLfinal = "n"; yeoneum2 = true; } + else if (temp == 7) { TCLtemp = naConsonants[3].Split(":"); tempTCLfinal = TCLtemp[1]; TCLfinal = ""; yeoneum2 = true; } + else if (temp == 8) { TCLtemp = naConsonants[5].Split(":"); tempTCLfinal = TCLtemp[1]; TCLfinal = ""; yeoneum2 = true; } + else if (temp == 9) { TCLfinal = "l"; yeoneum2 = true; } + else if (temp == 10) { TCLfinal = "l"; yeoneum2 = true; } + else if (temp == 11) { TCLfinal = "l"; yeoneum2 = true; } + else if (temp == 12) { TCLfinal = "l"; yeoneum2 = true; } + else if (temp == 13) { TCLfinal = "l"; yeoneum2 = true; } + else if (temp == 14) { TCLfinal = "l"; yeoneum2 = true; } + else if (temp == 15) { TCLfinal = "l"; yeoneum2 = true; } + else if (temp == 16) { TCLtemp = naConsonants[6].Split(":"); tempTCLfinal = TCLtemp[1]; TCLfinal = ""; yeoneum2 = true; } + else if (temp == 17) { TCLtemp = naConsonants[7].Split(":"); tempTCLfinal = TCLtemp[1]; TCLfinal = ""; yeoneum2 = true; } + else if (temp == 18) { TCLfinal = "p"; yeoneum2 = true; } + else if (temp == 19) { TCLtemp = naConsonants[9].Split(":"); tempTCLfinal = TCLtemp[1]; TCLfinal = ""; yeoneum2 = true; } + else if (temp == 20) { TCLtemp = naConsonants[10].Split(":"); tempTCLfinal = TCLtemp[1]; TCLfinal = ""; yeoneum2 = true; } + //else if (temp == 21) { TCLtemp = naConsonants[11].Split(":"); tempTCLfinal = TCLtemp[1]; TCLfinal = ""; yeoneum2 = true; } + else if (temp == 22) { TCLtemp = naConsonants[12].Split(":"); tempTCLfinal = TCLtemp[1]; TCLfinal = ""; yeoneum2 = true; } else if (temp == 23) { TCLtemp = naConsonants[14].Split(":"); tempTCLfinal = TCLtemp[1]; TCLfinal = ""; yeoneum2 = true; } else if (temp == 24) { TCLtemp = naConsonants[15].Split(":"); tempTCLfinal = TCLtemp[1]; TCLfinal = ""; yeoneum2 = true; } else if (temp == 25) { TCLtemp = naConsonants[16].Split(":"); tempTCLfinal = TCLtemp[1]; TCLfinal = ""; yeoneum2 = true; } else if (temp == 26) { TCLtemp = naConsonants[17].Split(":"); tempTCLfinal = TCLtemp[1]; TCLfinal = ""; yeoneum2 = true; } else if (temp == 27) { TCLtemp = naConsonants[18].Split(":"); tempTCLfinal = TCLtemp[1]; TCLfinal = ""; yeoneum2 = true; } + + } + if (yeoneum) { TCLconsonant = tempTCLconsonant; } + if (yeoneum2) { TNLconsonant = tempTCLfinal; } + + + // 2. 격음화/유기음화/거센소리되기 + if (prevExist && prevHangeul && (TPLfinal != "")) { + if (((PLfinal == 27) && (CLconsonant == 0)) || ((PLfinal == 6) && (CLconsonant == 0)) || ((PLfinal == 15) && (CLconsonant == 0))) { TCLconsonant = "k"; } else if (((PLfinal == 27) && (CLconsonant == 3)) || ((PLfinal == 6) && (CLconsonant == 3)) || ((PLfinal == 15) && (CLconsonant == 3))) { TCLconsonant = "t"; } else if (((PLfinal == 27) && (CLconsonant == 12)) || ((PLfinal == 6) && (CLconsonant == 12)) || ((PLfinal == 15) && (CLconsonant == 12))) { TCLconsonant = "ch"; } else if (((PLfinal == 27) && (CLconsonant == 9)) || ((PLfinal == 6) && (CLconsonant == 9)) || ((PLfinal == 15) && (CLconsonant == 9))) { TCLconsonant = "ss"; } + + if ((PLfinal == 1) && (CLconsonant == 18)) { TCLconsonant = "k"; } else if ((PLfinal == 7) && (CLconsonant == 18)) { TCLconsonant = "t"; } else if ((PLfinal == 17) && (CLconsonant == 18)) { TCLconsonant = "p"; } else if ((PLfinal == 22) && (CLconsonant == 18)) { TCLconsonant = "ch"; } + } + if (nextExist && nextHangeul && (TCLfinal != "")) { + if ((NLconsonant == 0) && (CLfinal == 27)) { TCLfinal = ""; TNLconsonant = "k"; } else if ((NLconsonant == 0) && (CLfinal == 6)) { TCLfinal = "n"; TNLconsonant = "k"; } else if ((NLconsonant == 0) && (CLfinal == 15)) { TCLfinal = "l"; TNLconsonant = "k"; } else if ((NLconsonant == 3) && (CLfinal == 27)) { TCLfinal = ""; TNLconsonant = "t"; } else if ((NLconsonant == 3) && (CLfinal == 6)) { TCLfinal = "n"; TNLconsonant = "t"; } else if ((NLconsonant == 3) && (CLfinal == 15)) { TCLfinal = "l"; TNLconsonant = "t"; } else if ((NLconsonant == 12) && (CLfinal == 27)) { TCLfinal = ""; TNLconsonant = "ch"; } else if ((NLconsonant == 12) && (CLfinal == 6)) { TCLfinal = "n"; TNLconsonant = "ch"; } else if ((NLconsonant == 12) && (CLfinal == 15)) { TCLfinal = "l"; TNLconsonant = "ch"; } else if ((NLconsonant == 9) && (CLfinal == 27)) { TCLfinal = ""; TNLconsonant = "ss"; } else if ((NLconsonant == 9) && (CLfinal == 6)) { TCLfinal = "n"; TNLconsonant = "ss"; } else if ((NLconsonant == 9) && (CLfinal == 15)) { TCLfinal = "l"; TNLconsonant = "ss"; } + + if ((NLconsonant == 2) && (CLfinal == 27)) { TCLfinal = "n"; } + + if ((NLconsonant == 18) && (CLfinal == 1)) { TCLfinal = ""; TNLconsonant = "k"; } else if ((NLconsonant == 18) && (CLfinal == 7)) { TCLfinal = ""; TNLconsonant = "t"; } else if ((NLconsonant == 18) && (CLfinal == 17)) { TCLfinal = ""; TNLconsonant = "p"; } else if ((NLconsonant == 18) && (CLfinal == 22)) { TCLfinal = ""; TNLconsonant = "ch"; } + } + + + // 3. 음절의 끝소리 규칙 예외 + if (nextExist && nextHangeul) { + /* + // ㄼ + 자음이 있을 때 => ㄼ : p + if ((CLfinal == 11) && (TCLconsonant != "")) { TCLfinal = "p"; } + */ + // ㄺ + ㄱ => ㄺ : ㄹ + if ((CLfinal == 9) && (NLconsonant == 0)) { TCLfinal = "l"; } + } + + + // 4. 경음화/된소리되기 + if (prevExist && prevHangeul && TPLfinal != "") { + // ㄱㄷㅂ + ㄱㄷㅂㅅㅈ = ㄲㄸㅃㅆㅉ + if (((TPLfinal == "k") && (CLconsonant == 0)) || ((TPLfinal == "t") && (CLconsonant == 0)) || ((TPLfinal == "p") && (CLconsonant == 0))) { TCLconsonant = "gg"; } else if (((TPLfinal == "k") && (CLconsonant == 3)) || ((TPLfinal == "t") && (CLconsonant == 3)) || ((TPLfinal == "p") && (CLconsonant == 3))) { TCLconsonant = "dd"; } else if (((TPLfinal == "k") && (CLconsonant == 7)) || ((TPLfinal == "t") && (CLconsonant == 7)) || ((TPLfinal == "p") && (CLconsonant == 7))) { TCLconsonant = "bb"; } else if (((TPLfinal == "k") && (CLconsonant == 9)) || ((TPLfinal == "t") && (CLconsonant == 9)) || ((TPLfinal == "p") && (CLconsonant == 9))) { TCLconsonant = "ss"; } else if (((TPLfinal == "k") && (CLconsonant == 12)) || ((TPLfinal == "t") && (CLconsonant == 12)) || ((TPLfinal == "p") && (CLconsonant == 12))) { TCLconsonant = "jj"; } + + + // 용언 어간 받침 ㄴㅁ + ㄱㄷㅅㅈ = ㄲㄸㅆㅉ + if(((TPLfinal=="n")&&(CLconsonant==0))|| ((TPLfinal == "m") && (CLconsonant == 0))) { TCLconsonant = "gg"; } + else if (((TPLfinal == "n") && (CLconsonant == 3)) || ((TPLfinal == "m") && (CLconsonant == 3))) { TCLconsonant = "dd"; } + else if (((TPLfinal == "n") && (CLconsonant == 9)) || ((TPLfinal == "m") && (CLconsonant == 9))) { TCLconsonant = "ss"; } + else if (((TPLfinal == "n") && (CLconsonant == 12)) || ((TPLfinal == "m") && (CLconsonant == 12))) { TCLconsonant = "jj"; } + + // 관형사형 어미ㄹ / 한자어 ㄹ + ㄷㅅㅈ = ㄸㅆㅉ + if ((PLfinal == 8) && (CLconsonant == 3)) { TCLconsonant = "dd"; } else if ((PLfinal == 8) && (CLconsonant == 9)) { TCLconsonant = "ss"; } else if ((PLfinal == 8) && (CLconsonant == 12)) { TCLconsonant = "jj"; } + + // 어간 받침 ㄼㄾ + ㄱㄷㅅㅈ = ㄲㄸㅆㅉ + if (((PLfinal == 11) && (CLconsonant == 0)) || ((PLfinal == 13) && (CLconsonant == 0))) { TCLconsonant = "gg"; } else if (((PLfinal == 11) && (CLconsonant == 3)) || ((PLfinal == 13) && (CLconsonant == 3))) { TCLconsonant = "dd"; } else if (((PLfinal == 11) && (CLconsonant == 9)) || ((PLfinal == 13) && (CLconsonant == 9))) { TCLconsonant = "ss"; } else if (((PLfinal == 11) && (CLconsonant == 12)) || ((PLfinal == 13) && (CLconsonant == 12))) { TCLconsonant = "jj"; } + } + + + // 5. 구개음화 + if (prevExist && prevHangeul && (TPLfinal != "")) { + if ((PLfinal == 7) && (CLconsonant == 11) && (CLvowel == 20)) { TCLconsonant = "j"; } else if ((PLfinal == 25) && (CLconsonant == 11) && (CLvowel == 20)) { TCLconsonant = "ch"; } else if ((PLfinal == 13) && (CLconsonant == 11) && (CLvowel == 20)) { TCLconsonant = "ch"; } else if ((PLfinal == 7) && (CLconsonant == 18) && (CLvowel == 20)) { TCLconsonant = "ch"; } + } + if (nextExist && nextHangeul && (TCLfinal != "")) { + if ((CLfinal == 7) && (NLconsonant == 11) && (NLvowel == 20)) { TCLfinal = ""; } else if ((CLfinal == 25) && (NLconsonant == 11) && (NLvowel == 20)) { TCLfinal = ""; } else if ((CLfinal == 13) && (NLconsonant == 11) && (NLvowel == 20)) { TCLfinal = ""; } else if ((CLfinal == 7) && (NLconsonant == 18) && (NLvowel == 20)) { TCLfinal = ""; } + + } + + + // 6. 비음화 + /** + if (prevExist && prevHangeul && (TPLfinal != "")) { + // 한자어 받침 ㅁㅇ + ㄹ = ㄴ + if (((TPLfinal == "m") && (CLconsonant == 5)) || ((TPLfinal == "ng") && (CLconsonant == 5))) { TCLconsonant = "n"; } + + // 한자어 받침 ㄱㄷㅂ + ㄹ = ㅇㄴㅁ + ㄴ(1) + if (((TPLfinal == "k") && (CLconsonant == 5)) || ((TPLfinal == "t") && (CLconsonant == 5)) || ((TPLfinal == "p") && (CLconsonant == 5))) { TCLconsonant = "n"; } + } + **/ + if (nextExist && nextHangeul && (TCLfinal != "")) { + //받침 ㄱㄷㅂ + ㄴㅁ = ㅇㄴㅁ + if (((TCLfinal == "k") && (TNLconsonant == "n")) || ((TCLfinal == "k") && (TNLconsonant == "m"))) { TCLfinal = "ng"; } else if (((TCLfinal == "t") && (TNLconsonant == "n")) || ((TCLfinal == "t") && (TNLconsonant == "m"))) { TCLfinal = "n"; } else if (((TCLfinal == "p") && (TNLconsonant == "n")) || ((TCLfinal == "p") && (TNLconsonant == "m"))) { TCLfinal = "m"; } + + // 한자어 받침 ㄱㄷㅂ + ㄹ = ㅇㄴㅁ + ㄴ(2) + if ((TCLfinal == "k") && (NLconsonant == 5)) { TCLfinal = "ng"; } else if ((TCLfinal == "t") && (NLconsonant == 5)) { TCLfinal = "n"; } else if ((TCLfinal == "p") && (NLconsonant == 5)) { TCLfinal = "m"; } + } + + + // 7. 유음화 + /** + if (prevExist && prevHangeul && (TPLfinal != "")) { + if (((PLfinal == 8) && (TCLconsonant == "n")) || ((PLfinal == 13) && (TCLconsonant == "n")) || ((PLfinal == 15) && (TCLconsonant == "n"))) { TCLconsonant = "r"; } + } + if (nextExist && nextHangeul && (TCLfinal != "")) { + if ((TCLfinal == "n") && (TNLconsonant == "r")) { TCLfinal = "l"; } + } + **/ + + + + // 8. 받침 + ㄹ = ㄹㄹ + + + + // consonant에 변경 사항이 있을 때 + //if (prevExist && prevHangeul) { + + + // 비음화 + // (1) ㄱ(ㄲㅋㄳㄺ) + // ㄷ(ㅅ,ㅆ,ㅈ,ㅊ,ㅌ,ㅎ) + // ㅂ(ㅍ,ㄼ,ㄿ,ㅄ) + + + //} + // final에 변경 사항이 있을 때 + + + } + + bool isLastBatchim = false; + + // vowels do not have suffixed phonemes in CBNN, so use suffixed '- h'~ phonemes instead. + if (!prevExist && TCLconsonant == "" && TCLfinal != "" && TCLvowel != "") { + TCLconsonant = "h"; + } + + // to make FC's length to 1 if FC comes final (=no next note) + if (!nextHangeul && TCLfinal != "" &&TCLvowel != "") { + isLastBatchim = true; + } + + // To use semivowels in VC (ex: [- ga][a gy][gya], ** so not [- ga][a g][gya] **) + if (TCLsemivowel == 1 && TPLplainvowel != "i" && TPLplainvowel != "eu") {TCLconsonantCBNN = TCLconsonant + 'y';} + else if (TCLsemivowel == 2 && TPLplainvowel != "u" && TPLplainvowel != "o" && TPLplainvowel != "eu") {TCLconsonantCBNN = TCLconsonant + 'w';} + else {TCLconsonantCBNN = TCLconsonant;} + + if (TNLsemivowel == 1 && TCLplainvowel != "i" && TCLplainvowel != "eu") {TNLconsonantCBNN = TNLconsonant + 'y';} + else if (TNLsemivowel == 2 && TCLplainvowel != "u" && TCLplainvowel != "o" && TCLplainvowel != "eu") {TNLconsonantCBNN = TNLconsonant + 'w';} + else {TNLconsonantCBNN = TNLconsonant;} + + + + //To set suffix of CV, according to next-coming batchim. + if (TCLfinal == "") { + TCLvowelCBNN = TCLvowel;} + else if (TCLfinal == "m" && TCLconsonantCBNN != "" || TCLfinal == "m" && TCLconsonantCBNN == "" && TCLsemivowel != 0) { + TCLvowelCBNN = TCLvowel + '1';} + else if (TCLfinal == "n" && TCLconsonantCBNN != "" || TCLfinal == "n" && TCLconsonantCBNN == "" && TCLsemivowel != 0) { + TCLvowelCBNN = TCLvowel + '2';} + else if (TCLfinal == "ng" && TCLconsonantCBNN != "" || TCLfinal == "ng" && TCLconsonantCBNN == "" && TCLsemivowel != 0) { + TCLvowelCBNN = TCLvowel + '3';} + else if (TCLfinal == "l" && TCLconsonantCBNN != "" || TCLfinal == "l" && TCLconsonantCBNN == "" && TCLsemivowel != 0) { + TCLvowelCBNN = TCLvowel + '4';} + else if (TCLfinal == "k" && TCLconsonantCBNN != "" || TCLfinal == "k" && TCLconsonantCBNN == "" && TCLsemivowel != 0) { + TCLvowelCBNN = TCLvowel;} + else if (TCLfinal == "t" && TCLconsonantCBNN != "" || TCLfinal == "t" && TCLconsonantCBNN == "" && TCLsemivowel != 0) { + TCLvowelCBNN = TCLvowel + '3';} + else if (TCLfinal == "p" && TCLconsonantCBNN != "" || TCLfinal == "p" && TCLconsonantCBNN == "" && TCLsemivowel != 0) { + TCLvowelCBNN = TCLvowel + '1';} + else {TCLvowelCBNN = TCLvowel;} + + + string CV = (TCLconsonant + TCLvowelCBNN); + string VC = ""; + bool comesSemivowelWithoutVC = false; + + + if (TCLsemivowel != 0 && TCLconsonant == ""){ + comesSemivowelWithoutVC = true; + } + if (nextExist && (TCLfinal == "")) { VC = TCLplainvowel + " " + TNLconsonantCBNN; } + + //for Vowel VCV + if (prevExist && TPLfinal == "" && TCLconsonantCBNN == "" && !comesSemivowelWithoutVC) {CV = TPLplainvowel + " " + TCLvowel;} + + + string FC = ""; + if (TCLfinal != "") { FC = TCLplainvowel + TCLfinal; } + + + // for [- XX] phonemes + if (!prevExist || prevIsBreath || TPLfinal != "" && TCLconsonant != "r" && TCLconsonant != "n" && TCLconsonant != "" ) { CV = $"- {CV}"; } + + + // 만약 받침이 있다면 + if (FC != "") { + int totalDuration = notes.Sum(n => n.duration); + int fcLength = totalDuration / 3; + + if (isLastBatchim) { + fcLength = 1; + } + else if ((TCLfinal == "k") || (TCLfinal == "p") || (TCLfinal == "t")) { + fcLength = totalDuration / 2;} + else if ((TCLfinal == "l") || (TCLfinal == "ng") || (TCLfinal == "m")) { + fcLength = totalDuration / 5;} + else if ((TCLfinal == "n")) { + fcLength = totalDuration / 3; + } + + if (singer.TryGetMappedOto(CV, note.tone + attr0.toneShift, attr0.voiceColor, out var oto1) && singer.TryGetMappedOto(FC, note.tone + attr0.toneShift, attr0.voiceColor, out var oto2)) { + CV = oto1.Alias; + FC = oto2.Alias; + return new Result { + phonemes = new Phoneme[] { + new Phoneme() { + phoneme = CV, + }, + new Phoneme() { + phoneme = FC, + position = totalDuration - fcLength, + } + }, + }; + } + + + + } + + + // 만약 받침이 없다면 + if (TCLfinal == "") { + // 뒤에 노트가 있다면 + if ((TNLconsonantCBNN != "")) { + int totalDuration = notes.Sum(n => n.duration); + int vcLength = 60; + if ((TNLconsonant == "r") || (TNLconsonant == "g") || (TNLconsonant == "d") || (TNLconsonant == "n")) { vcLength = 33; } + else if (TNLconsonant == "h") { + vcLength = 15; + } + else if ((TNLconsonant == "ch") || (TNLconsonant == "gg")) { vcLength = totalDuration / 2; } + else if ((TNLconsonant == "k") || (TNLconsonant == "t") || (TNLconsonant == "p") || (TNLconsonant == "dd") || (TNLconsonant == "bb") || (TNLconsonant == "ss") || (TNLconsonant == "jj")) { vcLength = totalDuration / 3; } + vcLength = Math.Min(totalDuration / 2, vcLength); + + if (singer.TryGetMappedOto(CV, note.tone + attr0.toneShift, attr0.voiceColor, out var oto1) && singer.TryGetMappedOto(VC, note.tone + attr0.toneShift, attr0.voiceColor, out var oto2)) { + CV = oto1.Alias; + VC = oto2.Alias; + return new Result { + phonemes = new Phoneme[] { + new Phoneme() { + phoneme = CV, + }, + new Phoneme() { + phoneme = VC, + position = totalDuration - vcLength, + } + }, + }; + } + + } + } + + + // 그 외(받침 없는 마지막 노트) + if (singer.TryGetMappedOto(CV, note.tone + attr0.toneShift, attr0.voiceColor, out var oto)){ + CV = oto.Alias; + return new Result { + phonemes = new Phoneme[] { + new Phoneme() { + phoneme = CV, + } + }, + }; + } + } + + if (prevHangeul) { + string endBreath = "-"; + + if (prevExist && TPLfinal == "" && endBreath.Contains(currentLyric)) { + endBreath = $"{TPLplainvowel} -"; + prevIsBreath = true; // to prevent this→→ case→→, for example... "[사, -, 사 (=notes)]" should be "[- sa, a -, - sa(=phonemes)]", but it becomes [sa, a -, 사(=phonemes)] in phonemizer, so '사' note becomes *no sound. + } + else if (prevExist && TPLfinal != "" && endBreath.Contains(currentLyric)) { + endBreath = $"{TPLplainfinal} -"; + prevIsBreath = true; // to prevent this→→ case→→, for example... "[사, -, 사 (=notes)]" should be "[- sa, a -, - sa(=phonemes)]", but it becomes [sa, a -, 사(=phonemes)] in phonemizer, so '사' note becomes *no sound. + } + + if (singer.TryGetMappedOto(endBreath, note.tone + attr0.toneShift, attr0.voiceColor, out var oto)){ + endBreath = oto.Alias; + return new Result { + phonemes = new Phoneme[] { + new Phoneme() { + phoneme = endBreath, + } + }, + }; + } + } + + + + + // ====================================================================================== +/** + if (prevNeighbour == null) { + // Use "- V" or "- CV" if present in voicebank + var initial = $"- {currentLyric}"; + string[] tests = new string[] {initial, currentLyric}; + // try [- XX] before trying plain lyric + if (checkOtoUntilHit(tests, note, out var oto)){ + currentLyric = oto.Alias; + } + } else if ("-".Contains(currentLyric)) { + var prevUnicode = ToUnicodeElements(prevNeighbour?.lyric); + prevIsBreath = true; + // end breath note + if (vowelLookup.TryGetValue(prevUnicode.LastOrDefault() ?? string.Empty, out var vow)) { + var vowel = ""; + var prevLyric = string.Join("", prevUnicode);; + vowel = vow; + + var endBreath = $"{vow} -"; + if (prevLyric.EndsWith("eo")) { + endBreath = $"eo -"; + } else if (prevLyric.EndsWith("eu")) { + endBreath = $"eu -"; + } + + // try end breath + string[] tests = new string[] {endBreath, currentLyric}; + if (checkOtoUntilHit(tests, note, out var oto)){ + currentLyric = oto.Alias; + } + } + } else { + string[] tests = new string[] {currentLyric}; + if (checkOtoUntilHit(tests, note, out var oto)){ + currentLyric = oto.Alias; + } + } +**/ + if (nextNeighbour != null) { // 다음에 노트가 있으면 + var nextUnicode = ToUnicodeElements(nextNeighbour?.lyric); + var nextLyric = string.Join("", nextUnicode); + + // Check if next note is a vowel and does not require VC + if (plainVowels.Contains(nextUnicode.FirstOrDefault() ?? string.Empty)) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme() { + phoneme = currentLyric, + } + }, + }; + } + + // Insert VC before next neighbor + // Get vowel from current note + var vowel = ""; + + if (vowelLookup.TryGetValue(currentUnicode.LastOrDefault() ?? string.Empty, out var vow)) { + vowel = vow; + + if (currentLyric.Contains("e")) { + vowel = "e" + vowel; + vowel = vowel.Replace("ee", "e"); + } + } + + // Get consonant from next note + var consonant = ""; + if (consonantLookup.TryGetValue(nextUnicode.FirstOrDefault() ?? string.Empty, out var con)) { + consonant = getConsonant(nextNeighbour?.lyric); //로마자만 가능 + if (!(isAlphaCon(consonant))) { consonant = con; } + } + + if (consonant == "") { + return new Result { + phonemes = new Phoneme[] { + new Phoneme() { + phoneme = currentLyric, + } + }, + }; + } + + var vcPhoneme = $"{vowel} {consonant}"; + var vcPhonemes = new string[] {vcPhoneme, ""}; + if (checkOtoUntilHit(vcPhonemes, note, out var oto1)) { + vcPhoneme = oto1.Alias; + } else { + return new Result { + phonemes = new Phoneme[] { + new Phoneme() { + phoneme = currentLyric, + } + }, + }; + } + + int totalDuration = notes.Sum(n => n.duration); + int vcLength = 60; + var nextAttr = nextNeighbour.Value.phonemeAttributes?.FirstOrDefault(attr => attr.index == 0) ?? default; + if (singer.TryGetMappedOto(nextLyric, nextNeighbour.Value.tone + nextAttr.toneShift, nextAttr.voiceColor, out var oto)) { + vcLength = MsToTick(oto.Preutter); + } + vcLength = Math.Min(totalDuration / 2, vcLength); + + + + return new Result { + phonemes = new Phoneme[] { + new Phoneme() { + phoneme = currentLyric, + }, + new Phoneme() { + phoneme = vcPhoneme, + position = totalDuration - vcLength, + } + }, + }; + } + + // No next neighbor + return new Result { + phonemes = new Phoneme[] { + new Phoneme { + phoneme = currentLyric, + } + }, + }; + } + } +} diff --git a/OpenUtau.Plugin.Builtin/KoreanCVCCVPhonemizer.cs b/OpenUtau.Plugin.Builtin/KoreanCVCCVPhonemizer.cs index becbafe43..30985485d 100644 --- a/OpenUtau.Plugin.Builtin/KoreanCVCCVPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/KoreanCVCCVPhonemizer.cs @@ -5,7 +5,7 @@ using OpenUtau.Core.Ustx; namespace OpenUtau.Plugin.Builtin { - [Phonemizer("Korean CVCCV Phonemizer", "KO CVCCV", "RYUUSEI")] + [Phonemizer("Korean CVCCV Phonemizer", "KO CVCCV", "RYUUSEI", language:"KO")] public class KoreanCVCCVPhonemizer : Phonemizer { static readonly string initialConsonantsTable = "ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ"; static readonly string vowelsTable = "ㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣ"; @@ -199,6 +199,9 @@ static KoreanCVCCVPhonemizer() { private USinger singer; public override void SetSinger(USinger singer) => this.singer = singer; + // Legacy mapping. Might adjust later to new mapping style. + public override bool LegacyMapping => true; + public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevNeighbour, Note? nextNeighbour, Note[] prevs) { var prevLyric = prevNeighbour?.lyric; var nextLyric = nextNeighbour?.lyric; diff --git a/OpenUtau.Plugin.Builtin/KoreanCVCPhonemizer.cs b/OpenUtau.Plugin.Builtin/KoreanCVCPhonemizer.cs index bc3f5fa62..807420a79 100644 --- a/OpenUtau.Plugin.Builtin/KoreanCVCPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/KoreanCVCPhonemizer.cs @@ -1,12 +1,15 @@ using System; using System.Collections.Generic; +using System.Drawing; using System.Linq; using OpenUtau.Api; +using OpenUtau.Classic; using OpenUtau.Core.Ustx; using Serilog; +using static OpenUtau.Api.Phonemizer; namespace OpenUtau.Plugin.Builtin { - [Phonemizer("KoreanCVCPhonemizer", "KO CVC", "NANA")] + [Phonemizer("KoreanCVCPhonemizer", "KO CVC", "NANA", language:"KO")] public class KoreanCVCPhonemizer : Phonemizer { @@ -73,7 +76,6 @@ public class KoreanCVCPhonemizer : Phonemizer { "h=h,ha,hi,hu,he,ho,heu,heo,hya,hyu,hye,hyo,hyeo,hwa,hwi,hwe,hweo" }; - static readonly Dictionary vowelLookup; static readonly Dictionary consonantLookup; @@ -136,10 +138,29 @@ static KoreanCVCPhonemizer() { private USinger singer; public override void SetSinger(USinger singer) => this.singer = singer; + + // make it quicker to check multiple oto occurrences at once rather than spamming if else if + private bool checkOtoUntilHit(string[] input, Note note, out UOto oto){ + oto = default; + + var attr0 = note.phonemeAttributes?.FirstOrDefault(attr => attr.index == 0) ?? default; + var attr1 = note.phonemeAttributes?.FirstOrDefault(attr => attr.index == 1) ?? default; + + foreach (string test in input){ + if (singer.TryGetMappedOto(test, note.tone + attr0.toneShift, attr0.voiceColor, out oto)){ + return true; + } + } + + return false; + } + public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevNeighbour, Note? nextNeighbour, Note[] prevNeighbours) { var note = notes[0]; var currentUnicode = ToUnicodeElements(note.lyric); // 현재 가사의 유니코드 string currentLyric = note.lyric; // 현재 가사 + var attr0 = note.phonemeAttributes?.FirstOrDefault(attr => attr.index == 0) ?? default; + var attr1 = note.phonemeAttributes?.FirstOrDefault(attr => attr.index == 1) ?? default; // 가사의 초성, 중성, 종성 분리 // P(re)Lconsonant, PLvowel, PLfinal / C(urrent)Lconsonant, CLvowel, CLfinal / N(ext)Lconsonant, NLvowel, NLfinal @@ -440,10 +461,9 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN } - - - string CV = TCLconsonant + TCLvowel; + string CV = (TCLconsonant + TCLvowel); string VC = ""; + if (nextExist && (TCLfinal == "")) { VC = TCLplainvowel + " " + TNLconsonant; } string FC = ""; @@ -452,7 +472,6 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN if (lCL == 1) { CV = CV.Replace("r", "l"); } - // 만약 앞에 노트가 없다면 if (!prevExist) { CV = $"- {CV}"; } @@ -462,17 +481,21 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN int fcLength = totalDuration / 3; if ((TCLfinal == "k") || (TCLfinal == "p") || (TCLfinal == "t")) { fcLength = totalDuration / 2; } - return new Result { - phonemes = new Phoneme[] { - new Phoneme() { - phoneme = CV, + if (singer.TryGetMappedOto(CV, note.tone + attr0.toneShift, attr0.voiceColor, out var oto1) && singer.TryGetMappedOto(FC, note.tone + attr0.toneShift, attr0.voiceColor, out var oto2)) { + CV = oto1.Alias; + FC = oto2.Alias; + return new Result { + phonemes = new Phoneme[] { + new Phoneme() { + phoneme = CV, + }, + new Phoneme() { + phoneme = FC, + position = totalDuration - fcLength, + } }, - new Phoneme() { - phoneme = FC, - position = totalDuration - fcLength, - } - }, - }; + }; + } } @@ -489,33 +512,57 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN else if ((TNLconsonant == "gg") || (TNLconsonant == "dd") || (TNLconsonant == "bb") || (TNLconsonant == "ss") || (TNLconsonant == "jj")) { vcLength = totalDuration / 2; } vcLength = Math.Min(totalDuration / 2, vcLength); - return new Result { - phonemes = new Phoneme[] { - new Phoneme() { - phoneme = CV, + if (singer.TryGetMappedOto(CV, note.tone + attr0.toneShift, attr0.voiceColor, out var oto1) && singer.TryGetMappedOto(VC, note.tone + attr0.toneShift, attr0.voiceColor, out var oto2)) { + CV = oto1.Alias; + VC = oto2.Alias; + return new Result { + phonemes = new Phoneme[] { + new Phoneme() { + phoneme = CV, + }, + new Phoneme() { + phoneme = VC, + position = totalDuration - vcLength, + } }, - new Phoneme() { - phoneme = VC, - position = totalDuration - vcLength, - } - }, - }; + }; + } + } } // 그 외(받침 없는 마지막 노트) - - return new Result { - phonemes = new Phoneme[] { - new Phoneme() { - phoneme = CV, - } - }, - }; + if (singer.TryGetMappedOto(CV, note.tone + attr0.toneShift, attr0.voiceColor, out var oto)){ + CV = oto.Alias; + return new Result { + phonemes = new Phoneme[] { + new Phoneme() { + phoneme = CV, + } + }, + }; + } } + if (prevHangeul) { + string endBreath = "R"; + if (prevExist && TPLfinal == "" && endBreath.Contains(currentLyric)) { + endBreath = $"{TPLplainvowel} R"; + } + + if (singer.TryGetMappedOto(endBreath, note.tone + attr0.toneShift, attr0.voiceColor, out var oto)){ + endBreath = oto.Alias; + return new Result { + phonemes = new Phoneme[] { + new Phoneme() { + phoneme = endBreath, + } + }, + }; + } + } @@ -523,13 +570,39 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN if (prevNeighbour == null) { - // Usevkf "- V" or "- CV" if present in voicebank + // Use "- V" or "- CV" if present in voicebank var initial = $"- {currentLyric}"; - if (singer.TryGetMappedOto(initial, note.tone, out var _)) { - currentLyric = initial; + string[] tests = new string[] {initial, currentLyric}; + // try [- XX] before trying plain lyric + if (checkOtoUntilHit(tests, note, out var oto)){ + currentLyric = oto.Alias; } - } else if (plainVowels.Contains(currentLyric)) { + } else if ("R".Contains(currentLyric)) { var prevUnicode = ToUnicodeElements(prevNeighbour?.lyric); + // end breath note + if (vowelLookup.TryGetValue(prevUnicode.LastOrDefault() ?? string.Empty, out var vow)) { + var vowel = ""; + var prevLyric = string.Join("", prevUnicode);; + vowel = vow; + + var endBreath = $"{vow} R"; + if (prevLyric.EndsWith("eo")) { + endBreath = $"eo R"; + } else if (prevLyric.EndsWith("eu")) { + endBreath = $"eu R"; + } + + // try end breath + string[] tests = new string[] {endBreath, currentLyric}; + if (checkOtoUntilHit(tests, note, out var oto)){ + currentLyric = oto.Alias; + } + } + } else { + string[] tests = new string[] {currentLyric}; + if (checkOtoUntilHit(tests, note, out var oto)){ + currentLyric = oto.Alias; + } } if (nextNeighbour != null) { // 다음에 노트가 있으면 @@ -550,9 +623,14 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN // Insert VC before next neighbor // Get vowel from current note var vowel = ""; - if (vowelLookup.TryGetValue(currentUnicode.LastOrDefault() ?? string.Empty, out var vow)) { + if (vowelLookup.TryGetValue(currentUnicode.LastOrDefault() ?? string.Empty, out var vow)) { vowel = vow; + + if (currentLyric.Contains("e")) { + vowel = "e" + vowel; + vowel = vowel.Replace("ee", "e"); + } } // Get consonant from next note @@ -573,7 +651,10 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN } var vcPhoneme = $"{vowel} {consonant}"; - if (!singer.TryGetMappedOto(vcPhoneme, note.tone, out var _)) { + var vcPhonemes = new string[] {vcPhoneme, ""}; + if (checkOtoUntilHit(vcPhonemes, note, out var oto1)) { + vcPhoneme = oto1.Alias; + } else { return new Result { phonemes = new Phoneme[] { new Phoneme() { @@ -585,10 +666,10 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN int totalDuration = notes.Sum(n => n.duration); int vcLength = 60; - if (singer.TryGetMappedOto(nextLyric, note.tone, out var oto)) { + var nextAttr = nextNeighbour.Value.phonemeAttributes?.FirstOrDefault(attr => attr.index == 0) ?? default; + if (singer.TryGetMappedOto(nextLyric, nextNeighbour.Value.tone + nextAttr.toneShift, nextAttr.voiceColor, out var oto)) { vcLength = MsToTick(oto.Preutter); } - vcLength = Math.Min(totalDuration / 2, vcLength); @@ -606,7 +687,6 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN }; } - // No next neighbor return new Result { phonemes = new Phoneme[] { diff --git a/OpenUtau.Plugin.Builtin/KoreanCVVCStandardPronunciationPhonemizer.cs b/OpenUtau.Plugin.Builtin/KoreanCVVCStandardPronunciationPhonemizer.cs index 555cdb7d9..916e482cf 100644 --- a/OpenUtau.Plugin.Builtin/KoreanCVVCStandardPronunciationPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/KoreanCVVCStandardPronunciationPhonemizer.cs @@ -5,7 +5,7 @@ using OpenUtau.Core.Ustx; namespace OpenUtau.Plugin.Builtin { - [Phonemizer("Korean CVVC Phonemizer", "KO CVVC", "RYUUSEI")] + [Phonemizer("Korean CVVC Phonemizer", "KO CVVC", "RYUUSEI", language:"KO")] public class KoreanCVVCStandardPronunciationPhonemizer : Phonemizer { static readonly string initialConsonantsTable = "ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ"; static readonly string vowelsTable = "ㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣ"; @@ -415,6 +415,9 @@ static KoreanCVVCStandardPronunciationPhonemizer() { // Store singer in field, will try reading presamp.ini later private USinger singer; public override void SetSinger(USinger singer) => this.singer = singer; + + // Legacy mapping. Might adjust later to new mapping style. + public override bool LegacyMapping => true; public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevNeighbour, Note? nextNeighbour, Note[] prevNeighbours) { var prevLyric = prevNeighbour?.lyric; diff --git a/OpenUtau.Plugin.Builtin/KoreanVCVPhonemizer.cs b/OpenUtau.Plugin.Builtin/KoreanVCVPhonemizer.cs index 414cd60e5..1ed05179d 100644 --- a/OpenUtau.Plugin.Builtin/KoreanVCVPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/KoreanVCVPhonemizer.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Linq; using System.Text; using System.Text.RegularExpressions; @@ -7,7 +7,7 @@ namespace OpenUtau.Plugin.Builtin { - [Phonemizer("Korean VCV Phonemizer", "KO VCV", "ldc")] + [Phonemizer("Korean VCV Phonemizer", "KO VCV", "ldc", language: "KO")] public class KoreanVCVPhonemizer : Phonemizer { @@ -115,6 +115,9 @@ public string GetLastSoundOfAlias(string lyric) // Store singer public override void SetSinger(USinger singer) => this.singer = singer; + + // Legacy mapping. Might adjust later to new mapping style. + public override bool LegacyMapping => true; public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevNeighbour, Note? nextNeighbour, Note[] prevNeighbours) { diff --git a/OpenUtau.Plugin.Builtin/LatinDiphonePhonemizer.cs b/OpenUtau.Plugin.Builtin/LatinDiphonePhonemizer.cs index 87df8f01e..9bcb8ee97 100644 --- a/OpenUtau.Plugin.Builtin/LatinDiphonePhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/LatinDiphonePhonemizer.cs @@ -58,28 +58,26 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN // Get the symbols of previous note. var prevSymbols = prevNeighbour == null ? null : GetSymbols(prevNeighbour.Value); + // The user is using a tail "-" note to produce a " -" sound. + if (note.lyric == "-" && prevSymbols != null) { + var attr = note.phonemeAttributes?.FirstOrDefault() ?? default; + string color = attr.voiceColor; + string alias = $"{prevSymbols.Last()} -"; + if (singer.TryGetMappedOto(alias, note.tone, color, out var oto)) { + return MakeSimpleResult(oto.Alias); + } + return MakeSimpleResult(alias); + } // Get the symbols of current note. - var symbols = GetSymbols(note); + string[] symbols = GetSymbols(note); + if (nextNeighbour == null) { + // Auto add tail "-". + symbols = symbols.Append("-").ToArray(); + } if (symbols == null || symbols.Length == 0) { // No symbol is found for current note. - if (note.lyric == "-" && prevSymbols != null) { - // The user is using a tail "-" note to produce a " -" sound. - return new Result { - phonemes = new Phoneme[] { - new Phoneme() { - phoneme = $"{prevSymbols.Last()} -", - } - }, - }; - } // Otherwise assumes the user put in an alias. - return new Result { - phonemes = new Phoneme[] { - new Phoneme() { - phoneme = note.lyric, - } - }, - }; + return MakeSimpleResult(note.lyric); } // Find phone types of symbols. var isVowel = symbols.Select(s => g2p.IsVowel(s)).ToArray(); @@ -144,7 +142,9 @@ public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevN while (noteIndex < notes.Length - 1 && notes[noteIndex].position - note.position < phoneme.position) { noteIndex++; } - phoneme.phoneme = GetPhonemeOrFallback(prevSymbol, symbols[i], notes[noteIndex].tone + toneShift, color, alt); + int tone = (i == 0 && prevNeighbours != null && prevNeighbours.Length > 0) + ? prevNeighbours.Last().tone : notes[noteIndex].tone; + phoneme.phoneme = GetPhonemeOrFallback(prevSymbol, symbols[i], tone + toneShift, color, alt); phonemes[i] = phoneme; prevSymbol = symbols[i]; } diff --git a/OpenUtau.Plugin.Builtin/OpenUtau.Plugin.Builtin.csproj b/OpenUtau.Plugin.Builtin/OpenUtau.Plugin.Builtin.csproj index 57bdce9ef..e2490dfe0 100644 --- a/OpenUtau.Plugin.Builtin/OpenUtau.Plugin.Builtin.csproj +++ b/OpenUtau.Plugin.Builtin/OpenUtau.Plugin.Builtin.csproj @@ -3,6 +3,8 @@ netstandard2.1 none + embedded + enable diff --git a/OpenUtau.Plugin.Builtin/PolishCVCPhonemizer.cs b/OpenUtau.Plugin.Builtin/PolishCVCPhonemizer.cs index 885cec592..ed6d96598 100644 --- a/OpenUtau.Plugin.Builtin/PolishCVCPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/PolishCVCPhonemizer.cs @@ -9,7 +9,7 @@ namespace OpenUtau.Plugin.Builtin { /// And example of realization of AdvancedPhonemizer without a dictionary /// Reclist by haku /// - [Phonemizer("Polish CVC Phonemizer", "PL CVC", "Heiden.BZR")] + [Phonemizer("Polish CVC Phonemizer", "PL CVC", "Heiden.BZR", language: "PL")] public class PolishCVCPhonemizer : SyllableBasedPhonemizer { private readonly string[] vowels = "a A e E i o u y".Split(" "); diff --git a/OpenUtau.Plugin.Builtin/RussianCVCPhonemizer.cs b/OpenUtau.Plugin.Builtin/RussianCVCPhonemizer.cs index 17d3f64b5..46f70d4ad 100644 --- a/OpenUtau.Plugin.Builtin/RussianCVCPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/RussianCVCPhonemizer.cs @@ -1,10 +1,11 @@ using System; using System.Collections.Generic; -using OpenUtau.Api; using System.Linq; +using OpenUtau.Api; +using OpenUtau.Core.G2p; namespace OpenUtau.Plugin.Builtin { - [Phonemizer("Russian CVC Phonemizer", "RU CVC", "Heiden.BZR")] + [Phonemizer("Russian CVC Phonemizer", "RU CVC", "Heiden.BZR", language: "RU")] public class RussianCVCPhonemizer : SyllableBasedPhonemizer { private readonly string[] vowels = "a,e,o,u,y,i,M,N".Split(","); diff --git a/OpenUtau.Plugin.Builtin/RussianVCCVPhonemizer.cs b/OpenUtau.Plugin.Builtin/RussianVCCVPhonemizer.cs index 64b37d917..515bbed72 100644 --- a/OpenUtau.Plugin.Builtin/RussianVCCVPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/RussianVCCVPhonemizer.cs @@ -1,10 +1,11 @@ using System; using System.Collections.Generic; -using OpenUtau.Api; using System.Linq; +using OpenUtau.Api; +using OpenUtau.Core.G2p; namespace OpenUtau.Plugin.Builtin { - [Phonemizer("Russian VCCV Phonemizer", "RU VCCV", "Heiden.BZR")] + [Phonemizer("Russian VCCV Phonemizer", "RU VCCV", "Heiden.BZR", language: "RU")] public class RussianVCCVPhonemizer : SyllableBasedPhonemizer { private readonly string[] vowels = "a,e,o,u,y,i,M,N,ex,ax,x".Split(","); diff --git a/OpenUtau.Plugin.Builtin/SpanishSyllableBasedPhonemizer.cs b/OpenUtau.Plugin.Builtin/SpanishSyllableBasedPhonemizer.cs index 1d3d4cf47..507e3194e 100644 --- a/OpenUtau.Plugin.Builtin/SpanishSyllableBasedPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/SpanishSyllableBasedPhonemizer.cs @@ -1,419 +1,419 @@ -using System; -using System.Collections.Generic; -using System.Text; -using OpenUtau.Api; -using System.Linq; -using Serilog; - -namespace OpenUtau.Plugin.Builtin { - [Phonemizer("Spanish Syllable-Based Phonemizer", "ES SYL", "Lotte V")] - public class SpanishSyllableBasedPhonemizer : SyllableBasedPhonemizer { - - /// - /// Spanish syllable-based phonemizer. - /// I tried to make this phonemizer as compatible with many different methods as possible. - /// Supports both CVVC and VCV if the voicebank has it. - /// Supports seseo ("s" instead of "z" if the voicebank doesn't have the latter). - /// It also substitutes "nh" for "ny" if the voicebank doesn't have the first. - /// Ít now also uses "i" instead of "y" and "u" instead of "w" depending on what the voicebank supports. - /// Now with full VCV support, including "consonant VCV" if the voicebank has either of them (ex. "l ba", "n da" but also "m bra" etc.). - /// - - private readonly string[] vowels = "a,e,i,o,u".Split(','); - private readonly string[] consonants = "b,ch,d,dz,f,g,h,hh,j,k,l,ll,m,n,nh,p,r,rr,s,sh,t,ts,w,y,z,zz,zh".Split(','); - private readonly Dictionary dictionaryReplacements = ("a=a;e=e;i=i;o=o;u=u;" + - "b=b;ch=ch;d=d;dz=dz;f=f;g=g;gn=nh;h=h;k=k;l=l;ll=j;m=m;n=n;p=p;r=r;rr=rr;s=s;sh=sh;t=t;ts=ts;w=w;y=y;z=z;zz=zz;zh=zh;I=i;U=u").Split(';') - .Select(entry => entry.Split('=')) - .Where(parts => parts.Length == 2) - .Where(parts => parts[0] != parts[1]) - .ToDictionary(parts => parts[0], parts => parts[1]); - - private readonly string[] longConsonants = "b,ch,d,dz,g,h,s,sh,k,p,rr,t,ts,z,l,m,n".Split(','); - private readonly string[] burstConsonants = "b,ch,d,dz,g,j,k,p,r,t,ts".Split(','); - private readonly string[] notClusters = "dz,hh,ll,nh,sh,zz,zh".Split(','); - private readonly string[] specialClusters = "by,dy,fy,gy,hy,jy,ky,ly,my,py,ry,rry,sy,ty,vy,zy,bw,chw,dw,fw,gw,hw,jw,kw,lw,llw,mw,nw,pw,rw,rrw,sw,tw,vw,zw,bl,fl,gl,kl,pl,br,dr,fr,gr,kr,pr,tr".Split(','); - - protected override string[] GetVowels() => vowels; - protected override string[] GetConsonants() => consonants; - protected override string GetDictionaryName() => "cmudict_es.txt"; - protected override Dictionary GetDictionaryPhonemesReplacement() => dictionaryReplacements; - - protected override List ProcessSyllable(Syllable syllable){ - string prevV = syllable.prevV; - string[] cc = syllable.cc; - string v = syllable.v; - - string basePhoneme; - var phonemes = new List(); - var lastC = cc.Length - 1; - var firstC = 0; - var rcv = $"- {v}"; - var vv1 = $"{prevV} {v}"; - var vv2 = $"{prevV}{v}"; - if (syllable.IsStartingV) { - basePhoneme = rcv; - if (!HasOto(rcv, syllable.vowelTone)) { - basePhoneme = $"{v}"; - } - } else if (syllable.IsVV) { - basePhoneme = vv1; - if (!HasOto(vv1, syllable.vowelTone)) { - basePhoneme = vv2; - if (!HasOto(vv2, syllable.vowelTone)) { - basePhoneme = $"{v}"; - } - } - } else if (syllable.IsStartingCVWithOneConsonant) { - // TODO: move to config -CV or -C CV - var rc = $"- {cc[0]}{v}"; - var src = $"- s{v}"; - if (HasOto(rc, syllable.vowelTone)) { - basePhoneme = rc; - } else if (cc[0] == "z" - && !HasOto(cc[0], syllable.vowelTone) - && HasOto(src, syllable.vowelTone)) { - basePhoneme = src; - } else { - basePhoneme = $"{cc[0]}{v}"; - } - } else if (syllable.IsStartingCVWithMoreThanOneConsonant) { - // try RCCV - var rvvc = $"- {string.Join("", cc)}{v}"; - var syrvvc = $"- sy{v}"; - var swrvvc = $"- sw{v}"; - if (HasOto(rvvc, syllable.vowelTone)) { - basePhoneme = rvvc; - } else if (string.Join("", cc) == "zy" - && !HasOto(string.Join("", cc), syllable.vowelTone) - && HasOto(syrvvc, syllable.vowelTone)) { - basePhoneme = syrvvc; - } else if (string.Join("", cc) == "zw" - && !HasOto(string.Join("", cc), syllable.vowelTone) - && HasOto(syrvvc, syllable.vowelTone)) { - basePhoneme = swrvvc; - } else if (specialClusters.Contains(string.Join("", cc))) { - basePhoneme = $"{string.Join("", cc)}{v}"; - } else { - basePhoneme = $"{cc.Last()}{v}"; - // try CCV - for (var i = firstC; i < cc.Length - 1; i++) { - var ccv = string.Join("", cc.Skip(i)) + v; - if (HasOto(ccv, syllable.tone)) { - basePhoneme = ccv; - lastC = i; - break; - } - } - } - } else { // VCV - var vcv = $"{prevV} {cc[0]}{v}"; - var vccv = $"{prevV} {string.Join("", cc)}{v}"; - var nyvcv = $"{prevV} ny{v}"; - var svcv = $"{prevV} s{v}"; - var syvccv = $"{prevV} sy{v}"; - var swvccv = $"{prevV} sw{v}"; - if (HasOto(vcv, syllable.vowelTone) - && (syllable.IsVCVWithOneConsonant)) { - basePhoneme = vcv; - } else if (cc[0] == "nh" - && !HasOto(cc[0], syllable.vowelTone) - && HasOto(nyvcv, syllable.vowelTone) - && syllable.IsVCVWithOneConsonant) { - basePhoneme = nyvcv; - } else if (cc[0] == "z" - && !HasOto(cc[0], syllable.vowelTone) - && HasOto(svcv, syllable.vowelTone) - && syllable.IsVCVWithOneConsonant) { - basePhoneme = svcv; - } else if (string.Join("", cc) == "zy" - && !HasOto(string.Join("", cc), syllable.vowelTone) - && HasOto(syvccv, syllable.vowelTone) - && syllable.IsVCVWithMoreThanOneConsonant) { - basePhoneme = syvccv; - } else if (string.Join("", cc) == "zw" - && !HasOto(string.Join("", cc), syllable.vowelTone) - && HasOto(swvccv, syllable.vowelTone) - && syllable.IsVCVWithMoreThanOneConsonant) { - basePhoneme = swvccv; - } else if (HasOto(vccv, syllable.vowelTone) - && syllable.IsVCVWithMoreThanOneConsonant - && !notClusters.Contains(string.Join("", cc))) { - basePhoneme = vccv; - } else { - // try vc - for (var i = lastC + 1; i >= 0; i--) { - var vc1 = $"{prevV} {cc[0]}"; - var vc2 = $"{prevV}{cc[0]}"; - if (i == 0 && HasOto(vc1, syllable.tone)) { - phonemes.Add(vc1); - break; - } else if (!HasOto(vc1, syllable.tone) && HasOto(vc2, syllable.tone)) { - phonemes.Add(vc2); - break; - } else if (!HasOto(vc1, syllable.tone) && !HasOto(vc2, syllable.tone)) { - continue; - } - // try vcc - var vcc = $"{prevV} {string.Join("", cc.Take(i))}"; - var vcc2 = $"{prevV}{string.Join("", cc.Take(i))}"; - if (HasOto(vcc, syllable.tone) && !(notClusters.Contains(string.Join("", cc.Take(i))))) { - phonemes.Add(vcc); - firstC = i - 1; - break; - } else if (HasOto(vcc2, syllable.tone) && !(notClusters.Contains(string.Join("", cc.Take(i))))) { - phonemes.Add(vcc2); - firstC = i - 1; - break; - } - } - basePhoneme = cc.Last() + v; - // try CCV - if (cc.Length - firstC > 1) { - for (var i = firstC; i < cc.Length; i++) { - var ccv = $"{string.Join("", cc.Skip(i))}{v}"; - var ccv2 = $"{string.Join(" ", cc.Skip(i))}{v}"; - var ccv3 = $"{cc[0]} {string.Join("", cc.Skip(i))}{v}"; - if (HasOto(ccv, syllable.vowelTone) && !(notClusters.Contains(string.Join("", cc.Skip(i))))) { - lastC = i; - basePhoneme = ccv; - break; - } else if (HasOto(ccv2, syllable.vowelTone)) { - lastC = i; - basePhoneme = ccv2; - break; - } else if (HasOto(ccv3, syllable.vowelTone) && !(notClusters.Contains(string.Join("", cc.Skip(i))))) { - lastC = i; - basePhoneme = ccv3; - break; - } - } - } - for (var i = firstC; i < cc.Length; i++) { - var spccv = $"{string.Join("", cc.Skip(i))}{v}"; - var ccv3 = $"{cc[0]} {string.Join("", cc.Skip(i))}{v}"; - var syccv = $"{cc[0]} sy{v}"; - var swccv = $"{cc[0]} sw{v}"; - if (specialClusters.Contains(string.Join("", cc.Skip(i)))) { - basePhoneme = spccv; - } - if (specialClusters.Contains(string.Join("", cc.Skip(i))) && HasOto(ccv3, syllable.vowelTone)) { - basePhoneme = ccv3; - } - if (string.Join("", cc) == "zy" - && !HasOto(string.Join("", cc), syllable.vowelTone) - && HasOto(syccv, syllable.vowelTone)) { - basePhoneme = syccv; - } - if (string.Join("", cc) == "zw" - && !HasOto(string.Join("", cc), syllable.vowelTone) - && HasOto(swccv, syllable.vowelTone)) { - basePhoneme = swccv; - } - } - } - } - for (var i = firstC; i < lastC; i++) { - // we could use some CCV, so lastC is used - // we could use -CC so firstC is used - var cc1 = $"{cc[i]} {cc[i + 1]}"; - var ncc1 = $"{cc[i]} n"; - var vc1 = $"{prevV} {cc[0]}"; - var vc2 = $"{prevV}{cc[0]}"; - var vcc = $"{prevV} {string.Join("", cc.Take(i))}"; - var vcc2 = $"{prevV}{string.Join("", cc.Take(i))}"; - if (!HasOto(cc1, syllable.tone) && !specialClusters.Contains(string.Join("", cc.Skip(i)))) { - cc1 = $"{cc[i]}{cc[i + 1]}"; - } - if (i + 1 < lastC) { - var cc2 = $"{cc[i + 1]} {cc[i + 2]}"; - var ncc2 = $"{cc[i + 1]} n"; - if (!HasOto(cc2, syllable.tone) && !specialClusters.Contains(string.Join("", cc.Skip(i)))) { - cc2 = $"{cc[i + 1]}{cc[i + 2]}"; - } - if (HasOto(cc1, syllable.tone) && HasOto(cc2, syllable.tone)) { - // like [V C1] [C1 C2] [C2 C3] [C3 ..] - phonemes.Add(cc1); - } else if (TryAddPhoneme(phonemes, syllable.tone, $"{cc[i]} {cc[i + 1]}-")) { - // like [V C1] [C1 C2-] [C3 ..] - i++; - } else if (TryAddPhoneme(phonemes, syllable.tone, cc1)) { - if (cc[i + 2] == "nh" && !HasOto(cc[i + 2], syllable.tone)) { - TryAddPhoneme(phonemes, syllable.tone, ncc2); ; - } - // like [V C1] [C1 C2] [C2 ..] - } else if (!HasOto(cc2, syllable.tone) - && !HasOto(vcc, syllable.tone) - && !HasOto(vcc2, syllable.tone) - && !cc.Last().Contains("y") - && !cc.Last().Contains("w") - && !burstConsonants.Contains(cc[i])) { - TryAddPhoneme(phonemes, syllable.tone, cc[i], $"{cc[i]}{v}"); - } else if (burstConsonants.Contains(cc[i])) { - // like [V C1] [C1] [C2 ..] - TryAddPhoneme(phonemes, syllable.tone, cc[i]); - } - if (cc[i] == "r" && HasOto($"{prevV}rr", syllable.tone)) { - phonemes.Remove(vc1); - phonemes.Remove(vc2); - phonemes.Add($"{prevV}rr"); - } - } else { - // like [V C1] [C1 C2] [C2 ..] or like [V C1] [C1 -] [C3 ..] - TryAddPhoneme(phonemes, syllable.tone, cc1); - if (cc[i + 1] == "nh" && !HasOto(cc[i + 1], syllable.tone)) { - TryAddPhoneme(phonemes, syllable.tone, ncc1); - } - if (!HasOto(cc1, syllable.tone) - && !HasOto(vc1, syllable.tone) - && !HasOto(vc2, syllable.tone) - && !burstConsonants.Contains(cc[i])) { - TryAddPhoneme(phonemes, syllable.tone, cc[i], $"{cc[i]}{v}"); - } - - if (!HasOto(cc1, syllable.tone) - && !vc1.Contains($"{prevV} {cc[i]}") - && !vc2.Contains($"{prevV}{cc[i]}") - && !cc.Last().Contains("y") - && !cc.Last().Contains("w") - & !burstConsonants.Contains(cc[i])) { - TryAddPhoneme(phonemes, syllable.tone, cc[i], $"{cc[i]}{v}"); - } else if (burstConsonants.Contains(cc[i]) && !syllable.IsStartingCVWithMoreThanOneConsonant && !specialClusters.Contains(string.Join("", cc.Skip(i)))) { - TryAddPhoneme(phonemes, syllable.tone, cc[i]); - } - if (cc[i] == "r" && HasOto($"{prevV}rr", syllable.tone)) { - phonemes.Remove(vc1); - phonemes.Remove(vc2); - phonemes.Add($"{prevV}rr"); - } - } - } - - phonemes.Add(basePhoneme); - return phonemes; - } - - protected override List ProcessEnding(Ending ending) { - string[] cc = ending.cc; - string v = ending.prevV; - - var phonemes = new List(); - if (ending.IsEndingV) { // ending V - TryAddPhoneme(phonemes, ending.tone, $"{v} R", $"{v} -", $"{v}-"); - } else if (ending.IsEndingVCWithOneConsonant) { // ending VC - var vrr = $"{v}rr"; - if (cc[0] == "r" && HasOto(vrr, ending.tone)) { - phonemes.Add(vrr); - } else { // applies ending VC - TryAddPhoneme(phonemes, ending.tone, $"{v} {cc[0]}-", $"{v}{cc[0]}-", $"{v} {cc[0]}", $"{v}{cc[0]}", $"{cc[0]}"); - if (burstConsonants.Contains(cc[0])) { - TryAddPhoneme(phonemes, ending.tone, cc[0]); - } - } - } else if (ending.IsEndingVCWithMoreThanOneConsonant) { // ending VCC (very rare, usually only occurs in words ending with "x") - var vcc = $"{v} {string.Join("", cc)}"; - var vcc2 = $"{v}{string.Join("", cc)}"; - var vc = $"{v} {cc[0]}"; - var vc2 = $"{v}{cc[0]}"; - var cc1 = $"{cc[0]} {cc[1]}"; - var cc2 = $"{cc[0]}{cc[1]}"; - TryAddPhoneme(phonemes, ending.tone, vcc, vcc2); - if (!HasOto(vcc, ending.tone) && !HasOto(vcc2, ending.tone) && HasOto(vc, ending.tone)) { - phonemes.Add(vc); - TryAddPhoneme(phonemes, ending.tone, cc1); - if (burstConsonants.Contains(cc[1])) { - TryAddPhoneme(phonemes, ending.tone, cc[1]); - } - if (!HasOto(cc1, ending.tone)) { - TryAddPhoneme(phonemes, ending.tone, cc2); - } - if (!HasOto(cc1, ending.tone) && !HasOto(cc2, ending.tone)) { - TryAddPhoneme(phonemes, ending.tone, cc[0] + cc[1]); - } - } - if (!HasOto(vcc, ending.tone) && !HasOto(vcc2, ending.tone) && !HasOto(vc, ending.tone) && HasOto(vc2, ending.tone)) { - phonemes.Add(vc2); - TryAddPhoneme(phonemes, ending.tone, cc1); - if (burstConsonants.Contains(cc[1])) { - TryAddPhoneme(phonemes, ending.tone, cc[1]); - } - if (!HasOto(cc1, ending.tone)) { - TryAddPhoneme(phonemes, ending.tone, cc2); - } else if (!HasOto(cc1, ending.tone) && !HasOto(cc2, ending.tone)) { - TryAddPhoneme(phonemes, ending.tone, cc[0] + cc[1]); - } - } - if (!HasOto(vcc, ending.tone) && !HasOto(vcc2, ending.tone) && !HasOto(vc, ending.tone) && !HasOto(vc2, ending.tone)) { - phonemes.Add(cc[0]); - TryAddPhoneme(phonemes, ending.tone, cc1); - if (!HasOto(cc1, ending.tone)) { - TryAddPhoneme(phonemes, ending.tone, cc2); - } else if (!HasOto(cc1, ending.tone) && !HasOto(cc2, ending.tone)) { - TryAddPhoneme(phonemes, ending.tone, cc[1]); - } - } - } - return phonemes; - } - - protected override string ValidateAlias(string alias) { - foreach (var consonant in new[] { "j" }) { - alias = alias.Replace(consonant, "ll"); - } - foreach (var consonant in specialClusters) { - alias = alias.Replace("w", "u"); - } - foreach (var consonant in new[] { "z" }) { - alias = alias.Replace(consonant, "s"); - } - foreach (var consonant in specialClusters) { - alias = alias.Replace("y", "i"); - } - foreach (var consonant in new[] { "nh" }) { - alias = alias.Replace(consonant, "ny"); - } - foreach (var consonant in new[] { " nh" }) { - alias = alias.Replace(consonant, " n"); - } - foreach (var vowel in vowels) { - foreach (var consonant in new[] { " ny" }) { - return alias.Replace(vowel + consonant, vowel + " n"); - } - } - foreach (var consonant1 in consonants) { - foreach (var consonant2 in new[] { " ny" }) { - return alias.Replace(consonant1 + consonant2, consonant1 + " n"); - } - } - foreach (var vowel in vowels) { - foreach (var consonant in new[] { " nh" }) { - return alias.Replace(vowel + consonant, vowel + " n"); - } - } - foreach (var consonant1 in consonants) { - foreach (var consonant2 in new[] { " nh" }) { - return alias.Replace(consonant1 + consonant2, consonant1 + " n"); - } - } - return alias; - } - - protected override double GetTransitionBasicLengthMs(string alias = "") { - foreach (var c in new[] { "rr" }) { - if (alias.EndsWith(c)) { - return base.GetTransitionBasicLengthMs() * 1.5; - } - } - foreach (var c in new[] { "r" }) { - if (alias.EndsWith(c)) { - return base.GetTransitionBasicLengthMs() * 0.75; - } - } - foreach (var c in longConsonants) { - if (alias.EndsWith(c)) { - return base.GetTransitionBasicLengthMs() * 1.5; - } - } - return base.GetTransitionBasicLengthMs(); - } - } -} +using System; +using System.Collections.Generic; +using System.Text; +using OpenUtau.Api; +using System.Linq; +using Serilog; + +namespace OpenUtau.Plugin.Builtin { + [Phonemizer("Spanish Syllable-Based Phonemizer", "ES SYL", "Lotte V", language: "ES")] + public class SpanishSyllableBasedPhonemizer : SyllableBasedPhonemizer { + + /// + /// Spanish syllable-based phonemizer. + /// I tried to make this phonemizer as compatible with many different methods as possible. + /// Supports both CVVC and VCV if the voicebank has it. + /// Supports seseo ("s" instead of "z" if the voicebank doesn't have the latter). + /// It also substitutes "nh" for "ny" if the voicebank doesn't have the first. + /// Ít now also uses "i" instead of "y" and "u" instead of "w" depending on what the voicebank supports. + /// Now with full VCV support, including "consonant VCV" if the voicebank has either of them (ex. "l ba", "n da" but also "m bra" etc.). + /// + + private readonly string[] vowels = "a,e,i,o,u".Split(','); + private readonly string[] consonants = "b,ch,d,dz,f,g,h,hh,j,k,l,ll,m,n,nh,p,r,rr,s,sh,t,ts,w,y,z,zz,zh".Split(','); + private readonly Dictionary dictionaryReplacements = ("a=a;e=e;i=i;o=o;u=u;" + + "b=b;ch=ch;d=d;dz=dz;f=f;g=g;gn=nh;h=h;k=k;l=l;ll=j;m=m;n=n;p=p;r=r;rr=rr;s=s;sh=sh;t=t;ts=ts;w=w;y=y;z=z;zz=zz;zh=zh;I=i;U=u").Split(';') + .Select(entry => entry.Split('=')) + .Where(parts => parts.Length == 2) + .Where(parts => parts[0] != parts[1]) + .ToDictionary(parts => parts[0], parts => parts[1]); + + private readonly string[] longConsonants = "b,ch,d,dz,g,h,s,sh,k,p,rr,t,ts,z,l,m,n".Split(','); + private readonly string[] burstConsonants = "b,ch,d,dz,g,j,k,p,r,t,ts".Split(','); + private readonly string[] notClusters = "dz,hh,ll,nh,sh,zz,zh".Split(','); + private readonly string[] specialClusters = "by,dy,fy,gy,hy,jy,ky,ly,my,py,ry,rry,sy,ty,vy,zy,bw,chw,dw,fw,gw,hw,jw,kw,lw,llw,mw,nw,pw,rw,rrw,sw,tw,vw,zw,bl,fl,gl,kl,pl,br,dr,fr,gr,kr,pr,tr".Split(','); + + protected override string[] GetVowels() => vowels; + protected override string[] GetConsonants() => consonants; + protected override string GetDictionaryName() => "cmudict_es.txt"; + protected override Dictionary GetDictionaryPhonemesReplacement() => dictionaryReplacements; + + protected override List ProcessSyllable(Syllable syllable){ + string prevV = syllable.prevV; + string[] cc = syllable.cc; + string v = syllable.v; + + string basePhoneme; + var phonemes = new List(); + var lastC = cc.Length - 1; + var firstC = 0; + var rcv = $"- {v}"; + var vv1 = $"{prevV} {v}"; + var vv2 = $"{prevV}{v}"; + if (syllable.IsStartingV) { + basePhoneme = rcv; + if (!HasOto(rcv, syllable.vowelTone)) { + basePhoneme = $"{v}"; + } + } else if (syllable.IsVV) { + basePhoneme = vv1; + if (!HasOto(vv1, syllable.vowelTone)) { + basePhoneme = vv2; + if (!HasOto(vv2, syllable.vowelTone)) { + basePhoneme = $"{v}"; + } + } + } else if (syllable.IsStartingCVWithOneConsonant) { + // TODO: move to config -CV or -C CV + var rc = $"- {cc[0]}{v}"; + var src = $"- s{v}"; + if (HasOto(rc, syllable.vowelTone)) { + basePhoneme = rc; + } else if (cc[0] == "z" + && !HasOto(cc[0], syllable.vowelTone) + && HasOto(src, syllable.vowelTone)) { + basePhoneme = src; + } else { + basePhoneme = $"{cc[0]}{v}"; + } + } else if (syllable.IsStartingCVWithMoreThanOneConsonant) { + // try RCCV + var rvvc = $"- {string.Join("", cc)}{v}"; + var syrvvc = $"- sy{v}"; + var swrvvc = $"- sw{v}"; + if (HasOto(rvvc, syllable.vowelTone)) { + basePhoneme = rvvc; + } else if (string.Join("", cc) == "zy" + && !HasOto(string.Join("", cc), syllable.vowelTone) + && HasOto(syrvvc, syllable.vowelTone)) { + basePhoneme = syrvvc; + } else if (string.Join("", cc) == "zw" + && !HasOto(string.Join("", cc), syllable.vowelTone) + && HasOto(syrvvc, syllable.vowelTone)) { + basePhoneme = swrvvc; + } else if (specialClusters.Contains(string.Join("", cc))) { + basePhoneme = $"{string.Join("", cc)}{v}"; + } else { + basePhoneme = $"{cc.Last()}{v}"; + // try CCV + for (var i = firstC; i < cc.Length - 1; i++) { + var ccv = string.Join("", cc.Skip(i)) + v; + if (HasOto(ccv, syllable.tone)) { + basePhoneme = ccv; + lastC = i; + break; + } + } + } + } else { // VCV + var vcv = $"{prevV} {cc[0]}{v}"; + var vccv = $"{prevV} {string.Join("", cc)}{v}"; + var nyvcv = $"{prevV} ny{v}"; + var svcv = $"{prevV} s{v}"; + var syvccv = $"{prevV} sy{v}"; + var swvccv = $"{prevV} sw{v}"; + if (HasOto(vcv, syllable.vowelTone) + && (syllable.IsVCVWithOneConsonant)) { + basePhoneme = vcv; + } else if (cc[0] == "nh" + && !HasOto(cc[0], syllable.vowelTone) + && HasOto(nyvcv, syllable.vowelTone) + && syllable.IsVCVWithOneConsonant) { + basePhoneme = nyvcv; + } else if (cc[0] == "z" + && !HasOto(cc[0], syllable.vowelTone) + && HasOto(svcv, syllable.vowelTone) + && syllable.IsVCVWithOneConsonant) { + basePhoneme = svcv; + } else if (string.Join("", cc) == "zy" + && !HasOto(string.Join("", cc), syllable.vowelTone) + && HasOto(syvccv, syllable.vowelTone) + && syllable.IsVCVWithMoreThanOneConsonant) { + basePhoneme = syvccv; + } else if (string.Join("", cc) == "zw" + && !HasOto(string.Join("", cc), syllable.vowelTone) + && HasOto(swvccv, syllable.vowelTone) + && syllable.IsVCVWithMoreThanOneConsonant) { + basePhoneme = swvccv; + } else if (HasOto(vccv, syllable.vowelTone) + && syllable.IsVCVWithMoreThanOneConsonant + && !notClusters.Contains(string.Join("", cc))) { + basePhoneme = vccv; + } else { + // try vc + for (var i = lastC + 1; i >= 0; i--) { + var vc1 = $"{prevV} {cc[0]}"; + var vc2 = $"{prevV}{cc[0]}"; + if (i == 0 && HasOto(vc1, syllable.tone)) { + phonemes.Add(vc1); + break; + } else if (!HasOto(vc1, syllable.tone) && HasOto(vc2, syllable.tone)) { + phonemes.Add(vc2); + break; + } else if (!HasOto(vc1, syllable.tone) && !HasOto(vc2, syllable.tone)) { + continue; + } + // try vcc + var vcc = $"{prevV} {string.Join("", cc.Take(i))}"; + var vcc2 = $"{prevV}{string.Join("", cc.Take(i))}"; + if (HasOto(vcc, syllable.tone) && !(notClusters.Contains(string.Join("", cc.Take(i))))) { + phonemes.Add(vcc); + firstC = i - 1; + break; + } else if (HasOto(vcc2, syllable.tone) && !(notClusters.Contains(string.Join("", cc.Take(i))))) { + phonemes.Add(vcc2); + firstC = i - 1; + break; + } + } + basePhoneme = cc.Last() + v; + // try CCV + if (cc.Length - firstC > 1) { + for (var i = firstC; i < cc.Length; i++) { + var ccv = $"{string.Join("", cc.Skip(i))}{v}"; + var ccv2 = $"{string.Join(" ", cc.Skip(i))}{v}"; + var ccv3 = $"{cc[0]} {string.Join("", cc.Skip(i))}{v}"; + if (HasOto(ccv, syllable.vowelTone) && !(notClusters.Contains(string.Join("", cc.Skip(i))))) { + lastC = i; + basePhoneme = ccv; + break; + } else if (HasOto(ccv2, syllable.vowelTone)) { + lastC = i; + basePhoneme = ccv2; + break; + } else if (HasOto(ccv3, syllable.vowelTone) && !(notClusters.Contains(string.Join("", cc.Skip(i))))) { + lastC = i; + basePhoneme = ccv3; + break; + } + } + } + for (var i = firstC; i < cc.Length; i++) { + var spccv = $"{string.Join("", cc.Skip(i))}{v}"; + var ccv3 = $"{cc[0]} {string.Join("", cc.Skip(i))}{v}"; + var syccv = $"{cc[0]} sy{v}"; + var swccv = $"{cc[0]} sw{v}"; + if (specialClusters.Contains(string.Join("", cc.Skip(i)))) { + basePhoneme = spccv; + } + if (specialClusters.Contains(string.Join("", cc.Skip(i))) && HasOto(ccv3, syllable.vowelTone)) { + basePhoneme = ccv3; + } + if (string.Join("", cc) == "zy" + && !HasOto(string.Join("", cc), syllable.vowelTone) + && HasOto(syccv, syllable.vowelTone)) { + basePhoneme = syccv; + } + if (string.Join("", cc) == "zw" + && !HasOto(string.Join("", cc), syllable.vowelTone) + && HasOto(swccv, syllable.vowelTone)) { + basePhoneme = swccv; + } + } + } + } + for (var i = firstC; i < lastC; i++) { + // we could use some CCV, so lastC is used + // we could use -CC so firstC is used + var cc1 = $"{cc[i]} {cc[i + 1]}"; + var ncc1 = $"{cc[i]} n"; + var vc1 = $"{prevV} {cc[0]}"; + var vc2 = $"{prevV}{cc[0]}"; + var vcc = $"{prevV} {string.Join("", cc.Take(i))}"; + var vcc2 = $"{prevV}{string.Join("", cc.Take(i))}"; + if (!HasOto(cc1, syllable.tone) && !specialClusters.Contains(string.Join("", cc.Skip(i)))) { + cc1 = $"{cc[i]}{cc[i + 1]}"; + } + if (i + 1 < lastC) { + var cc2 = $"{cc[i + 1]} {cc[i + 2]}"; + var ncc2 = $"{cc[i + 1]} n"; + if (!HasOto(cc2, syllable.tone) && !specialClusters.Contains(string.Join("", cc.Skip(i)))) { + cc2 = $"{cc[i + 1]}{cc[i + 2]}"; + } + if (HasOto(cc1, syllable.tone) && HasOto(cc2, syllable.tone)) { + // like [V C1] [C1 C2] [C2 C3] [C3 ..] + phonemes.Add(cc1); + } else if (TryAddPhoneme(phonemes, syllable.tone, $"{cc[i]} {cc[i + 1]}-")) { + // like [V C1] [C1 C2-] [C3 ..] + i++; + } else if (TryAddPhoneme(phonemes, syllable.tone, cc1)) { + if (cc[i + 2] == "nh" && !HasOto(cc[i + 2], syllable.tone)) { + TryAddPhoneme(phonemes, syllable.tone, ncc2); ; + } + // like [V C1] [C1 C2] [C2 ..] + } else if (!HasOto(cc2, syllable.tone) + && !HasOto(vcc, syllable.tone) + && !HasOto(vcc2, syllable.tone) + && !cc.Last().Contains("y") + && !cc.Last().Contains("w") + && !burstConsonants.Contains(cc[i])) { + TryAddPhoneme(phonemes, syllable.tone, cc[i], $"{cc[i]}{v}"); + } else if (burstConsonants.Contains(cc[i])) { + // like [V C1] [C1] [C2 ..] + TryAddPhoneme(phonemes, syllable.tone, cc[i]); + } + if (cc[i] == "r" && HasOto($"{prevV}rr", syllable.tone)) { + phonemes.Remove(vc1); + phonemes.Remove(vc2); + phonemes.Add($"{prevV}rr"); + } + } else { + // like [V C1] [C1 C2] [C2 ..] or like [V C1] [C1 -] [C3 ..] + TryAddPhoneme(phonemes, syllable.tone, cc1); + if (cc[i + 1] == "nh" && !HasOto(cc[i + 1], syllable.tone)) { + TryAddPhoneme(phonemes, syllable.tone, ncc1); + } + if (!HasOto(cc1, syllable.tone) + && !HasOto(vc1, syllable.tone) + && !HasOto(vc2, syllable.tone) + && !burstConsonants.Contains(cc[i])) { + TryAddPhoneme(phonemes, syllable.tone, cc[i], $"{cc[i]}{v}"); + } + + if (!HasOto(cc1, syllable.tone) + && !vc1.Contains($"{prevV} {cc[i]}") + && !vc2.Contains($"{prevV}{cc[i]}") + && !cc.Last().Contains("y") + && !cc.Last().Contains("w") + & !burstConsonants.Contains(cc[i])) { + TryAddPhoneme(phonemes, syllable.tone, cc[i], $"{cc[i]}{v}"); + } else if (burstConsonants.Contains(cc[i]) && !syllable.IsStartingCVWithMoreThanOneConsonant && !specialClusters.Contains(string.Join("", cc.Skip(i)))) { + TryAddPhoneme(phonemes, syllable.tone, cc[i]); + } + if (cc[i] == "r" && HasOto($"{prevV}rr", syllable.tone)) { + phonemes.Remove(vc1); + phonemes.Remove(vc2); + phonemes.Add($"{prevV}rr"); + } + } + } + + phonemes.Add(basePhoneme); + return phonemes; + } + + protected override List ProcessEnding(Ending ending) { + string[] cc = ending.cc; + string v = ending.prevV; + + var phonemes = new List(); + if (ending.IsEndingV) { // ending V + TryAddPhoneme(phonemes, ending.tone, $"{v} R", $"{v} -", $"{v}-"); + } else if (ending.IsEndingVCWithOneConsonant) { // ending VC + var vrr = $"{v}rr"; + if (cc[0] == "r" && HasOto(vrr, ending.tone)) { + phonemes.Add(vrr); + } else { // applies ending VC + TryAddPhoneme(phonemes, ending.tone, $"{v} {cc[0]}-", $"{v}{cc[0]}-", $"{v} {cc[0]}", $"{v}{cc[0]}", $"{cc[0]}"); + if (burstConsonants.Contains(cc[0])) { + TryAddPhoneme(phonemes, ending.tone, cc[0]); + } + } + } else if (ending.IsEndingVCWithMoreThanOneConsonant) { // ending VCC (very rare, usually only occurs in words ending with "x") + var vcc = $"{v} {string.Join("", cc)}"; + var vcc2 = $"{v}{string.Join("", cc)}"; + var vc = $"{v} {cc[0]}"; + var vc2 = $"{v}{cc[0]}"; + var cc1 = $"{cc[0]} {cc[1]}"; + var cc2 = $"{cc[0]}{cc[1]}"; + TryAddPhoneme(phonemes, ending.tone, vcc, vcc2); + if (!HasOto(vcc, ending.tone) && !HasOto(vcc2, ending.tone) && HasOto(vc, ending.tone)) { + phonemes.Add(vc); + TryAddPhoneme(phonemes, ending.tone, cc1); + if (burstConsonants.Contains(cc[1])) { + TryAddPhoneme(phonemes, ending.tone, cc[1]); + } + if (!HasOto(cc1, ending.tone)) { + TryAddPhoneme(phonemes, ending.tone, cc2); + } + if (!HasOto(cc1, ending.tone) && !HasOto(cc2, ending.tone)) { + TryAddPhoneme(phonemes, ending.tone, cc[0] + cc[1]); + } + } + if (!HasOto(vcc, ending.tone) && !HasOto(vcc2, ending.tone) && !HasOto(vc, ending.tone) && HasOto(vc2, ending.tone)) { + phonemes.Add(vc2); + TryAddPhoneme(phonemes, ending.tone, cc1); + if (burstConsonants.Contains(cc[1])) { + TryAddPhoneme(phonemes, ending.tone, cc[1]); + } + if (!HasOto(cc1, ending.tone)) { + TryAddPhoneme(phonemes, ending.tone, cc2); + } else if (!HasOto(cc1, ending.tone) && !HasOto(cc2, ending.tone)) { + TryAddPhoneme(phonemes, ending.tone, cc[0] + cc[1]); + } + } + if (!HasOto(vcc, ending.tone) && !HasOto(vcc2, ending.tone) && !HasOto(vc, ending.tone) && !HasOto(vc2, ending.tone)) { + phonemes.Add(cc[0]); + TryAddPhoneme(phonemes, ending.tone, cc1); + if (!HasOto(cc1, ending.tone)) { + TryAddPhoneme(phonemes, ending.tone, cc2); + } else if (!HasOto(cc1, ending.tone) && !HasOto(cc2, ending.tone)) { + TryAddPhoneme(phonemes, ending.tone, cc[1]); + } + } + } + return phonemes; + } + + protected override string ValidateAlias(string alias) { + foreach (var consonant in new[] { "j" }) { + alias = alias.Replace(consonant, "ll"); + } + foreach (var consonant in specialClusters) { + alias = alias.Replace("w", "u"); + } + foreach (var consonant in new[] { "z" }) { + alias = alias.Replace(consonant, "s"); + } + foreach (var consonant in specialClusters) { + alias = alias.Replace("y", "i"); + } + foreach (var consonant in new[] { "nh" }) { + alias = alias.Replace(consonant, "ny"); + } + foreach (var consonant in new[] { " nh" }) { + alias = alias.Replace(consonant, " n"); + } + foreach (var vowel in vowels) { + foreach (var consonant in new[] { " ny" }) { + return alias.Replace(vowel + consonant, vowel + " n"); + } + } + foreach (var consonant1 in consonants) { + foreach (var consonant2 in new[] { " ny" }) { + return alias.Replace(consonant1 + consonant2, consonant1 + " n"); + } + } + foreach (var vowel in vowels) { + foreach (var consonant in new[] { " nh" }) { + return alias.Replace(vowel + consonant, vowel + " n"); + } + } + foreach (var consonant1 in consonants) { + foreach (var consonant2 in new[] { " nh" }) { + return alias.Replace(consonant1 + consonant2, consonant1 + " n"); + } + } + return alias; + } + + protected override double GetTransitionBasicLengthMs(string alias = "") { + foreach (var c in new[] { "rr" }) { + if (alias.EndsWith(c)) { + return base.GetTransitionBasicLengthMs() * 1.5; + } + } + foreach (var c in new[] { "r" }) { + if (alias.EndsWith(c)) { + return base.GetTransitionBasicLengthMs() * 0.75; + } + } + foreach (var c in longConsonants) { + if (alias.EndsWith(c)) { + return base.GetTransitionBasicLengthMs() * 1.5; + } + } + return base.GetTransitionBasicLengthMs(); + } + } +} diff --git a/OpenUtau.Plugin.Builtin/SyllableBasedPhonemizer.cs b/OpenUtau.Plugin.Builtin/SyllableBasedPhonemizer.cs index 40dfb866b..bdfd7f6cc 100644 --- a/OpenUtau.Plugin.Builtin/SyllableBasedPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/SyllableBasedPhonemizer.cs @@ -482,14 +482,6 @@ protected virtual double GetTransitionBasicLengthMs(string alias = "") { return GetTransitionBasicLengthMsByConstant(); } - protected double GetTransitionBasicLengthMsByOto(string alias) { - if (alias != null && alias.Length > 0 && singer.Otos.TryGetValue(alias, out var oto)) { - return oto.Preutter * GetTempoNoteLengthFactor(); - } else { - return GetTransitionBasicLengthMsByConstant(); - } - } - protected double GetTransitionBasicLengthMsByConstant() { return TransitionBasicLengthMs * GetTempoNoteLengthFactor(); } @@ -637,7 +629,6 @@ private void ReadDictionaryAndInit() { return; } dictionaries[GetType()] = null; - var scheduler = TaskScheduler.FromCurrentSynchronizationContext(); OnAsyncInitStarted(); Task.Run(() => { try { @@ -655,7 +646,9 @@ private void ReadDictionaryAndInit() { } catch (Exception ex) { Log.Error(ex, $"Failed to read dictionary {dictionaryName}"); } - }).ContinueWith((task) => { Init(); OnAsyncInitFinished(); }, scheduler); + Init(); + OnAsyncInitFinished(); + }); } private string[] ApplyExtensions(string[] symbols, Note[] notes) { diff --git a/OpenUtau.Plugin.Builtin/TetoEnglishPhonemizer.cs b/OpenUtau.Plugin.Builtin/TetoEnglishPhonemizer.cs index d378fe80c..5379a70db 100644 --- a/OpenUtau.Plugin.Builtin/TetoEnglishPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/TetoEnglishPhonemizer.cs @@ -1,12 +1,11 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; -using System.Text; using OpenUtau.Api; -using Serilog; +using OpenUtau.Core.G2p; namespace OpenUtau.Plugin.Builtin { - [Phonemizer("Teto English Phonemizer", "EN Teto", "nago & Heiden.BZR")] + [Phonemizer("Teto English Phonemizer", "EN Teto", "nago & Heiden.BZR", language: "EN")] public class TetoEnglishPhonemizer : SyllableBasedPhonemizer { private readonly string[] vowels = "a,A,@,{,V,O,aU,aI,E,3,eI,I,i,oU,OI,U,u".Split(","); diff --git a/OpenUtau.Plugin.Builtin/VietnameseCVVCPhonemizer.cs b/OpenUtau.Plugin.Builtin/VietnameseCVVCPhonemizer.cs index a83ce93b9..5f3bfbaef 100644 --- a/OpenUtau.Plugin.Builtin/VietnameseCVVCPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/VietnameseCVVCPhonemizer.cs @@ -1,1374 +1,1398 @@ -using System.Collections.Generic; -using System.Linq; -using OpenUtau.Api; -using OpenUtau.Core.Ustx; - -namespace OpenUtau.Plugin.Builtin { - [Phonemizer("Vietnamese CVVC Phonemizer", "VIE CVVC", "Jani Tran")] - public class VietnameseCVVCPhonemizer : Phonemizer { - /// - /// The lookup table to convert a hiragana to its tail vowel. - /// - static readonly string[] vowels = new string[] { - "a=a,à,á,ả,ã,ạ,ă,ằ,ắ,ẳ,ẵ,ặ,A,À,Á,Ả,Ã,Ạ,Ă,Ằ,Ắ,Ẳ,Ẵ,Ặ", - "A=â,ầ,ấ,ẩ,ẫ,ậ,Â,Ầ,Ấ,Ẩ,Ẫ,Ậ", - "@=ơ,ờ,ớ,ở,ỡ,ợ,Ơ,Ờ,Ớ,Ở,Ỡ,Ợ,@", - "i=i,y,ì,í,ỉ,ĩ,ị,ỳ,ý,ỷ,ỹ,ỵ,I,Y,Ì,Í,Ỉ,Ĩ,Ị,Ỳ,Ý,Ỷ,Ỹ,Ỵ", - "e=e,è,é,ẻ,ẽ,ẹ,E,È,É,Ẻ,Ẽ,Ẹ", - "E=ê,ề,ế,ể,ễ,ệ,Ê,Ề,Ế,Ể,Ễ,Ệ", - "o=o,ò,ó,ỏ,õ,ọ,O,Ò,Ó,Ỏ,Õ,Ọ", - "O=ô,ồ,ố,ổ,ỗ,ộ,Ô,Ồ,Ố,Ổ,Ỗ,Ộ", - "u=u,ù,ú,ủ,ũ,ụ,U,Ù,Ú,Ủ,Ũ,Ụ", - "U=ư,ừ,ứ,ử,ữ,ự,Ư,Ừ,Ứ,Ử,Ữ,Ự", - "m=m,M", - "n=n,N", - "ng=g,G", - "nh=h,H", - "-=c,C,t,T,-,p,P,R", - }; - - static readonly Dictionary vowelLookup; - - static VietnameseCVVCPhonemizer() { - vowelLookup = vowels.ToList() - .SelectMany(line => { - var parts = line.Split('='); - return parts[1].Split(',').Select(cv => (cv, parts[0])); - }) - .ToDictionary(t => t.Item1, t => t.Item2); - } - - private USinger singer; - - public override void SetSinger(USinger singer) => this.singer = singer; - - public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevNeighbour, Note? nextNeighbour, Note[] prevNeighbours) { - var note = notes[0]; - if (!string.IsNullOrEmpty(note.phoneticHint)) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { - phoneme = note.phoneticHint, - } - }, - }; - } - int totalDuration = notes.Sum(n => n.duration); - int Short = totalDuration * 4 / 6; - int Long = totalDuration / 6; - int Medium = totalDuration / 3; - int VCP = -60; - int End = totalDuration - 30; - int ViTri = Short; - bool a; - bool NoNext = nextNeighbour == null && note.lyric != "R"; - var loi = note.lyric; - if (note.lyric.StartsWith("?")) { - } else { - if (note.lyric != "R") { - loi = note.lyric.ToLower(); - note.lyric = note.lyric.ToLower(); - } - } - note.lyric = note.lyric.Replace('à', 'a').Replace('á', 'a').Replace('ả', 'a').Replace('ã', 'a').Replace('ạ', 'a'); - note.lyric = note.lyric.Replace('ằ', 'ă').Replace('ắ', 'ă').Replace('ẳ', 'ă').Replace('ẵ', 'ă').Replace('ặ', 'ă'); - note.lyric = note.lyric.Replace('ầ', 'â').Replace('ấ', 'â').Replace('ẩ', 'â').Replace('ẫ', 'â').Replace('ậ', 'â'); - note.lyric = note.lyric.Replace('ờ', 'ơ').Replace('ớ', 'ơ').Replace('ở', 'ơ').Replace('ỡ', 'ơ').Replace('ợ', 'ơ'); - note.lyric = note.lyric.Replace('ì', 'i').Replace('í', 'i').Replace('ỉ', 'i').Replace('ĩ', 'i').Replace('ị', 'i'); - note.lyric = note.lyric.Replace('ỳ', 'y').Replace('ý', 'y').Replace('ỷ', 'y').Replace('ỹ', 'y').Replace('ỵ', 'y'); - note.lyric = note.lyric.Replace('è', 'e').Replace('é', 'e').Replace('ẻ', 'e').Replace('ẽ', 'e').Replace('ẹ', 'e'); - note.lyric = note.lyric.Replace('ề', 'ê').Replace('ế', 'ê').Replace('ể', 'ê').Replace('ễ', 'ê').Replace('ệ', 'ê'); - note.lyric = note.lyric.Replace('ò', 'o').Replace('ó', 'o').Replace('ỏ', 'o').Replace('õ', 'o').Replace('ọ', 'o'); - note.lyric = note.lyric.Replace('ồ', 'ô').Replace('ố', 'ô').Replace('ổ', 'ô').Replace('ỗ', 'ô').Replace('ộ', 'ô'); - note.lyric = note.lyric.Replace('ù', 'u').Replace('ú', 'u').Replace('ủ', 'u').Replace('ũ', 'u').Replace('ụ', 'u'); - note.lyric = note.lyric.Replace('ừ', 'ư').Replace('ứ', 'ư').Replace('ử', 'ư').Replace('ữ', 'ư').Replace('ự', 'ư'); - if (note.lyric == "quôc") { - note.lyric = "quâc"; - } - if (note.lyric != "gi") { - loi = note.lyric.Replace('à', 'a').Replace('á', 'a').Replace('ả', 'a').Replace('ã', 'a').Replace('ạ', 'a'); - loi = note.lyric.Replace('ằ', 'ă').Replace('ắ', 'ă').Replace('ẳ', 'ă').Replace('ẵ', 'ă').Replace('ặ', 'ă'); - loi = note.lyric.Replace('ầ', 'â').Replace('ấ', 'â').Replace('ẩ', 'â').Replace('ẫ', 'â').Replace('ậ', 'â'); - loi = note.lyric.Replace('ờ', 'ơ').Replace('ớ', 'ơ').Replace('ở', 'ơ').Replace('ỡ', 'ơ').Replace('ợ', 'ơ'); - loi = note.lyric.Replace('ì', 'i').Replace('í', 'i').Replace('ỉ', 'i').Replace('ĩ', 'i').Replace('ị', 'i'); - loi = note.lyric.Replace('ỳ', 'y').Replace('ý', 'y').Replace('ỷ', 'y').Replace('ỹ', 'y').Replace('ỵ', 'y'); - loi = note.lyric.Replace('è', 'e').Replace('é', 'e').Replace('ẻ', 'e').Replace('ẽ', 'e').Replace('ẹ', 'e'); - loi = note.lyric.Replace('ề', 'ê').Replace('ế', 'ê').Replace('ể', 'ê').Replace('ễ', 'ê').Replace('ệ', 'ê'); - loi = note.lyric.Replace('ò', 'o').Replace('ó', 'o').Replace('ỏ', 'o').Replace('õ', 'o').Replace('ọ', 'o'); - loi = note.lyric.Replace('ồ', 'ô').Replace('ố', 'ô').Replace('ổ', 'ô').Replace('ỗ', 'ô').Replace('ộ', 'ô'); - loi = note.lyric.Replace('ù', 'u').Replace('ú', 'u').Replace('ủ', 'u').Replace('ũ', 'u').Replace('ụ', 'u'); - loi = note.lyric.Replace('ừ', 'ư').Replace('ứ', 'ư').Replace('ử', 'ư').Replace('ữ', 'ư').Replace('ự', 'ư'); - loi = note.lyric.Replace("ch", "C").Replace("d", "z").Replace("đ", "d").Replace("ph", "f").Replace("ch", "C") - .Replace("gi", "z").Replace("gh", "g").Replace("c", "k").Replace("kh", "K").Replace("ng", "N") - .Replace("ngh", "N").Replace("nh", "J").Replace("x", "s").Replace("tr", "Z").Replace("th", "T") - .Replace("q", "k").Replace("r", "z"); - } else - loi = "zi"; - bool tontaiVVC = (loi.EndsWith("iên") || loi.EndsWith("iêN") || loi.EndsWith("iêm") || loi.EndsWith("iêt") || loi.EndsWith("iêk") || loi.EndsWith("iêp") || loi.EndsWith("iêu") - || loi.EndsWith("yên") || loi.EndsWith("yêN") || loi.EndsWith("yêm") || loi.EndsWith("yêt") || loi.EndsWith("yêk") || loi.EndsWith("yêp") || loi.EndsWith("yêu") - || loi.EndsWith("uôn") || loi.EndsWith("uôN") || loi.EndsWith("uôm") || loi.EndsWith("uôt") || loi.EndsWith("uôk") || loi.EndsWith("uôi") - || loi.EndsWith("ươn") || loi.EndsWith("ươN") || loi.EndsWith("ươm") || loi.EndsWith("ươt") || loi.EndsWith("ươk") || loi.EndsWith("ươp") || loi.EndsWith("ươi")); - bool koVVCchia; - if (tontaiVVC == true) { - koVVCchia = false; - } else - koVVCchia = true; - bool tontaiCcuoi = (loi.EndsWith("k") || loi.EndsWith("t") || loi.EndsWith("C") || loi.EndsWith("p")); - bool tontaiC = (loi.StartsWith("b") || loi.StartsWith("C") || loi.StartsWith("d") || loi.StartsWith("f") - || loi.StartsWith("g") || loi.StartsWith("h") || loi.StartsWith("k") || loi.StartsWith("K") - || loi.StartsWith("l") || loi.StartsWith("m") || loi.StartsWith("n") || loi.StartsWith("N") - || loi.StartsWith("J") || loi.StartsWith("r") || loi.StartsWith("s") || loi.StartsWith("t") - || loi.StartsWith("T") || loi.StartsWith("Z") || loi.StartsWith("v") || loi.StartsWith("w") - || loi.StartsWith("z") || loi.StartsWith("p")); - bool kocoC; - if (tontaiC == true) { - kocoC = false; - } else - kocoC = true; - bool BR = note.lyric.StartsWith("breath"); - bool tontaiVV = (loi.EndsWith("ai") || loi.EndsWith("ơi") || loi.EndsWith("oi") || loi.EndsWith("ôi") || loi.EndsWith("ui") || loi.EndsWith("ưi") - || loi.EndsWith("ao") || loi.EndsWith("eo") || loi.EndsWith("êu") || loi.EndsWith("iu") - || loi.EndsWith("an") || loi.EndsWith("ơn") || loi.EndsWith("in") || loi.EndsWith("en") || loi.EndsWith("ên") || loi.EndsWith("on") || loi.EndsWith("ôn") || loi.EndsWith("un") || loi.EndsWith("ưn") - || loi.EndsWith("am") || loi.EndsWith("ơm") || loi.EndsWith("im") || loi.EndsWith("em") || loi.EndsWith("êm") || loi.EndsWith("om") || loi.EndsWith("ôm") || loi.EndsWith("um") || loi.EndsWith("ưm") - || loi.EndsWith("aN") || loi.EndsWith("ơN") || loi.EndsWith("iN") || loi.EndsWith("eN") || loi.EndsWith("êN") || loi.EndsWith("ưN") - || loi.EndsWith("aJ") || loi.EndsWith("iJ") || loi.EndsWith("êJ") - || loi.EndsWith("at") || loi.EndsWith("ơt") || loi.EndsWith("it") || loi.EndsWith("et") || loi.EndsWith("êt") || loi.EndsWith("ot") || loi.EndsWith("ôt") || loi.EndsWith("ut") || loi.EndsWith("ưt") - || loi.EndsWith("aC") || loi.EndsWith("iC") || loi.EndsWith("êC") - || loi.EndsWith("ak") || loi.EndsWith("ơk") || loi.EndsWith("ik") || loi.EndsWith("ek") || loi.EndsWith("êk") || loi.EndsWith("ok") || loi.EndsWith("ôk") || loi.EndsWith("uk") || loi.EndsWith("ưk") - || loi.EndsWith("ap") || loi.EndsWith("ơp") || loi.EndsWith("ip") || loi.EndsWith("ep") || loi.EndsWith("êp") || loi.EndsWith("op") || loi.EndsWith("ôp") || loi.EndsWith("up") || loi.EndsWith("ưp") - || loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa") - || loi.EndsWith("ay") || loi.EndsWith("ây") || loi.EndsWith("uy") - || loi.EndsWith("au") || loi.EndsWith("âu") - || loi.EndsWith("oa") || loi.EndsWith("oe") || loi.EndsWith("uê")); - bool ViTriNgan = (loi.EndsWith("ai") || loi.EndsWith("ơi") || loi.EndsWith("oi") || loi.EndsWith("ôi") || loi.EndsWith("ui") || loi.EndsWith("ưi") - || loi.EndsWith("ao") || loi.EndsWith("eo") || loi.EndsWith("êu") || loi.EndsWith("iu") - || loi.EndsWith("an") || loi.EndsWith("ơn") || loi.EndsWith("in") || loi.EndsWith("en") || loi.EndsWith("ên") || loi.EndsWith("on") || loi.EndsWith("ôn") || loi.EndsWith("un") || loi.EndsWith("ưn") - || loi.EndsWith("am") || loi.EndsWith("ơm") || loi.EndsWith("im") || loi.EndsWith("em") || loi.EndsWith("êm") || loi.EndsWith("om") || loi.EndsWith("ôm") || loi.EndsWith("um") || loi.EndsWith("ưm") - || loi.EndsWith("aN") || loi.EndsWith("ơN") || loi.EndsWith("iN") || loi.EndsWith("eN") || loi.EndsWith("êN") || loi.EndsWith("ưN") - || loi.EndsWith("at") || loi.EndsWith("ơt") || loi.EndsWith("it") || loi.EndsWith("et") || loi.EndsWith("êt") || loi.EndsWith("ot") || loi.EndsWith("ôt") || loi.EndsWith("ut") || loi.EndsWith("ưt") - || loi.EndsWith("ak") || loi.EndsWith("ơk") || loi.EndsWith("ik") || loi.EndsWith("ek") || loi.EndsWith("êk") || loi.EndsWith("ok") || loi.EndsWith("ôk") || loi.EndsWith("uk") || loi.EndsWith("ưk") - || loi.EndsWith("ap") || loi.EndsWith("ơp") || loi.EndsWith("ip") || loi.EndsWith("ep") || loi.EndsWith("êp") || loi.EndsWith("op") || loi.EndsWith("ôp") || loi.EndsWith("up") || loi.EndsWith("ưp") - || loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa") || loi.EndsWith("uôN") - || loi.EndsWith("yt") || loi.EndsWith("yn") || loi.EndsWith("ym") || loi.EndsWith("yC") || loi.EndsWith("yp") || loi.EndsWith("yk") || loi.EndsWith("yN") - || loi.EndsWith("uya") && (note.lyric != "qua")); - bool ViTriDai = (loi.EndsWith("ay") || loi.EndsWith("ây") || loi.EndsWith("uy") - || loi.EndsWith("au") || loi.EndsWith("âu") - || loi.EndsWith("oa") || loi.EndsWith("oe") || loi.EndsWith("uê") || note.lyric.EndsWith("qua")); - bool ViTriTB = loi.EndsWith("ăt") || loi.EndsWith("ât") - || loi.EndsWith("ăk") || loi.EndsWith("âk") - || loi.EndsWith("ăp") || loi.EndsWith("âp") - || loi.EndsWith("ăn") || loi.EndsWith("ân") - || loi.EndsWith("ăN") || loi.EndsWith("âN") - || loi.EndsWith("ăm") || loi.EndsWith("âm") - || loi.EndsWith("aJ") || loi.EndsWith("iJ") || loi.EndsWith("êJ") || loi.EndsWith("yJ") - || loi.EndsWith("aC") || loi.EndsWith("iC") || loi.EndsWith("êC") || loi.EndsWith("yC") - || loi.EndsWith("ôN") || loi.EndsWith("uN") || loi.EndsWith("oN"); - if (ViTriTB) { - ViTri = Medium; - } - if (ViTriNgan) { - ViTri = Short; - } - if (ViTriDai) { - ViTri = Long; - } - var dem = loi.Length; - var phoneme = ""; - // 1 kí tự - if (note.lyric.StartsWith("?")) { - phoneme = note.lyric.Substring(1); - } else { - if (dem == 1) { - string N = loi; - N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") - .Replace("Z", "tr").Replace("T", "th"); - if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"-{N}" }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } - } else - phoneme = $"-{N}"; - } - // 2 kí tự CV, ví dụ: "ba" - if ((dem == 2) && tontaiC) { - string N = loi; - string N2 = loi.Substring(1, 1); - N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") - .Replace("Z", "tr").Replace("T", "th"); - N2 = N2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{N}" }, - new Phoneme { phoneme = $"{N2}-", position = End }, - } - }; - } - } else - phoneme = $"{N}"; - } - // 2 kí tự VV, ví dụ: "oa" - if ((dem == 2) && kocoC) { - string V1 = loi.Substring(0, 1); - string V2 = loi.Substring(1, 1); - if (loi.EndsWith("oa") || loi.EndsWith("oe")) { - V1 = "u"; - } - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U") - .Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - a = (loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa")); - if (a) { - V2 = "A"; - } - if (note.lyric == "ao" || note.lyric == "eo") { - V2 = "u"; - } - string N = V2; - if (V1 + V2 == "Ong" || V1 + V2 == "ung" || V1 + V2 == "ong") { - N = "m"; - } - if (NoNext && tontaiCcuoi) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"-{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - } - }; - } - } else if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"-{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } - } else if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"-{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - } - }; - } - } - // 3 kí tự VVC/VVV chia 3 nốt, ví dụ: "oát" "oan" "oai" - if ((dem == 3) && koVVCchia && kocoC) { - string V1 = loi.Substring(0, 1); - string V2 = loi.Substring(1, 1); - string V3 = loi.Substring(2, 1); - if (loi.StartsWith("oa") || loi.StartsWith("oe")) { - V1 = "u"; - } - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - V3 = V3.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - string N = V3; - if (V2 + V3 == "Ong" || V2 + V3 == "ung" || V2 + V3 == "ong") { - N = "m"; - } - if (ViTriDai) { - ViTri = Medium; - } - if (NoNext && tontaiCcuoi) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"-{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{V2}{V3}", position = ViTri }, - } - }; - } - } else if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"-{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{V2}{V3}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } - } else if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"-{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{V2}{V3}", position = ViTri }, - } - }; - } - } - // 3 kí tự VVV/VVC chia 2 nốt, ví dụ: "yên" "ướt" - if ((dem == 3) && tontaiVVC && kocoC) { - string V1 = loi.Substring(0, 1); - string VVC = loi.Substring(0); - string C = loi.Substring(2); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - C = C.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (NoNext && tontaiCcuoi) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"-{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - } else if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"-{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{C}-", position = End }, - } - }; - } - } else if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"-{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - } - // 3 kí tự CVV/CVC, ví dụ: "hoa" "hang" "hát" - if (dem == 3 && tontaiC) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string V2 = loi.Substring(2); - if (loi.EndsWith("oa") || loi.EndsWith("oe")) { - V1 = "u"; - } - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U") - .Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - a = (loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa")); - if (a && note.lyric != "qua") { - V2 = "A"; - } - if (note.lyric.EndsWith("ao") || note.lyric.EndsWith("eo")) { - V2 = "u"; - } - string N = V2; - if (V1 + V2 == "Ong" || V1 + V2 == "ung" || V1 + V2 == "ong") { - N = "m"; - } - if (NoNext && tontaiCcuoi) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - } - }; - } - } else if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } - } else if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - } - }; - } - } - // 4 kí tự VVVC có VVC liền, chia 3 nốt, ví dụ "uyết" "uyên" - if (dem == 4 && kocoC && tontaiVVC) { - string V1 = loi.Substring(0, 1); - string V2 = loi.Substring(1, 1); - string VVC = loi.Substring(1); - string C = loi.Substring(3); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - C = C.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (ViTriNgan) { - ViTri = Short; - } else { - ViTri = Medium; - } - if (NoNext && tontaiCcuoi) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"-{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - } else if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"-{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{C}-", position = End }, - } - }; - } - } else if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"-{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - } - // 4 kí tự CVVC, có VVC liền, chia 2 nốt, ví dụ "thiết" "tiên" - if (dem == 4 && tontaiVVC && tontaiC) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string VVC = loi.Substring(1); - string C2 = loi.Substring(3); - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - C2 = C2.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (NoNext && tontaiCcuoi) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - } else if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{C2}-", position = End }, - } - }; - } - } else if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - } - // 4 kí tự CVVC/CVVV, chia 3 nốt, ví dụ "thoát" "toan" "toại" - if (dem == 4 && tontaiC) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string V2 = loi.Substring(2, 1); - string VC = loi.Substring(2); - string N = loi.Substring(3); - if (V1 + V2 == "oa" || V1 + V2 == "oe") { - V1 = "u"; - } - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - VC = VC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (ViTriNgan) { - ViTri = Short; - } else { - ViTri = Medium; - } - if (NoNext && tontaiCcuoi) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - } - }; - } - } else if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } - } else if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - } - }; - } - } - // 5 kí tự CVVVC, có VVC liền, chia 3 nốt, ví dụ "thuyết" - if (dem == 5 && tontaiVVC && tontaiC) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string V2 = loi.Substring(2, 1); - string VVC = loi.Substring(2); - string N = loi.Substring(4); - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - N = N.Replace("N", "ng").Replace("J", "nh"); - if (ViTriNgan) { - ViTri = Short; - } else { - ViTri = Medium; - } - if (NoNext && tontaiCcuoi) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - } else if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } - } else if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - } - if (BR) { - string num = loi.Substring(5); - if (num == "") { - num = "1"; - } - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"breath{num}" }, - } - }; - } - } - } - if (prevNeighbour != null) { - var lyric = prevNeighbour?.phoneticHint ?? prevNeighbour?.lyric; - var unicode = ToUnicodeElements(lyric); - if (vowelLookup.TryGetValue(unicode.LastOrDefault() ?? string.Empty, out var vow)) { - string PR = prevNeighbour?.lyric; - if (PR.StartsWith("?")) { - vow = PR.Substring(PR.Length - 1, 1); - if (PR.EndsWith("nh")) { - vow = "nh"; - } - if (PR.EndsWith("ng")) { - vow = "ng"; - } - if (PR.EndsWith("ch") || PR.EndsWith("t") || PR.EndsWith("k") || PR.EndsWith("p")) { - vow = "-"; - } - } - if (PR != "R") { - PR = PR.ToLower(); - } - if (PR == "gi") { - PR = "zi"; - } - PR = PR.Replace('à', 'a').Replace('á', 'a').Replace('ả', 'a').Replace('ã', 'a').Replace('ạ', 'a'); - PR = PR.Replace('ằ', 'ă').Replace('ắ', 'ă').Replace('ẳ', 'ă').Replace('ẵ', 'ă').Replace('ặ', 'ă'); - PR = PR.Replace('ầ', 'â').Replace('ấ', 'â').Replace('ẩ', 'â').Replace('ẫ', 'â').Replace('ậ', 'â'); - PR = PR.Replace('ờ', 'ơ').Replace('ớ', 'ơ').Replace('ở', 'ơ').Replace('ỡ', 'ơ').Replace('ợ', 'ơ'); - PR = PR.Replace('ì', 'i').Replace('í', 'i').Replace('ỉ', 'i').Replace('ĩ', 'i').Replace('ị', 'i'); - PR = PR.Replace('ỳ', 'y').Replace('ý', 'y').Replace('ỷ', 'y').Replace('ỹ', 'y').Replace('ỵ', 'y'); - PR = PR.Replace('è', 'e').Replace('é', 'e').Replace('ẻ', 'e').Replace('ẽ', 'e').Replace('ẹ', 'e'); - PR = PR.Replace('ề', 'ê').Replace('ế', 'ê').Replace('ể', 'ê').Replace('ễ', 'ê').Replace('ệ', 'ê'); - PR = PR.Replace('ò', 'o').Replace('ó', 'o').Replace('ỏ', 'o').Replace('õ', 'o').Replace('ọ', 'o'); - PR = PR.Replace('ồ', 'ô').Replace('ố', 'ô').Replace('ổ', 'ô').Replace('ỗ', 'ô').Replace('ộ', 'ô'); - PR = PR.Replace('ù', 'u').Replace('ú', 'u').Replace('ủ', 'u').Replace('ũ', 'u').Replace('ụ', 'u'); - PR = PR.Replace('ừ', 'ư').Replace('ứ', 'ư').Replace('ử', 'ư').Replace('ữ', 'ư').Replace('ự', 'ư'); - PR = PR.Replace("ch", "C").Replace("d", "z").Replace("đ", "d").Replace("ph", "f").Replace("ch", "C") - .Replace("gi", "z").Replace("gh", "g").Replace("c", "k").Replace("kh", "K").Replace("ng", "N") - .Replace("ngh", "N").Replace("nh", "J").Replace("x", "s").Replace("tr", "Z").Replace("th", "T") - .Replace("qu", "w"); - a = (PR.EndsWith("ua") || PR.EndsWith("ưa") || PR.EndsWith("ia") || PR.EndsWith("uya")); - if (a) { - vow = "A"; - } - a = (PR.EndsWith("uN") || PR.EndsWith("ôN") || PR.EndsWith("oN")); - if (PR.EndsWith("uôN")) { - vow = "ng"; - } else if (a) { - vow = "m"; - } - a = (PR.EndsWith("breaT")); - if (a) { - vow = "-"; - } - if (PR.EndsWith("ao") || PR.EndsWith("eo")) { - vow = "u"; - } - bool prevtontaiCcuoi = (PR.EndsWith("t") || PR.EndsWith("C") || PR.EndsWith("p") || PR.EndsWith("k")); - bool prevkocoCcuoi; - bool Cvoiced = PR.EndsWith("J") || PR.EndsWith("n") || PR.EndsWith("m") || PR.EndsWith("N"); - if (prevtontaiCcuoi == true) { - prevkocoCcuoi = false; - } else prevkocoCcuoi = true; - if (note.lyric.StartsWith("?")) { - phoneme = note.lyric.Substring(1); - } else { - // 1 kí tự - if (dem == 1) { - if (NoNext) { - string N = loi; - N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") - .Replace("Z", "tr").Replace("T", "th"); - if (Cvoiced && note.lyric != "-") { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {N}" }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } else { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow}{N}" }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } - } else if (Cvoiced && note.lyric != "-") { - phoneme = $"{vow} {loi}"; - phoneme = phoneme.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") - .Replace("Z", "tr").Replace("T", "th"); - } else { - phoneme = $"{vow}{loi}"; - phoneme = phoneme.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") - .Replace("Z", "tr").Replace("T", "th"); - } - - } - // R - if (loi == "R") { - phoneme = $"{vow} R"; - } - // 2 kí tự CV, ví dụ: "ba" - if ((dem == 2) && tontaiC) { - string C = loi.Substring(0, 1); - string V = loi.Substring(1, 1); - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V = V.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - if (prevkocoCcuoi && NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V}" }, - new Phoneme { phoneme = $"{V}-", position = End }, - } - }; - } else if (prevkocoCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V}" }, - } - }; - } else if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V}" }, - new Phoneme { phoneme = $"{V}-", position = End }, - } - }; - } else return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V}" }, - } - }; - } - - // 2 kí tự VV/VC, ví dụ: "oa" "át" - if ((dem == 2) && kocoC) { - string V1 = loi.Substring(0, 1); - string V2 = loi.Substring(1, 1); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U") - .Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - a = (loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa")); - if (a) { - V2 = "A"; - } - if (loi.EndsWith("oa") || loi.EndsWith("oe")) { - V1 = "u"; - } - if (note.lyric == "ao" || note.lyric == "eo") { - V2 = "u"; - } - string N = V2; - if (V1 + V2 == "Ong" || V1 + V2 == "ung" || V1 + V2 == "ong") { - N = "m"; - } - if (NoNext && Cvoiced && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - } - }; - } else if (NoNext && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - } - }; - } else if (NoNext && Cvoiced) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } else if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } else if (Cvoiced && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - } - }; - } else if (Cvoiced) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - } - }; - } else return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - } - }; - } - // 3 kí tự VVC chia 3 nốt, ví dụ: "oát" "oan" "oai" - if ((dem == 3) && koVVCchia && kocoC) { - string V1 = loi.Substring(0, 1); - string V2 = loi.Substring(1, 1); - string VC = loi.Substring(1); - string N = loi.Substring(2); - if (loi.StartsWith("oa") || loi.StartsWith("oe")) { - V1 = "u"; - } - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - VC = VC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (ViTriDai) { - ViTri = Medium; - } - if (NoNext && Cvoiced && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - } - }; - } else if (NoNext && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - } - }; - } else if (NoNext && Cvoiced) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } else if (Cvoiced && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - } - }; - } else if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } else return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - } - }; - } - // 3 kí tự VVV/VVC chia 2 nốt, ví dụ: "yên" "ướt" - if ((dem == 3) && tontaiVVC && kocoC) { - string V1 = loi.Substring(0, 1); - string VVC = loi.Substring(0); - string N = loi.Substring(2); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (NoNext && Cvoiced && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (NoNext && Cvoiced) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } else if (NoNext && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (Cvoiced && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } else return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - // 3 kí tự CVC/CVV, ví dụ: "hát" "hoa" - if (dem == 3 && tontaiC) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string V2 = loi.Substring(2); - a = (loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa")); - if (a && note.lyric != "qua") { - V2 = "A"; - } - if (loi.EndsWith("oa") || loi.EndsWith("oe")) { - V1 = "u"; - } - if (note.lyric.EndsWith("ao") || note.lyric.EndsWith("eo")) { - V2 = "u"; - } - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U") - .Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - string N = V2; - if (V1 + V2 == "Ong" || V1 + V2 == "ung" || V1 + V2 == "ong") { - N = "m"; - } - if (NoNext && prevkocoCcuoi && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - } - }; - } else if (NoNext && prevkocoCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } else if (NoNext && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - } - }; - } else if (prevkocoCcuoi && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - } - }; - } else if (prevkocoCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - } - }; - } else if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } else return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - } - }; - } - // 4 kí tự VVVC có VVC liền, chia 3 nốt, ví dụ "uyết" "uyên" - if (dem == 4 && kocoC && tontaiVVC) { - string V1 = loi.Substring(0, 1); - string V2 = loi.Substring(1, 1); - string VVC = loi.Substring(1); - string N = loi.Substring(3); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (ViTriNgan) { - ViTri = Short; - } else { - ViTri = Medium; - } - if (NoNext && Cvoiced && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (NoNext && Cvoiced) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } else if (NoNext && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (Cvoiced && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } else if (Cvoiced) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - // 4 kí tự CVVC, có VVC liền, chia 2 nốt, ví dụ "thiết" "tiên" - if (dem == 4 && tontaiVVC && tontaiC) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string VVC = loi.Substring(1); - string N = loi.Substring(3); - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (NoNext && prevkocoCcuoi && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (NoNext && prevkocoCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } else if (NoNext && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (prevkocoCcuoi && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (prevkocoCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - // 4 kí tự CVVC/CVVV, chia 3 nốt, ví dụ "thoát" "thoai" - if (dem == 4 && tontaiC) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string V2 = loi.Substring(2, 1); - string VC = loi.Substring(2); - string N = loi.Substring(3); - if (V1 + V2 == "oa" || V1 + V2 == "oe") { - V1 = "u"; - } - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - VC = VC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (ViTriNgan) { - ViTri = Short; - } else { - ViTri = Medium; - } - if (NoNext && prevkocoCcuoi && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - } - }; - } else if (NoNext && prevkocoCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } else if (NoNext && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - } - }; - } else if (tontaiCcuoi && prevkocoCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - } - }; - } else if (prevkocoCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - } - }; - } else if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } else return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - } - }; - } - // 5 kí tự CVVVC, có VVC liền, chia 3 nốt, ví dụ "thuyết" - if (dem == 5 && tontaiVVC && tontaiC) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string V2 = loi.Substring(2, 1); - string VVC = loi.Substring(2); - string N = loi.Substring(4); - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (ViTriNgan) { - ViTri = Short; - } else { - ViTri = Medium; - } - if (NoNext && prevkocoCcuoi && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (NoNext && prevkocoCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } else if (NoNext && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (prevkocoCcuoi && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (prevkocoCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}", position = VCP }, - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{N}-", position = End }, - } - }; - } else return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - if (BR) { - string num = loi.Substring(5); - if (num == "") { - num = "1"; - } - if (vow == "-") { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"breath{num}" }, - } - }; - } else return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow}-", position = -60 }, - new Phoneme { phoneme = $"breath{num}" }, - } - }; - } - } - } - } - // Get color - string color = string.Empty; - int toneShift = 0; - if (note.phonemeAttributes != null) { - var attr = note.phonemeAttributes.FirstOrDefault(attr => attr.index == 0); - color = attr.voiceColor; - toneShift = attr.toneShift; - } - if (singer.TryGetMappedOto(phoneme, note.tone + toneShift, color, out var oto)) { - phoneme = oto.Alias; - } else { - phoneme = note.lyric; - } - return new Result { - phonemes = new Phoneme[] { - new Phoneme { - phoneme = phoneme, - } - }, - }; - } - } -} +using System.Collections.Generic; +using System.Linq; +using OpenUtau.Api; +using OpenUtau.Core.Ustx; + +namespace OpenUtau.Plugin.Builtin { + [Phonemizer("Vietnamese CVVC Phonemizer", "VIE CVVC", "Jani Tran", language:"VI")] + public class VietnameseCVVCPhonemizer : Phonemizer { + /// + /// The lookup table to convert a hiragana to its tail vowel. + /// + static readonly string[] vowels = new string[] { + "a=a,à,á,ả,ã,ạ,ă,ằ,ắ,ẳ,ẵ,ặ,A,À,Á,Ả,Ã,Ạ,Ă,Ằ,Ắ,Ẳ,Ẵ,Ặ", + "A=â,ầ,ấ,ẩ,ẫ,ậ,Â,Ầ,Ấ,Ẩ,Ẫ,Ậ", + "@=ơ,ờ,ớ,ở,ỡ,ợ,Ơ,Ờ,Ớ,Ở,Ỡ,Ợ,@", + "i=i,y,ì,í,ỉ,ĩ,ị,ỳ,ý,ỷ,ỹ,ỵ,I,Y,Ì,Í,Ỉ,Ĩ,Ị,Ỳ,Ý,Ỷ,Ỹ,Ỵ", + "e=e,è,é,ẻ,ẽ,ẹ,E,È,É,Ẻ,Ẽ,Ẹ", + "E=ê,ề,ế,ể,ễ,ệ,Ê,Ề,Ế,Ể,Ễ,Ệ", + "o=o,ò,ó,ỏ,õ,ọ,O,Ò,Ó,Ỏ,Õ,Ọ", + "O=ô,ồ,ố,ổ,ỗ,ộ,Ô,Ồ,Ố,Ổ,Ỗ,Ộ", + "u=u,ù,ú,ủ,ũ,ụ,U,Ù,Ú,Ủ,Ũ,Ụ", + "U=ư,ừ,ứ,ử,ữ,ự,Ư,Ừ,Ứ,Ử,Ữ,Ự", + "m=m,M", + "n=n,N", + "ng=g,G", + "nh=h,H", + "-=c,C,t,T,-,p,P,R", + }; + + static readonly Dictionary vowelLookup; + + static VietnameseCVVCPhonemizer() { + vowelLookup = vowels.ToList() + .SelectMany(line => { + var parts = line.Split('='); + return parts[1].Split(',').Select(cv => (cv, parts[0])); + }) + .ToDictionary(t => t.Item1, t => t.Item2); + } + + private USinger singer; + + public override void SetSinger(USinger singer) => this.singer = singer; + + // Legacy mapping. Might adjust later to new mapping style. + public override bool LegacyMapping => true; + + public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevNeighbour, Note? nextNeighbour, Note[] prevNeighbours) { + var note = notes[0]; + if (!string.IsNullOrEmpty(note.phoneticHint)) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { + phoneme = note.phoneticHint, + } + }, + }; + } + int totalDuration = notes.Sum(n => n.duration); + int Short = totalDuration * 4 / 6; + int Long = totalDuration / 6; + int Medium = totalDuration / 3; + int VCP = -80; + int End = totalDuration - 30; + int ViTri = Short; + bool a; + bool NoNext = nextNeighbour == null && note.lyric != "R"; + var loi = note.lyric; + if (note.lyric.StartsWith("?")) { + } else { + if (note.lyric != "R") { + loi = note.lyric.ToLower(); + note.lyric = note.lyric.ToLower(); + } + } + note.lyric = note.lyric.Replace('à', 'a').Replace('á', 'a').Replace('ả', 'a').Replace('ã', 'a').Replace('ạ', 'a'); + note.lyric = note.lyric.Replace('ằ', 'ă').Replace('ắ', 'ă').Replace('ẳ', 'ă').Replace('ẵ', 'ă').Replace('ặ', 'ă'); + note.lyric = note.lyric.Replace('ầ', 'â').Replace('ấ', 'â').Replace('ẩ', 'â').Replace('ẫ', 'â').Replace('ậ', 'â'); + note.lyric = note.lyric.Replace('ờ', 'ơ').Replace('ớ', 'ơ').Replace('ở', 'ơ').Replace('ỡ', 'ơ').Replace('ợ', 'ơ'); + note.lyric = note.lyric.Replace('ì', 'i').Replace('í', 'i').Replace('ỉ', 'i').Replace('ĩ', 'i').Replace('ị', 'i'); + note.lyric = note.lyric.Replace('ỳ', 'y').Replace('ý', 'y').Replace('ỷ', 'y').Replace('ỹ', 'y').Replace('ỵ', 'y'); + note.lyric = note.lyric.Replace('è', 'e').Replace('é', 'e').Replace('ẻ', 'e').Replace('ẽ', 'e').Replace('ẹ', 'e'); + note.lyric = note.lyric.Replace('ề', 'ê').Replace('ế', 'ê').Replace('ể', 'ê').Replace('ễ', 'ê').Replace('ệ', 'ê'); + note.lyric = note.lyric.Replace('ò', 'o').Replace('ó', 'o').Replace('ỏ', 'o').Replace('õ', 'o').Replace('ọ', 'o'); + note.lyric = note.lyric.Replace('ồ', 'ô').Replace('ố', 'ô').Replace('ổ', 'ô').Replace('ỗ', 'ô').Replace('ộ', 'ô'); + note.lyric = note.lyric.Replace('ù', 'u').Replace('ú', 'u').Replace('ủ', 'u').Replace('ũ', 'u').Replace('ụ', 'u'); + note.lyric = note.lyric.Replace('ừ', 'ư').Replace('ứ', 'ư').Replace('ử', 'ư').Replace('ữ', 'ư').Replace('ự', 'ư'); + if (note.lyric == "quôc") { + note.lyric = "quâc"; + } + if (note.lyric != "gi" && note.lyric != "gin" && note.lyric != "gim" && note.lyric != "ginh" && note.lyric != "ging" && note.lyric != "git" && note.lyric != "gip" && note.lyric != "gic" && note.lyric != "gich") { + loi = note.lyric.Replace('à', 'a').Replace('á', 'a').Replace('ả', 'a').Replace('ã', 'a').Replace('ạ', 'a'); + loi = note.lyric.Replace('ằ', 'ă').Replace('ắ', 'ă').Replace('ẳ', 'ă').Replace('ẵ', 'ă').Replace('ặ', 'ă'); + loi = note.lyric.Replace('ầ', 'â').Replace('ấ', 'â').Replace('ẩ', 'â').Replace('ẫ', 'â').Replace('ậ', 'â'); + loi = note.lyric.Replace('ờ', 'ơ').Replace('ớ', 'ơ').Replace('ở', 'ơ').Replace('ỡ', 'ơ').Replace('ợ', 'ơ'); + loi = note.lyric.Replace('ì', 'i').Replace('í', 'i').Replace('ỉ', 'i').Replace('ĩ', 'i').Replace('ị', 'i'); + loi = note.lyric.Replace('ỳ', 'y').Replace('ý', 'y').Replace('ỷ', 'y').Replace('ỹ', 'y').Replace('ỵ', 'y'); + loi = note.lyric.Replace('è', 'e').Replace('é', 'e').Replace('ẻ', 'e').Replace('ẽ', 'e').Replace('ẹ', 'e'); + loi = note.lyric.Replace('ề', 'ê').Replace('ế', 'ê').Replace('ể', 'ê').Replace('ễ', 'ê').Replace('ệ', 'ê'); + loi = note.lyric.Replace('ò', 'o').Replace('ó', 'o').Replace('ỏ', 'o').Replace('õ', 'o').Replace('ọ', 'o'); + loi = note.lyric.Replace('ồ', 'ô').Replace('ố', 'ô').Replace('ổ', 'ô').Replace('ỗ', 'ô').Replace('ộ', 'ô'); + loi = note.lyric.Replace('ù', 'u').Replace('ú', 'u').Replace('ủ', 'u').Replace('ũ', 'u').Replace('ụ', 'u'); + loi = note.lyric.Replace('ừ', 'ư').Replace('ứ', 'ư').Replace('ử', 'ư').Replace('ữ', 'ư').Replace('ự', 'ư'); + loi = note.lyric.Replace("ch", "C").Replace("d", "z").Replace("đ", "d").Replace("ph", "f").Replace("ch", "C") + .Replace("gi", "z").Replace("gh", "g").Replace("c", "k").Replace("kh", "K").Replace("ng", "N") + .Replace("ngh", "N").Replace("nh", "J").Replace("x", "s").Replace("tr", "Z").Replace("th", "T") + .Replace("q", "k").Replace("r", "z"); + } else { + loi = note.lyric.Replace('ì', 'i').Replace('í', 'i').Replace('ỉ', 'i').Replace('ĩ', 'i').Replace('ị', 'i'); + loi = loi.Replace("gi", "zi").Replace("ng", "N").Replace("nh", "J").Replace("ch", "C").Replace("c", "k"); + } + bool tontaiVVC = (loi.EndsWith("iên") || loi.EndsWith("iêN") || loi.EndsWith("iêm") || loi.EndsWith("iêt") || loi.EndsWith("iêk") || loi.EndsWith("iêp") || loi.EndsWith("iêu") + || loi.EndsWith("yên") || loi.EndsWith("yêN") || loi.EndsWith("yêm") || loi.EndsWith("yêt") || loi.EndsWith("yêk") || loi.EndsWith("yêp") || loi.EndsWith("yêu") + || loi.EndsWith("uôn") || loi.EndsWith("uôN") || loi.EndsWith("uôm") || loi.EndsWith("uôt") || loi.EndsWith("uôk") || loi.EndsWith("uôi") + || loi.EndsWith("ươn") || loi.EndsWith("ươN") || loi.EndsWith("ươm") || loi.EndsWith("ươt") || loi.EndsWith("ươk") || loi.EndsWith("ươp") || loi.EndsWith("ươi")); + bool koVVCchia; + if (tontaiVVC == true) { + koVVCchia = false; + } else + koVVCchia = true; + bool tontaiCcuoi = (loi.EndsWith("k") || loi.EndsWith("t") || loi.EndsWith("C") || loi.EndsWith("p")); + bool tontaiC = (loi.StartsWith("b") || loi.StartsWith("C") || loi.StartsWith("d") || loi.StartsWith("f") + || loi.StartsWith("g") || loi.StartsWith("h") || loi.StartsWith("k") || loi.StartsWith("K") + || loi.StartsWith("l") || loi.StartsWith("m") || loi.StartsWith("n") || loi.StartsWith("N") + || loi.StartsWith("J") || loi.StartsWith("r") || loi.StartsWith("s") || loi.StartsWith("t") + || loi.StartsWith("T") || loi.StartsWith("Z") || loi.StartsWith("v") || loi.StartsWith("w") + || loi.StartsWith("z") || loi.StartsWith("p")); + bool kocoC; + if (tontaiC == true) { + kocoC = false; + } else + kocoC = true; + bool BR = note.lyric.StartsWith("breath"); + bool tontaiVV = (loi.EndsWith("ai") || loi.EndsWith("ơi") || loi.EndsWith("oi") || loi.EndsWith("ôi") || loi.EndsWith("ui") || loi.EndsWith("ưi") + || loi.EndsWith("ao") || loi.EndsWith("eo") || loi.EndsWith("êu") || loi.EndsWith("iu") + || loi.EndsWith("an") || loi.EndsWith("ơn") || loi.EndsWith("in") || loi.EndsWith("en") || loi.EndsWith("ên") || loi.EndsWith("on") || loi.EndsWith("ôn") || loi.EndsWith("un") || loi.EndsWith("ưn") + || loi.EndsWith("am") || loi.EndsWith("ơm") || loi.EndsWith("im") || loi.EndsWith("em") || loi.EndsWith("êm") || loi.EndsWith("om") || loi.EndsWith("ôm") || loi.EndsWith("um") || loi.EndsWith("ưm") + || loi.EndsWith("aN") || loi.EndsWith("ơN") || loi.EndsWith("iN") || loi.EndsWith("eN") || loi.EndsWith("êN") || loi.EndsWith("ưN") + || loi.EndsWith("aJ") || loi.EndsWith("iJ") || loi.EndsWith("êJ") + || loi.EndsWith("at") || loi.EndsWith("ơt") || loi.EndsWith("it") || loi.EndsWith("et") || loi.EndsWith("êt") || loi.EndsWith("ot") || loi.EndsWith("ôt") || loi.EndsWith("ut") || loi.EndsWith("ưt") + || loi.EndsWith("aC") || loi.EndsWith("iC") || loi.EndsWith("êC") + || loi.EndsWith("ak") || loi.EndsWith("ơk") || loi.EndsWith("ik") || loi.EndsWith("ek") || loi.EndsWith("êk") || loi.EndsWith("ok") || loi.EndsWith("ôk") || loi.EndsWith("uk") || loi.EndsWith("ưk") + || loi.EndsWith("ap") || loi.EndsWith("ơp") || loi.EndsWith("ip") || loi.EndsWith("ep") || loi.EndsWith("êp") || loi.EndsWith("op") || loi.EndsWith("ôp") || loi.EndsWith("up") || loi.EndsWith("ưp") + || loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa") + || loi.EndsWith("ay") || loi.EndsWith("ây") || loi.EndsWith("uy") + || loi.EndsWith("au") || loi.EndsWith("âu") + || loi.EndsWith("oa") || loi.EndsWith("oe") || loi.EndsWith("uê")); + bool ViTriNgan = (loi.EndsWith("ai") || loi.EndsWith("ơi") || loi.EndsWith("oi") || loi.EndsWith("ôi") || loi.EndsWith("ui") || loi.EndsWith("ưi") + || loi.EndsWith("ao") || loi.EndsWith("eo") || loi.EndsWith("êu") || loi.EndsWith("iu") + || loi.EndsWith("an") || loi.EndsWith("ơn") || loi.EndsWith("in") || loi.EndsWith("en") || loi.EndsWith("ên") || loi.EndsWith("on") || loi.EndsWith("ôn") || loi.EndsWith("un") || loi.EndsWith("ưn") + || loi.EndsWith("am") || loi.EndsWith("ơm") || loi.EndsWith("im") || loi.EndsWith("em") || loi.EndsWith("êm") || loi.EndsWith("om") || loi.EndsWith("ôm") || loi.EndsWith("um") || loi.EndsWith("ưm") + || loi.EndsWith("aN") || loi.EndsWith("ơN") || loi.EndsWith("iN") || loi.EndsWith("eN") || loi.EndsWith("êN") || loi.EndsWith("ưN") + || loi.EndsWith("at") || loi.EndsWith("ơt") || loi.EndsWith("it") || loi.EndsWith("et") || loi.EndsWith("êt") || loi.EndsWith("ot") || loi.EndsWith("ôt") || loi.EndsWith("ut") || loi.EndsWith("ưt") + || loi.EndsWith("ak") || loi.EndsWith("ơk") || loi.EndsWith("ik") || loi.EndsWith("ek") || loi.EndsWith("êk") || loi.EndsWith("ok") || loi.EndsWith("ôk") || loi.EndsWith("uk") || loi.EndsWith("ưk") + || loi.EndsWith("ap") || loi.EndsWith("ơp") || loi.EndsWith("ip") || loi.EndsWith("ep") || loi.EndsWith("êp") || loi.EndsWith("op") || loi.EndsWith("ôp") || loi.EndsWith("up") || loi.EndsWith("ưp") + || loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa") || loi.EndsWith("uôN") + || loi.EndsWith("yt") || loi.EndsWith("yn") || loi.EndsWith("ym") || loi.EndsWith("yC") || loi.EndsWith("yp") || loi.EndsWith("yk") || loi.EndsWith("yN") + || loi.EndsWith("uya") && (note.lyric != "qua")); + bool ViTriDai = (loi.EndsWith("ay") || loi.EndsWith("ây") || loi.EndsWith("uy") + || loi.EndsWith("au") || loi.EndsWith("âu") + || loi.EndsWith("oa") || loi.EndsWith("oe") || loi.EndsWith("uê") || note.lyric.EndsWith("qua")); + bool ViTriTB = loi.EndsWith("ăt") || loi.EndsWith("ât") + || loi.EndsWith("ăk") || loi.EndsWith("âk") + || loi.EndsWith("ăp") || loi.EndsWith("âp") + || loi.EndsWith("ăn") || loi.EndsWith("ân") + || loi.EndsWith("ăN") || loi.EndsWith("âN") + || loi.EndsWith("ăm") || loi.EndsWith("âm") + || loi.EndsWith("aJ") || loi.EndsWith("iJ") || loi.EndsWith("êJ") || loi.EndsWith("yJ") + || loi.EndsWith("ôN") || loi.EndsWith("uN") || loi.EndsWith("oN") + || loi.EndsWith("aC") || loi.EndsWith("iC") || loi.EndsWith("êC") || loi.EndsWith("yC"); + if (ViTriTB) { + ViTri = Medium; + } + if (ViTriNgan) { + ViTri = Short; + } + if (ViTriDai) { + ViTri = Long; + } + if (loi.EndsWith("uôN")) { + ViTri = Short; + } + var dem = loi.Length; + var phoneme = ""; + // 1 kí tự + if (note.lyric.StartsWith("?")) { + phoneme = note.lyric.Substring(1); + } else { + if (dem == 1) { + string N = loi; + N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") + .Replace("Z", "tr").Replace("T", "th"); + if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"-{N}" }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } + } else + phoneme = $"-{N}"; + } + // 2 kí tự CV, ví dụ: "ba" + if ((dem == 2) && tontaiC) { + string N = loi; + string N2 = loi.Substring(1, 1); + N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") + .Replace("Z", "tr").Replace("T", "th"); + N2 = N2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{N}" }, + new Phoneme { phoneme = $"{N2}-", position = End }, + } + }; + } + } else + phoneme = $"{N}"; + } + // 2 kí tự VV, ví dụ: "oa" + if ((dem == 2) && kocoC) { + string V1 = loi.Substring(0, 1); + string V2 = loi.Substring(1, 1); + if (loi.EndsWith("oa") || loi.EndsWith("oe")) { + V1 = "u"; + } + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U") + .Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + a = (loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa")); + if (a) { + V2 = "A"; + } + if (note.lyric == "ao" || note.lyric == "eo") { + V2 = "u"; + } + string N = V2; + if (V1 + V2 == "Ong" || V1 + V2 == "ung" || V1 + V2 == "ong") { + N = "m"; + } + if (NoNext && tontaiCcuoi) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"-{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + } + }; + } + } else if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"-{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } + } else if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"-{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + } + }; + } + } + // 3 kí tự VVC/VVV chia 3 nốt, ví dụ: "oát" "oan" "oai" + if ((dem == 3) && koVVCchia && kocoC) { + string V1 = loi.Substring(0, 1); + string V2 = loi.Substring(1, 1); + string V3 = loi.Substring(2, 1); + if (loi.StartsWith("oa") || loi.StartsWith("oe")) { + V1 = "u"; + } + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + V3 = V3.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + string N = V3; + if (V2 + V3 == "Ong" || V2 + V3 == "ung" || V2 + V3 == "ong") { + N = "m"; + } + if (ViTriDai) { + ViTri = Medium; + } + if (NoNext && tontaiCcuoi) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"-{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{V2}{V3}", position = ViTri }, + } + }; + } + } else if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"-{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{V2}{V3}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } + } else if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"-{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{V2}{V3}", position = ViTri }, + } + }; + } + } + // 3 kí tự VVV/VVC chia 2 nốt, ví dụ: "yên" "ướt" + if ((dem == 3) && tontaiVVC && kocoC) { + string V1 = loi.Substring(0, 1); + string VVC = loi.Substring(0); + string C = loi.Substring(2); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + C = C.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (NoNext && tontaiCcuoi) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"-{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + } else if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"-{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{C}-", position = End }, + } + }; + } + } else if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"-{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + } + // 3 kí tự CVV/CVC, ví dụ: "hoa" "hang" "hát" + if (dem == 3 && tontaiC) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string V2 = loi.Substring(2); + if (loi.EndsWith("oa") || loi.EndsWith("oe")) { + V1 = "u"; + } + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U") + .Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + a = (loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa")); + if (a && note.lyric != "qua") { + V2 = "A"; + } + if (note.lyric.EndsWith("ao") || note.lyric.EndsWith("eo")) { + V2 = "u"; + } + string N = V2; + if (V1 + V2 == "Ong" || V1 + V2 == "ung" || V1 + V2 == "ong") { + N = "m"; + } + if (NoNext && tontaiCcuoi) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + } + }; + } + } else if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } + } else if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + } + }; + } + } + // 4 kí tự VVVC có VVC liền, chia 3 nốt, ví dụ "uyết" "uyên" + if (dem == 4 && kocoC && tontaiVVC) { + string V1 = loi.Substring(0, 1); + string V2 = loi.Substring(1, 1); + string VVC = loi.Substring(1); + string C = loi.Substring(3); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + C = C.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (ViTriNgan) { + ViTri = Short; + } else { + ViTri = Medium; + } + if (NoNext && tontaiCcuoi) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"-{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + } else if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"-{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{C}-", position = End }, + } + }; + } + } else if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"-{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + } + // 4 kí tự CVVC, có VVC liền, chia 2 nốt, ví dụ "thiết" "tiên" + if (dem == 4 && tontaiVVC && tontaiC) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string VVC = loi.Substring(1); + string C2 = loi.Substring(3); + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + C2 = C2.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (NoNext && tontaiCcuoi) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + } else if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{C2}-", position = End }, + } + }; + } + } else if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + } + // 4 kí tự CVVC/CVVV, chia 3 nốt, ví dụ "thoát" "toan" "toại" + if (dem == 4 && tontaiC) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string V2 = loi.Substring(2, 1); + string VC = loi.Substring(2); + string N = loi.Substring(3); + if (V1 + V2 == "oa" || V1 + V2 == "oe") { + V1 = "u"; + } + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + VC = VC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (ViTriNgan) { + ViTri = Short; + } else { + ViTri = Medium; + } + if (NoNext && tontaiCcuoi) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + } + }; + } + } else if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } + } else if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + } + }; + } + } + // 5 kí tự CVVVC, có VVC liền, chia 3 nốt, ví dụ "thuyết" + if (dem == 5 && tontaiVVC && tontaiC) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string V2 = loi.Substring(2, 1); + string VVC = loi.Substring(2); + string N = loi.Substring(4); + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + N = N.Replace("N", "ng").Replace("J", "nh"); + if (ViTriNgan) { + ViTri = Short; + } else { + ViTri = Medium; + } + if (NoNext && tontaiCcuoi) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + } else if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } + } else if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + } + if (BR) { + string num = loi.Substring(5); + if (num == "") { + num = "1"; + } + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"breath{num}" }, + } + }; + } + } + } + if (prevNeighbour != null) { + var lyric = prevNeighbour?.phoneticHint ?? prevNeighbour?.lyric; + var unicode = ToUnicodeElements(lyric); + if (vowelLookup.TryGetValue(unicode.LastOrDefault() ?? string.Empty, out var vow)) { + string PR = prevNeighbour?.lyric; + if (PR.StartsWith("?")) { + vow = PR.Substring(PR.Length - 1, 1); + if (PR.EndsWith("nh")) { + vow = "nh"; + } + if (PR.EndsWith("ng")) { + vow = "ng"; + } + if (PR.EndsWith("ch") || PR.EndsWith("t") || PR.EndsWith("k") || PR.EndsWith("p")) { + vow = "-"; + } + } + if (PR != "R") { + PR = PR.ToLower(); + } + if (PR == "gi") { + PR = "zi"; + } + PR = PR.Replace('à', 'a').Replace('á', 'a').Replace('ả', 'a').Replace('ã', 'a').Replace('ạ', 'a'); + PR = PR.Replace('ằ', 'ă').Replace('ắ', 'ă').Replace('ẳ', 'ă').Replace('ẵ', 'ă').Replace('ặ', 'ă'); + PR = PR.Replace('ầ', 'â').Replace('ấ', 'â').Replace('ẩ', 'â').Replace('ẫ', 'â').Replace('ậ', 'â'); + PR = PR.Replace('ờ', 'ơ').Replace('ớ', 'ơ').Replace('ở', 'ơ').Replace('ỡ', 'ơ').Replace('ợ', 'ơ'); + PR = PR.Replace('ì', 'i').Replace('í', 'i').Replace('ỉ', 'i').Replace('ĩ', 'i').Replace('ị', 'i'); + PR = PR.Replace('ỳ', 'y').Replace('ý', 'y').Replace('ỷ', 'y').Replace('ỹ', 'y').Replace('ỵ', 'y'); + PR = PR.Replace('è', 'e').Replace('é', 'e').Replace('ẻ', 'e').Replace('ẽ', 'e').Replace('ẹ', 'e'); + PR = PR.Replace('ề', 'ê').Replace('ế', 'ê').Replace('ể', 'ê').Replace('ễ', 'ê').Replace('ệ', 'ê'); + PR = PR.Replace('ò', 'o').Replace('ó', 'o').Replace('ỏ', 'o').Replace('õ', 'o').Replace('ọ', 'o'); + PR = PR.Replace('ồ', 'ô').Replace('ố', 'ô').Replace('ổ', 'ô').Replace('ỗ', 'ô').Replace('ộ', 'ô'); + PR = PR.Replace('ù', 'u').Replace('ú', 'u').Replace('ủ', 'u').Replace('ũ', 'u').Replace('ụ', 'u'); + PR = PR.Replace('ừ', 'ư').Replace('ứ', 'ư').Replace('ử', 'ư').Replace('ữ', 'ư').Replace('ự', 'ư'); + PR = PR.Replace("ch", "C").Replace("d", "z").Replace("đ", "d").Replace("ph", "f").Replace("ch", "C") + .Replace("gi", "z").Replace("gh", "g").Replace("c", "k").Replace("kh", "K").Replace("ng", "N") + .Replace("ngh", "N").Replace("nh", "J").Replace("x", "s").Replace("tr", "Z").Replace("th", "T") + .Replace("qu", "w"); + a = (PR.EndsWith("ua") || PR.EndsWith("ưa") || PR.EndsWith("ia") || PR.EndsWith("uya")); + if (a) { + vow = "A"; + } + a = (PR.EndsWith("uN") || PR.EndsWith("ôN") || PR.EndsWith("oN")); + if (PR.EndsWith("uôN")) { + vow = "ng"; + } else if (a) { + vow = "m"; + } + a = (PR.EndsWith("breaT")); + if (a) { + vow = "-"; + } + if (PR.EndsWith("ao") || PR.EndsWith("eo")) { + vow = "u"; + } + bool prevtontaiCcuoi = (PR.EndsWith("t") || PR.EndsWith("C") || PR.EndsWith("p") || PR.EndsWith("k")); + bool prevkocoCcuoi; + bool Cvoiced = PR.EndsWith("J") || PR.EndsWith("n") || PR.EndsWith("m") || PR.EndsWith("N"); + if (prevtontaiCcuoi == true) { + prevkocoCcuoi = false; + } else prevkocoCcuoi = true; + if (note.lyric.StartsWith("?")) { + phoneme = note.lyric.Substring(1); + } else { + // 1 kí tự + if (dem == 1) { + if (NoNext) { + string N = loi; + N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") + .Replace("Z", "tr").Replace("T", "th"); + if (Cvoiced && note.lyric != "-") { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {N}" }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } else { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow}{N}" }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } + } else if (Cvoiced && note.lyric != "-") { + phoneme = $"{vow} {loi}"; + phoneme = phoneme.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") + .Replace("Z", "tr").Replace("T", "th"); + } else { + phoneme = $"{vow}{loi}"; + phoneme = phoneme.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") + .Replace("Z", "tr").Replace("T", "th"); + } + + } + // R + if (loi == "R") { + phoneme = $"{vow} R"; + } + // 2 kí tự CV, ví dụ: "ba" + if ((dem == 2) && tontaiC) { + string C = loi.Substring(0, 1); + string V = loi.Substring(1, 1); + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V = V.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + if (prevkocoCcuoi && NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V}" }, + new Phoneme { phoneme = $"{V}-", position = End }, + } + }; + } else if (prevkocoCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V}" }, + } + }; + } else if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V}" }, + new Phoneme { phoneme = $"{V}-", position = End }, + } + }; + } else return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V}" }, + } + }; + } + + // 2 kí tự VV/VC, ví dụ: "oa" "át" + if ((dem == 2) && kocoC) { + string V1 = loi.Substring(0, 1); + string V2 = loi.Substring(1, 1); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U") + .Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + a = (loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa")); + if (a) { + V2 = "A"; + } + if (loi.EndsWith("oa") || loi.EndsWith("oe")) { + V1 = "u"; + } + if (note.lyric == "ao" || note.lyric == "eo") { + V2 = "u"; + } + string N = V2; + if (V1 + V2 == "Ong" || V1 + V2 == "ung" || V1 + V2 == "ong") { + N = "m"; + } + if (NoNext && Cvoiced && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + } + }; + } else if (NoNext && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + } + }; + } else if (NoNext && Cvoiced) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } else if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } else if (Cvoiced && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + } + }; + } else if (Cvoiced) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + } + }; + } else return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + } + }; + } + // 3 kí tự VVC chia 3 nốt, ví dụ: "oát" "oan" "oai" + if ((dem == 3) && koVVCchia && kocoC) { + string V1 = loi.Substring(0, 1); + string V2 = loi.Substring(1, 1); + string VC = loi.Substring(1); + string N = loi.Substring(2); + if (loi.StartsWith("oa") || loi.StartsWith("oe")) { + V1 = "u"; + } + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + VC = VC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (ViTriDai) { + ViTri = Medium; + } + if (NoNext && Cvoiced && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + } + }; + } else if (NoNext && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + } + }; + } else if (NoNext && Cvoiced) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } else if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } else if (Cvoiced && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + } + }; + } else if (Cvoiced) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + } + }; + } else return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + } + }; + } + // 3 kí tự VVV/VVC chia 2 nốt, ví dụ: "yên" "ướt" + if ((dem == 3) && tontaiVVC && kocoC) { + string V1 = loi.Substring(0, 1); + string VVC = loi.Substring(0); + string N = loi.Substring(2); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (NoNext && Cvoiced && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (NoNext && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (NoNext && Cvoiced) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + + } else if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } else if (Cvoiced && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (Cvoiced) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + // 3 kí tự CVC/CVV, ví dụ: "hát" "hoa" + if (dem == 3 && tontaiC) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string V2 = loi.Substring(2); + a = (loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa")); + if (a && note.lyric != "qua") { + V2 = "A"; + } + if (loi.EndsWith("oa") || loi.EndsWith("oe")) { + V1 = "u"; + } + if (note.lyric.EndsWith("ao") || note.lyric.EndsWith("eo")) { + V2 = "u"; + } + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U") + .Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + string N = V2; + if (V1 + V2 == "Ong" || V1 + V2 == "ung" || V1 + V2 == "ong") { + N = "m"; + } + if (NoNext && prevkocoCcuoi && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + } + }; + } else if (NoNext && prevkocoCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } else if (NoNext && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + } + }; + } else if (prevkocoCcuoi && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + } + }; + } else if (prevkocoCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + } + }; + } else if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } else return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + } + }; + } + // 4 kí tự VVVC có VVC liền, chia 3 nốt, ví dụ "uyết" "uyên" + if (dem == 4 && kocoC && tontaiVVC) { + string V1 = loi.Substring(0, 1); + string V2 = loi.Substring(1, 1); + string VVC = loi.Substring(1); + string N = loi.Substring(3); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (ViTriNgan) { + ViTri = Short; + } else { + ViTri = Medium; + } + if (NoNext && Cvoiced && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (NoNext && Cvoiced) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } else if (NoNext && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (Cvoiced && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } else if (Cvoiced) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + // 4 kí tự CVVC, có VVC liền, chia 2 nốt, ví dụ "thiết" "tiên" + if (dem == 4 && tontaiVVC && tontaiC) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string VVC = loi.Substring(1); + string N = loi.Substring(3); + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (NoNext && prevkocoCcuoi && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (NoNext && prevkocoCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } else if (NoNext && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (prevkocoCcuoi && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (prevkocoCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + // 4 kí tự CVVC/CVVV, chia 3 nốt, ví dụ "thoát" "thoai" + if (dem == 4 && tontaiC) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string V2 = loi.Substring(2, 1); + string VC = loi.Substring(2); + string N = loi.Substring(3); + if (V1 + V2 == "oa" || V1 + V2 == "oe") { + V1 = "u"; + } + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + VC = VC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (ViTriNgan) { + ViTri = Short; + } else { + ViTri = Medium; + } + if (NoNext && prevkocoCcuoi && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + } + }; + } else if (NoNext && prevkocoCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } else if (NoNext && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + } + }; + } else if (tontaiCcuoi && prevkocoCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + } + }; + } else if (prevkocoCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + } + }; + } else if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } else return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + } + }; + } + // 5 kí tự CVVVC, có VVC liền, chia 3 nốt, ví dụ "thuyết" + if (dem == 5 && tontaiVVC && tontaiC) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string V2 = loi.Substring(2, 1); + string VVC = loi.Substring(2); + string N = loi.Substring(4); + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (ViTriNgan) { + ViTri = Short; + } else { + ViTri = Medium; + } + if (NoNext && prevkocoCcuoi && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (NoNext && prevkocoCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } else if (NoNext && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (prevkocoCcuoi && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (prevkocoCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}", position = VCP }, + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{N}-", position = End }, + } + }; + } else return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + if (BR) { + string num = loi.Substring(5); + if (num == "") { + num = "1"; + } + if (vow == "-") { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"breath{num}" }, + } + }; + } else return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow}-", position = -60 }, + new Phoneme { phoneme = $"breath{num}" }, + } + }; + } + } + } + } + // Get color + string color = string.Empty; + int toneShift = 0; + if (note.phonemeAttributes != null) { + var attr = note.phonemeAttributes.FirstOrDefault(attr => attr.index == 0); + color = attr.voiceColor; + toneShift = attr.toneShift; + } + if (singer.TryGetMappedOto(phoneme, note.tone + toneShift, color, out var oto)) { + phoneme = oto.Alias; + } else { + phoneme = note.lyric; + } + return new Result { + phonemes = new Phoneme[] { + new Phoneme { + phoneme = phoneme, + } + }, + }; + } + } +} diff --git a/OpenUtau.Plugin.Builtin/VietnameseVCVPhonemizer.cs b/OpenUtau.Plugin.Builtin/VietnameseVCVPhonemizer.cs index 51e141ac1..744db85cd 100644 --- a/OpenUtau.Plugin.Builtin/VietnameseVCVPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/VietnameseVCVPhonemizer.cs @@ -1,1195 +1,1203 @@ -using System.Collections.Generic; -using System.Linq; -using OpenUtau.Api; -using OpenUtau.Core.Ustx; - -namespace OpenUtau.Plugin.Builtin { - [Phonemizer("Vietnamese VCV Phonemizer", "VIE VCV", "Jani Tran")] - public class VietnameseVCVPhonemizer : Phonemizer { - /// - /// The lookup table to convert a hiragana to its tail vowel. - /// - static readonly string[] vowels = new string[] { - "a=a,à,á,ả,ã,ạ,ă,ằ,ắ,ẳ,ẵ,ặ,A,À,Á,Ả,Ã,Ạ,Ă,Ằ,Ắ,Ẳ,Ẵ,Ặ", - "A=â,ầ,ấ,ẩ,ẫ,ậ,Â,Ầ,Ấ,Ẩ,Ẫ,Ậ", - "@=ơ,ờ,ớ,ở,ỡ,ợ,Ơ,Ờ,Ớ,Ở,Ỡ,Ợ,@", - "i=i,y,ì,í,ỉ,ĩ,ị,ỳ,ý,ỷ,ỹ,ỵ,I,Y,Ì,Í,Ỉ,Ĩ,Ị,Ỳ,Ý,Ỷ,Ỹ,Ỵ", - "e=e,è,é,ẻ,ẽ,ẹ,E,È,É,Ẻ,Ẽ,Ẹ", - "E=ê,ề,ế,ể,ễ,ệ,Ê,Ề,Ế,Ể,Ễ,Ệ", - "o=o,ò,ó,ỏ,õ,ọ,O,Ò,Ó,Ỏ,Õ,Ọ", - "O=ô,ồ,ố,ổ,ỗ,ộ,Ô,Ồ,Ố,Ổ,Ỗ,Ộ", - "u=u,ù,ú,ủ,ũ,ụ,U,Ù,Ú,Ủ,Ũ,Ụ", - "U=ư,ừ,ứ,ử,ữ,ự,Ư,Ừ,Ứ,Ử,Ữ,Ự", - "m=m,M", - "n=n,N", - "ng=g,G", - "nh=h,H", - "-=c,C,t,T,-,p,P,R,1,2,3,4,5", - }; - - static readonly Dictionary vowelLookup; - - static VietnameseVCVPhonemizer() { - vowelLookup = vowels.ToList() - .SelectMany(line => { - var parts = line.Split('='); - return parts[1].Split(',').Select(cv => (cv, parts[0])); - }) - .ToDictionary(t => t.Item1, t => t.Item2); - } - - private USinger singer; - - public override void SetSinger(USinger singer) => this.singer = singer; - - public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevNeighbour, Note? nextNeighbour, Note[] prevNeighbours) { - var note = notes[0]; - if (!string.IsNullOrEmpty(note.phoneticHint)) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { - phoneme = note.phoneticHint, - } - }, - }; - } - int totalDuration = notes.Sum(n => n.duration); - int Short = totalDuration * 4 / 7; - int Long = totalDuration / 6; - int Medium = totalDuration / 3; - int End = totalDuration - 30; - int ViTri = Short; - bool a; - bool NoNext = nextNeighbour == null && note.lyric != "R"; - var loi = note.lyric; - if (note.lyric.StartsWith("?")) { - } else { - if (note.lyric != "R") { - loi = note.lyric.ToLower(); - note.lyric = note.lyric.ToLower(); - } - } - note.lyric = note.lyric.Replace('à', 'a').Replace('á', 'a').Replace('ả', 'a').Replace('ã', 'a').Replace('ạ', 'a'); - note.lyric = note.lyric.Replace('ằ', 'ă').Replace('ắ', 'ă').Replace('ẳ', 'ă').Replace('ẵ', 'ă').Replace('ặ', 'ă'); - note.lyric = note.lyric.Replace('ầ', 'â').Replace('ấ', 'â').Replace('ẩ', 'â').Replace('ẫ', 'â').Replace('ậ', 'â'); - note.lyric = note.lyric.Replace('ờ', 'ơ').Replace('ớ', 'ơ').Replace('ở', 'ơ').Replace('ỡ', 'ơ').Replace('ợ', 'ơ'); - note.lyric = note.lyric.Replace('ì', 'i').Replace('í', 'i').Replace('ỉ', 'i').Replace('ĩ', 'i').Replace('ị', 'i'); - note.lyric = note.lyric.Replace('ỳ', 'y').Replace('ý', 'y').Replace('ỷ', 'y').Replace('ỹ', 'y').Replace('ỵ', 'y'); - note.lyric = note.lyric.Replace('è', 'e').Replace('é', 'e').Replace('ẻ', 'e').Replace('ẽ', 'e').Replace('ẹ', 'e'); - note.lyric = note.lyric.Replace('ề', 'ê').Replace('ế', 'ê').Replace('ể', 'ê').Replace('ễ', 'ê').Replace('ệ', 'ê'); - note.lyric = note.lyric.Replace('ò', 'o').Replace('ó', 'o').Replace('ỏ', 'o').Replace('õ', 'o').Replace('ọ', 'o'); - note.lyric = note.lyric.Replace('ồ', 'ô').Replace('ố', 'ô').Replace('ổ', 'ô').Replace('ỗ', 'ô').Replace('ộ', 'ô'); - note.lyric = note.lyric.Replace('ù', 'u').Replace('ú', 'u').Replace('ủ', 'u').Replace('ũ', 'u').Replace('ụ', 'u'); - note.lyric = note.lyric.Replace('ừ', 'ư').Replace('ứ', 'ư').Replace('ử', 'ư').Replace('ữ', 'ư').Replace('ự', 'ư'); - if (note.lyric == "quôc") { - note.lyric = "quâc"; - } - if (note.lyric != "gi") { - loi = note.lyric.Replace('à', 'a').Replace('á', 'a').Replace('ả', 'a').Replace('ã', 'a').Replace('ạ', 'a'); - loi = note.lyric.Replace('ằ', 'ă').Replace('ắ', 'ă').Replace('ẳ', 'ă').Replace('ẵ', 'ă').Replace('ặ', 'ă'); - loi = note.lyric.Replace('ầ', 'â').Replace('ấ', 'â').Replace('ẩ', 'â').Replace('ẫ', 'â').Replace('ậ', 'â'); - loi = note.lyric.Replace('ờ', 'ơ').Replace('ớ', 'ơ').Replace('ở', 'ơ').Replace('ỡ', 'ơ').Replace('ợ', 'ơ'); - loi = note.lyric.Replace('ì', 'i').Replace('í', 'i').Replace('ỉ', 'i').Replace('ĩ', 'i').Replace('ị', 'i'); - loi = note.lyric.Replace('ỳ', 'y').Replace('ý', 'y').Replace('ỷ', 'y').Replace('ỹ', 'y').Replace('ỵ', 'y'); - loi = note.lyric.Replace('è', 'e').Replace('é', 'e').Replace('ẻ', 'e').Replace('ẽ', 'e').Replace('ẹ', 'e'); - loi = note.lyric.Replace('ề', 'ê').Replace('ế', 'ê').Replace('ể', 'ê').Replace('ễ', 'ê').Replace('ệ', 'ê'); - loi = note.lyric.Replace('ò', 'o').Replace('ó', 'o').Replace('ỏ', 'o').Replace('õ', 'o').Replace('ọ', 'o'); - loi = note.lyric.Replace('ồ', 'ô').Replace('ố', 'ô').Replace('ổ', 'ô').Replace('ỗ', 'ô').Replace('ộ', 'ô'); - loi = note.lyric.Replace('ù', 'u').Replace('ú', 'u').Replace('ủ', 'u').Replace('ũ', 'u').Replace('ụ', 'u'); - loi = note.lyric.Replace('ừ', 'ư').Replace('ứ', 'ư').Replace('ử', 'ư').Replace('ữ', 'ư').Replace('ự', 'ư'); - loi = note.lyric.Replace("ch", "C").Replace("d", "z").Replace("đ", "d").Replace("ph", "f").Replace("ch", "C") - .Replace("gi", "z").Replace("gh", "g").Replace("c", "k").Replace("kh", "K").Replace("ng", "N") - .Replace("ngh", "N").Replace("nh", "J").Replace("x", "s").Replace("tr", "Z").Replace("th", "T") - .Replace("q", "k").Replace("r", "z"); - } else - loi = "zi"; - bool tontaiVVC = (loi.EndsWith("iên") || loi.EndsWith("iêN") || loi.EndsWith("iêm") || loi.EndsWith("iêt") || loi.EndsWith("iêk") || loi.EndsWith("iêp") || loi.EndsWith("iêu") - || loi.EndsWith("yên") || loi.EndsWith("yêN") || loi.EndsWith("yêm") || loi.EndsWith("yêt") || loi.EndsWith("yêk") || loi.EndsWith("yêp") || loi.EndsWith("yêu") - || loi.EndsWith("uôn") || loi.EndsWith("uôN") || loi.EndsWith("uôm") || loi.EndsWith("uôt") || loi.EndsWith("uôk") || loi.EndsWith("uôi") - || loi.EndsWith("ươn") || loi.EndsWith("ươN") || loi.EndsWith("ươm") || loi.EndsWith("ươt") || loi.EndsWith("ươk") || loi.EndsWith("ươp") || loi.EndsWith("ươi")); - bool koVVCchia; - if (tontaiVVC == true) { - koVVCchia = false; - } else - koVVCchia = true; - bool tontaiCcuoi = (loi.EndsWith("k") || loi.EndsWith("t") || loi.EndsWith("C") || loi.EndsWith("p")); - bool kocoCcuoi; - if (tontaiCcuoi == true) { - kocoCcuoi = false; - } else - kocoCcuoi = true; - bool tontaiC = (loi.StartsWith("b") || loi.StartsWith("C") || loi.StartsWith("d") || loi.StartsWith("f") - || loi.StartsWith("g") || loi.StartsWith("h") || loi.StartsWith("k") || loi.StartsWith("K") - || loi.StartsWith("l") || loi.StartsWith("m") || loi.StartsWith("n") || loi.StartsWith("N") - || loi.StartsWith("J") || loi.StartsWith("r") || loi.StartsWith("s") || loi.StartsWith("t") - || loi.StartsWith("T") || loi.StartsWith("Z") || loi.StartsWith("v") || loi.StartsWith("w") - || loi.StartsWith("z") || loi.StartsWith("p")); - bool kocoC; - if (tontaiC == true) { - kocoC = false; - } else - kocoC = true; - bool BR = note.lyric.StartsWith("breath"); - bool tontaiVV = (loi.EndsWith("ai") || loi.EndsWith("ơi") || loi.EndsWith("oi") || loi.EndsWith("ôi") || loi.EndsWith("ui") || loi.EndsWith("ưi") - || loi.EndsWith("ao") || loi.EndsWith("eo") || loi.EndsWith("êu") || loi.EndsWith("iu") - || loi.EndsWith("an") || loi.EndsWith("ơn") || loi.EndsWith("in") || loi.EndsWith("en") || loi.EndsWith("ên") || loi.EndsWith("on") || loi.EndsWith("ôn") || loi.EndsWith("un") || loi.EndsWith("ưn") - || loi.EndsWith("am") || loi.EndsWith("ơm") || loi.EndsWith("im") || loi.EndsWith("em") || loi.EndsWith("êm") || loi.EndsWith("om") || loi.EndsWith("ôm") || loi.EndsWith("um") || loi.EndsWith("ưm") - || loi.EndsWith("aN") || loi.EndsWith("ơN") || loi.EndsWith("iN") || loi.EndsWith("eN") || loi.EndsWith("êN") || loi.EndsWith("ưN") - || loi.EndsWith("aJ") || loi.EndsWith("iJ") || loi.EndsWith("êJ") - || loi.EndsWith("at") || loi.EndsWith("ơt") || loi.EndsWith("it") || loi.EndsWith("et") || loi.EndsWith("êt") || loi.EndsWith("ot") || loi.EndsWith("ôt") || loi.EndsWith("ut") || loi.EndsWith("ưt") - || loi.EndsWith("aC") || loi.EndsWith("iC") || loi.EndsWith("êC") - || loi.EndsWith("ak") || loi.EndsWith("ơk") || loi.EndsWith("ik") || loi.EndsWith("ek") || loi.EndsWith("êk") || loi.EndsWith("ok") || loi.EndsWith("ôk") || loi.EndsWith("uk") || loi.EndsWith("ưk") - || loi.EndsWith("ap") || loi.EndsWith("ơp") || loi.EndsWith("ip") || loi.EndsWith("ep") || loi.EndsWith("êp") || loi.EndsWith("op") || loi.EndsWith("ôp") || loi.EndsWith("up") || loi.EndsWith("ưp") - || loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa") - || loi.EndsWith("ay") || loi.EndsWith("ây") || loi.EndsWith("uy") - || loi.EndsWith("au") || loi.EndsWith("âu") - || loi.EndsWith("oa") || loi.EndsWith("oe") || loi.EndsWith("uê")); - bool ViTriNgan = (loi.EndsWith("ai") || loi.EndsWith("ơi") || loi.EndsWith("oi") || loi.EndsWith("ôi") || loi.EndsWith("ui") || loi.EndsWith("ưi") - || loi.EndsWith("ao") || loi.EndsWith("eo") || loi.EndsWith("êu") || loi.EndsWith("iu") - || loi.EndsWith("an") || loi.EndsWith("ơn") || loi.EndsWith("in") || loi.EndsWith("en") || loi.EndsWith("ên") || loi.EndsWith("on") || loi.EndsWith("ôn") || loi.EndsWith("un") || loi.EndsWith("ưn") - || loi.EndsWith("am") || loi.EndsWith("ơm") || loi.EndsWith("im") || loi.EndsWith("em") || loi.EndsWith("êm") || loi.EndsWith("om") || loi.EndsWith("ôm") || loi.EndsWith("um") || loi.EndsWith("ưm") - || loi.EndsWith("aN") || loi.EndsWith("ơN") || loi.EndsWith("iN") || loi.EndsWith("eN") || loi.EndsWith("êN") || loi.EndsWith("ưN") - || loi.EndsWith("at") || loi.EndsWith("ơt") || loi.EndsWith("it") || loi.EndsWith("et") || loi.EndsWith("êt") || loi.EndsWith("ot") || loi.EndsWith("ôt") || loi.EndsWith("ut") || loi.EndsWith("ưt") - || loi.EndsWith("ak") || loi.EndsWith("ơk") || loi.EndsWith("ik") || loi.EndsWith("ek") || loi.EndsWith("êk") || loi.EndsWith("ok") || loi.EndsWith("ôk") || loi.EndsWith("uk") || loi.EndsWith("ưk") - || loi.EndsWith("ap") || loi.EndsWith("ơp") || loi.EndsWith("ip") || loi.EndsWith("ep") || loi.EndsWith("êp") || loi.EndsWith("op") || loi.EndsWith("ôp") || loi.EndsWith("up") || loi.EndsWith("ưp") - || loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa") || loi.EndsWith("uôN") - || loi.EndsWith("yt") || loi.EndsWith("yn") || loi.EndsWith("ym") || loi.EndsWith("yC") || loi.EndsWith("yp") || loi.EndsWith("yk") || loi.EndsWith("yN") - || loi.EndsWith("uya") && (note.lyric != "qua")); - bool ViTriDai = (loi.EndsWith("ay") || loi.EndsWith("ây") || loi.EndsWith("uy") - || loi.EndsWith("au") || loi.EndsWith("âu") - || loi.EndsWith("oa") || loi.EndsWith("oe") || loi.EndsWith("uê") || note.lyric.EndsWith("qua")); - bool ViTriTB = loi.EndsWith("ăt") || loi.EndsWith("ât") - || loi.EndsWith("ăk") || loi.EndsWith("âk") - || loi.EndsWith("ăp") || loi.EndsWith("âp") - || loi.EndsWith("ăn") || loi.EndsWith("ân") - || loi.EndsWith("ăN") || loi.EndsWith("âN") - || loi.EndsWith("ăm") || loi.EndsWith("âm") - || loi.EndsWith("aJ") || loi.EndsWith("iJ") || loi.EndsWith("êJ") || loi.EndsWith("yJ") - || loi.EndsWith("aC") || loi.EndsWith("iC") || loi.EndsWith("êC") || loi.EndsWith("yC") - || loi.EndsWith("ôN") || loi.EndsWith("uN") || loi.EndsWith("oN"); - if (ViTriTB) { - ViTri = Medium; - } - if (ViTriNgan) { - ViTri = Short; - } - if (ViTriDai) { - ViTri = Long; - } - var dem = loi.Length; - var phoneme = ""; - if (note.lyric.StartsWith("?")) { - phoneme = note.lyric.Substring(1); - } else { - // 1 kí tự - if (dem == 1) { - string N = loi; - N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") - .Replace("Z", "tr").Replace("T", "th"); - if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {N}" }, - new Phoneme { phoneme = $"{N} -", position = End }, - } - }; - } - } else - phoneme = $"- {N}"; - } - // 2 kí tự CV, ví dụ: "ba" - if ((dem == 2) && tontaiC) { - string N = loi; - string N2 = loi.Substring(1, 1); - N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") - .Replace("Z", "tr").Replace("T", "th"); - N2 = N2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {N}" }, - new Phoneme { phoneme = $"{N2} -", position = End }, - } - }; - } - } else - phoneme = $"- {N}"; - } - // 2 kí tự VV/VC, ví dụ: "oa" "an" - if ((dem == 2) && kocoC && kocoCcuoi) { - string V1 = loi.Substring(0, 1); - string V2 = loi.Substring(1, 1); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("N", "ng").Replace("J", "nh"); - a = (loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa")); - if (a) { - V2 = "A"; - } - if (loi.EndsWith("oa") || loi.EndsWith("oe")) { - V1 = "u"; - } - if (note.lyric == "ao" || note.lyric == "eo") { - V2 = "u"; - } - string N = V2; - if (loi == "ôN" || loi == "uN" || loi == "oN") { - N = "m"; - } - if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = ViTri }, - new Phoneme { phoneme = $"{N} -", position = End }, - } - }; - } - } else { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = ViTri }, - } - }; - } - } - } - // 2 kí tự VC, ví dụ "át" - if ((dem == 2) && tontaiCcuoi) { - string V1 = loi.Substring(0, 1); - string C = loi.Substring(1, 1); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - C = C.Replace("C", "ch"); - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {V1}" }, - new Phoneme { phoneme = $"{V1}{C}", position = ViTri }, - } - }; - } - } - // 3 kí tự VVC chia 3 nốt, ví dụ: "oát" - if ((dem == 3) && tontaiCcuoi && koVVCchia && kocoC) { - string V1 = loi.Substring(0, 1); - string V2 = loi.Substring(1, 1); - string VC = loi.Substring(1); - if (loi.StartsWith("oa") || loi.StartsWith("oe")) { - V1 = "u"; - } - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - VC = VC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch"); - if (ViTriDai) { - ViTri = Medium; - } - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - } - }; - } - } - // 3 kí tự VVV chia 3 nốt, ví dụ: "oan" "oai" - if ((dem == 3) && koVVCchia && kocoC) { - string V1 = loi.Substring(0, 1); - string V2 = loi.Substring(1, 1); - string V3 = loi.Substring(2); - if (loi.EndsWith("uya")) { - V3 = "A"; - } - if (loi.StartsWith("oa") || loi.StartsWith("oe")) { - V1 = "u"; - } - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - V3 = V3.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("N", "ng").Replace("J", "nh"); - if (ViTriNgan) { - ViTri = Short; - } else { - ViTri = Medium; - } - if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{V2} {V3}", position = ViTri }, - new Phoneme { phoneme = $"{V3} -", position = End }, - } - }; - } - } else if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{V2} {V3}", position = ViTri }, - } - }; - } - } - // 3 kí tự VVV/VVC chia 2 nốt, ví dụ: "yên" "ướt" - if ((dem == 3) && tontaiVVC && kocoC) { - string V1 = loi.Substring(0, 1); - string VVC = loi.Substring(0); - string N = loi.Substring(2); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (NoNext && tontaiCcuoi) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - } else if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{N} -", position = End }, - } - }; - } - } else if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - } - // 3 kí tự CVC, ví dụ: "hát" - if (dem == 3 && tontaiC && tontaiCcuoi) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string V2 = loi.Substring(2); - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("C", "ch"); - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - - } - }; - } - } - // 3 kí tự CVV/CVC, ví dụ: "hoa" "han" - if (dem == 3 && tontaiC && kocoCcuoi) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string V2 = loi.Substring(2); - if (loi.EndsWith("oa") || loi.EndsWith("oe")) { - V1 = "u"; - } - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U") - .Replace("N", "ng").Replace("J", "nh"); - a = (loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa")); - if (a && (note.lyric != "qua")) { - V2 = "A"; - } - if (note.lyric.EndsWith("ao") || note.lyric.EndsWith("eo")) { - V2 = "u"; - } - string N = V2; - if (loi.EndsWith("ôN") || loi.EndsWith("uN") || loi.EndsWith("oN")) { - N = "m"; - } - if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {C}{V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = ViTri }, - new Phoneme { phoneme = $"{N} -", position = End }, - } - }; - } - } else { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {C}{V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = ViTri }, - } - }; - } - } - } - // 4 kí tự VVVC có VVC liền, chia 3 nốt, ví dụ "uyết" "uyên" - if (dem == 4 && kocoC && tontaiVVC) { - string V1 = loi.Substring(0, 1); - string V2 = loi.Substring(1, 1); - string VVC = loi.Substring(1); - string N = loi.Substring(3); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (ViTriNgan) { - ViTri = Short; - } else { - ViTri = Medium; - } - if (NoNext && tontaiCcuoi) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - } else if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{N} -", position = End }, - } - }; - } - } else if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - } - // 4 kí tự CVVC, có VVC liền, chia 2 nốt, ví dụ "thiết" "tiên" - if (dem == 4 && tontaiVVC && tontaiC) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string VVC = loi.Substring(1); - string N = loi.Substring(3); - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (NoNext && tontaiCcuoi) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {C}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - } else if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {C}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{N} -", position = End }, - } - }; - } - } else if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {C}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - } - // 4 kí tự CVVC, chia 3 nốt, ví dụ "thoát" - if (dem == 4 && tontaiC && tontaiCcuoi) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string V2 = loi.Substring(2, 1); - string VC = loi.Substring(2); - if (V1 + V2 == "oa" || V1 + V2 == "oe") { - V1 = "u"; - } - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - VC = VC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch"); - if (ViTriNgan) { - ViTri = Short; - } else { - ViTri = Medium; - } - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {C}{V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - } - }; - } - } - // 4 kí tự CVVV/CVVC, chia 3 nốt, ví dụ "ngoại" "ngoan" - if (dem == 4 && kocoCcuoi && tontaiC) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string V2 = loi.Substring(2, 1); - string V3 = loi.Substring(3); - if (loi.EndsWith("uya")) { - V3 = "A"; - } - if (V1 + V2 == "oa" || V1 + V2 == "oe") { - V1 = "u"; - } - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V3 = V3.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U") - .Replace("N", "ng").Replace("J", "nh"); - if (ViTriNgan) { - ViTri = Short; - } else { - ViTri = Medium; - } - if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {C}{V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{V2} {V3}", position = ViTri }, - new Phoneme { phoneme = $"{V3} -", position = End }, - } - }; - } - } else if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {C}{V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{V2} {V3}", position = ViTri }, - } - }; - } - } - // 5 kí tự CVVVC, có VVC liền, chia 3 nốt, ví dụ "thuyết" "thuyền" - if (dem == 5 && tontaiVVC && tontaiC) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string V2 = loi.Substring(2, 1); - string VVC = loi.Substring(2); - string N = loi.Substring(4); - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (ViTriNgan) { - ViTri = Short; - } else { - ViTri = Medium; - } - if (NoNext && tontaiCcuoi) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {C}{V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - } else if (NoNext) { - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {C}{V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{N} -", position = End }, - } - }; - } - } else if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"- {C}{V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - } - if (BR) { - string num = loi.Substring(5); - if (num == "") { - num = "1"; - } - if (prevNeighbour == null) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"breath{num}" }, - } - }; - } - } - } - if (prevNeighbour != null) { - var lyric = prevNeighbour?.phoneticHint ?? prevNeighbour?.lyric; - var unicode = ToUnicodeElements(lyric); - if (vowelLookup.TryGetValue(unicode.LastOrDefault() ?? string.Empty, out var vow)) { - string PR = prevNeighbour?.lyric; - if (PR.StartsWith("?")) { - vow = PR.Substring(PR.Length - 1, 1); - if (PR.EndsWith("nh")) { - vow = "nh"; - } - if (PR.EndsWith("ng")) { - vow = "ng"; - } - if (PR.EndsWith("ch") || PR.EndsWith("t") || PR.EndsWith("k") || PR.EndsWith("p")) { - vow = "-"; - } - } - if (PR != "R") { - PR = PR.ToLower(); - } - if (PR == "gi") { - PR = "zi"; - } - PR = PR.Replace('à', 'a').Replace('á', 'a').Replace('ả', 'a').Replace('ã', 'a').Replace('ạ', 'a'); - PR = PR.Replace('ằ', 'ă').Replace('ắ', 'ă').Replace('ẳ', 'ă').Replace('ẵ', 'ă').Replace('ặ', 'ă'); - PR = PR.Replace('ầ', 'â').Replace('ấ', 'â').Replace('ẩ', 'â').Replace('ẫ', 'â').Replace('ậ', 'â'); - PR = PR.Replace('ờ', 'ơ').Replace('ớ', 'ơ').Replace('ở', 'ơ').Replace('ỡ', 'ơ').Replace('ợ', 'ơ'); - PR = PR.Replace('ì', 'i').Replace('í', 'i').Replace('ỉ', 'i').Replace('ĩ', 'i').Replace('ị', 'i'); - PR = PR.Replace('ỳ', 'y').Replace('ý', 'y').Replace('ỷ', 'y').Replace('ỹ', 'y').Replace('ỵ', 'y'); - PR = PR.Replace('è', 'e').Replace('é', 'e').Replace('ẻ', 'e').Replace('ẽ', 'e').Replace('ẹ', 'e'); - PR = PR.Replace('ề', 'ê').Replace('ế', 'ê').Replace('ể', 'ê').Replace('ễ', 'ê').Replace('ệ', 'ê'); - PR = PR.Replace('ò', 'o').Replace('ó', 'o').Replace('ỏ', 'o').Replace('õ', 'o').Replace('ọ', 'o'); - PR = PR.Replace('ồ', 'ô').Replace('ố', 'ô').Replace('ổ', 'ô').Replace('ỗ', 'ô').Replace('ộ', 'ô'); - PR = PR.Replace('ù', 'u').Replace('ú', 'u').Replace('ủ', 'u').Replace('ũ', 'u').Replace('ụ', 'u'); - PR = PR.Replace('ừ', 'ư').Replace('ứ', 'ư').Replace('ử', 'ư').Replace('ữ', 'ư').Replace('ự', 'ư'); - PR = PR.Replace("ch", "C").Replace("d", "z").Replace("đ", "d").Replace("ph", "f").Replace("ch", "C") - .Replace("gi", "z").Replace("gh", "g").Replace("c", "k").Replace("kh", "K").Replace("ng", "N") - .Replace("ngh", "N").Replace("nh", "J").Replace("x", "s").Replace("tr", "Z").Replace("th", "T") - .Replace("qu", "w"); - a = (PR.EndsWith("ua") || PR.EndsWith("ưa") || PR.EndsWith("ia") || PR.EndsWith("uya")); - if (a) { - vow = "A"; - } - a = (PR.EndsWith("uN") || PR.EndsWith("ôN") || PR.EndsWith("oN")); - if (PR.EndsWith("uôN")) { - vow = "ng"; - } else if (a) { - vow = "m"; - } - a = (PR.EndsWith("breaT") || PR.EndsWith("C")); - if (a) { - vow = "-"; - } - if (PR.EndsWith("ao") || PR.EndsWith("eo")) { - vow = "u"; - } - if (note.lyric.StartsWith("?")) { - phoneme = note.lyric.Substring(1); - } else { - // 1 kí tự - if (dem == 1) { - string N = loi; - N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") - .Replace("Z", "tr").Replace("T", "th"); - if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {N}" }, - new Phoneme { phoneme = $"{N} -", position = End }, - } - }; - } else - phoneme = $"{vow} {N}"; - } - // 2 kí tự CV, ví dụ: "ba" - if ((dem == 2) && tontaiC) { - string N = loi; - string N2 = loi.Substring(1, 1); - N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") - .Replace("Z", "tr").Replace("T", "th"); - N2 = N2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {N}" }, - new Phoneme { phoneme = $"{N2} -", position = End }, - } - }; - } else - phoneme = $"{vow} {N}"; - } - // 2 kí tự VV/VC, ví dụ: "oa" "an" - if ((dem == 2) && kocoC && kocoCcuoi) { - string V1 = loi.Substring(0, 1); - string V2 = loi.Substring(1, 1); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("N", "ng").Replace("J", "nh"); - a = (loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa")); - if (a) { - V2 = "A"; - } - if (loi.EndsWith("oa") || loi.EndsWith("oe")) { - V1 = "u"; - } - if (note.lyric == "ao" || note.lyric == "eo") { - V2 = "u"; - } - string N = V2; - if (loi == "ôN" || loi == "uN" || loi == "oN") { - N = "m"; - } - if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = ViTri }, - new Phoneme { phoneme = $"{N} -", position = End }, - } - }; - } else { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = ViTri }, - } - }; - } - } - // 2 kí tự VC, ví dụ "át" - if ((dem == 2) && tontaiCcuoi) { - string V1 = loi.Substring(0, 1); - string V2 = loi.Substring(1, 1); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - V2 = V2.Replace("C", "ch"); - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - } - }; - } - // 3 kí tự VVC chia 3 nốt, ví dụ: "oát" - if ((dem == 3) && tontaiCcuoi && koVVCchia && kocoC) { - string V1 = loi.Substring(0, 1); - string V2 = loi.Substring(1, 1); - string VC = loi.Substring(1); - if (loi.StartsWith("oa") || loi.StartsWith("oe")) { - V1 = "u"; - } - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - VC = VC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch"); - if (ViTriDai) { - ViTri = Medium; - } - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - } - }; - } - // 3 kí tự VVV chia 3 nốt, ví dụ: "oan" "oai" - if ((dem == 3) && koVVCchia && kocoC) { - string V1 = loi.Substring(0, 1); - string V2 = loi.Substring(1, 1); - string V3 = loi.Substring(2); - if (loi.EndsWith("uya")) { - V3 = "A"; - } - if (loi.StartsWith("oa") || loi.StartsWith("oe")) { - V1 = "u"; - } - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - V3 = V3.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("N", "ng").Replace("J", "nh"); - if (ViTriNgan) { - ViTri = Short; - } else { - ViTri = Medium; - } - if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{V2} {V3}", position = ViTri }, - new Phoneme { phoneme = $"{V3} -", position = End }, - } - }; - } else return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{V2} {V3}", position = ViTri }, - } - }; - } - // 3 kí tự VVV/VVC chia 2 nốt, ví dụ: "yên" "ướt" - if ((dem == 3) && tontaiVVC && kocoC) { - string V1 = loi.Substring(0, 1); - string VVC = loi.Substring(0); - string N = loi.Substring(2); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U"); - VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (NoNext && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{N} -", position = End }, - } - }; - } else return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - // 3 kí tự CVC, ví dụ: "hát" - if (dem == 3 && tontaiC && tontaiCcuoi) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string V2 = loi.Substring(2); - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("C", "ch"); - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}{V1}" }, - new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, - } - }; - } - // 3 kí tự CVV/CVC, ví dụ: "hoa" "han" - if (dem == 3 && tontaiC && kocoCcuoi) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string V2 = loi.Substring(2); - if (loi.EndsWith("oa") || loi.EndsWith("oe")) { - V1 = "u"; - } - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U") - .Replace("N", "ng").Replace("J", "nh"); - a = (loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa")); - if (a && (note.lyric != "qua")) { - V2 = "A"; - } - if (note.lyric.EndsWith("ao") || note.lyric.EndsWith("eo")) { - V2 = "u"; - } - string N = V2; - if (loi.EndsWith("ôN") || loi.EndsWith("uN") || loi.EndsWith("oN")) { - N = "m"; - } - if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}{V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = ViTri }, - new Phoneme { phoneme = $"{N} -", position = End }, - } - }; - } else return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}{V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = ViTri }, - } - }; - } - // 4 kí tự VVVC có VVC liền, chia 3 nốt, ví dụ "uyết" "uyên" - if (dem == 4 && kocoC && tontaiVVC) { - string V1 = loi.Substring(0, 1); - string V2 = loi.Substring(1, 1); - string VVC = loi.Substring(1); - string N = loi.Substring(3); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (ViTriNgan) { - ViTri = Short; - } else { - ViTri = Medium; - } - if (NoNext && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{N} -", position = End }, - } - }; - } else return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - // 4 kí tự CVVC, có VVC liền, chia 2 nốt, ví dụ "thiết" "tiên" - if (dem == 4 && tontaiVVC && tontaiC) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string VVC = loi.Substring(1); - string N = loi.Substring(3); - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (NoNext && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{N} -", position = End }, - } - }; - } else return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}{V1}" }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - // 4 kí tự CVVC, chia 3 nốt, ví dụ "thoát" - if (dem == 4 && tontaiC && tontaiCcuoi) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string V2 = loi.Substring(2, 1); - string VC = loi.Substring(2); - if (V1 + V2 == "oa" || V1 + V2 == "oe") { - V1 = "u"; - } - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - VC = VC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch"); - if (ViTriNgan) { - ViTri = Short; - } else { - ViTri = Medium; - } - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}{V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{VC}", position = ViTri }, - } - }; - } - // 4 kí tự CVVV/CVVC, chia 3 nốt, ví dụ "ngoại" "ngoan" - if (dem == 4 && kocoCcuoi && tontaiC) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string V2 = loi.Substring(2, 1); - string V3 = loi.Substring(3); - if (loi.EndsWith("uya")) { - V3 = "A"; - } - if (V1 + V2 == "oa" || V1 + V2 == "oe") { - V1 = "u"; - } - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V3 = V3.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U") - .Replace("N", "ng").Replace("J", "nh"); - if (ViTriNgan) { - ViTri = Short; - } else { - ViTri = Medium; - } - if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}{V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{V2} {V3}", position = ViTri }, - new Phoneme { phoneme = $"{V3} -", position = End }, - } - }; - } else return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}{V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{V2} {V3}", position = ViTri }, - } - }; - } - // 5 kí tự CVVVC, có VVC liền, chia 3 nốt, ví dụ "thuyết" "thuyền" - if (dem == 5 && tontaiVVC && tontaiC) { - string C = loi.Substring(0, 1); - string V1 = loi.Substring(1, 1); - string V2 = loi.Substring(2, 1); - string VVC = loi.Substring(2); - string N = loi.Substring(4); - C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); - V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); - VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") - .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); - if (ViTriNgan) { - ViTri = Short; - } else { - ViTri = Medium; - } - if (NoNext && tontaiCcuoi) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}{V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } else if (NoNext) { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}{V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - new Phoneme { phoneme = $"{N} -", position = End }, - } - }; - } else return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} {C}{V1}" }, - new Phoneme { phoneme = $"{V1} {V2}", position = Long }, - new Phoneme { phoneme = $"{VVC}", position = ViTri }, - } - }; - } - if (BR) { - string num = loi.Substring(5); - if (num == "") { - num = "1"; - } - if (vow == "-") { - return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"breath{num}" }, - } - }; - } else return new Result { - phonemes = new Phoneme[] { - new Phoneme { phoneme = $"{vow} -", position = -60 }, - new Phoneme { phoneme = $"breath{num}" }, - } - }; - } - } - } - } - // Get color - string color = string.Empty; - int toneShift = 0; - if (note.phonemeAttributes != null) { - var attr = note.phonemeAttributes.FirstOrDefault(attr => attr.index == 0); - color = attr.voiceColor; - toneShift = attr.toneShift; - } - if (singer.TryGetMappedOto(phoneme, note.tone + toneShift, color, out var oto)) { - phoneme = oto.Alias; - } else { - phoneme = note.lyric; - } - return new Result { - phonemes = new Phoneme[] { - new Phoneme { - phoneme = phoneme, - } - }, - }; - } - } -} +using System.Collections.Generic; +using System.Linq; +using OpenUtau.Api; +using OpenUtau.Core.Ustx; + +namespace OpenUtau.Plugin.Builtin { + [Phonemizer("Vietnamese VCV Phonemizer", "VIE VCV", "Jani Tran", language:"VI")] + public class VietnameseVCVPhonemizer : Phonemizer { + /// + /// The lookup table to convert a hiragana to its tail vowel. + /// + static readonly string[] vowels = new string[] { + "a=a,à,á,ả,ã,ạ,ă,ằ,ắ,ẳ,ẵ,ặ,A,À,Á,Ả,Ã,Ạ,Ă,Ằ,Ắ,Ẳ,Ẵ,Ặ", + "A=â,ầ,ấ,ẩ,ẫ,ậ,Â,Ầ,Ấ,Ẩ,Ẫ,Ậ", + "@=ơ,ờ,ớ,ở,ỡ,ợ,Ơ,Ờ,Ớ,Ở,Ỡ,Ợ,@", + "i=i,y,ì,í,ỉ,ĩ,ị,ỳ,ý,ỷ,ỹ,ỵ,I,Y,Ì,Í,Ỉ,Ĩ,Ị,Ỳ,Ý,Ỷ,Ỹ,Ỵ", + "e=e,è,é,ẻ,ẽ,ẹ,E,È,É,Ẻ,Ẽ,Ẹ", + "E=ê,ề,ế,ể,ễ,ệ,Ê,Ề,Ế,Ể,Ễ,Ệ", + "o=o,ò,ó,ỏ,õ,ọ,O,Ò,Ó,Ỏ,Õ,Ọ", + "O=ô,ồ,ố,ổ,ỗ,ộ,Ô,Ồ,Ố,Ổ,Ỗ,Ộ", + "u=u,ù,ú,ủ,ũ,ụ,U,Ù,Ú,Ủ,Ũ,Ụ", + "U=ư,ừ,ứ,ử,ữ,ự,Ư,Ừ,Ứ,Ử,Ữ,Ự", + "m=m,M", + "n=n,N", + "ng=g,G", + "nh=h,H", + "-=c,C,t,T,-,p,P,R,1,2,3,4,5", + }; + + static readonly Dictionary vowelLookup; + + static VietnameseVCVPhonemizer() { + vowelLookup = vowels.ToList() + .SelectMany(line => { + var parts = line.Split('='); + return parts[1].Split(',').Select(cv => (cv, parts[0])); + }) + .ToDictionary(t => t.Item1, t => t.Item2); + } + + private USinger singer; + + public override void SetSinger(USinger singer) => this.singer = singer; + + // Legacy mapping. Might adjust later to new mapping style. + public override bool LegacyMapping => true; + + public override Result Process(Note[] notes, Note? prev, Note? next, Note? prevNeighbour, Note? nextNeighbour, Note[] prevNeighbours) { + var note = notes[0]; + if (!string.IsNullOrEmpty(note.phoneticHint)) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { + phoneme = note.phoneticHint, + } + }, + }; + } + int totalDuration = notes.Sum(n => n.duration); + int Short = totalDuration * 4 / 7; + int Long = totalDuration / 6; + int Medium = totalDuration / 3; + int End = totalDuration - 30; + int ViTri = Short; + bool a; + bool NoNext = nextNeighbour == null && note.lyric != "R"; + var loi = note.lyric; + if (note.lyric.StartsWith("?")) { + } else { + if (note.lyric != "R") { + loi = note.lyric.ToLower(); + note.lyric = note.lyric.ToLower(); + } + } + note.lyric = note.lyric.Replace('à', 'a').Replace('á', 'a').Replace('ả', 'a').Replace('ã', 'a').Replace('ạ', 'a'); + note.lyric = note.lyric.Replace('ằ', 'ă').Replace('ắ', 'ă').Replace('ẳ', 'ă').Replace('ẵ', 'ă').Replace('ặ', 'ă'); + note.lyric = note.lyric.Replace('ầ', 'â').Replace('ấ', 'â').Replace('ẩ', 'â').Replace('ẫ', 'â').Replace('ậ', 'â'); + note.lyric = note.lyric.Replace('ờ', 'ơ').Replace('ớ', 'ơ').Replace('ở', 'ơ').Replace('ỡ', 'ơ').Replace('ợ', 'ơ'); + note.lyric = note.lyric.Replace('ì', 'i').Replace('í', 'i').Replace('ỉ', 'i').Replace('ĩ', 'i').Replace('ị', 'i'); + note.lyric = note.lyric.Replace('ỳ', 'y').Replace('ý', 'y').Replace('ỷ', 'y').Replace('ỹ', 'y').Replace('ỵ', 'y'); + note.lyric = note.lyric.Replace('è', 'e').Replace('é', 'e').Replace('ẻ', 'e').Replace('ẽ', 'e').Replace('ẹ', 'e'); + note.lyric = note.lyric.Replace('ề', 'ê').Replace('ế', 'ê').Replace('ể', 'ê').Replace('ễ', 'ê').Replace('ệ', 'ê'); + note.lyric = note.lyric.Replace('ò', 'o').Replace('ó', 'o').Replace('ỏ', 'o').Replace('õ', 'o').Replace('ọ', 'o'); + note.lyric = note.lyric.Replace('ồ', 'ô').Replace('ố', 'ô').Replace('ổ', 'ô').Replace('ỗ', 'ô').Replace('ộ', 'ô'); + note.lyric = note.lyric.Replace('ù', 'u').Replace('ú', 'u').Replace('ủ', 'u').Replace('ũ', 'u').Replace('ụ', 'u'); + note.lyric = note.lyric.Replace('ừ', 'ư').Replace('ứ', 'ư').Replace('ử', 'ư').Replace('ữ', 'ư').Replace('ự', 'ư'); + if (note.lyric == "quôc") { + note.lyric = "quâc"; + } + if (note.lyric != "gi" && note.lyric != "gin" && note.lyric != "gim" && note.lyric != "ginh" && note.lyric != "ging" && note.lyric != "git" && note.lyric != "gip" && note.lyric != "gic" && note.lyric != "gich") { + loi = note.lyric.Replace('à', 'a').Replace('á', 'a').Replace('ả', 'a').Replace('ã', 'a').Replace('ạ', 'a'); + loi = note.lyric.Replace('ằ', 'ă').Replace('ắ', 'ă').Replace('ẳ', 'ă').Replace('ẵ', 'ă').Replace('ặ', 'ă'); + loi = note.lyric.Replace('ầ', 'â').Replace('ấ', 'â').Replace('ẩ', 'â').Replace('ẫ', 'â').Replace('ậ', 'â'); + loi = note.lyric.Replace('ờ', 'ơ').Replace('ớ', 'ơ').Replace('ở', 'ơ').Replace('ỡ', 'ơ').Replace('ợ', 'ơ'); + loi = note.lyric.Replace('ì', 'i').Replace('í', 'i').Replace('ỉ', 'i').Replace('ĩ', 'i').Replace('ị', 'i'); + loi = note.lyric.Replace('ỳ', 'y').Replace('ý', 'y').Replace('ỷ', 'y').Replace('ỹ', 'y').Replace('ỵ', 'y'); + loi = note.lyric.Replace('è', 'e').Replace('é', 'e').Replace('ẻ', 'e').Replace('ẽ', 'e').Replace('ẹ', 'e'); + loi = note.lyric.Replace('ề', 'ê').Replace('ế', 'ê').Replace('ể', 'ê').Replace('ễ', 'ê').Replace('ệ', 'ê'); + loi = note.lyric.Replace('ò', 'o').Replace('ó', 'o').Replace('ỏ', 'o').Replace('õ', 'o').Replace('ọ', 'o'); + loi = note.lyric.Replace('ồ', 'ô').Replace('ố', 'ô').Replace('ổ', 'ô').Replace('ỗ', 'ô').Replace('ộ', 'ô'); + loi = note.lyric.Replace('ù', 'u').Replace('ú', 'u').Replace('ủ', 'u').Replace('ũ', 'u').Replace('ụ', 'u'); + loi = note.lyric.Replace('ừ', 'ư').Replace('ứ', 'ư').Replace('ử', 'ư').Replace('ữ', 'ư').Replace('ự', 'ư'); + loi = note.lyric.Replace("ch", "C").Replace("d", "z").Replace("đ", "d").Replace("ph", "f").Replace("ch", "C") + .Replace("gi", "z").Replace("gh", "g").Replace("c", "k").Replace("kh", "K").Replace("ng", "N") + .Replace("ngh", "N").Replace("nh", "J").Replace("x", "s").Replace("tr", "Z").Replace("th", "T") + .Replace("q", "k").Replace("r", "z"); + } else { + loi = note.lyric.Replace('ì', 'i').Replace('í', 'i').Replace('ỉ', 'i').Replace('ĩ', 'i').Replace('ị', 'i'); + loi = loi.Replace("gi", "zi").Replace("ng", "N").Replace("nh", "J").Replace("ch", "C").Replace("c", "k"); + } + bool tontaiVVC = (loi.EndsWith("iên") || loi.EndsWith("iêN") || loi.EndsWith("iêm") || loi.EndsWith("iêt") || loi.EndsWith("iêk") || loi.EndsWith("iêp") || loi.EndsWith("iêu") + || loi.EndsWith("yên") || loi.EndsWith("yêN") || loi.EndsWith("yêm") || loi.EndsWith("yêt") || loi.EndsWith("yêk") || loi.EndsWith("yêp") || loi.EndsWith("yêu") + || loi.EndsWith("uôn") || loi.EndsWith("uôN") || loi.EndsWith("uôm") || loi.EndsWith("uôt") || loi.EndsWith("uôk") || loi.EndsWith("uôi") + || loi.EndsWith("ươn") || loi.EndsWith("ươN") || loi.EndsWith("ươm") || loi.EndsWith("ươt") || loi.EndsWith("ươk") || loi.EndsWith("ươp") || loi.EndsWith("ươi")); + bool koVVCchia; + if (tontaiVVC == true) { + koVVCchia = false; + } else + koVVCchia = true; + bool tontaiCcuoi = (loi.EndsWith("k") || loi.EndsWith("t") || loi.EndsWith("C") || loi.EndsWith("p")); + bool kocoCcuoi; + if (tontaiCcuoi == true) { + kocoCcuoi = false; + } else + kocoCcuoi = true; + bool tontaiC = (loi.StartsWith("b") || loi.StartsWith("C") || loi.StartsWith("d") || loi.StartsWith("f") + || loi.StartsWith("g") || loi.StartsWith("h") || loi.StartsWith("k") || loi.StartsWith("K") + || loi.StartsWith("l") || loi.StartsWith("m") || loi.StartsWith("n") || loi.StartsWith("N") + || loi.StartsWith("J") || loi.StartsWith("r") || loi.StartsWith("s") || loi.StartsWith("t") + || loi.StartsWith("T") || loi.StartsWith("Z") || loi.StartsWith("v") || loi.StartsWith("w") + || loi.StartsWith("z") || loi.StartsWith("p")); + bool kocoC; + if (tontaiC == true) { + kocoC = false; + } else + kocoC = true; + bool BR = note.lyric.StartsWith("breath"); + bool tontaiVV = (loi.EndsWith("ai") || loi.EndsWith("ơi") || loi.EndsWith("oi") || loi.EndsWith("ôi") || loi.EndsWith("ui") || loi.EndsWith("ưi") + || loi.EndsWith("ao") || loi.EndsWith("eo") || loi.EndsWith("êu") || loi.EndsWith("iu") + || loi.EndsWith("an") || loi.EndsWith("ơn") || loi.EndsWith("in") || loi.EndsWith("en") || loi.EndsWith("ên") || loi.EndsWith("on") || loi.EndsWith("ôn") || loi.EndsWith("un") || loi.EndsWith("ưn") + || loi.EndsWith("am") || loi.EndsWith("ơm") || loi.EndsWith("im") || loi.EndsWith("em") || loi.EndsWith("êm") || loi.EndsWith("om") || loi.EndsWith("ôm") || loi.EndsWith("um") || loi.EndsWith("ưm") + || loi.EndsWith("aN") || loi.EndsWith("ơN") || loi.EndsWith("iN") || loi.EndsWith("eN") || loi.EndsWith("êN") || loi.EndsWith("ưN") + || loi.EndsWith("aJ") || loi.EndsWith("iJ") || loi.EndsWith("êJ") + || loi.EndsWith("at") || loi.EndsWith("ơt") || loi.EndsWith("it") || loi.EndsWith("et") || loi.EndsWith("êt") || loi.EndsWith("ot") || loi.EndsWith("ôt") || loi.EndsWith("ut") || loi.EndsWith("ưt") + || loi.EndsWith("aC") || loi.EndsWith("iC") || loi.EndsWith("êC") + || loi.EndsWith("ak") || loi.EndsWith("ơk") || loi.EndsWith("ik") || loi.EndsWith("ek") || loi.EndsWith("êk") || loi.EndsWith("ok") || loi.EndsWith("ôk") || loi.EndsWith("uk") || loi.EndsWith("ưk") + || loi.EndsWith("ap") || loi.EndsWith("ơp") || loi.EndsWith("ip") || loi.EndsWith("ep") || loi.EndsWith("êp") || loi.EndsWith("op") || loi.EndsWith("ôp") || loi.EndsWith("up") || loi.EndsWith("ưp") + || loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa") + || loi.EndsWith("ay") || loi.EndsWith("ây") || loi.EndsWith("uy") + || loi.EndsWith("au") || loi.EndsWith("âu") + || loi.EndsWith("oa") || loi.EndsWith("oe") || loi.EndsWith("uê")); + bool ViTriNgan = (loi.EndsWith("ai") || loi.EndsWith("ơi") || loi.EndsWith("oi") || loi.EndsWith("ôi") || loi.EndsWith("ui") || loi.EndsWith("ưi") + || loi.EndsWith("ao") || loi.EndsWith("eo") || loi.EndsWith("êu") || loi.EndsWith("iu") + || loi.EndsWith("an") || loi.EndsWith("ơn") || loi.EndsWith("in") || loi.EndsWith("en") || loi.EndsWith("ên") || loi.EndsWith("on") || loi.EndsWith("ôn") || loi.EndsWith("un") || loi.EndsWith("ưn") + || loi.EndsWith("am") || loi.EndsWith("ơm") || loi.EndsWith("im") || loi.EndsWith("em") || loi.EndsWith("êm") || loi.EndsWith("om") || loi.EndsWith("ôm") || loi.EndsWith("um") || loi.EndsWith("ưm") + || loi.EndsWith("aN") || loi.EndsWith("ơN") || loi.EndsWith("iN") || loi.EndsWith("eN") || loi.EndsWith("êN") || loi.EndsWith("ưN") + || loi.EndsWith("at") || loi.EndsWith("ơt") || loi.EndsWith("it") || loi.EndsWith("et") || loi.EndsWith("êt") || loi.EndsWith("ot") || loi.EndsWith("ôt") || loi.EndsWith("ut") || loi.EndsWith("ưt") + || loi.EndsWith("ak") || loi.EndsWith("ơk") || loi.EndsWith("ik") || loi.EndsWith("ek") || loi.EndsWith("êk") || loi.EndsWith("ok") || loi.EndsWith("ôk") || loi.EndsWith("uk") || loi.EndsWith("ưk") + || loi.EndsWith("ap") || loi.EndsWith("ơp") || loi.EndsWith("ip") || loi.EndsWith("ep") || loi.EndsWith("êp") || loi.EndsWith("op") || loi.EndsWith("ôp") || loi.EndsWith("up") || loi.EndsWith("ưp") + || loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa") || loi.EndsWith("uôN") + || loi.EndsWith("yt") || loi.EndsWith("yn") || loi.EndsWith("ym") || loi.EndsWith("yC") || loi.EndsWith("yp") || loi.EndsWith("yk") || loi.EndsWith("yN") + || loi.EndsWith("uya") && (note.lyric != "qua")); + bool ViTriDai = (loi.EndsWith("ay") || loi.EndsWith("ây") || loi.EndsWith("uy") + || loi.EndsWith("au") || loi.EndsWith("âu") + || loi.EndsWith("oa") || loi.EndsWith("oe") || loi.EndsWith("uê") || note.lyric.EndsWith("qua")); + bool ViTriTB = loi.EndsWith("ăt") || loi.EndsWith("ât") + || loi.EndsWith("ăk") || loi.EndsWith("âk") + || loi.EndsWith("ăp") || loi.EndsWith("âp") + || loi.EndsWith("ăn") || loi.EndsWith("ân") + || loi.EndsWith("ăN") || loi.EndsWith("âN") + || loi.EndsWith("ăm") || loi.EndsWith("âm") + || loi.EndsWith("aJ") || loi.EndsWith("iJ") || loi.EndsWith("êJ") || loi.EndsWith("yJ") + || loi.EndsWith("ôN") || loi.EndsWith("uN") || loi.EndsWith("oN") + || loi.EndsWith("aC") || loi.EndsWith("iC") || loi.EndsWith("êC") || loi.EndsWith("yC"); + if (ViTriTB) { + ViTri = Medium; + } + if (ViTriNgan) { + ViTri = Short; + } + if (ViTriDai) { + ViTri = Long; + } + if (loi.EndsWith("uôN")) { + ViTri = Short; + } + var dem = loi.Length; + var phoneme = ""; + if (note.lyric.StartsWith("?")) { + phoneme = note.lyric.Substring(1); + } else { + // 1 kí tự + if (dem == 1) { + string N = loi; + N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") + .Replace("Z", "tr").Replace("T", "th"); + if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {N}" }, + new Phoneme { phoneme = $"{N} -", position = End }, + } + }; + } + } else + phoneme = $"- {N}"; + } + // 2 kí tự CV, ví dụ: "ba" + if ((dem == 2) && tontaiC) { + string N = loi; + string N2 = loi.Substring(1, 1); + N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") + .Replace("Z", "tr").Replace("T", "th"); + N2 = N2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {N}" }, + new Phoneme { phoneme = $"{N2} -", position = End }, + } + }; + } + } else + phoneme = $"- {N}"; + } + // 2 kí tự VV/VC, ví dụ: "oa" "an" + if ((dem == 2) && kocoC && kocoCcuoi) { + string V1 = loi.Substring(0, 1); + string V2 = loi.Substring(1, 1); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("N", "ng").Replace("J", "nh"); + a = (loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa")); + if (a) { + V2 = "A"; + } + if (loi.EndsWith("oa") || loi.EndsWith("oe")) { + V1 = "u"; + } + if (note.lyric == "ao" || note.lyric == "eo") { + V2 = "u"; + } + string N = V2; + if (loi == "ôN" || loi == "uN" || loi == "oN") { + N = "m"; + } + if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = ViTri }, + new Phoneme { phoneme = $"{N} -", position = End }, + } + }; + } + } else { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = ViTri }, + } + }; + } + } + } + // 2 kí tự VC, ví dụ "át" + if ((dem == 2) && tontaiCcuoi) { + string V1 = loi.Substring(0, 1); + string C = loi.Substring(1, 1); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + C = C.Replace("C", "ch"); + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {V1}" }, + new Phoneme { phoneme = $"{V1}{C}", position = ViTri }, + } + }; + } + } + // 3 kí tự VVC chia 3 nốt, ví dụ: "oát" + if ((dem == 3) && tontaiCcuoi && koVVCchia && kocoC) { + string V1 = loi.Substring(0, 1); + string V2 = loi.Substring(1, 1); + string VC = loi.Substring(1); + if (loi.StartsWith("oa") || loi.StartsWith("oe")) { + V1 = "u"; + } + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + VC = VC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch"); + if (ViTriDai) { + ViTri = Medium; + } + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + } + }; + } + } + // 3 kí tự VVV chia 3 nốt, ví dụ: "oan" "oai" + if ((dem == 3) && koVVCchia && kocoC) { + string V1 = loi.Substring(0, 1); + string V2 = loi.Substring(1, 1); + string V3 = loi.Substring(2); + if (loi.EndsWith("uya")) { + V3 = "A"; + } + if (loi.StartsWith("oa") || loi.StartsWith("oe")) { + V1 = "u"; + } + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + V3 = V3.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("N", "ng").Replace("J", "nh"); + if (ViTriNgan) { + ViTri = Short; + } else { + ViTri = Medium; + } + if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{V2} {V3}", position = ViTri }, + new Phoneme { phoneme = $"{V3} -", position = End }, + } + }; + } + } else if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{V2} {V3}", position = ViTri }, + } + }; + } + } + // 3 kí tự VVV/VVC chia 2 nốt, ví dụ: "yên" "ướt" + if ((dem == 3) && tontaiVVC && kocoC) { + string V1 = loi.Substring(0, 1); + string VVC = loi.Substring(0); + string N = loi.Substring(2); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (NoNext && tontaiCcuoi) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + } else if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{N} -", position = End }, + } + }; + } + } else if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + } + // 3 kí tự CVC, ví dụ: "hát" + if (dem == 3 && tontaiC && tontaiCcuoi) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string V2 = loi.Substring(2); + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("C", "ch"); + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + + } + }; + } + } + // 3 kí tự CVV/CVC, ví dụ: "hoa" "han" + if (dem == 3 && tontaiC && kocoCcuoi) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string V2 = loi.Substring(2); + if (loi.EndsWith("oa") || loi.EndsWith("oe")) { + V1 = "u"; + } + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U") + .Replace("N", "ng").Replace("J", "nh"); + a = (loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa")); + if (a && (note.lyric != "qua")) { + V2 = "A"; + } + if (note.lyric.EndsWith("ao") || note.lyric.EndsWith("eo")) { + V2 = "u"; + } + string N = V2; + if (loi.EndsWith("ôN") || loi.EndsWith("uN") || loi.EndsWith("oN")) { + N = "m"; + } + if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {C}{V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = ViTri }, + new Phoneme { phoneme = $"{N} -", position = End }, + } + }; + } + } else { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {C}{V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = ViTri }, + } + }; + } + } + } + // 4 kí tự VVVC có VVC liền, chia 3 nốt, ví dụ "uyết" "uyên" + if (dem == 4 && kocoC && tontaiVVC) { + string V1 = loi.Substring(0, 1); + string V2 = loi.Substring(1, 1); + string VVC = loi.Substring(1); + string N = loi.Substring(3); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (ViTriNgan) { + ViTri = Short; + } else { + ViTri = Medium; + } + if (NoNext && tontaiCcuoi) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + } else if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{N} -", position = End }, + } + }; + } + } else if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + } + // 4 kí tự CVVC, có VVC liền, chia 2 nốt, ví dụ "thiết" "tiên" + if (dem == 4 && tontaiVVC && tontaiC) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string VVC = loi.Substring(1); + string N = loi.Substring(3); + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (NoNext && tontaiCcuoi) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {C}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + } else if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {C}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{N} -", position = End }, + } + }; + } + } else if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {C}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + } + // 4 kí tự CVVC, chia 3 nốt, ví dụ "thoát" + if (dem == 4 && tontaiC && tontaiCcuoi) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string V2 = loi.Substring(2, 1); + string VC = loi.Substring(2); + if (V1 + V2 == "oa" || V1 + V2 == "oe") { + V1 = "u"; + } + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + VC = VC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch"); + if (ViTriNgan) { + ViTri = Short; + } else { + ViTri = Medium; + } + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {C}{V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + } + }; + } + } + // 4 kí tự CVVV/CVVC, chia 3 nốt, ví dụ "ngoại" "ngoan" + if (dem == 4 && kocoCcuoi && tontaiC) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string V2 = loi.Substring(2, 1); + string V3 = loi.Substring(3); + if (loi.EndsWith("uya")) { + V3 = "A"; + } + if (V1 + V2 == "oa" || V1 + V2 == "oe") { + V1 = "u"; + } + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V3 = V3.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U") + .Replace("N", "ng").Replace("J", "nh"); + if (ViTriNgan) { + ViTri = Short; + } else { + ViTri = Medium; + } + if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {C}{V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{V2} {V3}", position = ViTri }, + new Phoneme { phoneme = $"{V3} -", position = End }, + } + }; + } + } else if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {C}{V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{V2} {V3}", position = ViTri }, + } + }; + } + } + // 5 kí tự CVVVC, có VVC liền, chia 3 nốt, ví dụ "thuyết" "thuyền" + if (dem == 5 && tontaiVVC && tontaiC) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string V2 = loi.Substring(2, 1); + string VVC = loi.Substring(2); + string N = loi.Substring(4); + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (ViTriNgan) { + ViTri = Short; + } else { + ViTri = Medium; + } + if (NoNext && tontaiCcuoi) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {C}{V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + } else if (NoNext) { + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {C}{V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{N} -", position = End }, + } + }; + } + } else if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"- {C}{V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + } + if (BR) { + string num = loi.Substring(5); + if (num == "") { + num = "1"; + } + if (prevNeighbour == null) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"breath{num}" }, + } + }; + } + } + } + if (prevNeighbour != null) { + var lyric = prevNeighbour?.phoneticHint ?? prevNeighbour?.lyric; + var unicode = ToUnicodeElements(lyric); + if (vowelLookup.TryGetValue(unicode.LastOrDefault() ?? string.Empty, out var vow)) { + string PR = prevNeighbour?.lyric; + if (PR.StartsWith("?")) { + vow = PR.Substring(PR.Length - 1, 1); + if (PR.EndsWith("nh")) { + vow = "nh"; + } + if (PR.EndsWith("ng")) { + vow = "ng"; + } + if (PR.EndsWith("ch") || PR.EndsWith("t") || PR.EndsWith("k") || PR.EndsWith("p")) { + vow = "-"; + } + } + if (PR != "R") { + PR = PR.ToLower(); + } + if (PR == "gi") { + PR = "zi"; + } + PR = PR.Replace('à', 'a').Replace('á', 'a').Replace('ả', 'a').Replace('ã', 'a').Replace('ạ', 'a'); + PR = PR.Replace('ằ', 'ă').Replace('ắ', 'ă').Replace('ẳ', 'ă').Replace('ẵ', 'ă').Replace('ặ', 'ă'); + PR = PR.Replace('ầ', 'â').Replace('ấ', 'â').Replace('ẩ', 'â').Replace('ẫ', 'â').Replace('ậ', 'â'); + PR = PR.Replace('ờ', 'ơ').Replace('ớ', 'ơ').Replace('ở', 'ơ').Replace('ỡ', 'ơ').Replace('ợ', 'ơ'); + PR = PR.Replace('ì', 'i').Replace('í', 'i').Replace('ỉ', 'i').Replace('ĩ', 'i').Replace('ị', 'i'); + PR = PR.Replace('ỳ', 'y').Replace('ý', 'y').Replace('ỷ', 'y').Replace('ỹ', 'y').Replace('ỵ', 'y'); + PR = PR.Replace('è', 'e').Replace('é', 'e').Replace('ẻ', 'e').Replace('ẽ', 'e').Replace('ẹ', 'e'); + PR = PR.Replace('ề', 'ê').Replace('ế', 'ê').Replace('ể', 'ê').Replace('ễ', 'ê').Replace('ệ', 'ê'); + PR = PR.Replace('ò', 'o').Replace('ó', 'o').Replace('ỏ', 'o').Replace('õ', 'o').Replace('ọ', 'o'); + PR = PR.Replace('ồ', 'ô').Replace('ố', 'ô').Replace('ổ', 'ô').Replace('ỗ', 'ô').Replace('ộ', 'ô'); + PR = PR.Replace('ù', 'u').Replace('ú', 'u').Replace('ủ', 'u').Replace('ũ', 'u').Replace('ụ', 'u'); + PR = PR.Replace('ừ', 'ư').Replace('ứ', 'ư').Replace('ử', 'ư').Replace('ữ', 'ư').Replace('ự', 'ư'); + PR = PR.Replace("ch", "C").Replace("d", "z").Replace("đ", "d").Replace("ph", "f").Replace("ch", "C") + .Replace("gi", "z").Replace("gh", "g").Replace("c", "k").Replace("kh", "K").Replace("ng", "N") + .Replace("ngh", "N").Replace("nh", "J").Replace("x", "s").Replace("tr", "Z").Replace("th", "T") + .Replace("qu", "w"); + a = (PR.EndsWith("ua") || PR.EndsWith("ưa") || PR.EndsWith("ia") || PR.EndsWith("uya")); + if (a) { + vow = "A"; + } + a = (PR.EndsWith("uN") || PR.EndsWith("ôN") || PR.EndsWith("oN")); + if (PR.EndsWith("uôN")) { + vow = "ng"; + } else if (a) { + vow = "m"; + } + a = (PR.EndsWith("breaT") || PR.EndsWith("C")); + if (a) { + vow = "-"; + } + if (PR.EndsWith("ao") || PR.EndsWith("eo")) { + vow = "u"; + } + if (note.lyric.StartsWith("?")) { + phoneme = note.lyric.Substring(1); + } else { + // 1 kí tự + if (dem == 1) { + string N = loi; + N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") + .Replace("Z", "tr").Replace("T", "th"); + if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {N}" }, + new Phoneme { phoneme = $"{N} -", position = End }, + } + }; + } else + phoneme = $"{vow} {N}"; + } + // 2 kí tự CV, ví dụ: "ba" + if ((dem == 2) && tontaiC) { + string N = loi; + string N2 = loi.Substring(1, 1); + N = N.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh") + .Replace("Z", "tr").Replace("T", "th"); + N2 = N2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {N}" }, + new Phoneme { phoneme = $"{N2} -", position = End }, + } + }; + } else + phoneme = $"{vow} {N}"; + } + // 2 kí tự VV/VC, ví dụ: "oa" "an" + if ((dem == 2) && kocoC && kocoCcuoi) { + string V1 = loi.Substring(0, 1); + string V2 = loi.Substring(1, 1); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("N", "ng").Replace("J", "nh"); + a = (loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa")); + if (a) { + V2 = "A"; + } + if (loi.EndsWith("oa") || loi.EndsWith("oe")) { + V1 = "u"; + } + if (note.lyric == "ao" || note.lyric == "eo") { + V2 = "u"; + } + string N = V2; + if (loi == "ôN" || loi == "uN" || loi == "oN") { + N = "m"; + } + if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = ViTri }, + new Phoneme { phoneme = $"{N} -", position = End }, + } + }; + } else { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = ViTri }, + } + }; + } + } + // 2 kí tự VC, ví dụ "át" + if ((dem == 2) && tontaiCcuoi) { + string V1 = loi.Substring(0, 1); + string V2 = loi.Substring(1, 1); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + V2 = V2.Replace("C", "ch"); + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + } + }; + } + // 3 kí tự VVC chia 3 nốt, ví dụ: "oát" + if ((dem == 3) && tontaiCcuoi && koVVCchia && kocoC) { + string V1 = loi.Substring(0, 1); + string V2 = loi.Substring(1, 1); + string VC = loi.Substring(1); + if (loi.StartsWith("oa") || loi.StartsWith("oe")) { + V1 = "u"; + } + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + VC = VC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch"); + if (ViTriDai) { + ViTri = Medium; + } + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + } + }; + } + // 3 kí tự VVV chia 3 nốt, ví dụ: "oan" "oai" + if ((dem == 3) && koVVCchia && kocoC) { + string V1 = loi.Substring(0, 1); + string V2 = loi.Substring(1, 1); + string V3 = loi.Substring(2); + if (loi.EndsWith("uya")) { + V3 = "A"; + } + if (loi.StartsWith("oa") || loi.StartsWith("oe")) { + V1 = "u"; + } + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + V3 = V3.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("N", "ng").Replace("J", "nh"); + if (ViTriNgan) { + ViTri = Short; + } else { + ViTri = Medium; + } + if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{V2} {V3}", position = ViTri }, + new Phoneme { phoneme = $"{V3} -", position = End }, + } + }; + } else return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{V2} {V3}", position = ViTri }, + } + }; + } + // 3 kí tự VVV/VVC chia 2 nốt, ví dụ: "yên" "ướt" + if ((dem == 3) && tontaiVVC && kocoC) { + string V1 = loi.Substring(0, 1); + string VVC = loi.Substring(0); + string N = loi.Substring(2); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U"); + VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (NoNext && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{N} -", position = End }, + } + }; + } else return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + // 3 kí tự CVC, ví dụ: "hát" + if (dem == 3 && tontaiC && tontaiCcuoi) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string V2 = loi.Substring(2); + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("C", "ch"); + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}{V1}" }, + new Phoneme { phoneme = $"{V1}{V2}", position = ViTri }, + } + }; + } + // 3 kí tự CVV/CVC, ví dụ: "hoa" "han" + if (dem == 3 && tontaiC && kocoCcuoi) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string V2 = loi.Substring(2); + if (loi.EndsWith("oa") || loi.EndsWith("oe")) { + V1 = "u"; + } + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U") + .Replace("N", "ng").Replace("J", "nh"); + a = (loi.EndsWith("ia") || loi.EndsWith("ua") || loi.EndsWith("ưa")); + if (a && (note.lyric != "qua")) { + V2 = "A"; + } + if (note.lyric.EndsWith("ao") || note.lyric.EndsWith("eo")) { + V2 = "u"; + } + string N = V2; + if (loi.EndsWith("ôN") || loi.EndsWith("uN") || loi.EndsWith("oN")) { + N = "m"; + } + if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}{V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = ViTri }, + new Phoneme { phoneme = $"{N} -", position = End }, + } + }; + } else return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}{V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = ViTri }, + } + }; + } + // 4 kí tự VVVC có VVC liền, chia 3 nốt, ví dụ "uyết" "uyên" + if (dem == 4 && kocoC && tontaiVVC) { + string V1 = loi.Substring(0, 1); + string V2 = loi.Substring(1, 1); + string VVC = loi.Substring(1); + string N = loi.Substring(3); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (ViTriNgan) { + ViTri = Short; + } else { + ViTri = Medium; + } + if (NoNext && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{N} -", position = End }, + } + }; + } else return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + // 4 kí tự CVVC, có VVC liền, chia 2 nốt, ví dụ "thiết" "tiên" + if (dem == 4 && tontaiVVC && tontaiC) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string VVC = loi.Substring(1); + string N = loi.Substring(3); + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (NoNext && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{N} -", position = End }, + } + }; + } else return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}{V1}" }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + // 4 kí tự CVVC, chia 3 nốt, ví dụ "thoát" + if (dem == 4 && tontaiC && tontaiCcuoi) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string V2 = loi.Substring(2, 1); + string VC = loi.Substring(2); + if (V1 + V2 == "oa" || V1 + V2 == "oe") { + V1 = "u"; + } + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + VC = VC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch"); + if (ViTriNgan) { + ViTri = Short; + } else { + ViTri = Medium; + } + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}{V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{VC}", position = ViTri }, + } + }; + } + // 4 kí tự CVVV/CVVC, chia 3 nốt, ví dụ "ngoại" "ngoan" + if (dem == 4 && kocoCcuoi && tontaiC) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string V2 = loi.Substring(2, 1); + string V3 = loi.Substring(3); + if (loi.EndsWith("uya")) { + V3 = "A"; + } + if (V1 + V2 == "oa" || V1 + V2 == "oe") { + V1 = "u"; + } + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V3 = V3.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U") + .Replace("N", "ng").Replace("J", "nh"); + if (ViTriNgan) { + ViTri = Short; + } else { + ViTri = Medium; + } + if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}{V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{V2} {V3}", position = ViTri }, + new Phoneme { phoneme = $"{V3} -", position = End }, + } + }; + } else return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}{V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{V2} {V3}", position = ViTri }, + } + }; + } + // 5 kí tự CVVVC, có VVC liền, chia 3 nốt, ví dụ "thuyết" "thuyền" + if (dem == 5 && tontaiVVC && tontaiC) { + string C = loi.Substring(0, 1); + string V1 = loi.Substring(1, 1); + string V2 = loi.Substring(2, 1); + string VVC = loi.Substring(2); + string N = loi.Substring(4); + C = C.Replace("C", "ch").Replace("K", "kh").Replace("N", "ng").Replace("J", "nh").Replace("Z", "tr").Replace("T", "th"); + V1 = V1.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + V2 = V2.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O").Replace("ư", "U"); + VVC = VVC.Replace("ă", "a").Replace("â", "A").Replace("ơ", "@").Replace("y", "i").Replace("ê", "E").Replace("ô", "O") + .Replace("ư", "U").Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + N = N.Replace("C", "ch").Replace("N", "ng").Replace("J", "nh"); + if (ViTriNgan) { + ViTri = Short; + } else { + ViTri = Medium; + } + if (NoNext && tontaiCcuoi) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}{V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } else if (NoNext) { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}{V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + new Phoneme { phoneme = $"{N} -", position = End }, + } + }; + } else return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} {C}{V1}" }, + new Phoneme { phoneme = $"{V1} {V2}", position = Long }, + new Phoneme { phoneme = $"{VVC}", position = ViTri }, + } + }; + } + if (BR) { + string num = loi.Substring(5); + if (num == "") { + num = "1"; + } + if (vow == "-") { + return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"breath{num}" }, + } + }; + } else return new Result { + phonemes = new Phoneme[] { + new Phoneme { phoneme = $"{vow} -", position = -60 }, + new Phoneme { phoneme = $"breath{num}" }, + } + }; + } + } + } + } + // Get color + string color = string.Empty; + int toneShift = 0; + if (note.phonemeAttributes != null) { + var attr = note.phonemeAttributes.FirstOrDefault(attr => attr.index == 0); + color = attr.voiceColor; + toneShift = attr.toneShift; + } + if (singer.TryGetMappedOto(phoneme, note.tone + toneShift, color, out var oto)) { + phoneme = oto.Alias; + } else { + phoneme = note.lyric; + } + return new Result { + phonemes = new Phoneme[] { + new Phoneme { + phoneme = phoneme, + } + }, + }; + } + } +} diff --git a/OpenUtau.Test/App/AppTest.cs b/OpenUtau.Test/App/AppTest.cs new file mode 100644 index 000000000..1ec506da0 --- /dev/null +++ b/OpenUtau.Test/App/AppTest.cs @@ -0,0 +1,11 @@ +using Xunit; + +namespace OpenUtau.App { + public class AppTest { + [Fact] + public void BuildTest() { + Assert.False(typeof(OpenUtau.App.App).IsAbstract); + Assert.False(typeof(OpenUtau.App.Program).IsAbstract); + } + } +} diff --git a/OpenUtau.Test/Classic/UstTest.cs b/OpenUtau.Test/Classic/UstTest.cs index 3c9dddc31..5f19f00ff 100644 --- a/OpenUtau.Test/Classic/UstTest.cs +++ b/OpenUtau.Test/Classic/UstTest.cs @@ -1,4 +1,5 @@ using System.IO; +using System.Linq; using System.Reflection; using System.Text; using OpenUtau.Core.Ustx; @@ -44,5 +45,35 @@ public void UstLoadingTest() { } } } + + + [Fact] + public void EqualInLyric() { + string ust = @" +[#SETTING] +Tempo=128.00 +Tool1= +[#0000] +Length=15 +Lyric=A==B[C=D],EFG +NoteNum=60 +PreUtterance="; + using (var stream = new MemoryStream()) { + using (var writer = new StreamWriter(stream, leaveOpen: true)) { + writer.Write(ust); + } + stream.Seek(0, SeekOrigin.Begin); + using (var reader = new StreamReader(stream)) { + var project = Ust.Load(reader, "test.ust"); + project.AfterLoad(); + project.ValidateFull(); + Assert.Single(project.parts); + var part = project.parts[0] as UVoicePart; + Assert.Single(part.notes); + Assert.Equal("A==B[C=D],EFG", part.notes.First().lyric); + Assert.Equal(60, part.notes.First().tone); + } + } + } } } diff --git a/OpenUtau.Test/Classic/VoicebankConfigTest.cs b/OpenUtau.Test/Classic/VoicebankConfigTest.cs index fbaa81eb8..2db271c50 100644 --- a/OpenUtau.Test/Classic/VoicebankConfigTest.cs +++ b/OpenUtau.Test/Classic/VoicebankConfigTest.cs @@ -12,6 +12,7 @@ public VoicebankConfigTest(ITestOutputHelper output) { static VoicebankConfig CreateConfig() { return new VoicebankConfig() { + PortraitOpacity = 0.75f, SymbolSet = new SymbolSet() { Preset = SymbolSetPreset.hiragana, }, @@ -50,35 +51,36 @@ public void SerializationTest() { var yaml = Yaml.DefaultSerializer.Serialize(CreateConfig()); output.WriteLine(yaml); - Assert.Equal(@"portrait_opacity: 0.67000001668930054 + //"" evaluates to " in verbatim string literals + Assert.Equal(@"portrait_opacity: 0.75 symbol_set: preset: hiragana head: '-' tail: R subbanks: -- prefix: '' - suffix: '' +- prefix: """" + suffix: """" tone_ranges: - C1-C4 -- prefix: '' +- prefix: """" suffix: D4 tone_ranges: - C#4-F4 -- prefix: '' +- prefix: """" suffix: G4 tone_ranges: - F#4-A#4 -- prefix: '' +- prefix: """" suffix: C5 tone_ranges: - B4-B7 - color: power - prefix: '' + prefix: """" suffix: C5P tone_ranges: - B4-B7 - color: shout - prefix: '' + prefix: """" suffix: C5S tone_ranges: - B4-B7 diff --git a/OpenUtau.Test/Classic/VoicebankLoaderTest.cs b/OpenUtau.Test/Classic/VoicebankLoaderTest.cs new file mode 100644 index 000000000..f3f2917cd --- /dev/null +++ b/OpenUtau.Test/Classic/VoicebankLoaderTest.cs @@ -0,0 +1,51 @@ +using System.IO; +using System.Text; +using Xunit; +using Xunit.Abstractions; + +namespace OpenUtau.Classic { + public class VoicebankLoaderTest { + readonly ITestOutputHelper output; + + public VoicebankLoaderTest(ITestOutputHelper output) { + this.output = output; + } + + [Fact] + public void OtoSetRoundTrip() { + string text = @"a.wav=,,,,, +a.wav=- a, +a.wav=a R,500,,, +!@#$!@#$ +aoieu.wav=- a,,,,,,,,, + +aoieu.wav=a o,, +aoieu.wav=o i,,, +aoieu.wav=i e,,100,150,,, +aoieu.wav=e u,20, +aoieu.wav=u R,5,,33,44,, +".Replace("\r\n", "\n"); + string expected = @"a.wav=,,,,, +a.wav=- a,,,,, +a.wav=a R,500,,,, +!@#$!@#$ +aoieu.wav=- a,,,,, + +aoieu.wav=a o,,,,, +aoieu.wav=o i,,,,, +aoieu.wav=i e,,100,150,, +aoieu.wav=e u,20,,,, +aoieu.wav=u R,5,,33,44, +".Replace("\r\n", "\n"); + + using (MemoryStream stream = new MemoryStream(Encoding.ASCII.GetBytes(text))) { + var otoSet = VoicebankLoader.ParseOtoSet(stream, "oto.ini", Encoding.ASCII); + using (MemoryStream stream2 = new MemoryStream()) { + VoicebankLoader.WriteOtoSet(otoSet, stream2, Encoding.ASCII); + string actual = Encoding.ASCII.GetString(stream2.ToArray()); + Assert.Equal(expected, actual); + } + } + } + } +} diff --git a/OpenUtau.Test/Plugins/G2pTest.cs b/OpenUtau.Test/Core/G2p/G2pTest.cs similarity index 96% rename from OpenUtau.Test/Plugins/G2pTest.cs rename to OpenUtau.Test/Core/G2p/G2pTest.cs index 436924f06..fc04f4418 100644 --- a/OpenUtau.Test/Plugins/G2pTest.cs +++ b/OpenUtau.Test/Core/G2p/G2pTest.cs @@ -1,8 +1,7 @@ using Xunit; using Xunit.Abstractions; -using OpenUtau.Plugin.Builtin; -namespace OpenUtau.Plugins { +namespace OpenUtau.Core.G2p { public class G2pTest { readonly ITestOutputHelper output; diff --git a/OpenUtau.Test/Core/USTx/UstxYamlTest.cs b/OpenUtau.Test/Core/USTx/UstxYamlTest.cs index 41c34685e..159e21b31 100644 --- a/OpenUtau.Test/Core/USTx/UstxYamlTest.cs +++ b/OpenUtau.Test/Core/USTx/UstxYamlTest.cs @@ -62,5 +62,24 @@ public void UNoteDeserializationTest() { Assert.Null(vel.descriptor); Assert.Equal(123, vel.value); } + + [Fact] + public void SpecialLyric() { + var yaml = Yaml.DefaultSerializer.Serialize(new UNote() { lyric = "-@" }); + var actual = Yaml.DefaultDeserializer.Deserialize(yaml); + Assert.Equal("-@", actual.lyric); + + yaml = Yaml.DefaultSerializer.Serialize(new UNote() { lyric = "-&" }); + actual = Yaml.DefaultDeserializer.Deserialize(yaml); + Assert.Equal("-&", actual.lyric); + + yaml = Yaml.DefaultSerializer.Serialize(new UNote() { lyric = "null" }); + actual = Yaml.DefaultDeserializer.Deserialize(yaml); + Assert.Equal("null", actual.lyric); + + yaml = Yaml.DefaultSerializer.Serialize(new UNote() { lyric = "true" }); + actual = Yaml.DefaultDeserializer.Deserialize(yaml); + Assert.Equal("true", actual.lyric); + } } } diff --git a/OpenUtau.Test/Core/Util/TimeAxisTest.cs b/OpenUtau.Test/Core/Util/TimeAxisTest.cs new file mode 100644 index 000000000..278e739f8 --- /dev/null +++ b/OpenUtau.Test/Core/Util/TimeAxisTest.cs @@ -0,0 +1,104 @@ +using OpenUtau.Core.Ustx; +using Xunit; +using Xunit.Abstractions; + + +namespace OpenUtau.Core { + public class TimeAxisTest { + + readonly ITestOutputHelper output; + public TimeAxisTest(ITestOutputHelper output) { + this.output = output; + } + + [Fact] + public void ConvertMsTest() { + var timeAxis = new TimeAxis(); + var project = new UProject(); + project.timeSignatures.Add(new UTimeSignature(5, 3, 8)); + project.timeSignatures.Add(new UTimeSignature(11, 4, 4)); + project.tempos.Add(new UTempo(4800, 75)); + project.tempos.Add(new UTempo(9600, 90)); + project.tempos.Add(new UTempo(18000, 60)); + timeAxis.BuildSegments(project); + + Assert.Equal(0, timeAxis.TickPosToMsPos(0)); + Assert.Equal(2500, timeAxis.TickPosToMsPos(2400), 6); + Assert.Equal(5000, timeAxis.TickPosToMsPos(4800), 6); + Assert.Equal(9000, timeAxis.TickPosToMsPos(7200), 6); + Assert.Equal(20333.33333333, timeAxis.TickPosToMsPos(15960), 6); + Assert.Equal(35666.66666667, timeAxis.TickPosToMsPos(24000), 6); + + Assert.Equal(0, timeAxis.MsPosToTickPos(0)); + Assert.Equal(2400, timeAxis.MsPosToTickPos(2500)); + Assert.Equal(4800, timeAxis.MsPosToTickPos(5000)); + Assert.Equal(7200, timeAxis.MsPosToTickPos(9000)); + Assert.Equal(15960, timeAxis.MsPosToTickPos(20333.33333333)); + Assert.Equal(24000, timeAxis.MsPosToTickPos(35666.66666667)); + } + + [Fact] + public void ConvertBarBeatTest() { + var timeAxis = new TimeAxis(); + var project = new UProject(); + project.timeSignatures.Add(new UTimeSignature(5, 3, 8)); + project.timeSignatures.Add(new UTimeSignature(11, 4, 4)); + project.tempos.Add(new UTempo(4800, 75)); + project.tempos.Add(new UTempo(9600, 90)); + project.tempos.Add(new UTempo(18000, 60)); + timeAxis.BuildSegments(project); + + Assert.Equal(0, timeAxis.BarBeatToTickPos(0, 0)); + Assert.Equal(1440, timeAxis.BarBeatToTickPos(0, 3)); + Assert.Equal(4800, timeAxis.BarBeatToTickPos(2, 2)); + Assert.Equal(9600, timeAxis.BarBeatToTickPos(5, 0)); + Assert.Equal(13920, timeAxis.BarBeatToTickPos(11, 0)); + Assert.Equal(17760, timeAxis.BarBeatToTickPos(13, 0)); + Assert.Equal(18240, timeAxis.BarBeatToTickPos(13, 1)); + + int bar; + int beat; + int remainingTicks; + timeAxis.TickPosToBarBeat(0, out bar, out beat, out remainingTicks); + Assert.Equal(0, bar); + Assert.Equal(0, beat); + Assert.Equal(0, remainingTicks); + timeAxis.TickPosToBarBeat(1440, out bar, out beat, out remainingTicks); + Assert.Equal(0, bar); + Assert.Equal(3, beat); + Assert.Equal(0, remainingTicks); + timeAxis.TickPosToBarBeat(1450, out bar, out beat, out remainingTicks); + Assert.Equal(0, bar); + Assert.Equal(3, beat); + Assert.Equal(10, remainingTicks); + timeAxis.TickPosToBarBeat(4800, out bar, out beat, out remainingTicks); + Assert.Equal(2, bar); + Assert.Equal(2, beat); + Assert.Equal(0, remainingTicks); + timeAxis.TickPosToBarBeat(9600, out bar, out beat, out remainingTicks); + Assert.Equal(5, bar); + Assert.Equal(0, beat); + Assert.Equal(0, remainingTicks); + timeAxis.TickPosToBarBeat(13920, out bar, out beat, out remainingTicks); + Assert.Equal(11, bar); + Assert.Equal(0, beat); + Assert.Equal(0, remainingTicks); + timeAxis.TickPosToBarBeat(14000, out bar, out beat, out remainingTicks); + Assert.Equal(11, bar); + Assert.Equal(0, beat); + Assert.Equal(80, remainingTicks); + timeAxis.TickPosToBarBeat(17760, out bar, out beat, out remainingTicks); + Assert.Equal(13, bar); + Assert.Equal(0, beat); + Assert.Equal(0, remainingTicks); + timeAxis.TickPosToBarBeat(18000, out bar, out beat, out remainingTicks); + Assert.Equal(13, bar); + Assert.Equal(0, beat); + Assert.Equal(240, remainingTicks); + timeAxis.TickPosToBarBeat(18200, out bar, out beat, out remainingTicks); + Assert.Equal(13, bar); + Assert.Equal(0, beat); + Assert.Equal(440, remainingTicks); + } + } +} diff --git a/OpenUtau.Test/Files/en_arpa/High/oto.ini b/OpenUtau.Test/Files/en_arpa/High/oto.ini new file mode 100644 index 000000000..dfe1f0a8c --- /dev/null +++ b/OpenUtau.Test/Files/en_arpa/High/oto.ini @@ -0,0 +1,2702 @@ +0.wav=- ay_1,379.774,190.241,-399.98,60.0,30.0 +0.wav=ah iy_1,2408.83,340,-650,240,120 +0.wav=ay er_1,671.317,476.114,-712.071,400.0,199.999 +0.wav=er iy_1,1288.005,340,-650,240,120 +0.wav=iy ah_1,1856.997,340,-650,240,120 +0.wav=iy -_1,2983.303,611.269,-817.136,299.999,120.0 +0.wav=ah_1,2110.389,40.0,-210.221,20.0,40.0 +0.wav=ay_1,575.365,40.0,-210.221,20.0,40.0 +0.wav=er_1,1099.935,40.0,-210.221,20.0,40.0 +0.wav=iy_1,1616.274,40.0,-210.221,20.0,40.0 +0.wav=iy1_1,2698.375,40.0,-210.221,20.0,40.0 +1.wav=- ih_1,411.912,173.326,-416.894,60.0,30.0 +1.wav=ay ih_1,1677.936,451.377,-650,400,200 +1.wav=ih iy_1,755.203,340,-650,240,120 +1.wav=ih uw_1,2380.254,340,-650,240,120 +1.wav=iy ay_1,1322.258,340.0,-590.128,240.0,119.998 +1.wav=uw -_1,2986.841,531.393,-570.096,299.999,120.0 +1.wav=ay1_1,1645.198,40.0,-210.221,20.0,40.0 +1.wav=ih_1,530.898,40.0,-210.221,20.0,40.0 +1.wav=ih1_1,2224.216,40.0,-210.221,20.0,40.0 +1.wav=iy2_1,1093.376,40.0,-210.221,20.0,40.0 +1.wav=uw_1,2692.859,40.0,-210.221,20.0,40.0 +10.wav=- p_1,184.022,50.774,-109.662,40.0,20.0 +10.wav=aa l_1,1698.416,315.51,-354.413,110,55 +10.wav=aa r_1,546.87,120,-160.277,110,55 +10.wav=aa r1_1,1145.187,120.0,-169.201,110,55 +10.wav=d aa_1,820,180,-415.278,60,30 +10.wav=p aa_1,171.225,210.195,-394.562,140,70.0 +10.wav=y aa_1,1376.559,127.233,-397.879,60,30 +10.wav=k d_1,742,69.882,-83.057,60.0,30.0 +10.wav=r k_1,618.255,90.506,-105.328,40.0,20.0 +10.wav=r y_1,1342.754,78.116,-100.624,60.0,30.0 +10.wav=l -_1,1879.26,316.335,-382.212,80.0,40.0 +100.wav=- g4_1,342.645,71.072,-83.601,40.0,20.0 +100.wav=ow k_1,1352.568,240.0,-267.36,220,110.0 +100.wav=ow s_1,2115.441,240,-300,220,110.0 +100.wav=ow v_1,747.548,240.0,-279.765,220,110.0 +100.wav=m ow_1,1076.179,114.664,-397.98,40.0,20.0 +100.wav=m ow1_1,1712.275,94.0,-424.193,30.0,15.0 +100.wav=r ow_1,444.746,142.659,-372.68,39.999,20.0 +100.wav=g r1_1,376.985,69.882,-83.057,60.0,30.0 +100.wav=k m_1,1614,69.882,-83.057,60.0,30.0 +100.wav=v m_1,988.684,65.922,-78.548,49.999,25.0 +100.wav=s -7_1,2385.0,135.783,-217.306,80.0,40.0 +101.wav=- k4_1,343.895,101.643,-135.222,40.0,20.0 +101.wav=ow b_1,1351.483,240,-300,220,110.0 +101.wav=ow p_1,646.069,240,-300,220,110.0 +101.wav=b ow_1,1596.963,150,-370,60,30 +101.wav=dh ow_1,1047.125,179.999,-475.249,60.0,30.0 +101.wav=k ow_1,371.363,177.508,-406.698,120.0,60.0 +101.wav=p dh_1,872.826,112.079,-138.43,100,50.0 +101.wav=ow -1_1,1904.601,570.097,-630.209,300.0,119.999 +102.wav=- k5_1,187.53,91.871,-118.683,40.0,20.0 +102.wav=ow d_1,1785.754,240.0,-262.286,220,110.0 +102.wav=ow dh_1,496.667,240,-300,220,110.0 +102.wav=ow m_1,1049.88,240,-300,220,110.0 +102.wav=hh ow_1,854.0,155.835,-318.213,80.0,40.0 +102.wav=l ow_1,324.803,140.343,-336.551,60.0,30.0 +102.wav=q ow_1,1451.611,105.567,-408.335,10.0,10.0 +102.wav=d q1_1,1310.158,88.782,-96.468,80.0,40.0 +102.wav=dh z1_1,729.238,100,-150,80.0,40.0 +102.wav=k l_1,268,69.882,-83.057,60.0,30.0 +102.wav=m d2_1,1323.553,75.92,-84.704,60.0,30.0 +102.wav=z hh_1,757.593,73.41,-120.622,50.0,25.0 +102.wav=d -5_1,2001.956,294.924,-371.506,80.0,40.0 +103.wav=- t3_1,195.799,62.051,-118.433,40.0,20.0 +103.wav=ow k1_1,1772.224,239.999,-289.349,220,110.0 +103.wav=ow t_1,505.69,240.0,-265.082,220,110.0 +103.wav=ow w_1,1260.785,235.223,-276.381,220,110.0 +103.wav=p ow_1,850.103,191.189,-393.167,120.0,59.999 +103.wav=t ow_1,216.522,170.187,-437.289,120.0,60.0 +103.wav=w ow_1,1491.136,116.975,-396.954,50.0,24.999 +103.wav=t p_1,739.128,103.056,-122.822,79.999,40.0 +103.wav=k -_1,1996.192,316.335,-382.212,80.0,40.0 +104.wav=- s11_1,147.436,70.822,-115.927,40.0,20.0 +104.wav=ow l_1,1510.483,277.509,-342.347,220,110.0 +104.wav=ow sh_1,1125.372,240,-300,220,110.0 +104.wav=ow y_1,590.248,240.0,-280.328,220,110.0 +104.wav=s ow_1,217.308,200,-420,100,50 +104.wav=sh ow_1,1385,200,-420,100,50 +104.wav=y ow_1,837.299,156.932,-392.443,40.0,20.0 +104.wav=l -3_1,1885.663,223.283,-280.926,79.999,39.999 +105.wav=- ng_1,326.856,48.019,-58.794,40.0,20.0 +105.wav=ow f_1,1180.706,240,-300,220,110.0 +105.wav=ow hh_1,614.524,240,-300,220,110.0 +105.wav=ow n_1,1877.657,240.0,-281.455,220,110.0 +105.wav=f ow_1,1456.057,200,-500,80.0,40.0 +105.wav=hh ow1_1,897.707,170.492,-385.305,80.0,40.0 +105.wav=ng ow_1,378.0,120.129,-365.388,40.0,20.0 +105.wav=n -4_1,2055.065,217.112,-287.93,80.0,40.0 +105.wav=ow4_1,490.548,40.0,-210.221,20.0,40.0 +105.wav=n33_1,2085,15,-126.301,15,10 +105.wav=ng14_1,367.911,15,-126.301,15,10 +106.wav=- d4_1,268.969,59.545,-99.639,40.0,20.0 +106.wav=ow n1_1,506.244,240,-300,220,110.0 +106.wav=ow z_1,1179.538,240,-300,220,110.0 +106.wav=ow z1_1,1878.174,240,-300,220,110.0 +106.wav=d ow_1,287.591,180.0,-335.705,60.0,30.0 +106.wav=g ow_1,892.642,200,-380.231,80.0,40.0 +106.wav=n ow_1,1528.792,177.259,-411.524,80.0,40.0 +106.wav=n t2_1,745.386,69.331,-80.311,59.999,30.0 +106.wav=t g_1,789.627,103.057,-142.584,80.0,40.0 +106.wav=z n_1,1453.951,85.49,-99.214,80.0,40.0 +106.wav=z -16_1,2150.0,180.619,-262.142,80.0,40.0 +106.wav=ow5_1,1685,40.0,-210.221,20.0,40.0 +106.wav=n34_1,755,15,-126.301,15,10 +107.wav=- b3_1,341.387,51.779,-71.074,40.0,20.0 +107.wav=oy n_1,1251.637,240,-300,220,110.0 +107.wav=oy z_1,653.947,240,-300,220,110.0 +107.wav=b oy_1,360.323,149.999,-282.424,60.0,29.999 +107.wav=g oy_1,1570.167,200,-380.231,80.0,40.0 +107.wav=jh oy_1,997.193,139.999,-316.255,60.0,30.0 +107.wav=n g_1,1523.839,87.997,-112.701,60.0,30.0 +107.wav=z jh_1,889.864,118.622,-152.11,50.0,25.0 +107.wav=oy -_1,1945.744,571.745,-640.092,299.999,120.0 +107.wav=n35_1,1456,15,-126.301,15,10 +108.wav=- p11_1,269.219,58.294,-103.649,40.0,20.0 +108.wav=uh l_1,1886.687,131.988,-168.636,110.0,54.999 +108.wav=uh r_1,1306.44,120,-152.773,110,55 +108.wav=uh t_1,647.238,146.648,-178.786,109.999,55.0 +108.wav=p uh_1,264.804,191.189,-399.932,120.0,60.0 +108.wav=sh uh_1,890.959,200,-420,100,50 +108.wav=w uh_1,1493.29,143.875,-318.998,49.999,24.999 +108.wav=l f_1,2005.965,100,-120,60,30 +108.wav=r w_1,1382.508,90.506,-105.328,40.0,20.0 +108.wav=t sh_1,779.19,103.057,-142.584,80.0,40.0 +108.wav=f -1_1,2155.92,180.943,-277.288,80.0,40.0 +109.wav=- g5_1,161.97,59.546,-82.349,40.0,20.0 +109.wav=uh d_1,550.79,120,-160.783,110,55 +109.wav=uh ng_1,1087.54,143.829,-221.636,110.0,54.999 +109.wav=uh r1_1,1745.512,138.19,-223.326,110.0,54.999 +109.wav=g uh_1,174.562,200,-380.231,80.0,40.0 +109.wav=t uh_1,1347.642,266.534,-477.341,120,60 +109.wav=y uh1_1,858.202,106.025,-293.629,39.999,20.0 +109.wav=d z4_1,699.044,100,-150,80.0,40.0 +109.wav=ng t_1,1279.658,71.529,-83.606,60.0,30.0 +109.wav=r z3_1,2016.179,90.505,-192.615,40.0,20.0 +109.wav=z y1_1,712.034,73.41,-120.622,50.0,25.0 +109.wav=z -17_1,2165.023,120.136,-167.287,80.0,40.0 +109.wav=ng15_1,1185,15,-126.301,15,10 +11.wav=- k_1,140.42,77.588,-112.669,40.0,20.0 +11.wav=aa ch_1,1071.311,156.798,-230.094,110,55 +11.wav=aa r2_1,425.654,143.265,-202.465,110,55 +11.wav=aa r3_1,1579.996,120,-206.277,110,55 +11.wav=k aa_1,142.174,177.508,-406.698,120.0,60.0 +11.wav=l aa_1,1332.233,140.343,-336.551,60.0,30.0 +11.wav=w aa_1,828.962,70.82,-260.766,50,25 +11.wav=ch l_1,1209.745,140,-160,120,60 +11.wav=r jh_1,1832.216,90.506,-105.328,40.0,20.0 +11.wav=r v_1,648.449,73.488,-105.327,40.0,20.0 +11.wav=v w_1,725.942,89.881,-119.525,79.999,40.0 +11.wav=jh -_1,1894.906,316.335,-382.212,80.0,40.0 +110.wav=- b4_1,277.489,46.766,-60.548,40.0,20.0 +110.wav=uh d1_1,1249.42,125.223,-168.073,110.0,54.999 +110.wav=uh k_1,1850.474,119.998,-176.531,110.0,54.999 +110.wav=uh sh_1,630.304,133.681,-202.466,109.999,55.0 +110.wav=b uh_1,281.671,123.429,-250.287,60.0,29.999 +110.wav=k uh_1,846.68,193.578,-332.276,120.0,59.999 +110.wav=l uh_1,1447.127,140.343,-336.551,60.0,30.0 +110.wav=d l_1,1358.357,99.999,-140.936,80.0,40.0 +110.wav=sh k_1,757.204,96.47,-111.292,79.999,40.0 +110.wav=k -1_1,1965.514,236.458,-284.158,80.0,40.0 +111.wav=- f4_1,242.91,73.829,-119.936,40.0,20.0 +111.wav=uw d_1,810.204,120.0,-163.563,109.999,55.0 +111.wav=uw m_1,1354.914,120.0,-197.955,110.0,54.999 +111.wav=uw s_1,1961.675,156.233,-234.039,109.999,55.0 +111.wav=b uw_1,1553.859,150,-370,60,30 +111.wav=d uw_1,975.223,210.539,-416.895,60.0,30.0 +111.wav=y uw15_1,406.868,106.025,-311.193,39.999,20.0 +111.wav=f y_1,339.966,99.999,-131.605,80.0,39.999 +111.wav=m b_1,1506.896,81.41,-103.369,60.0,30.0 +111.wav=s t6_1,2129.797,96.47,-118.977,80.0,40.0 +111.wav=t -12_1,2218.367,218.479,-281.405,79.999,39.999 +112.wav=- v4_1,414.812,50.774,-74.33,40.0,20.0 +112.wav=uw b_1,2199.64,120.0,-166.946,109.999,55.0 +112.wav=uw k_1,1431.612,130.297,-164.126,109.999,54.999 +112.wav=uw z_1,891.963,127.479,-208.104,109.999,55.0 +112.wav=l uw_1,1187.461,95.52,-269.738,60.0,30.0 +112.wav=y uw1_1,530.95,123.445,-300.215,39.999,20.0 +112.wav=y uw2_1,1851.918,227.201,-397.933,40.0,20.0 +112.wav=k k_1,1618,69.882,-83.057,60.0,30.0 +112.wav=k y_1,1707.991,158.268,-175.286,140,70.0 +112.wav=v y_1,450.667,56.039,-78.547,49.999,25.0 +112.wav=z l_1,1038.684,73.41,-120.622,50.0,25.0 +112.wav=b -2_1,2317.941,296.862,-382.276,80,40 +113.wav=- m3_1,235,120,-274.256,40.0,20.0 +113.wav=uw dh_1,773.511,120.0,-174.839,109.999,55.0 +113.wav=uw sh_1,1445.606,119.998,-203.594,110.0,55.0 +113.wav=uw t_1,2107.552,120.0,-173.147,109.999,54.999 +113.wav=m uw_1,376.689,148.503,-337.099,30.0,15.0 +113.wav=sh uw_1,1605,200,-420,100,50 +113.wav=y uw3_1,1119.991,106.025,-295.823,40.0,20.0 +113.wav=dh m_1,884.554,94.823,-128.31,79.999,40.0 +113.wav=m y_1,961.648,81.41,-103.369,60.0,30.0 +113.wav=t -13_1,2219.238,316.335,-382.212,80.0,40.0 +114.wav=- p12_1,331.366,66.562,-120.438,40.0,20.0 +114.wav=uw f_1,2082.284,148.902,-209.232,109.999,54.999 +114.wav=uw r_1,613.962,178.786,-282.528,109.999,54.999 +114.wav=uw v_1,1411.848,130.861,-199.082,110.0,54.999 +114.wav=p uw_1,347.683,169.898,-390.631,120.0,60.0 +114.wav=r uw_1,1047.568,144.306,-341.937,40.0,20.0 +114.wav=r uw1_1,1666.31,222.26,-452.831,40.0,20.0 +114.wav=g r2_1,990.232,69.882,-83.057,60.0,30.0 +114.wav=r g_1,889.445,90.506,-105.328,40.0,20.0 +114.wav=v r_1,1582.932,90.98,-107.998,80.0,40.0 +114.wav=f -2_1,2260.473,220.813,-300.408,79.999,40.0 +115.wav=- th2_1,252.18,60.8,-103.399,40.0,20.0 +115.wav=uw g_1,809.061,136.499,-153.977,109.999,55.0 +115.wav=uw th_1,2083.409,153.415,-210.924,109.999,54.999 +115.wav=uw y_1,1441.73,132.553,-186.115,110.0,54.999 +115.wav=r uw2_1,449.69,76.0,-293.078,39.999,20.0 +115.wav=r uw3_1,1026.704,109.72,-354.563,40.0,20.0 +115.wav=y uw4_1,1609.21,106.025,-273.864,40.0,20.0 +115.wav=g r3_1,968.819,69.882,-83.057,60.0,30.0 +115.wav=th r_1,340.871,68.116,-99.408,49.999,25.0 +115.wav=th -4_1,2225.065,285.043,-320.171,80.0,40.0 +115.wav=th8_1,297.093,15.0,-87.465,15.0,10.0 +115.wav=th9_1,2184.661,15,-126.301,15,10 +116.wav=- f5_1,234.642,79.843,-144.494,40.0,20.0 +116.wav=uw l_1,1279.933,120,-171.773,110,55 +116.wav=uw n_1,2015.223,138.191,-199.647,109.999,54.999 +116.wav=uw t1_1,663.027,133.68,-165.817,109.999,54.999 +116.wav=q uw_1,998.15,155.465,-355.901,10.0,10.0 +116.wav=r uw4_1,433.765,70.743,-236.534,39.999,20.0 +116.wav=t uw_1,1505.099,170.187,-329.709,120.0,60.0 +116.wav=d t_1,1457.0,124.168,-149.999,79.999,40.0 +116.wav=f r_1,344.358,92.078,-120.625,80.0,39.999 +116.wav=l d1_1,1400.934,100,-120,60,30 +116.wav=t q1_1,795.111,91.529,-103.606,79.999,40.0 +116.wav=n -5_1,2138.627,168.591,-249.291,80.0,40.0 +116.wav=n36_1,1875,15,-126.301,15,10 +117.wav=- b5_1,175,120,-161.29,40.0,20.0 +117.wav=uw l1_1,1816.037,120,-161.289,110,55 +117.wav=uw p_1,1151.281,120.148,-147.211,110.0,54.999 +117.wav=uw w_1,719.953,120,-151.289,110,55 +117.wav=f uw_1,1379.739,200,-500,80.0,40.0 +117.wav=w uw_1,878.867,128.504,-323.94,50.0,25.0 +117.wav=y uw5_1,343.185,141.012,-383.258,39.999,19.999 +117.wav=b y_1,279.385,75.254,-103.251,49.999,25.0 +117.wav=l d2_1,1951.45,100,-120,60,30 +117.wav=p f_1,1266.952,112.079,-138.43,100,50.0 +117.wav=d -6_1,2009.954,266.103,-286.69,80.0,40.0 +118.wav=- s12_1,316.082,64.057,-117.933,40.0,20.0 +118.wav=uw dh1_1,821.481,119.022,-188.935,109.999,54.999 +118.wav=uw z1_1,1420.909,119.999,-177.094,110.0,54.999 +118.wav=n uw2_1,1668.351,120,-499.773,80,40 +118.wav=s uw_1,389.687,176.857,-354.176,99.999,49.999 +118.wav=y uw6_1,1078.339,170.102,-357.303,40.0,20.0 +118.wav=dh y_1,977.388,99.999,-131.054,79.999,39.999 +118.wav=z n1_1,1585.72,84.392,-100.861,80.0,40.0 +118.wav=uw -1_1,1978.741,422.611,-515.748,300.0,119.998 +118.wav=uw5_1,1764.662,40.0,-210.221,20.0,40.0 +119.wav=- k6_1,355.423,85.858,-114.174,40.0,20.0 +119.wav=uw hh_1,844.584,125.073,-181.04,109.999,55.0 +119.wav=uw m1_1,1407.335,120.0,-187.242,110.0,54.999 +119.wav=uw p1_1,2085.1,134.809,-194.573,109.999,55.0 +119.wav=hh uw_1,989.051,184.024,-423.363,80.0,40.0 +119.wav=k uw_1,367.981,177.508,-406.698,120.0,60.0 +119.wav=r uw5_1,1661.37,84.467,-347.976,40.0,20.0 +119.wav=g r4_1,1597.447,69.882,-83.057,60.0,30.0 +119.wav=m g_1,1535.407,71.528,-82.508,60.0,30.0 +119.wav=p -4_1,2216.007,229.87,-304.806,80.0,40.0 +12.wav=- z_1,71.259,50.775,-81.096,40.0,20.0 +12.wav=aa n_1,418.857,119.999,-199.083,110,55 +12.wav=aa r4_1,966.95,120,-151.301,110,55 +12.wav=aa r5_1,1670.099,119.998,-159.051,110,55 +12.wav=ch aa_1,633.24,176.561,-411.671,100,50 +12.wav=f aa_1,1185.258,200,-500,80,40 +12.wav=z aa_1,121.83,179.558,-332.722,50,25 +12.wav=m f_1,1103.886,81.41,-103.369,60.0,30.0 +12.wav=n ch_1,591.644,81.41,-103.369,60.0,30.0 +12.wav=r m_1,1048.121,60.861,-95.996,39.999,20.0 +12.wav=r -_1,1788.495,316.335,-382.212,80.0,40.0 +12.wav=n_1,525,15,-126.301,15,10 +120.wav=- k7_1,195.298,87.611,-111.667,40.0,20.0 +120.wav=aa n2_1,1082.487,117.331,-152.287,110,55 +120.wav=aa r9_1,1705.529,131.989,-182.732,110,55 +120.wav=aa s1_1,568.837,127.478,-170.892,110,55 +120.wav=k aa1_1,195.452,187.658,-333.968,120.0,60.0 +120.wav=t aa1_1,1397.608,170.187,-437.289,70,45 +120.wav=w aa2_1,885.085,101.426,-261.727,50,25 +120.wav=n t3_1,1214.724,73.724,-84.155,60.0,30.0 +120.wav=r t2_1,1971.449,67.449,-81.723,40.0,20.0 +120.wav=s t7_1,660.019,96.469,-112.391,79.999,39.999 +120.wav=s t8_1,1302.872,96.47,-120.624,80.0,40.0 +120.wav=t s3_1,1273.701,55.371,-108.073,40.0,20.0 +120.wav=t w1_1,762.206,127.136,-152.938,119.998,59.999 +120.wav=t -14_1,2019.012,174.698,-241.4,80.0,40.0 +120.wav=n37_1,1055,15,-126.301,15,10 +121.wav=- p13_1,221.108,60.548,-89.616,40.0,20.0 +121.wav=aa m1_1,588.029,128.606,-172.02,110,55 +121.wav=aa m2_1,1784.061,120.0,-192.318,110,55 +121.wav=aa n3_1,1168.822,145.52,-222.763,110,55 +121.wav=m aa1_1,775,120,-355.773,110,100 +121.wav=m aa_1,1324.061,141.738,-496.095,80.0,40.0 +121.wav=r aa1_1,327.607,111.604,-288.641,40.0,20.0 +121.wav=m z1_1,1942.283,99.527,-164.306,59.999,30.0 +121.wav=n m1_1,1273.01,81.41,-103.369,60.0,30.0 +121.wav=p r2_1,231.58,109.883,-132.391,99.999,49.999 +121.wav=z -18_1,2061.223,222.094,-382.212,79.999,40.0 +121.wav=n38_1,1135,15,-126.301,15,10 +122.wav=- w1_1,301.045,50.775,-68.065,40,20 +122.wav=aa p1_1,1187.424,127.479,-174.839,110,55 +122.wav=aa r10_1,1772.729,120.0,-197.392,110,55 +122.wav=aa z1_1,615.649,146.084,-209.231,110,55 +122.wav=k aa2_1,1365.263,198.651,-365.258,119.999,60.0 +122.wav=t aa2_1,856.703,146.858,-332.961,70.0,45.0 +122.wav=w aa3_1,339.223,86.782,-282.218,49.999,25.0 +122.wav=d z5_1,1999.639,100,-150,80.0,40.0 +122.wav=p k_1,1287.882,91.217,-104.392,80.0,40.0 +122.wav=r d2_1,1953.991,90.506,-105.328,40.0,20.0 +122.wav=s t9_1,759.411,96.469,-118.978,79.999,40.0 +122.wav=z s1_1,732.311,64.822,-101.055,49.999,24.999 +122.wav=z -19_1,2122.955,316.335,-382.212,80.0,40.0 +123.wav=- s13_1,209.581,67.564,-126.702,40.0,20.0 +123.wav=aa d1_1,1274.263,131.988,-169.2,110,55 +123.wav=aa n4_1,1895.657,152.851,-200.775,110,55 +123.wav=aa r11_1,514.721,149.467,-282.527,110,55 +123.wav=b aa_1,861.863,150,-370,60,30 +123.wav=d aa1_1,1431.162,179.999,-507.387,60.0,30.0 +123.wav=s aa2_1,274.951,200,-420,100,50 +123.wav=n t4_1,2035.559,73.725,-92.939,60.0,29.999 +123.wav=r b1_1,793.915,90.506,-105.328,40.0,20.0 +123.wav=t -15_1,2095.781,316.335,-382.212,80.0,40.0 +123.wav=n39_1,1580,15,-126.301,15,10 +124.wav=- n6_1,301.544,50.775,-68.065,40.0,20.0 +124.wav=aa n5_1,1145.613,135.936,-184.988,110,55 +124.wav=aa r12_1,1762.427,120,-334.784,110,55 +124.wav=aa t1_1,628.597,130.86,-156.795,110,55 +124.wav=g aa1_1,840.99,200,-380.231,80.0,40.0 +124.wav=k aa3_1,1402.297,177.508,-406.698,120.0,60.0 +124.wav=n aa1_1,343.705,101.989,-283.819,39.999,20.0 +124.wav=n s2_1,1286.243,86.9,-121.485,60.0,30.0 +124.wav=r d3_1,2091.388,90.506,-105.328,40.0,20.0 +124.wav=s k5_1,1351.364,96.47,-145.329,80.0,40.0 +124.wav=t g1_1,747.372,103.056,-123.37,79.999,40.0 +124.wav=d -7_1,2111.429,191.99,-263.355,80.0,40.0 +124.wav=aa3_1,437.846,40.0,-210.221,20.0,40.0 +124.wav=n40_1,335,15,-126.301,15,10 +124.wav=n41_1,1075,15,-126.301,15,10 +125.wav=- k8_1,171.994,72.826,-128.456,40.0,20.0 +125.wav=ae n3_1,546.843,120,-202.783,110.0,55.0 +125.wav=ae n4_1,1142.794,122.968,-177.094,110.0,55.0 +125.wav=ae t1_1,1785.0,123.51,-157.339,110.0,55.0 +125.wav=dh ae1_1,1445.383,151.338,-318.791,60.0,30.0 +125.wav=hh ae1_1,799.549,200.0,-341.328,80.0,40.0 +125.wav=k ae2_1,187.843,177.508,-406.698,120.0,60.0 +125.wav=d z6_1,1276.7,100,-150,80.0,40.0 +125.wav=n d3_1,1263.185,70.43,-81.959,60.0,30.0 +125.wav=n t5_1,679.517,67.137,-73.176,59.999,30.0 +125.wav=t hh1_1,747.924,95.92,-109.096,79.999,39.999 +125.wav=t s4_1,1907.006,103.056,-179.914,80.0,40.0 +125.wav=z dh1_1,1368.739,64.273,-84.585,50.0,24.998 +125.wav=s -8_1,2057.15,199.67,-287.781,79.999,40.0 +125.wav=n42_1,670,15,-126.301,15,10 +125.wav=n43_1,935,15,-126.301,15,10 +126.wav=- y2_1,250.678,50.775,-68.065,40.0,20.0 +126.wav=ae n5_1,1290.016,120,-189.795,110.0,55.0 +126.wav=ae y_1,741.943,126.915,-179.35,110.0,55.0 +126.wav=y ae3_1,311.344,149.246,-323.821,39.999,20.0 +126.wav=y ae4_1,882.294,106.025,-345.781,39.999,20.0 +126.wav=y ae5_1,1479.0,156.99,-335.957,39.999,20.0 +126.wav=n y1_1,1431.608,84.803,-103.369,60.0,30.0 +126.wav=ae -1_1,1687.87,510.809,-545.394,300.0,119.998 +126.wav=n44_1,1385,15,-126.301,15,10 +127.wav=- f6_1,172.745,73.328,-122.442,40.0,20.0 +127.wav=ae n6_1,1190.763,121.84,-175.966,110.0,55.0 +127.wav=ae s1_1,636.506,130.862,-183.296,110.0,55.0 +127.wav=f ae1_1,254.06,179.794,-386.996,80.0,40.0 +127.wav=k ae3_1,841.615,177.508,-406.698,120.0,60.0 +127.wav=s ae1_1,1449.254,200,-420,100,50 +127.wav=n t6_1,1310.827,72.627,-89.096,60.0,30.0 +127.wav=s t10_1,756.104,96.47,-110.194,79.999,40.0 +127.wav=t k1_1,762.694,94.274,-107.998,80.0,40.0 +127.wav=t s5_1,1322.124,103.057,-142.584,80.0,40.0 +127.wav=ae -2_1,1787.64,480,-600,300,120 +127.wav=n45_1,1015,15,-126.301,15,10 +128.wav=- dh1_1,151.446,71.573,-106.655,40.0,20.0 +128.wav=ae m2_1,1218.973,120,-183.794,110.0,55.0 +128.wav=ae t_1,578.43,126.914,-147.775,110.0,55.0 +128.wav=ae t3_1,1798.604,141.01,-173.711,110.0,55.0 +128.wav=dh ae2_1,198.79,154.721,-370.38,60.0,30.0 +128.wav=m ae1_1,1383.994,126.516,-299.043,80.0,40.0 +128.wav=y ae6_1,896.022,106.026,-383.259,40.0,20.0 +128.wav=m m1_1,1343.769,81.41,-103.369,60.0,30.0 +128.wav=t y_1,696.655,209.999,-228.935,199.999,99.999 +128.wav=t -16_1,1908.696,177.109,-273.454,80.0,40.0 +129.wav=- z6_1,161.72,59.796,-106.154,40.0,20.0 +129.wav=ae k2_1,538.39,130.861,-141.574,110.0,55.0 +129.wav=ae ng4_1,1672.828,130.297,-183.296,110.0,55.0 +129.wav=ae t4_1,1132.109,158.488,-215.997,110.0,55.0 +129.wav=b ae1_1,1334.617,150,-370,60,30 +129.wav=dh ae3_1,777.266,148.801,-339.088,60.0,30.0 +129.wav=z ae_1,231.625,123.014,-326.135,50.0,24.999 +129.wav=k dh_1,690,69.882,-83.057,60.0,30.0 +129.wav=ng k_1,1811.461,101.174,-121.486,60.0,30.0 +129.wav=t b1_1,1229.858,103.057,-142.584,80.0,40.0 +129.wav=k -2_1,1868.318,355.861,-422.562,80.0,40.0 +129.wav=ng16_1,1785.0,14.998,-85.912,14.998,10.0 +13.wav=- g_1,355.423,64.306,-80.594,40.0,20.0 +13.wav=aa n1_1,1967.829,129.733,-182.168,110,55 +13.wav=aa r6_1,1195.884,130.861,-218.816,110,55 +13.wav=aa t_1,710.947,133.116,-167.509,110,55 +13.wav=g aa_1,369.077,200,-380.231,80.0,40.0 +13.wav=hh aa_1,938,200,-380.231,80.0,40.0 +13.wav=t aa_1,1512.974,233.401,-523.266,99.999,50.0 +13.wav=r t_1,1407.718,90.506,-105.328,40.0,20.0 +13.wav=t hh_1,829.136,103.057,-142.584,80.0,40.0 +13.wav=t t_1,1452.821,127.761,-149.72,80.0,40.0 +13.wav=n -_1,2110.603,316.335,-382.212,80.0,40.0 +13.wav=n1_1,2085.0,15.0,-85.84,15.0,9.999 +130.wav=- b6_1,164.477,61.299,-88.111,40.0,20.0 +130.wav=ae n7_1,1020.517,120,-162.301,110.0,55.0 +130.wav=ae n8_1,1654.312,131.425,-198.518,110.0,55.0 +130.wav=ae s2_1,505.131,145.521,-197.955,110.0,55.0 +130.wav=l ae2_1,252.915,109.053,-258.746,60.0,30.0 +130.wav=r ae1_1,1361.749,55,-347.3,40.0,20.0 +130.wav=t ae1_1,738.121,134.231,-280.808,70.0,45.0 +130.wav=b l1_1,185.154,86.588,-106.9,79.999,40.0 +130.wav=b r3_1,1290.982,83.999,-114.467,70,35 +130.wav=d z7_1,1144.277,94.274,-118.978,80.0,40.0 +130.wav=n d4_1,1135.176,66.588,-78.666,60.0,30.0 +130.wav=n d5_1,1816.497,81.409,-92.938,60.0,30.0 +130.wav=s t11_1,630,96.47,-145.329,80.0,40.0 +130.wav=s t12_1,641.929,96.47,-145.329,80.0,40.0 +130.wav=t s6_1,610.082,50.905,-99.215,40.0,20.0 +130.wav=z b1_1,1218.747,73.41,-120.622,50.0,25.0 +130.wav=d -8_1,1881.546,191.99,-263.355,80.0,40.0 +130.wav=n46_1,1110,15,-126.301,15,10 +130.wav=n47_1,1720,15,-126.301,15,10 +131.wav=- hh4_1,152.448,79.592,-170.805,40.0,20.0 +131.wav=ae d1_1,593.64,182.168,-212.614,110.0,55.0 +131.wav=ae n9_1,1741.565,126.35,-165.253,110.0,55.0 +131.wav=ae t5_1,1135.0,173.612,-216.462,110.0,55.0 +131.wav=dh ae4_1,795.87,144.571,-370.379,60.0,30.0 +131.wav=dh ae5_1,1328.673,179.999,-438.883,60.0,30.0 +131.wav=hh ae2_1,252.367,200.0,-325.26,80.0,40.0 +131.wav=d dh_1,687.529,99.999,-122.82,79.999,40.0 +131.wav=t dh1_1,1239.354,103.057,-142.584,80.0,40.0 +131.wav=n -6_1,1867.752,316.335,-382.212,80.0,40.0 +131.wav=n48_1,1865,15,-126.301,15,10 +132.wav=- s14_1,182.768,77.838,-144.493,40.0,20.0 +132.wav=ah l_1,1266.269,119.999,-173.148,110.0,55.0 +132.wav=ah m3_1,559.246,126.915,-200.775,110.0,55.0 +132.wav=ah s2_1,1779.904,175.966,-275.198,110.0,55.0 +132.wav=dh ah2_1,878.75,165.715,-410.974,60.0,30.0 +132.wav=l ah1_1,373.853,126.813,-254.517,60.0,30.0 +132.wav=l ah2_1,1384.491,158.104,-367.842,60.0,30.0 +132.wav=m z2_1,714.103,81.41,-103.369,60.0,30.0 +132.wav=s l2_1,293.303,96.47,-121.174,80.0,39.999 +132.wav=s t13_1,1994.294,96.47,-109.096,80.0,40.0 +132.wav=z dh2_1,799.334,73.409,-91.174,50.0,25.0 +132.wav=t -17_1,2076.913,174.223,-283.744,79.999,39.999 +133.wav=- k9_1,222.612,56.037,-127.955,40.0,20.0 +133.wav=ah m4_1,600,120,-188.784,110.0,55.0 +133.wav=ah m5_1,1735,120,-163.783,110.0,55.0 +133.wav=ah s3_1,1115.167,129.734,-179.349,110.0,55.0 +133.wav=dh ah3_1,833.08,118.355,-267.202,60.0,30.0 +133.wav=hh ah2_1,1327.279,199.999,-397.146,80.0,40.0 +133.wav=r ah2_1,358.051,65.936,-274.547,39.999,20.0 +133.wav=k r2_1,265,69.882,-83.057,60.0,30.0 +133.wav=m dh1_1,738.815,81.41,-103.369,60.0,30.0 +133.wav=m p1_1,1840.818,81.41,-103.369,60.0,30.0 +133.wav=s hh1_1,1223.428,96.47,-145.329,80.0,40.0 +133.wav=p -5_1,1869.399,316.335,-382.212,80.0,40.0 +134.wav=- b7_1,115.863,48.77,-60.548,40.0,20.0 +134.wav=ah m6_1,396.868,120.0,-190.626,110.0,55.0 +134.wav=ah n3_1,961.909,119.022,-176.531,110.0,55.0 +134.wav=ah n4_1,1480.168,129.733,-193.444,110.0,55.0 +134.wav=b ah2_1,118.447,150.0,-350.928,60.0,30.0 +134.wav=d ah1_1,1097.901,224.07,-378.837,60.0,30.0 +134.wav=sh ah2_1,637.329,199.999,-377.783,99.999,50.0 +134.wav=m sh_1,549.925,81.409,-125.877,60.0,30.0 +134.wav=n d6_1,1072.665,64.939,-74.272,60.0,30.0 +134.wav=n t7_1,1606.36,81.41,-103.369,60.0,30.0 +134.wav=t -18_1,1642.792,272.348,-348.107,79.999,39.999 +134.wav=n49_1,875,15,-126.301,15,10 +134.wav=n50_1,1305,15,-126.301,15,10 +135.wav=- z7_1,200.81,50.774,-98.887,40.0,20.0 +135.wav=ah f1_1,1193.689,133.68,-205.284,110.0,55.0 +135.wav=ah n5_1,598.714,152.286,-238.549,110.0,55.0 +135.wav=ah n6_1,1836.493,139.318,-200.21,110.0,55.0 +135.wav=dh ah4_1,823.817,131.887,-319.637,60.0,30.0 +135.wav=r ah3_1,1423.844,132.692,-415.163,40.0,20.0 +135.wav=z ah1_1,262.367,126.857,-323.94,49.999,24.999 +135.wav=d dh2_1,770.972,87.686,-105.253,79.999,40.0 +135.wav=f r1_1,1339.791,94.822,-137.094,80.0,40.0 +135.wav=n d7_1,792.049,70.979,-79.762,59.999,30.0 +135.wav=n -7_1,1992.897,154.113,-285.868,79.999,39.999 +135.wav=n51_1,475,15,-126.301,15,10 +135.wav=n52_1,1545,15,-126.301,15,10 +136.wav=- t4_1,158.963,77.337,-123.445,40.0,20.0 +136.wav=ah ch1_1,487.079,138.754,-172.583,110.0,55.0 +136.wav=ah k1_1,1161.965,162.997,-193.443,110.0,55.0 +136.wav=ah p1_1,1747.203,140.446,-173.711,110.0,55.0 +136.wav=s ah1_1,785.03,166.427,-311.906,99.999,50.0 +136.wav=t ah1_1,166.995,170.186,-368.806,130.0,65.0 +136.wav=t ah2_1,1342.145,152.895,-341.743,70.0,44.999 +136.wav=ch t1_1,679.91,180.936,-195.209,120.0,59.999 +136.wav=k t5_1,1290,69.882,-83.057,60.0,30.0 +136.wav=t s7_1,605.738,115.683,-178.816,79.999,40.0 +136.wav=p -6_1,1876.81,316.335,-382.212,80.0,40.0 +137.wav=- b8_1,187.279,45.262,-51.276,40.0,20.0 +137.wav=ah m7_1,1166.474,143.265,-207.783,110.0,55.0 +137.wav=ah n7_1,540.64,130.862,-241.37,110.0,55.0 +137.wav=ah n8_1,1706.608,147.776,-232.912,110.0,55.0 +137.wav=dh ah5_1,771.343,152.184,-415.203,60.0,30.0 +137.wav=l ah3_1,250.379,140.343,-285.808,60.0,29.999 +137.wav=m ah_1,1297.679,123.978,-354.859,80.0,40.0 +137.wav=b l2_1,194.294,63,-107.795,50,25 +137.wav=n dh1_1,739.347,74.822,-89.095,60.0,30.0 +137.wav=n z1_1,1899.559,117.642,-177.481,60.0,30.0 +137.wav=z -20_1,2010.213,240.924,-333.152,79.999,39.999 +137.wav=n53_1,365,15,-126.301,15,10 +137.wav=n54_1,1685,15,-126.301,15,10 +138.wav=- m4_1,227.874,46.264,-78.089,40.0,20.0 +138.wav=ah d1_1,1910.367,131.99,-202.466,110.0,55.0 +138.wav=ah n9_1,535.567,128.605,-218.816,110.0,55.0 +138.wav=ah v1_1,1120.905,141.009,-198.518,110.0,55.0 +138.wav=l ah_1,785.749,140.343,-261.282,59.999,29.999 +138.wav=m ah2_1,268.0,89.739,-254.655,40.0,20 +138.wav=m ah3_1,1378.445,100.999,-485.696,40.0,20.0 +138.wav=n l_1,709.692,81.41,-103.369,60.0,30.0 +138.wav=v m1_1,1279.351,94.821,-132.151,80.0,40.0 +138.wav=d -9_1,2006.873,316.335,-382.212,80.0,40.0 +138.wav=n55_1,415,15,-126.301,15,10 +139.wav=- s15_1,61.235,72.326,-124.948,40.0,20.0 +139.wav=ah l3_1,1389.357,146.085,-262.231,110.0,55.0 +139.wav=ah n10_1,404.762,125.223,-201.901,110.0,55.0 +139.wav=ah n11_1,1007.006,125.787,-204.157,110.0,55.0 +139.wav=m ah4_1,750.503,66.472,-260.142,40.0,20.0 +139.wav=s ah2_1,126.177,154.35,-270.733,99.999,49.999 +139.wav=t ah3_1,1213.445,156.35,-310.064,129.999,64.999 +139.wav=d t1_1,1143.762,94.274,-109.097,80.0,40.0 +139.wav=l d3_1,1867.062,86.9,-111.604,60.0,30.0 +139.wav=n d8_1,1159.357,72.077,-94.036,60.0,30.0 +139.wav=n t8_1,558.708,71.529,-79.763,60.0,30.0 +139.wav=t m1_1,633.695,80.549,-107.449,40.0,20.0 +139.wav=d -10_1,1946.761,321.275,-387.152,80.0,40.0 +139.wav=n56_1,525,15,-126.301,15,10 +139.wav=n57_1,1120,15,-126.301,15,10 +14.wav=- aa_1,139.59,165.715,-416.894,60.0,30.0 +14.wav=aa k_1,1076.264,142.701,-192.881,110,55 +14.wav=aa r7_1,425.06,120,-163.784,110,55 +14.wav=aa s_1,1740.436,141.011,-222.764,110,55 +14.wav=hh aa1_1,1239.324,199.999,-452.963,80.0,40.0 +14.wav=jh aa_1,734.977,140,-400,60,30.0 +14.wav=d jh_1,649.646,99.999,-138.192,79.999,40.0 +14.wav=k hh_1,1212,69.882,-83.057,60.0,30.0 +14.wav=m d_1,665.789,70.431,-84.704,60.0,30.0 +14.wav=r m1_1,582.566,71.292,-119.602,40.0,20.0 +14.wav=s -_1,1905,316.335,-382.212,80.0,40.0 +14.wav=aa1_1,215,40.0,-210.221,20.0,40.0 +140.wav=- d5_1,260.45,58.794,-66.311,40.0,20.0 +140.wav=ah n12_1,594.202,144.394,-243.625,110.0,55.0 +140.wav=ah s4_1,1117.478,120.0,-179.912,110.0,55.0 +140.wav=ah t1_1,1826.794,131.425,-171.456,110.0,55.0 +140.wav=d ah2_1,274.058,180.0,-333.168,60.0,29.999 +140.wav=n ah1_1,797.869,150.195,-331.179,79.999,39.999 +140.wav=w ah1_1,1441.059,78.428,-319.978,50.0,25.0 +140.wav=d n1_1,701.757,100,-150,80.0,40.0 +140.wav=n d9_1,784.884,68.235,-85.802,59.999,30.0 +140.wav=s t14_1,1227.145,88.785,-109.097,80.0,40.0 +140.wav=t w2_1,1320.003,126.038,-145.252,119.998,60.0 +140.wav=t -19_1,1957.0,181.567,-255.678,79.999,40.0 +140.wav=ah9_1,923.696,40.0,-210.221,20.0,40.0 +140.wav=n58_1,390,15,-126.301,15,10 +141.wav=- b9_1,261.201,44.762,-50.024,40.0,20.0 +141.wav=ah b1_1,1965.52,125.224,-168.074,110.0,55.0 +141.wav=ah m8_1,1173.86,120.0,-209.795,110.0,55.0 +141.wav=ah t2_1,568.28,132.553,-174.275,110.0,55.0 +141.wav=b ah3_1,260.528,150,-370,60,30 +141.wav=dh ah6_1,876.246,180,-324.76,60.0,30.0 +141.wav=l ah5_1,1530.1,140.343,-336.551,30,15 +141.wav=k l1_1,1439,69.882,-83.057,60.0,30.0 +141.wav=m k1_1,1334.434,81.409,-97.331,60.0,30.0 +141.wav=s dh1_1,759.948,96.47,-145.329,80.0,40.0 +141.wav=t s8_1,677.598,103.057,-142.584,80.0,40.0 +141.wav=b -3_1,2082.575,296.862,-382.276,80,40 +142.wav=- m5_1,253.183,55.285,-78.089,40.0,20.0 +142.wav=ah n13_1,624.669,120,-232.267,110.0,55.0 +142.wav=ah n14_1,1109.577,125.787,-200.21,110.0,55.0 +142.wav=ah n15_1,1825.701,127.477,-231.219,110.0,55.0 +142.wav=k ah2_1,1342.417,216.412,-454.905,119.998,60.0 +142.wav=m ah5_1,302.265,71.543,-258.448,40.0,20.0 +142.wav=n ah2_1,786.867,127.361,-258.448,80.0,40.0 +142.wav=d k1_1,1242.551,100.0,-116.781,80.0,40.0 +142.wav=d z8_1,2035.322,100,-150,80.0,40.0 +142.wav=n d10_1,1260.343,81.41,-103.369,60.0,30.0 +142.wav=n d11_1,2024.029,70.431,-88.548,60.0,29.999 +142.wav=z -21_1,2153.423,316.335,-382.212,80.0,40.0 +142.wav=ah10_1,873.472,40.0,-210.221,20.0,40.0 +142.wav=n59_1,695,15,-126.301,15,10 +142.wav=n60_1,860,15,-126.301,15,10 +142.wav=n61_1,1595,15,-126.301,15,10 +143.wav=- m6_1,81.533,49.773,-62.051,40.0,20.0 +143.wav=ah n16_1,964.674,130.298,-175.403,110.0,55.0 +143.wav=ah s5_1,397.995,120.0,-195.701,110.0,55.0 +143.wav=ah s6_1,1557.9,147.211,-201.337,110.0,55.0 +143.wav=m ah6_1,122.378,71.543,-258.447,40.0,20.0 +143.wav=r ah4_1,735.274,96.945,-271.727,40.0,20.0 +143.wav=t ah4_1,1142.749,126.545,-292.336,70.0,44.999 +143.wav=f r2_1,655.098,99.999,-136.544,79.999,40.0 +143.wav=n t9_1,1087.41,71.528,-83.606,60.0,30.0 +143.wav=s t15_1,519.491,85.489,-99.214,79.999,39.999 +143.wav=s t16_1,1705.0,96.469,-116.599,79.999,40.0 +143.wav=t f1_1,542.554,103.057,-142.584,80.0,40.0 +143.wav=t -20_1,1805.089,223.158,-336.796,80.0,40.0 +143.wav=n62_1,831,15,-126.301,15,10 +144.wav=- f7_1,90.804,76.586,-126.452,40.0,20.0 +144.wav=ah m9_1,498.927,120.0,-181.041,110.0,55.0 +144.wav=ah n17_1,1005.838,128.604,-183.294,110.0,55.0 +144.wav=ah t3_1,1706.746,127.479,-160.744,110.0,55.0 +144.wav=b ah4_1,1309.292,150,-370,60,30 +144.wav=r ah5_1,236.268,120.062,-310.631,40.0,19.999 +144.wav=w ah2_1,762.509,99.957,-251.474,50.0,25.0 +144.wav=f r3_1,155.51,100.0,-142.035,79.999,39.999 +144.wav=m w1_1,731.64,81.41,-103.369,60.0,30.0 +144.wav=n s3_1,1135.174,81.41,-120.388,60.0,30.0 +144.wav=s b1_1,1197.533,96.47,-145.329,80.0,40.0 +144.wav=t s9_1,1811.868,103.057,-142.584,80.0,40.0 +144.wav=s -9_1,1914.486,151.24,-199.825,79.999,39.999 +144.wav=n63_1,855,15,-126.301,15,10 +145.wav=- t5_1,138.414,100.392,-135.724,40.0,20.0 +145.wav=ah m10_1,1777.0,130.431,-199.78,110.0,55.0 +145.wav=ah s7_1,548.539,120.0,-170.329,110.0,55.0 +145.wav=ah v2_1,1132.671,137.064,-203.03,110.0,55.0 +145.wav=dh ah7_1,1331.234,239.293,-520.073,60.0,30.0 +145.wav=r ah6_1,285.32,44.999,-230.569,39.999,19.999 +145.wav=t ah5_1,751.818,206.146,-378.525,69.999,45.0 +145.wav=s t17_1,658.372,96.469,-121.723,79.999,40.0 +145.wav=t r1_1,164.918,133.176,-149.096,120.0,60.0 +145.wav=v dh1_1,1241.742,73.409,-109.838,50.0,24.998 +145.wav=m -5_1,1907.844,316.335,-382.212,80.0,40.0 +146.wav=- p14_1,394.018,50.775,-75.834,40.0,20.0 +146.wav=ah l4_1,1902,120,-255.29,110.0,55.0 +146.wav=ah n18_1,748.694,133.68,-200.774,110.0,55.0 +146.wav=ah n19_1,1368.911,122.968,-227.838,110.0,55.0 +146.wav=p ah1_1,364.598,212.734,-416.002,120.0,60.0 +146.wav=w ah3_1,1574.971,123.014,-387.621,50.0,24.998 +146.wav=y ah1_1,1056.306,106.026,-383.259,40.0,20.0 +146.wav=d y1_1,973.486,98.665,-125.565,79.999,39.999 +146.wav=n d12_1,903.454,81.41,-103.369,60.0,30.0 +146.wav=n w_1,1564.422,81.41,-103.369,60.0,30.0 +146.wav=l -4_1,2046.186,165.641,-239.753,80.0,40.0 +146.wav=n64_1,672,15,-126.301,15,10 +146.wav=n65_1,1202,15,-126.301,15,10 +147.wav=- z8_1,340.643,64.056,-105.151,40.0,20.0 +147.wav=ah g1_1,1950.0,119.999,-138.636,110.0,55.0 +147.wav=ah n20_1,656.237,124.095,-178.785,110.0,55.0 +147.wav=ah s8_1,1265.0,143.572,-217.995,110.0,55.0 +147.wav=jh ah1_1,992.167,139.999,-310.333,60.0,30.0 +147.wav=l ah6_1,1580.118,98.903,-246.058,60.0,30.0 +147.wav=z ah2_1,412.786,115.329,-261.906,49.999,25.0 +147.wav=n t10_1,786.016,107.762,-148.386,60.0,30.0 +147.wav=s jh_1,859.924,154.112,-180.463,79.999,39.999 +147.wav=s l3_1,1500.12,87.686,-115.135,80.0,40.0 +147.wav=s t18_1,1418.852,98.754,-110.743,80.0,40.0 +147.wav=t s10_1,834.037,63.593,-103.12,40.0,20.0 +147.wav=t s11_1,1364.53,88.783,-130.505,79.998,39.998 +147.wav=g -2_1,2055.065,308.517,-356.278,80.0,40.0 +147.wav=n66_1,535,15,-126.301,15,10 +148.wav=- s16_1,126.137,64.056,-117.681,40.0,20.0 +148.wav=ah d2_1,555.305,120,-156.289,110.0,55.0 +148.wav=ah n21_1,1107.856,125.788,-203.03,110.0,55.0 +148.wav=ah t4_1,1746.686,126.916,-171.457,110.0,55.0 +148.wav=l ah7_1,872.834,111.589,-281.579,59.999,30.0 +148.wav=t ah6_1,271.463,121.055,-314.295,70.0,44.999 +148.wav=w ah4_1,1450.353,114.779,-338.762,50.0,24.999 +148.wav=d w1_1,1351.731,112.939,-138.74,100.0,50.0 +148.wav=d z9_1,659.708,71.529,-93.488,60.0,30.0 +148.wav=g l2_1,811.775,69.882,-83.057,60.0,30.0 +148.wav=n d13_1,1276.208,81.409,-100.075,60.0,30.0 +148.wav=s t19_1,180.213,96.47,-118.43,80.0,39.999 +148.wav=t s12_1,1876.553,114.036,-173.875,80.0,40.0 +148.wav=z g1_1,705.392,73.409,-105.995,49.999,25.0 +148.wav=s -10_1,2000.896,167.286,-243.87,80.0,40.0 +148.wav=n67_1,965,15,-126.301,15,10 +149.wav=- s17_1,211.585,64.558,-128.206,40.0,20.0 +149.wav=ah d3_1,1788.973,120,-156.29,110.0,55.0 +149.wav=ah m11_1,1072.341,119.998,-187.806,110.0,55.0 +149.wav=ah n22_1,578.416,126.915,-184.424,110.0,55.0 +149.wav=l ah8_1,1403.124,112.434,-304.413,60.0,30.0 +149.wav=s ah3_1,290.322,151.055,-288.299,99.999,49.999 +149.wav=s ah4_1,811.849,172.465,-315.748,99.999,50.0 +149.wav=d s2_1,719.859,100,-150,80.0,40.0 +149.wav=d z10_1,1893.572,100,-150,80.0,40.0 +149.wav=f l2_1,1324.831,100,-150,80.0,40.0 +149.wav=m f1_1,1213.626,81.41,-103.369,60.0,30.0 +149.wav=n d14_1,712.96,104.466,-156.619,59.998,29.999 +149.wav=z -22_1,2035.482,129.407,-195.284,79.999,39.999 +149.wav=n68_1,445,15,-126.301,15,10 +15.wav=- m_1,325.099,50.275,-59.547,40.0,20.0 +15.wav=aa b_1,641.0,120.0,-150.594,110,55 +15.wav=aa f_1,1865.0,168.677,-210.399,110,55 +15.wav=aa l1_1,1092.616,156.795,-222.198,110,55 +15.wav=m aa2_1,389.923,91,-363.784,60.0,30.0 +15.wav=s aa_1,853.462,200,-420,100,50 +15.wav=s aa1_1,1413.727,200,-420,100,50 +15.wav=b s_1,759.25,84.586,-141.13,50.0,25.0 +15.wav=f t_1,1977.276,86.588,-100.313,79.999,39.999 +15.wav=l v_1,1303.828,100.0,-135.759,60.0,30.0 +15.wav=v s_1,1354.459,73.409,-115.877,49.999,24.999 +15.wav=t -_1,2006.094,232.689,-287.038,79.999,39.999 +150.wav=- w2_1,265.962,50.775,-68.065,40,20 +150.wav=ah ng3_1,1182.824,128.043,-178.223,110.0,55.0 +150.wav=ah ng4_1,1784.978,129.734,-177.094,110.0,55.0 +150.wav=ah t5_1,584.056,119.02,-129.168,110.0,55.0 +150.wav=r ah7_1,1420.278,38.0,-143.742,40.0,20.0 +150.wav=w ah5_1,314.519,97.762,-250.378,49.999,25.0 +150.wav=y ah2_1,869.182,152.541,-342.487,40.0,20.0 +150.wav=d r2_1,1348.622,89.881,-106.9,80.0,40.0 +150.wav=ng d1_1,1306.56,81.41,-103.369,60.0,30.0 +150.wav=ng k2_1,1916.577,81.41,-103.369,60.0,30.0 +150.wav=t y1_1,704.549,162.895,-183.207,150,75 +150.wav=k -3_1,1962.451,316.335,-382.212,80.0,40.0 +150.wav=ng17_1,1260.659,14.999,-87.466,14.999,10.0 +150.wav=ng18_1,1866.051,14.999,-112.168,14.999,10.0 +151.wav=- jh1_1,249.925,78.841,-106.906,40.0,20.0 +151.wav=ah n23_1,1203.152,146.084,-219.38,110.0,55.0 +151.wav=ah s9_1,611.125,120.0,-199.083,110.0,55.0 +151.wav=ah v3_1,1832.951,120.0,-171.456,110.0,55.0 +151.wav=jh ah2_1,291.271,140.0,-321.031,80.0,39.999 +151.wav=l ah9_1,1390.438,140.342,-309.488,59.999,30.0 +151.wav=t ah7_1,834.712,157.838,-329.118,69.999,45.0 +151.wav=d l1_1,1284.131,100,-150,40,10.0 +151.wav=n d15_1,1372.828,66.589,-76.47,60.0,30.0 +151.wav=s t20_1,739.622,96.469,-123.918,79.999,40.0 +151.wav=v d3_1,2019.642,57.137,-69.763,49.999,24.999 +151.wav=d -11_1,1968.781,241.399,-331.157,80.0,40.0 +151.wav=n69_1,1291,15,-126.301,15,10 +152.wav=- ah1_1,225.007,138.653,-324.711,60.0,29.999 +152.wav=ah n24_1,467.909,131.989,-169.2,110.0,55.0 +152.wav=ah t6_1,1710.17,135.936,-168.637,110.0,55.0 +152.wav=ah w1_1,1200.422,136.499,-169.764,110.0,55.0 +152.wav=dh ah8_1,783.197,180,-423.807,60.0,30.0 +152.wav=w ah6_1,1332.984,119.998,-329.978,50.0,24.998 +152.wav=n t11_1,584.51,70.43,-81.41,59.999,30.0 +152.wav=t dh2_1,598.02,103.057,-142.584,80.0,40.0 +152.wav=t -21_1,1824.749,168.933,-235.441,80.0,40.0 +152.wav=ah11_1,305,40.0,-210.221,20.0,40.0 +152.wav=n70_1,405,15,-126.301,15,10 +153.wav=- m7_1,232.384,47.768,-63.305,40.0,20.0 +153.wav=ao l3_1,677.655,120.0,-164.691,110.0,55.0 +153.wav=ao l4_1,1815.473,120.0,-168.073,110.0,55.0 +153.wav=ao r10_1,968.6,143.828,-195.699,110.0,55.0 +153.wav=m ao1_1,278.0,100.037,-414.645,30,15 +153.wav=t ao1_1,1384.788,170.187,-437.289,70,45 +153.wav=y ao1_1,810.914,117.954,-328.761,39.999,20.0 +153.wav=l d4_1,1951.449,73.176,-93.488,60.0,30.0 +153.wav=l y1_1,793.659,69.881,-86.899,59.999,30.0 +153.wav=r s1_1,1228.136,65.253,-105.328,40.0,20.0 +153.wav=s t21_1,1286.403,96.47,-129.408,80.0,40.0 +153.wav=d -12_1,2026.423,191.99,-263.355,80.0,40.0 +154.wav=- m8_1,258.193,50.024,-74.08,40.0,20.0 +154.wav=ao r11_1,491.025,139.882,-236.858,110.0,55.0 +154.wav=ao r12_1,1071.753,143.829,-197.956,110.0,55.0 +154.wav=ao r13_1,1806.403,136.5,-210.359,110.0,55.0 +154.wav=l ao2_1,1530.801,140.343,-336.551,60.0,30.0 +154.wav=m ao2_1,305.751,100.036,-363.214,30.0,15.0 +154.wav=y ao2_1,881.814,106.025,-296.372,40.0,20.0 +154.wav=f l3_1,1447.99,100,-150,80.0,40.0 +154.wav=k f_1,1279,69.882,-83.057,60.0,30.0 +154.wav=n y2_1,808.549,81.41,-103.369,60.0,30.0 +154.wav=r k1_1,1250.774,90.506,-105.328,40.0,20.0 +154.wav=r n1_1,746.173,71.841,-112.465,40.0,20.0 +154.wav=r -3_1,1992.095,239.753,-257.045,80.0,40.0 +155.wav=- sh3_1,144.179,64.557,-116.678,40.0,20.0 +155.wav=ao l5_1,1226.356,120.0,-172.02,110.0,55.0 +155.wav=ao ng3_1,1613.194,175.403,-262.794,110.0,55.0 +155.wav=ao r14_1,481.456,120.0,-179.349,110.0,55.0 +155.wav=l ao3_1,1357.519,197.852,-385.602,60.0,30.0 +155.wav=s ao1_1,801.47,200,-420,100,50 +155.wav=sh ao_1,206.877,160.937,-351.981,100.0,50.0 +155.wav=l t1_1,1274.663,100,-120,60,30 +155.wav=r t3_1,642.948,72.389,-105.327,40.0,20.0 +155.wav=t l1_1,1310.986,113.726,-134.038,99.999,50.0 +155.wav=t s13_1,694.641,103.057,-142.584,80.0,40.0 +155.wav=ng -1_1,1886.509,112.271,-167.443,79.999,39.999 +155.wav=ng19_1,1835.0,14.998,-108.451,14.998,10.0 +156.wav=- p15_1,300.546,76.085,-85.106,40.0,20.0 +156.wav=ao r15_1,584.653,126.35,-188.934,110.0,55.0 +156.wav=ao r16_1,1146.273,120,-177.3,110.0,55.0 +156.wav=ao r17_1,1734.937,127.478,-166.945,110.0,55.0 +156.wav=f ao2_1,1424,200,-500,80.0,40.0 +156.wav=p ao1_1,318.335,136.662,-339.635,80.0,39.999 +156.wav=y ao3_1,922.947,106.026,-383.259,40.0,20.0 +156.wav=r f1_1,1328.669,90.506,-105.328,40.0,20.0 +156.wav=r m4_1,1979.232,90.506,-105.328,40.0,20.0 +156.wav=r y1_1,864.743,66.351,-87.761,40.0,20.0 +156.wav=m -6_1,2016.969,110.917,-143.856,80.0,40.0 +157.wav=- hh5_1,84.789,70.573,-132.717,40.0,20.0 +157.wav=ao n1_1,463.963,119.998,-171.455,110.0,55.0 +157.wav=ao r18_1,925.0,132.17,-237.04,110.0,55.0 +157.wav=ao r19_1,1405,120,-153.289,110.0,55.0 +157.wav=hh ao1_1,149.19,173.029,-293.122,80.0,40.0 +157.wav=hh ao2_1,1234.0,147.928,-314.535,80.0,40.0 +157.wav=y ao4_1,784.014,106.026,-358.955,40.0,20.0 +157.wav=n t12_1,579.557,81.41,-103.369,60.0,30.0 +157.wav=n z2_1,1816.951,95.135,-155.522,60.0,30.0 +157.wav=r hh1_1,1142.496,90.506,-105.328,40.0,20.0 +157.wav=r n2_1,1734.84,62.51,-105.328,40.0,20.0 +157.wav=t y2_1,639.428,158.784,-180.743,150.0,74.999 +157.wav=z -23_1,1930.078,163.17,-274.338,80.0,40.0 +157.wav=n71_1,435,15,-126.301,15,10 +158.wav=- f8_1,140.671,72.325,-105.653,40.0,20.0 +158.wav=ao k1_1,1718.543,155.669,-199.794,110.0,55.0 +158.wav=ao l6_1,541.208,120.0,-174.84,110.0,55.0 +158.wav=ao l7_1,1231.378,120,-169.794,110.0,55.0 +158.wav=f ao3_1,214.31,200.0,-414.06,80.0,40.0 +158.wav=w ao2_1,1356.514,120.818,-336.017,50.0,24.998 +158.wav=z ao_1,819.041,144.979,-390.372,49.999,25.0 +158.wav=k t6_1,1852,69.882,-83.057,60.0,30.0 +158.wav=l w1_1,1341.573,100,-120,60,30 +158.wav=l z2_1,672.341,100,-120,60,30 +158.wav=t -22_1,1911.165,196.047,-285.868,80.0,40.0 +159.wav=- g6_1,187.78,55.286,-67.314,40.0,20.0 +159.wav=aw n2_1,397.943,260.031,-276.946,220,110.0 +159.wav=aw n3_1,1462.507,260.031,-276.946,220,110.0 +159.wav=aw t2_1,960.678,323.178,-353.06,220,110.0 +159.wav=b aw1_1,776.421,132.732,-288.344,60.0,30.0 +159.wav=b aw2_1,1312.647,149.999,-342.472,60.0,30.0 +159.wav=r aw1_1,271.224,71.01,-171.368,39.999,20.0 +159.wav=d b1_1,690.226,99.999,-123.917,79.999,40.0 +159.wav=g r5_1,209.547,69.882,-83.057,60.0,30.0 +159.wav=n d16_1,629.52,66.588,-79.763,59.999,30.0 +159.wav=n s4_1,1796.687,103.37,-189.559,60.0,30.0 +159.wav=t b2_1,1179.379,103.057,-142.584,80.0,40.0 +159.wav=s -11_1,1920.224,212.518,-314.627,80.0,40.0 +159.wav=n72_1,376,15,-126.301,15,10 +159.wav=n73_1,1436,15,-126.301,15,10 +16.wav=- l_1,245.415,45.011,-56.037,40.0,20.0 +16.wav=aa d_1,1190.216,147.212,-164.126,110,55 +16.wav=aa p_1,1801.987,156.233,-188.934,110,55 +16.wav=aa r8_1,413.234,120,-150.795,110,55 +16.wav=l aa1_1,289.282,140.343,-336.551,60.0,30.0 +16.wav=r aa_1,1455.744,97.074,-366.013,40.0,20.0 +16.wav=w aa1_1,856.924,121.917,-286.61,50,25 +16.wav=d d_1,1295.221,66.825,-78.353,60.0,30.0 +16.wav=d r1_1,1303.459,100,-150,80.0,40.0 +16.wav=m w_1,793.122,81.41,-103.369,60.0,30.0 +16.wav=r m2_1,713.755,90.506,-105.328,40.0,20.0 +16.wav=p -_1,1915.283,172.228,-251.28,80.0,40.0 +160.wav=- k10_1,91.556,77.838,-114.674,40.0,20.0 +160.wav=aw n4_1,334.229,260.031,-276.946,220,110.0 +160.wav=aw n_1,967.496,260.031,-276.946,220,110.0 +160.wav=aw n6_1,1482.282,260.031,-276.946,220,110.0 +160.wav=d aw1_1,1283.075,179.999,-392.368,60.0,30.0 +160.wav=k aw_1,99.04,168.207,-332.277,120.0,59.999 +160.wav=n aw_1,754.982,107.063,-239.841,40,20.0 +160.wav=n d17_1,1235.647,72.627,-86.351,60.0,30.0 +160.wav=n t13_1,568.035,81.41,-103.369,60.0,30.0 +160.wav=t n2_1,667.177,94.273,-121.173,79.999,39.999 +160.wav=n -8_1,1787.671,238.105,-355.861,80.0,40.0 +160.wav=aw5_1,831.495,40.0,-210.221,20.0,40.0 +160.wav=n74_1,285,15,-126.301,15,10 +160.wav=n75_1,1190,15,-126.301,15,10 +160.wav=n76_1,1395,15,-126.301,15,10 +161.wav=- ay1_1,234.31,135.27,-294.265,59.998,30.0 +161.wav=ay d1_1,1885.405,260.031,-276.946,220,110.0 +161.wav=ay m1_1,542.298,260.031,-276.946,220,110.0 +161.wav=ay z1_1,1120.813,250.446,-301.753,220,110.0 +161.wav=l ay1_1,795.048,120.892,-255.362,60.0,30.0 +161.wav=r ay3_1,1529.742,81.158,-219.855,40.0,20.0 +161.wav=d f1_1,1361.102,100,-150,80.0,40.0 +161.wav=f r4_1,1458.273,92.078,-118.429,80.0,40.0 +161.wav=m l1_1,788.728,81.41,-103.369,60.0,30.0 +161.wav=z d1_1,1374.081,59.332,-72.508,49.999,24.999 +161.wav=d -13_1,2118.808,269.397,-324.569,80.0,40.0 +161.wav=ay9_1,311.856,40.0,-210.221,20.0,40.0 +162.wav=- th3_1,0.0,50.775,-93.969,40.0,20.0 +162.wav=ay n4_1,858.592,260.031,-276.946,220,110.0 +162.wav=ay s1_1,1593.837,260.029,-352.497,220,110.0 +162.wav=ay v1_1,358.483,252.702,-302.317,220,110.0 +162.wav=f ay1_1,626.177,148.503,-370.082,80.0,40.0 +162.wav=m ay1_1,1213.131,120,-473.289,40,20 +162.wav=r ay4_1,153.239,93.8,-323.821,40.0,19.999 +162.wav=d m1_1,1127.748,100.0,-126.663,80.0,40.0 +162.wav=n d18_1,1075.832,81.41,-103.369,60.0,30.0 +162.wav=th r1_1,75.166,73.41,-120.622,50.0,25.0 +162.wav=v f_1,573.087,67.568,-108.193,49.999,25.0 +162.wav=s -12_1,1909.491,159.053,-294.101,79.999,40.0 +162.wav=n77_1,776,15,-126.301,15,10 +162.wav=th10_1,52.524,15.0,-54.526,15.0,9.998 +163.wav=- m9_1,263.706,57.793,-84.605,40.0,20.0 +163.wav=ay l1_1,599.241,260.031,-299.498,220,110.0 +163.wav=ay m2_1,1896.681,234.66,-262.85,220,110.0 +163.wav=ay n5_1,1050.328,260.031,-305.136,220,110.0 +163.wav=d ay1_1,1488.662,208.847,-431.271,60.0,30.0 +163.wav=m ay2_1,315.0,110.397,-341.279,39.999,20.0 +163.wav=m ay3_1,939.141,96.063,-245.756,59.999,30.0 +163.wav=d m2_1,863.707,99.999,-126.664,79.999,40.0 +163.wav=l d5_1,762.925,100,-120,60,30 +163.wav=n d19_1,1437.096,81.41,-103.369,60.0,30.0 +163.wav=m -7_1,2110.573,316.335,-382.212,80.0,40.0 +163.wav=n78_1,1045,15,-126.301,15,10 +164.wav=- w3_1,114.109,50.775,-68.065,40,20 +164.wav=ay l2_1,347.197,240.861,-300.062,220,110.0 +164.wav=ay t1_1,864.265,251.01,-281.456,220,110.0 +164.wav=ay t2_1,1532.992,243.116,-285.402,220,110.0 +164.wav=l ay_1,673.239,104.823,-301.876,59.999,30.0 +164.wav=n ay1_1,1280.223,81.44,-267.499,39.999,19.999 +164.wav=w ay1_1,133,73,-295.794,50.0,25.0 +164.wav=l l1_1,553.211,100,-120,60,30 +164.wav=s n1_1,1200.244,91.529,-110.194,79.999,39.999 +164.wav=t s14_1,1083.308,103.057,-142.584,80.0,40.0 +164.wav=t -23_1,1753.061,316.334,-445.619,80.0,40.0 +164.wav=ay10_1,1340.393,40.0,-210.221,20.0,40.0 +165.wav=- d6_1,130.645,51.529,-60.3,40.0,20.0 +165.wav=ay f1_1,1585.99,260.03,-342.912,220,110.0 +165.wav=ay l3_1,1010.308,247.627,-276.945,220,110.0 +165.wav=ay s2_1,374.272,249.883,-300.062,220,110.0 +165.wav=d ay2_1,135.361,164.024,-351.774,60.0,30.0 +165.wav=l ay3_1,1239.073,140.343,-336.551,60.0,30.0 +165.wav=m ay4_1,755.674,85.818,-318.391,30.0,15.0 +165.wav=s m1_1,677.048,88.784,-103.057,80.0,40.0 +165.wav=f -3_1,1864.229,316.335,-382.212,80.0,40.0 +166.wav=- r1_1,328.612,50.775,-68.065,40.0,20.0 +166.wav=ay k1_1,1800.269,278.073,-306.828,220,110.0 +166.wav=ay m3_1,1127.589,243.116,-276.946,220,110.0 +166.wav=ay t3_1,606.02,248.753,-287.656,220,110.0 +166.wav=l ay4_1,1562,140.343,-336.551,60.0,30.0 +166.wav=r ay5_1,381.0,64.22,-282.712,39.999,20.0 +166.wav=t ay1_1,874.645,170.186,-294.693,130.0,64.999 +166.wav=k t7_1,2106,69.882,-83.057,60.0,30.0 +166.wav=m z3_1,1365.18,81.409,-133.563,59.999,30.0 +166.wav=z l1_1,1454.235,116.427,-132.896,50.0,24.998 +166.wav=t -24_1,2136.101,316.335,-382.212,80.0,40.0 +167.wav=- k11_1,192.291,91.871,-136.976,40.0,20.0 +167.wav=ay l4_1,1782.327,260.031,-313.028,220,110.0 +167.wav=ay n6_1,986.097,244.808,-283.711,220,110.0 +167.wav=ay s3_1,512.443,260.031,-326.561,220,110.0 +167.wav=l ay5_1,923.62,126.812,-260.436,59.999,30.0 +167.wav=m ay5_1,1386.714,120,-380.773,80,40 +167.wav=r ay6_1,357.459,65.802,-251.905,39.999,19.999 +167.wav=k r3_1,262,69.882,-83.057,60.0,30.0 +167.wav=l d6_1,2117.956,90.194,-113.8,60.0,29.999 +167.wav=n m2_1,1326.814,81.41,-103.369,60.0,30.0 +167.wav=s t22_1,766.011,87.136,-98.116,79.999,40.0 +167.wav=t l2_1,820.134,113.726,-134.038,99.999,50.0 +167.wav=d -14_1,2173.213,191.99,-263.355,80.0,40.0 +167.wav=n79_1,985,15,-126.301,15,10 +168.wav=- k12_1,338.137,94.627,-126.702,40.0,20.0 +168.wav=ay m4_1,1241.563,250.446,-288.785,220,110.0 +168.wav=ay n7_1,1605.25,260.03,-295.551,220,110.0 +168.wav=ay t4_1,602.665,244.245,-262.851,220,110.0 +168.wav=k ay1_1,362.06,200.344,-333.968,120.0,60.0 +168.wav=m ay6_1,997.622,82.436,-226.208,30.0,14.998 +168.wav=m ay7_1,1458.0,116.086,-353.733,80.0,40.0 +168.wav=n d20_1,2089.408,72.078,-96.782,60.0,29.999 +168.wav=t m2_1,843.976,103.057,-142.584,80.0,40.0 +168.wav=d -15_1,2157.567,240.575,-301.512,80.0,40.0 +168.wav=n80_1,1534,15,-126.301,15,10 +169.wav=- ay2_1,192.024,215.613,-371.226,60.0,30.0 +169.wav=ay d2_1,1664.83,260.031,-276.946,220,110.0 +169.wav=ay l5_1,385.0,249.29,-301.725,220,110.0 +169.wav=ay n8_1,901.425,241.988,-286.53,220,110.0 +169.wav=m ay8_1,751.344,132.435,-262.676,79.999,40.0 +169.wav=s ay1_1,1308.305,200,-420,100,50 +169.wav=d z11_1,1904.811,100,-150,80.0,40.0 +169.wav=l m1_1,693.233,100,-120,60,30 +169.wav=n s5_1,1221.455,94.585,-146.189,60.0,30.0 +169.wav=z -24_1,2012.683,192.814,-286.689,79.998,39.998 +169.wav=ay11_1,265,40.0,-210.221,20.0,40.0 +169.wav=n81_1,885,15,-126.301,15,10 +17.wav=- n_1,262.204,48.269,-69.068,40.0,20.0 +17.wav=aa k1_1,576.731,141.01,-176.53,110,55 +17.wav=aa m_1,1680.721,142.701,-221.072,110,55 +17.wav=aa z_1,1106.173,120,-176.29,110,55 +17.wav=b aa1_1,1318.547,150,-370,60,30 +17.wav=n aa_1,315,45,-376.289,80,40 +17.wav=q aa_1,774.132,155.316,-377.74,10.0,10.0 +17.wav=k q_1,725,69.882,-83.057,60.0,30.0 +17.wav=z b_1,1226.371,73.41,-120.622,50.0,25.0 +17.wav=m -_1,1820.557,316.335,-382.212,80.0,40.0 +17.wav=aa2_1,350,40.0,-210.221,20.0,40.0 +17.wav=n2_1,300.0,15.0,-35.15,15.0,10.0 +170.wav=- b10_1,256.942,51.777,-70.571,40.0,20.0 +170.wav=eh n2_1,1096.624,133.68,-194.572,110.0,55.0 +170.wav=eh r5_1,1718.608,146.647,-219.943,110.0,55.0 +170.wav=eh t1_1,529.941,126.915,-179.265,110.0,55.0 +170.wav=b eh1_1,275.75,136.116,-295.111,60.0,29.999 +170.wav=g eh1_1,825.797,200,-380.231,80.0,40.0 +170.wav=t eh1_1,1402.429,170.187,-437.289,70,45 +170.wav=n s6_1,1259.249,81.409,-116.544,59.999,30.0 +170.wav=r z4_1,1985.0,90.505,-194.002,39.999,19.999 +170.wav=s g1_1,725.92,96.469,-138.741,79.999,40.0 +170.wav=s t23_1,1317.764,96.47,-118.428,80.0,40.0 +170.wav=t s15_1,645.764,103.057,-142.584,80.0,40.0 +170.wav=z -25_1,2167.422,238.105,-321.275,79.999,40.0 +170.wav=n82_1,1045,15,-126.301,15,10 +171.wav=- f9_1,108.345,64.056,-110.665,40.0,20.0 +171.wav=eh l4_1,1450.775,120.0,-178.223,110.0,55.0 +171.wav=eh n3_1,379.39,131.425,-227.837,110.0,55.0 +171.wav=eh t2_1,992.328,133.679,-164.125,110.0,55.0 +171.wav=g eh2_1,725.977,154.425,-339.638,80.0,40.0 +171.wav=r eh2_1,260.29,53.175,-204.693,39.999,19.998 +171.wav=s eh1_1,1234.086,239.989,-455.737,100.0,50.0 +171.wav=d z12_1,613.846,52.626,-102.583,40.0,20.0 +171.wav=f r5_1,173.078,97.018,-127.761,80.0,39.999 +171.wav=l f1_1,1721.524,100,-120,60,30 +171.wav=n d21_1,559.798,81.41,-103.369,60.0,30.0 +171.wav=s s2_1,1140.988,96.47,-145.329,80.0,40.0 +171.wav=t s16_1,1103.101,103.057,-142.584,80.0,40.0 +171.wav=z g2_1,669.176,73.409,-103.8,50.0,25.0 +171.wav=f -4_1,1865.077,247.987,-300.689,79.999,39.999 +171.wav=n83_1,356,15,-126.301,15,10 +172.wav=- d7_1,141.422,64.558,-88.614,40.0,20.0 +172.wav=eh n4_1,423.368,132.552,-195.136,110.0,55.0 +172.wav=eh n5_1,1626.024,148.34,-285.91,110.0,55.0 +172.wav=eh t3_1,1032.309,121.842,-151.16,110.0,55.0 +172.wav=d eh1_1,175.109,154.721,-280.733,60.0,30.0 +172.wav=l eh1_1,785.724,161.438,-278.147,59.999,29.999 +172.wav=m eh1_1,1333.326,89.2,-279.29,30.0,14.999 +172.wav=n d22_1,1882.279,65.49,-79.215,60.0,30.0 +172.wav=n t14_1,563.637,101.173,-147.836,59.999,29.999 +172.wav=t l3_1,682.29,113.726,-134.038,99.999,50.0 +172.wav=t m3_1,1169.471,103.057,-142.584,80.0,40.0 +172.wav=d -16_1,1943.253,254.575,-308.1,80.0,40.0 +172.wav=n84_1,535,15,-126.301,15,10 +172.wav=n85_1,1605,15,-126.301,15,10 +173.wav=- dh2_1,253.935,71.072,-82.348,40.0,20.0 +173.wav=eh g1_1,1143.386,130.861,-170.328,110.0,55.0 +173.wav=eh k2_1,1793.483,119.998,-137.628,110.0,55.0 +173.wav=eh m1_1,548.539,143.265,-248.699,110.0,55.0 +173.wav=b eh2_1,841.543,150,-370,60,30 +173.wav=dh eh1_1,279.979,112.435,-245.213,60.0,30.0 +173.wav=s eh2_1,1364.67,200,-420,100,50 +173.wav=d s3_1,1255.111,100,-150,80.0,40.0 +173.wav=g d_1,1243.819,69.882,-83.057,60.0,30.0 +173.wav=k s3_1,1923,69.882,-83.057,60.0,30.0 +173.wav=m b1_1,772.797,81.41,-103.369,60.0,30.0 +173.wav=s -13_1,1979.485,198.58,-275.162,80.0,40.0 +174.wav=- l2_1,207.074,50.275,-62.053,40.0,20.0 +174.wav=eh f1_1,456.073,130.298,-186.679,110.0,55.0 +174.wav=eh n6_1,1055.463,133.117,-186.679,110.0,55.0 +174.wav=eh s1_1,1755.0,146.882,-244.986,110.0,55.0 +174.wav=l eh2_1,256.298,89.601,-233.374,60.0,29.999 +174.wav=r eh3_1,1415.962,95.997,-310.098,40.0,20.0 +174.wav=t eh2_1,782.043,181.442,-335.156,99.999,49.999 +174.wav=f t4_1,665.523,99.999,-126.663,79.999,40.0 +174.wav=n t15_1,1192.825,81.41,-103.369,60.0,30.0 +174.wav=s t24_1,666.083,96.47,-125.566,79.999,40.0 +174.wav=t r2_1,1296.433,126.039,-142.584,120.0,60.0 +174.wav=t s17_1,569.459,103.057,-142.584,80.0,40.0 +174.wav=t t1_1,1232.127,144.23,-169.483,80.0,40.0 +174.wav=s -14_1,1947.423,143.005,-175.12,80.0,40.0 +174.wav=n86_1,955,15,-126.301,15,10 +175.wav=- s18_1,239.15,57.29,-128.707,40.0,20.0 +175.wav=eh n7_1,1178.444,131.989,-223.327,110.0,55.0 +175.wav=eh n8_1,1804.381,129.17,-216.561,110.0,55.0 +175.wav=eh p1_1,621.307,153.977,-183.277,110.0,55.0 +175.wav=dh eh2_1,1446.461,179.999,-369.534,60.0,30.0 +175.wav=p eh1_1,936.369,131.858,-284.934,59.999,30.0 +175.wav=w eh3_1,454.0,86.193,-209.163,49.999,24.999 +175.wav=d dh3_1,1343.099,99.999,-123.918,79.999,40.0 +175.wav=n d23_1,1362.528,81.41,-103.369,60.0,30.0 +175.wav=p t1_1,731.677,72.077,-83.605,59.999,29.999 +175.wav=s p1_1,846.19,96.47,-137.094,79.999,40.0 +175.wav=s w1_1,331.807,128.235,-145.328,120.0,60.0 +175.wav=t s18_1,751.758,103.057,-142.584,80.0,40.0 +175.wav=n -9_1,1961.606,191.169,-329.511,79.999,39.999 +175.wav=n87_1,1195,15,-126.301,15,10 +175.wav=n88_1,1725,15,-126.301,15,10 +176.wav=- s19_1,218.352,59.796,-129.458,40.0,20.0 +176.wav=eh n9_1,675.4,120.0,-214.87,110.0,55.0 +176.wav=eh s2_1,1851.109,143.266,-273.507,110.0,55.0 +176.wav=eh v1_1,1238.734,133.68,-192.317,110.0,55.0 +176.wav=n eh_1,824.096,155.269,-384.46,79.999,39.999 +176.wav=r eh4_1,1476.896,111.367,-420.441,40.0,20.0 +176.wav=s eh3_1,320,200,-420,100,50 +176.wav=v r1_1,1390.775,86.588,-101.959,79.999,39.999 +176.wav=s -15_1,2094.956,316.335,-382.212,80.0,40.0 +176.wav=eh3_1,965.717,40.0,-210.221,20.0,40.0 +176.wav=n89_1,600,15,-126.301,15,10 +177.wav=- w4_1,159.966,50.775,-68.065,40,20 +177.wav=eh r6_1,748.152,150.595,-301.134,110.0,55.0 +177.wav=eh s3_1,405.325,161.308,-218.817,110.0,55.0 +177.wav=eh s4_1,1636.226,147.212,-247.007,110.0,55.0 +177.wav=b eh3_1,1215,150,-370,60,30 +177.wav=dh eh3_1,672.394,179.999,-345.008,60.0,30.0 +177.wav=w eh4_1,204.176,88.428,-231.162,50.0,24.999 +177.wav=r z5_1,1048.64,69.096,-105.328,40.0,20.0 +177.wav=s t25_1,556.818,96.47,-145.329,80.0,40.0 +177.wav=s t26_1,1817.311,96.47,-115.135,80.0,40.0 +177.wav=t dh3_1,556.823,103.057,-142.584,80.0,40.0 +177.wav=z b2_1,1121.542,73.41,-120.622,50.0,25.0 +177.wav=t -25_1,1904.579,178.756,-281.689,80.0,40.0 +178.wav=- d8_1,257.191,77.838,-93.625,40.0,20.0 +178.wav=eh d1_1,1878.74,119.999,-155.105,110.0,55.0 +178.wav=eh l5_1,1057.734,120.0,-192.317,110.0,55.0 +178.wav=eh s5_1,573.924,141.01,-205.848,110.0,55.0 +178.wav=r eh5_1,365.693,120.151,-262.885,39.999,20.0 +178.wav=s eh4_1,1339.487,200,-420,100,50 +178.wav=t eh3_1,816.823,162.034,-295.435,100.0,50.0 +178.wav=d r3_1,275.187,99.999,-127.761,79.999,39.999 +178.wav=l s1_1,1231.8,100.0,-162.658,60.0,30.0 +178.wav=s t27_1,716.037,96.469,-120.625,79.999,39.999 +178.wav=t t2_1,717.144,103.056,-117.878,79.999,40.0 +178.wav=d -17_1,1987.082,355.861,-468.676,79.999,39.999 +179.wav=- m10_1,265.962,51.778,-72.576,40.0,20.0 +179.wav=eh l6_1,1637.259,119.999,-219.38,110.0,55.0 +179.wav=eh n_1,512.449,153.978,-231.22,110.0,55.0 +179.wav=eh n11_1,1095.0,119.998,-194.442,110.0,55.0 +179.wav=m eh2_1,311.671,76.514,-268.493,29.999,15.0 +179.wav=w eh5_1,858.629,113.682,-259.709,50.0,25.0 +179.wav=y eh1_1,1355.128,91.055,-276.609,39.999,19.999 +179.wav=d w2_1,744.319,87.449,-113.8,60.0,30.0 +179.wav=n d24_1,701.472,67.137,-91.841,59.999,30.0 +179.wav=n y3_1,1248.915,81.41,-103.369,60.0,30.0 +179.wav=l -5_1,1806.816,387.976,-461.264,80.0,40.0 +179.wav=n90_1,625.0,15.0,-112.001,15.0,10.0 +179.wav=n91_1,1205,15,-126.301,15,10 +18.wav=- s_1,210.834,50.774,-105.152,40.0,20.0 +18.wav=ae n_1,734.617,120.0,-182.168,110.0,55.0 +18.wav=ae n1_1,1858.953,119.999,-179.349,110.0,55.0 +18.wav=ae t2_1,1273.103,119.999,-130.861,110.0,55.0 +18.wav=dh ae_1,907.543,151.338,-349.237,60.0,30.0 +18.wav=k ae_1,354.404,223.223,-423.659,60.0,29.999 +18.wav=m ae_1,1444.129,147.658,-408.986,80.0,40.0 +18.wav=n dh_1,864.492,71.528,-85.802,60.0,30.0 +18.wav=n s_1,1972.372,119.839,-216.459,60.0,29.999 +18.wav=s k_1,268.6,96.47,-112.389,80.0,39.999 +18.wav=t m_1,1372.081,103.057,-142.584,80.0,40.0 +18.wav=s -1_1,2142.688,316.335,-382.212,80.0,40.0 +18.wav=n3_1,845.0,15.0,-68.235,15.0,10.0 +18.wav=n4_1,1967.235,15.0,-58.644,15.0,10.0 +180.wav=- y3_1,132.902,50.774,-75.834,40.0,20.0 +180.wav=er d2_1,1745.0,142.743,-157.966,110,55.0 +180.wav=er n_1,523.736,120.0,-195.699,110,55.0 +180.wav=er s1_1,1014.999,120.0,-175.823,110,55.0 +180.wav=d er1_1,739.208,149.647,-290.037,60.0,30.0 +180.wav=hh er2_1,1264.741,199.999,-485.946,80.0,40.0 +180.wav=y er2_1,242.175,137.716,-356.209,40.0,19.999 +180.wav=n d25_1,673.441,81.41,-103.369,60.0,30.0 +180.wav=s t28_1,1117.346,87.686,-97.018,80.0,40.0 +180.wav=t hh2_1,1124.486,103.057,-142.584,80.0,40.0 +180.wav=d -18_1,1899.638,279.278,-310.57,80.0,40.0 +180.wav=n92_1,645,15,-126.301,15,10 +181.wav=- f10_1,156.958,90.367,-133.969,40.0,20.0 +181.wav=er l1_1,1659.854,119.998,-184.423,110,55.0 +181.wav=er s2_1,1065.0,129.746,-189.511,110,55.0 +181.wav=er t2_1,532.188,120.713,-148.34,110,55.0 +181.wav=f er2_1,765.722,159.498,-334.562,80.0,40.0 +181.wav=g er1_1,1285.017,246.607,-465.649,80.0,40.0 +181.wav=l er_1,314.654,125.12,-271.43,60.0,30.0 +181.wav=f l4_1,226.878,100,-150,80.0,40.0 +181.wav=s t29_1,1184.842,96.47,-145.329,80.0,40.0 +181.wav=t f2_1,642.453,103.057,-142.584,80.0,40.0 +181.wav=t g2_1,1190.882,103.057,-142.584,80.0,40.0 +181.wav=l -6_1,1822.204,316.335,-382.212,80.0,40.0 +182.wav=- b11_1,194.797,48.018,-55.035,40.0,20.0 +182.wav=ey b1_1,434.588,240.297,-272.435,220,110.0 +182.wav=ey k2_1,1519.366,255.52,-293.296,220,110.0 +182.wav=ey t1_1,898.043,252.137,-281.455,220,110.0 +182.wav=b ey1_1,199.636,150.0,-297.647,59.998,30.0 +182.wav=b ey2_1,691.845,149.999,-299.34,59.999,29.999 +182.wav=m ey1_1,1283.302,105.371,-336.253,30.0,14.998 +182.wav=k s4_1,1771,69.882,-83.057,60.0,30.0 +182.wav=t m4_1,1141.065,140.387,-171.679,80.0,40.0 +182.wav=s -16_1,1929.512,316.335,-382.212,80.0,40.0 +183.wav=- b12_1,78.526,51.527,-72.074,40.0,20.0 +183.wav=ey k3_1,1616.047,240.297,-272.435,220,110.0 +183.wav=ey n2_1,281.23,240.297,-272.435,220,110.0 +183.wav=ey s1_1,924.12,240.297,-272.435,220,110.0 +183.wav=l ey1_1,787.447,120.047,-262.974,59.999,30.0 +183.wav=r ey2_1,169.16,85.565,-236.533,40.0,19.999 +183.wav=r ey3_1,1343.014,119.998,-354.565,40.0,20.0 +183.wav=b r4_1,90.85,83.999,-114.467,70,35 +183.wav=b r5_1,1265.236,83.999,-114.467,70,35 +183.wav=n z3_1,512.585,81.41,-103.369,60.0,30.0 +183.wav=p l3_1,682.345,112.079,-135.134,99.999,50.0 +183.wav=s t30_1,1150.367,96.47,-145.329,80.0,40.0 +183.wav=t b3_1,1150.923,103.057,-142.584,80.0,40.0 +183.wav=z p1_1,586.837,73.409,-99.408,49.999,24.999 +183.wav=k -4_1,1855.38,421.738,-495.85,80.0,40.0 +183.wav=n93_1,366,15,-126.301,15,10 +184.wav=- s20_1,260.199,58.543,-102.145,40.0,20.0 +184.wav=ey k4_1,1140.056,240.297,-272.435,220,110.0 +184.wav=ey n3_1,582.925,240.297,-272.435,220,110.0 +184.wav=ey n4_1,1856.741,240.297,-272.435,220,110.0 +184.wav=r ey4_1,1613.089,84,-255.739,40.0,20.0 +184.wav=t ey1_1,380.158,141.369,-293.436,70.0,44.999 +184.wav=t ey2_1,901.931,170.187,-365.156,100.0,50.0 +184.wav=d t2_1,811.036,95.921,-114.586,79.999,40.0 +184.wav=k s5_1,1383,69.882,-83.057,60.0,30.0 +184.wav=n d26_1,819,81.41,-103.369,60.0,30.0 +184.wav=n t16_1,2127.841,109.957,-153.326,60.0,29.999 +184.wav=s t31_1,302.087,96.47,-107.449,80.0,39.999 +184.wav=s t32_1,1399.597,96.47,-125.016,80.0,40.0 +184.wav=t r3_1,1535.753,89.332,-109.645,80.0,40.0 +184.wav=t -26_1,2193.596,316.335,-382.212,80.0,40.0 +184.wav=n94_1,795,15,-126.301,15,10 +184.wav=n95_1,1895,15,-126.301,15,10 +185.wav=- t6_1,150.441,74.081,-100.893,40.0,20.0 +185.wav=ih n4_1,412.091,155.105,-287.038,110.0,55.0 +185.wav=ih s1_1,1103.409,135.935,-220.507,110.0,55.0 +185.wav=ih z1_1,1755.234,139.319,-223.891,110.0,55.0 +185.wav=dh ih3_1,752.745,180,-402.301,60.0,30.0 +185.wav=s ih1_1,1263.178,200,-420,100,50 +185.wav=t ih1_1,166.252,147.762,-289.398,99.999,49.999 +185.wav=n dh2_1,710.78,67.686,-95.684,60.0,30.0 +185.wav=z -26_1,1945.0,180.416,-213.354,79.999,40.0 +185.wav=n96_1,515,15,-126.301,15,10 +186.wav=- l3_1,261.702,51.026,-70.321,40.0,20.0 +186.wav=ih l1_1,961.333,133.681,-222.2,110.0,55.0 +186.wav=ih n5_1,1747.933,139.318,-210.359,110.0,55.0 +186.wav=ih t1_1,523.178,120.0,-142.138,110.0,55.0 +186.wav=k ih1_1,1372.845,177.508,-406.698,60,30.0 +186.wav=l ih2_1,322.265,102.286,-228.299,60.0,30.0 +186.wav=r ih3_1,880.133,87.212,-270.021,39.999,19.999 +186.wav=l s2_1,1171.431,89.645,-140.151,59.999,29.999 +186.wav=s k6_1,1261.795,96.47,-132.702,80.0,40.0 +186.wav=s t33_1,674.881,96.469,-111.841,79.999,40.0 +186.wav=t r4_1,760.599,126.04,-139.215,120.0,59.999 +186.wav=t s19_1,648.443,59.764,-94.349,40.0,20.0 +186.wav=n -10_1,1892.412,366.566,-458.794,80.0,40.0 +186.wav=n97_1,1605,15,-126.301,15,10 +187.wav=- d9_1,298.54,90.868,-107.156,40.0,20.0 +187.wav=ih n6_1,1212.77,120.0,-206.412,110.0,55.0 +187.wav=ih ng4_1,575.038,149.467,-310.154,110.0,55.0 +187.wav=ih s2_1,1888.835,157.924,-262.793,110.0,55.0 +187.wav=l ih3_1,1459.908,140.343,-336.551,60.0,30.0 +187.wav=m ih1_1,919.678,96.917,-349.788,59.999,30.0 +187.wav=r ih4_1,413.454,94.898,-215.124,39.999,20.0 +187.wav=d r4_1,325.693,93.176,-114.037,80.0,39.999 +187.wav=n l1_1,1375.61,81.41,-103.369,60.0,30.0 +187.wav=ng m1_1,856.254,81.41,-103.369,60.0,30.0 +187.wav=s -17_1,2090.81,316.335,-382.212,80.0,40.0 +187.wav=n98_1,1325,15,-126.301,15,10 +187.wav=ng20_1,681.651,15,-126.301,15,10 +188.wav=- k13_1,263.706,95.882,-135.975,40.0,20.0 +188.wav=ih n7_1,1184.089,149.468,-288.73,110.0,55.0 +188.wav=ih ng5_1,440,45,-547.244,110.0,55.0 +188.wav=ih ng6_1,1911.493,137.628,-259.975,110.0,55.0 +188.wav=k ih2_1,291.866,177.508,-406.698,120.0,60.0 +188.wav=ng ih1_1,923.885,168.801,-347.248,80,40.0 +188.wav=t ih2_1,1510.301,227.362,-496.361,100.0,50.0 +188.wav=n t17_1,1431.7,75.92,-90.194,60.0,30.0 +188.wav=ng z1_1,2171.819,105.566,-169.796,60.0,29.998 +188.wav=z -27_1,2286.0,285.732,-382.212,80.0,40.0 +188.wav=ih10_1,1001.929,40.0,-210.221,20.0,40.0 +188.wav=n99_1,1295,15,-126.301,15,10 +188.wav=ng21_1,728.589,15,-126.301,15,10 +188.wav=ng22_1,1347.872,15,-126.301,15,10 +189.wav=- s21_1,179.01,70.571,-132.967,40.0,20.0 +189.wav=ih ng7_1,1156.326,126.914,-199.082,110.0,55.0 +189.wav=ih p1_1,569.959,120,-161.784,110.0,55.0 +189.wav=ih t2_1,1845.305,139.319,-174.275,110.0,55.0 +189.wav=d ih1_1,865.217,149.648,-338.243,59.999,30.0 +189.wav=l ih4_1,348.0,128.14,-299.822,60.0,30.0 +189.wav=t ih3_1,1385.722,170.187,-437.289,100.0,50.0 +189.wav=ng t1_1,1308.761,81.409,-95.134,59.999,30.0 +189.wav=p s3_1,687.762,80.861,-122.584,59.999,29.999 +189.wav=s d2_1,752.861,96.469,-129.409,79.999,40.0 +189.wav=s l4_1,266.953,92.626,-116.232,80.0,39.999 +189.wav=t -27_1,1962.451,316.335,-382.212,80.0,40.0 +189.wav=ng23_1,1229.339,15,-126.301,15,10 +19.wav=- hh_1,214.842,78.842,-125.2,40.0,20.0 +19.wav=ae d_1,1833.465,148.905,-173.149,110.0,55.0 +19.wav=ae k_1,1165.91,197.391,-231.784,110.0,55.0 +19.wav=ae v_1,636.488,130.298,-170.892,110.0,55.0 +19.wav=b ae_1,877.058,150.0,-316.254,59.999,30.0 +19.wav=hh ae_1,274.357,199.999,-385.305,80.0,40.0 +19.wav=t ae_1,1382.233,289.041,-478.987,70.0,45.0 +19.wav=d z_1,1942.691,121.722,-178.816,80.0,40.0 +19.wav=k t_1,1321,69.882,-83.057,60.0,30.0 +19.wav=v b_1,785.054,73.41,-120.622,50.0,25.0 +19.wav=z -_1,1964.098,316.335,-382.212,80.0,40.0 +190.wav=- s22_1,185.275,63.805,-138.98,40.0,20.0 +190.wav=ih n8_1,600.0,134.121,-213.619,110.0,55.0 +190.wav=ih p2_1,1857.416,129.733,-159.615,110.0,55.0 +190.wav=ih t3_1,1163.8,142.138,-169.765,110.0,55.0 +190.wav=r ih5_1,960.0,44.999,-246.724,40.0,20.0 +190.wav=r ih6_1,1528.038,94.349,-367.19,40.0,20.0 +190.wav=s ih2_1,272.754,192.778,-384.371,99.999,49.999 +190.wav=k r4_1,1473,69.882,-83.057,60.0,30.0 +190.wav=n p1_1,771.196,81.409,-99.526,60.0,30.0 +190.wav=p r3_1,851.448,112.079,-132.938,99.999,50.0 +190.wav=p s4_1,1967.586,112.078,-177.48,59.999,29.998 +190.wav=t k2_1,1303.011,103.057,-142.584,80.0,40.0 +190.wav=s -18_1,2127.123,142.704,-212.699,80.0,40.0 +190.wav=n10_1,710.0,15.0,-108.524,15.0,10.0 +191.wav=- ng1_1,279.494,50.774,-76.084,40.0,20.0 +191.wav=ih ch1_1,1800.25,135.371,-171.455,110.0,55.0 +191.wav=ih ng8_1,532.184,131.425,-213.741,110.0,55.0 +191.wav=ih t4_1,1169.322,211.487,-259.975,110.0,55.0 +191.wav=b ih1_1,1399.739,150,-370,60,30 +191.wav=hh ih1_1,830.844,145.966,-356.551,80.0,40.0 +191.wav=ng ih2_1,326.0,109.546,-318.439,40.0,20.0 +191.wav=ng hh_1,719.547,81.409,-129.72,59.999,29.999 +191.wav=t b4_1,1295.735,103.057,-142.584,80.0,40.0 +191.wav=ch -1_1,1924.313,296.862,-382.276,80,40 +191.wav=ih11_1,375,40.0,-210.221,20.0,40.0 +191.wav=ng24_1,606.716,15,-126.301,15,10 +191.wav=ng25_1,623.185,15,-126.301,15,10 +192.wav=- v5_1,234.138,50.775,-68.065,40,20 +192.wav=ih ng9_1,576.725,129.17,-229.529,110.0,55.0 +192.wav=ih r3_1,975.368,158.488,-223.326,110.0,55.0 +192.wav=ih t5_1,1832.387,135.936,-164.126,110.0,55.0 +192.wav=s ih3_1,1377.296,200,-420,100,50 +192.wav=v ih1_1,246.879,125.327,-349.858,60.0,30.0 +192.wav=y ih1_1,833.971,91.603,-232.69,40.0,20.0 +192.wav=ng y1_1,769.502,81.41,-103.369,60.0,30.0 +192.wav=r z6_1,1216.607,90.505,-154.188,40.0,20.0 +192.wav=z s2_1,1290.052,73.41,-120.622,50.0,25.0 +192.wav=t -28_1,1943.253,196.108,-325.393,80.0,40.0 +192.wav=ng26_1,681.651,15,-126.301,15,10 +193.wav=- s23_1,186.527,60.298,-112.419,40.0,20.0 +193.wav=ih m2_1,1190.0,144.581,-242.121,110.0,55.0 +193.wav=ih n9_1,631.423,120.0,-214.306,110.0,55.0 +193.wav=ih ng10_1,1894.973,170.328,-247.57,110.0,55.0 +193.wav=p ih2_1,345.099,98.0,-267.203,60.0,29.999 +193.wav=s ih4_1,901.884,177.407,-367.902,99.999,49.999 +193.wav=th ih1_1,1498.001,234.575,-371.819,60.0,30.0 +193.wav=m th1_1,1420.046,81.41,-103.369,60.0,30.0 +193.wav=n s7_1,811.776,94.037,-137.406,59.999,29.999 +193.wav=ng z2_1,2123.289,107.212,-162.11,59.999,29.999 +193.wav=s p2_1,241.7,96.469,-129.408,79.999,40.0 +193.wav=z -28_1,2251.353,219.165,-354.214,80.0,40.0 +193.wav=ih12_1,1728.296,40.0,-210.221,20.0,40.0 +193.wav=n101_1,715,15,-126.301,15,10 +193.wav=ng27_1,2001.764,15,-126.301,15,10 +194.wav=- n7_1,266.212,47.519,-61.802,40.0,20.0 +194.wav=ih sh1_1,1832.554,151.159,-256.592,110.0,55.0 +194.wav=ih t6_1,568.855,134.808,-161.307,110.0,55.0 +194.wav=ih t7_1,1119.222,128.606,-162.434,110.0,55.0 +194.wav=n ih2_1,305.0,104.328,-303.073,39.999,20.0 +194.wav=w ih3_1,904.17,76.9,-272.885,50.0,25.0 +194.wav=w ih4_1,1461.995,101.604,-339.31,50.0,24.998 +194.wav=s w2_1,1255.839,202.346,-219.364,120.0,60.0 +194.wav=sh t2_1,2026.589,96.47,-117.88,80.0,40.0 +194.wav=t s20_1,1249.638,53.724,-90.506,40.0,20.0 +194.wav=t w3_1,784.205,123.842,-142.583,119.998,59.999 +194.wav=t -29_1,2107.336,316.335,-382.212,80.0,40.0 +194.wav=ih13_1,390.909,40.0,-210.22,19.999,39.999 +194.wav=n102_1,290,15,-126.301,15,10 +195.wav=- g7_1,148.94,61.299,-78.339,40.0,20.0 +195.wav=ih k2_1,1072.393,135.373,-166.383,110.0,55.0 +195.wav=ih t8_1,1825.172,126.351,-166.382,110.0,55.0 +195.wav=ih v1_1,549.108,127.479,-186.679,110.0,55.0 +195.wav=g ih1_1,154.264,200,-380.231,80.0,40.0 +195.wav=p ih3_1,1361.854,191.189,-525.249,120,60 +195.wav=z ih1_1,799.288,120.0,-332.723,50.0,25.0 +195.wav=k s6_1,1209,69.882,-83.057,60.0,30.0 +195.wav=s p3_1,1245.293,96.47,-133.25,80.0,40.0 +195.wav=v z1_1,675.211,73.41,-120.622,50.0,25.0 +195.wav=t -30_1,1936.851,316.335,-382.212,80.0,40.0 +196.wav=- w5_1,198.806,50.775,-68.065,40,20 +196.wav=ih l2_1,653.975,120.712,-153.413,110.0,55.0 +196.wav=ih n10_1,1090.385,130.297,-218.252,110.0,55.0 +196.wav=ih s3_1,1701.581,157.924,-256.028,110.0,55.0 +196.wav=l ih5_1,753.583,140.343,-336.551,60.0,30.0 +196.wav=m ih2_1,1281.634,134.126,-439.432,80.0,40.0 +196.wav=w ih5_1,244.799,105.447,-311.862,50.0,24.999 +196.wav=n m3_1,1239.976,81.41,-103.369,60.0,30.0 +196.wav=s t34_1,1901.257,96.47,-122.82,80.0,40.0 +196.wav=t -31_1,1986.075,209.283,-278.454,79.999,39.999 +196.wav=n103_1,1195,15,-126.301,15,10 +197.wav=- s24_1,99.324,63.555,-104.15,40.0,20.0 +197.wav=ih l3_1,357.418,247.007,-387.961,110.0,55.0 +197.wav=ih n11_1,1166.056,128.606,-199.647,110.0,55.0 +197.wav=ih t9_1,1779.607,131.425,-193.444,110.0,55.0 +197.wav=d ih2_1,1377.089,150.491,-421.122,60.0,30.0 +197.wav=t ih4_1,229.741,129.289,-286.297,69.999,45.0 +197.wav=w ih6_1,892.656,120.818,-333.272,50.0,25.0 +197.wav=l w2_1,856.525,58.117,-84.468,40.0,20.0 +197.wav=n d27_1,1322.452,69.334,-78.666,60.0,30.0 +197.wav=s t35_1,143.982,96.47,-118.428,79.999,40.0 +197.wav=t s21_1,1913.001,117.878,-212.302,80.0,40.0 +197.wav=s -19_1,2089.244,118.825,-224.229,80.0,40.0 +197.wav=n104_1,1275,15,-126.301,15,10 +198.wav=- th4_1,170.49,50.774,-104.15,40.0,20.0 +198.wav=ih ng11_1,467.909,139.318,-223.89,110.0,55.0 +198.wav=ih ng12_1,1667.14,125.224,-203.594,110.0,55.0 +198.wav=ih t10_1,1070.626,119.999,-145.52,110.0,55.0 +198.wav=k ih3_1,743.434,177.508,-406.698,60,30.0 +198.wav=s ih5_1,1250.102,200,-420,100,50 +198.wav=th ih2_1,251.817,141.249,-277.944,60.0,30.0 +198.wav=ng k3_1,652.605,81.409,-98.977,59.999,30.0 +198.wav=t s22_1,1209.695,103.056,-125.566,80.0,40.0 +198.wav=ng -2_1,1806.816,316.335,-382.212,80.0,40.0 +198.wav=ih14_1,350.559,40.0,-210.221,20.0,40.0 +198.wav=ng28_1,578.718,15,-126.301,15,10 +198.wav=ng29_1,1712.83,15,-126.301,15,10 +198.wav=th11_1,211.453,14.999,-69.348,14.999,10.0 +199.wav=- p16_1,296.786,58.543,-94.126,40.0,20.0 +199.wav=ih ng13_1,481.445,135.372,-267.304,110.0,55.0 +199.wav=ih ng14_1,1131.06,131.425,-195.136,110.0,55.0 +199.wav=ih r4_1,1726.611,120,-243.278,110.0,55.0 +199.wav=n ih3_1,848.658,171.339,-359.934,79.999,39.999 +199.wav=p ih4_1,291.865,191.189,-441.375,120.0,60.0 +199.wav=t ih5_1,1457.414,105.683,-257.201,70.0,44.999 +199.wav=ng n_1,812.92,81.41,-103.369,60.0,30.0 +199.wav=ng s1_1,1286.759,89.096,-130.818,60.0,30.0 +199.wav=s t36_1,1353.524,96.47,-126.663,80.0,40.0 +199.wav=r -4_1,1966.548,274.337,-382.212,80.0,40.0 +199.wav=ih15_1,946,40.0,-210.221,20.0,40.0 +199.wav=n105_1,876,15,-126.301,15,10 +199.wav=ng30_1,781.29,15,-126.301,15,10 +199.wav=ng31_1,782.177,15,-126.301,15,10 +2.wav=- ow_1,268.139,160,-450,60,30 +2.wav=ah ow_1,2321.308,340,-650,240,120 +2.wav=ih uw1_1,1200.474,365.589,-612.963,240.0,119.999 +2.wav=ow ih_1,671.475,340,-650,240,120 +2.wav=uw ah_1,1807.534,340,-650,240,120 +2.wav=ow -_1,2982.628,555.276,-677.972,299.999,120.0 +2.wav=ah1_1,2066.012,40.0,-210.221,20.0,40.0 +2.wav=ih2_1,945.122,40.0,-210.221,20.0,40.0 +2.wav=ow_1,399.967,40.0,-210.221,20.0,40.0 +2.wav=ow1_1,2688.868,40.0,-210.221,20.0,40.0 +2.wav=uw1_1,1551.266,40.0,-210.221,20.0,40.0 +20.wav=- l1_1,341.892,47.774,-56.294,40.0,20.0 +20.wav=ae f_1,639.88,136.5,-192.881,110.0,55.0 +20.wav=ae m_1,1917.0,119.999,-208.627,110.0,55.0 +20.wav=ae s_1,1240.93,154.541,-201.337,110.0,55.0 +20.wav=l ae_1,387.386,107.36,-275.659,60.0,29.999 +20.wav=r ae_1,963.15,42.148,-278.95,40.0,20.0 +20.wav=y ae_1,1570.0,106.026,-383.259,40.0,20.0 +20.wav=f s1_1,733.034,88.235,-126.663,79.999,40.0 +20.wav=g r_1,905.65,69.882,-83.057,60.0,30.0 +20.wav=s g_1,787.383,96.469,-135.446,79.999,39.999 +20.wav=s y_1,1439.643,133.724,-158.977,119.999,60.0 +20.wav=m -1_1,2056.893,138.466,-238.929,80.0,40.0 +200.wav=- ih1_1,197.944,120.892,-291.728,60.0,30.0 +200.wav=ih k3_1,1614.846,137.062,-202.464,110.0,55.0 +200.wav=ih l4_1,836.13,165.817,-301.133,110.0,55.0 +200.wav=ih t11_1,429.572,139.882,-170.328,110.0,55.0 +200.wav=b ih2_1,739.207,150,-370,60,30 +200.wav=b ih3_1,1285.608,150,-370,60,30 +200.wav=d b2_1,1173.376,100.0,-140.937,80.0,40.0 +200.wav=l d7_1,1107.175,100,-120,60,30 +200.wav=s b2_1,625.452,96.47,-145.329,80.0,40.0 +200.wav=t s23_1,539.805,103.057,-142.584,80.0,40.0 +200.wav=k -5_1,1741.557,388.799,-423.385,80.0,40.0 +200.wav=ih16_1,270,40.0,-210.221,20.0,40.0 +201.wav=- f11_1,227.623,80.845,-131.714,40.0,20.0 +201.wav=iy k1_1,601.546,128.606,-209.231,110.0,55.0 +201.wav=iy r1_1,1027.828,120,-276.795,110.0,55.0 +201.wav=iy t2_1,1745.0,119.999,-164.168,110.0,55.0 +201.wav=m iy1_1,1378.075,133.281,-395.454,80.0,40.0 +201.wav=r iy2_1,376.123,98,-274.795,40.0,20.0 +201.wav=w iy2_1,942.034,81.291,-196.576,50.0,25.0 +201.wav=f r6_1,291.657,99.999,-125.565,80.0,39.999 +201.wav=k t8_1,734,69.882,-83.057,60.0,30.0 +201.wav=r m5_1,1325.335,61.959,-117.955,40.0,20.0 +201.wav=t s24_1,1856.289,117.879,-212.852,79.999,39.999 +201.wav=t w4_1,806.452,146.588,-161.96,140.0,70.0 +201.wav=s -20_1,2029.744,113.567,-178.817,80.0,40.0 +202.wav=- f12_1,231.634,99.138,-148.253,40.0,20.0 +202.wav=iy l2_1,425.062,212.05,-318.289,110.0,55.0 +202.wav=iy n1_1,1869.6,120,-178.289,110.0,55.0 +202.wav=iy s1_1,1190.185,133.68,-188.933,110.0,55.0 +202.wav=b iy1_1,899.899,128.504,-290.882,59.999,30.0 +202.wav=f iy1_1,325.946,200.0,-434.357,80.0,40.0 +202.wav=m iy2_1,1446.553,134.972,-441.969,80.0,40.0 +202.wav=d b3_1,810.438,89.334,-109.098,79.999,40.0 +202.wav=l d8_1,745.897,100,-120,60,30 +202.wav=s t37_1,1331.968,96.47,-145.329,80.0,40.0 +202.wav=t m5_1,1333.067,103.057,-142.584,80.0,40.0 +202.wav=n -11_1,1996.779,181.286,-275.985,80.0,40.0 +202.wav=n106_1,2015,15,-126.301,15,10 +203.wav=- k14_1,238.148,96.131,-137.728,40.0,20.0 +203.wav=iy d2_1,1845.0,150.949,-231.575,110.0,55.0 +203.wav=iy m2_1,1185.673,137.627,-227.29,110.0,55.0 +203.wav=iy p1_1,597.592,120.0,-155.67,110.0,55.0 +203.wav=k iy1_1,257.191,177.508,-406.698,120.0,60.0 +203.wav=n iy1_1,1346.757,178.103,-428.437,80.0,40.0 +203.wav=r iy3_1,920.16,120.151,-304.607,40.0,20.0 +203.wav=d r5_1,836.241,99.999,-117.88,79.999,40.0 +203.wav=d z13_1,1945.1,100,-150,40.0,20.0 +203.wav=m n1_1,1309.148,81.41,-103.369,60.0,30.0 +203.wav=p d1_1,706.446,112.079,-138.43,100,50.0 +203.wav=z -29_1,1998.425,202.695,-277.632,79.999,39.999 +203.wav=iy8_1,1486.117,40.0,-210.221,20.0,40.0 +204.wav=- s25_1,222.862,58.794,-124.698,40.0,20.0 +204.wav=iy l3_1,1034.999,162.565,-269.69,110.0,55.0 +204.wav=iy v2_1,652.847,120.0,-167.509,110.0,55.0 +204.wav=iy z2_1,1791.793,119.998,-235.166,110.0,55.0 +204.wav=l iy4_1,378,140.343,-336.551,60.0,30.0 +204.wav=m iy3_1,875.67,97.76,-213.624,40,20.0 +204.wav=m iy4_1,1343.076,116.663,-397.442,60.0,30.0 +204.wav=l m2_1,1279.503,100,-120,60,30 +204.wav=s l5_1,315.262,96.47,-121.174,80.0,39.999 +204.wav=v m2_1,795.616,87.687,-116.783,79.999,40.0 +204.wav=z -30_1,1971.251,165.64,-299.865,80.0,40.0 +205.wav=- w6_1,322.596,50.775,-68.065,40,20 +205.wav=iy k2_1,579.575,120,-156.278,110.0,55.0 +205.wav=iy m3_1,1259.095,120,-161.277,110.0,55.0 +205.wav=iy t3_1,1879.404,119.999,-168.073,110.0,55.0 +205.wav=r iy4_1,970.195,91.0,-302.412,39.999,20.0 +205.wav=w iy3_1,366.123,79.097,-203.714,49.999,25.0 +205.wav=w iy4_1,1536.158,109.838,-337.664,50.0,24.998 +205.wav=k r5_1,883,69.882,-83.057,60.0,30.0 +205.wav=k s7_1,700,69.882,-83.057,60.0,30.0 +205.wav=m z4_1,1312.577,81.409,-144.542,59.999,29.999 +205.wav=s k7_1,755.593,96.47,-145.329,80.0,40.0 +205.wav=s w3_1,1417.838,128.785,-146.901,119.998,60.0 +205.wav=z s3_1,1374.186,67.019,-103.252,50.0,24.998 +205.wav=t -32_1,1989.605,316.335,-382.212,80.0,40.0 +206.wav=- k15_1,249.173,91.37,-118.934,40.0,20.0 +206.wav=iy n2_1,611.718,134.807,-201.771,110.0,55.0 +206.wav=iy t4_1,1236.515,119.999,-142.701,110.0,55.0 +206.wav=l iy5_1,378,140.343,-336.551,60.0,30.0 +206.wav=m iy5_1,1516.0,103.77,-474.196,40.0,20.0 +206.wav=r iy5_1,976.213,68.547,-211.281,40.0,20.0 +206.wav=k l2_1,312,69.882,-83.057,60.0,30.0 +206.wav=n t18_1,762.953,71.529,-79.764,60.0,30.0 +206.wav=s m2_1,1430.9,96.469,-125.565,79.999,40.0 +206.wav=t r5_1,851.74,129.332,-146.9,120.0,59.999 +206.wav=t s25_1,1350.11,62.508,-103.682,40.0,20.0 +206.wav=iy -3_1,1781.108,631.858,-681.266,300.0,119.999 +206.wav=n107_1,760,15,-126.301,15,10 +207.wav=- f13_1,99.074,86.608,-122.191,40.0,20.0 +207.wav=ow l1_1,1753.348,240.0,-289.35,220,110.0 +207.wav=ow n2_1,415.418,240,-300,220,110.0 +207.wav=ow n3_1,1015.316,240,-300,220,110.0 +207.wav=l ow1_1,251.225,140.343,-336.551,60.0,30.0 +207.wav=l ow2_1,767.961,140.343,-336.551,60.0,30.0 +207.wav=r ow1_1,1482.508,85.016,-378.719,40.0,20.0 +207.wav=f l5_1,170.882,93.175,-117.879,79.999,40.0 +207.wav=l d9_1,2014.844,77.567,-95.683,60.0,29.999 +207.wav=n l2_1,675.671,81.41,-103.369,60.0,30.0 +207.wav=n t19_1,1272.53,66.589,-79.764,60.0,30.0 +207.wav=t r6_1,1345.878,103.056,-120.624,80.0,40.0 +207.wav=d -19_1,2083.5,191.99,-263.355,80.0,40.0 +207.wav=n108_1,625,15,-126.301,15,10 +207.wav=n109_1,1285,15,-126.301,15,10 +208.wav=- w7_1,357.182,50.775,-68.065,40,20 +208.wav=ow l2_1,1784.083,240,-300,220,110.0 +208.wav=ow n4_1,540.646,240,-300,220,110.0 +208.wav=ow n5_1,1220.159,240,-300,220,110.0 +208.wav=s ow1_1,1620.11,200,-420,100,50 +208.wav=w ow1_1,399.611,87.0,-263.552,49.999,25.0 +208.wav=w ow2_1,1087.0,75.818,-266.313,50.0,24.998 +208.wav=l d10_1,2189.93,78.116,-87.449,60.0,29.999 +208.wav=n t20_1,818.96,71.528,-81.41,59.999,30.0 +208.wav=n t21_1,1473.978,91.84,-109.956,59.998,30.0 +208.wav=t s26_1,1519.871,103.057,-142.584,80.0,40.0 +208.wav=t w5_1,908.231,189.252,-198.036,179.999,89.999 +208.wav=d -20_1,2257.867,191.99,-263.355,80.0,40.0 +208.wav=n110_1,765,15,-126.301,15,10 +208.wav=n111_1,1415,15,-126.301,15,10 +209.wav=- hh6_1,192.291,63.555,-119.184,40.0,20.0 +209.wav=ow n6_1,1105.035,240,-300,220,110.0 +209.wav=ow s1_1,475.768,240,-300,220,110.0 +209.wav=ow t1_1,1744.985,240.0,-275.254,220,110.0 +209.wav=b ow1_1,1399.767,150,-370,60,30 +209.wav=d ow1_1,834.783,159.795,-290.882,60.0,30.0 +209.wav=hh ow2_1,246.448,174.721,-365.854,80.0,40.0 +209.wav=n t22_1,1344.866,81.409,-93.488,60.0,30.0 +209.wav=s t38_1,725.36,96.469,-132.702,79.999,40.0 +209.wav=t b5_1,1331.456,95.371,-109.095,80.0,40.0 +209.wav=t d2_1,736.893,103.056,-122.82,79.999,39.999 +209.wav=t -33_1,1970.456,192.815,-252.928,80.0,40.0 +209.wav=n112_1,1330,15,-126.301,15,10 +21.wav=- jh_1,142.424,80.093,-104.901,40.0,20.0 +21.wav=ae k1_1,1080.0,176.87,-236.07,110.0,55.0 +21.wav=ae ng_1,500.627,125.223,-167.509,110.0,55.0 +21.wav=ae ng1_1,1645.392,119.998,-188.37,110.0,55.0 +21.wav=f ae_1,743.738,166.263,-376.002,80.0,40.0 +21.wav=jh ae_1,192.024,139.999,-347.546,60.0,30.0 +21.wav=th ae_1,1325.763,115.995,-339.277,60.0,30 +21.wav=k s_1,1887,69.882,-83.057,60.0,30.0 +21.wav=k t1_1,1237,69.882,-83.057,60.0,30.0 +21.wav=ng f_1,648.207,85.802,-137.955,60.0,30.0 +21.wav=ng k2_1,1779.274,63.294,-70.431,60.0,30.0 +21.wav=t th_1,1238.783,107.449,-134.348,80.0,40.0 +21.wav=s -2_1,1948.431,316.335,-382.212,80.0,40.0 +21.wav=ae1_1,1432.784,40.0,-210.221,20.0,40.0 +21.wav=ng_1,615.0,15.0,-73.416,15.0,10.0 +21.wav=ng1_1,1755.0,14.999,-91.446,14.999,10.0 +210.wav=- d10_1,237.897,64.056,-80.845,40.0,20.0 +210.wav=ow l3_1,1621.464,259.467,-347.986,220,110.0 +210.wav=ow n7_1,459.408,240,-300,220,110.0 +210.wav=ow n8_1,1105.0,240.0,-288.784,220,110.0 +210.wav=d ow2_1,268.139,158.95,-356.848,60.0,30.0 +210.wav=hh ow3_1,1486.303,139.2,-496.095,80.0,40.0 +210.wav=n ow1_1,918.804,121.441,-310.036,40.0,20.0 +210.wav=n hh1_1,1358.007,94.585,-149.483,60.0,30.0 +210.wav=n t23_1,700.881,69.333,-75.921,59.999,30.0 +210.wav=t n3_1,775.852,148.075,-167.839,79.999,40.0 +210.wav=l -7_1,1991.013,228.225,-296.573,79.999,39.999 +210.wav=ow6_1,1037.329,40.0,-210.221,20.0,40.0 +210.wav=n113_1,735,15,-126.301,15,10 +210.wav=n114_1,1360,15,-126.301,15,10 +211.wav=- y4_1,162.973,50.775,-68.065,40.0,20.0 +211.wav=uh d2_1,1301.79,120.0,-157.924,110.0,54.999 +211.wav=uh r2_1,519.216,130.861,-195.136,109.999,54.999 +211.wav=uh r3_1,1851.508,120,-196.784,110,55 +211.wav=w uh1_1,974.478,99.408,-289.354,50.0,25.0 +211.wav=y uh2_1,207.039,106.026,-383.259,40.0,20.0 +211.wav=y uh_1,1521.493,106.026,-383.259,40.0,20.0 +211.wav=d y2_1,1422.194,100.0,-126.115,80.0,40.0 +211.wav=r t4_1,731.349,67.998,-86.663,40.0,20.0 +211.wav=r z7_1,2075.467,90.505,-150.894,40.0,20.0 +211.wav=t w6_1,793.88,149.882,-163.057,140.0,69.999 +211.wav=z -31_1,2186.433,108.822,-163.994,80.0,40.0 +212.wav=- y5_1,330.867,50.775,-68.065,40.0,20.0 +212.wav=uw m2_1,1343.577,119.999,-159.052,109.999,54.999 +212.wav=uw p2_1,2033.18,135.935,-197.955,109.999,55.0 +212.wav=uw z2_1,741.383,135.372,-196.264,109.999,54.999 +212.wav=t uw1_1,972.486,198.504,-407.664,120.0,60.0 +212.wav=t uw2_1,1641.208,170.187,-375.78,70.0,44.999 +212.wav=y uw7_1,465.919,132.228,-307.352,60,30.0 +212.wav=d t3_1,867.006,99.999,-118.977,79.999,39.999 +212.wav=m s_1,1464.545,81.41,-103.369,60.0,30.0 +212.wav=s t39_1,1538.427,96.47,-129.957,80.0,40.0 +212.wav=z d2_1,884.374,73.409,-99.408,50.0,25.0 +212.wav=p -7_1,2178.921,316.335,-382.212,80.0,40.0 +213.wav=- t7_1,240.151,105.654,-154.518,40.0,20.0 +213.wav=uw d1_1,705.0,136.233,-225.879,109.999,55.0 +213.wav=uw g1_1,1396.587,130.608,-177.658,109.999,54.999 +213.wav=uw m3_1,1944.094,119.999,-211.487,110.0,54.999 +213.wav=r uw6_1,1657.0,90.439,-354.497,40.0,20.0 +213.wav=t uw3_1,270.633,224.812,-469.655,140,70 +213.wav=y uw8_1,1090.13,106.026,-383.259,60,30.0 +213.wav=d k2_1,821.986,90.43,-109.095,79.999,40.0 +213.wav=g r6_1,1587.522,69.882,-83.057,60.0,30.0 +213.wav=k y1_1,916.099,158.268,-175.286,140,70.0 +213.wav=m -8_1,2171.509,316.335,-382.212,80.0,40.0 +214.wav=- f14_1,440.633,80.845,-113.671,40.0,20.0 +214.wav=uw l2_1,957.341,120.0,-174.275,110.0,54.999 +214.wav=uw n1_1,1626.079,119.999,-176.53,109.999,54.999 +214.wav=uw z3_1,2203.0,140.898,-214.758,109.999,55.0 +214.wav=f uw1_1,490.861,200,-500,80.0,40.0 +214.wav=n uw1_1,1756.254,120,-261.76,80,40 +214.wav=y uw9_1,1255.614,106.026,-383.259,40.0,20.0 +214.wav=l y2_1,1207.611,100,-120,60,30 +214.wav=z -32_1,2370.629,150.153,-178.974,79.998,40.0 +214.wav=uw6_1,1887.301,40.0,-210.221,20.0,40.0 +214.wav=n115_1,1748,15,-126.301,15,10 +215.wav=- n8_1,319.589,50.775,-84.603,40.0,20.0 +215.wav=uw m4_1,1337.443,120.0,-168.637,110.0,54.999 +215.wav=uw n2_1,744.795,133.116,-201.901,109.999,55.0 +215.wav=n uw_1,365.945,120,-452.738,40,20 +215.wav=y uw10_1,1045.221,150.506,-383.259,100.0,50.0 +215.wav=y uw11_1,1668.304,136.308,-296.609,60.0,30.0 +215.wav=m p2_1,1463.514,67.137,-77.018,60.0,30.0 +215.wav=n y4_1,902.403,81.41,-103.369,60.0,30.0 +215.wav=p y1_1,1543.518,130.98,-156.781,119.998,60.0 +215.wav=uw -2_1,1982.655,685.382,-830.312,300.0,119.999 +215.wav=uw7_1,465.021,40.0,-210.221,20.0,40.0 +215.wav=n116_1,345,15,-126.301,15,10 +215.wav=n117_1,895,15,-126.301,15,10 +216.wav=- p17_1,182.768,66.562,-133.718,40.0,20.0 +216.wav=uw d2_1,1214.399,120,-159.783,110,55 +216.wav=uw k1_1,615.064,120.0,-149.467,109.999,54.999 +216.wav=uw s1_1,1921.984,177.095,-249.783,110.0,54.999 +216.wav=y uw12_1,342.088,158.578,-313.39,39.999,20.0 +216.wav=y uw13_1,910.371,166.265,-355.662,40.0,20.0 +216.wav=y uw14_1,1503.383,106.026,-383.259,40.0,20.0 +216.wav=d y3_1,828.093,92.627,-121.723,79.999,40.0 +216.wav=d z14_1,1316.696,61.411,-98.192,39.999,20.0 +216.wav=k d1_1,760,69.882,-83.057,60.0,30.0 +216.wav=p y2_1,215.425,130.979,-152.938,119.998,59.999 +216.wav=z y_1,1405.165,91.528,-120.622,80.0,40.0 +216.wav=s -21_1,2057,316.335,-382.212,80.0,40.0 +217.wav=- l4_1,340.639,46.268,-56.542,40.0,20.0 +217.wav=uw n3_1,722.795,120.0,-173.711,109.999,55.0 +217.wav=uw s2_1,1380.911,120.0,-184.424,110.0,54.999 +217.wav=l uw1_1,377.236,117.509,-295.111,60.0,30.0 +217.wav=t uw4_1,919.608,192.421,-320.882,140,70 +217.wav=t uw5_1,1600.17,170.186,-320.334,69.999,44.999 +217.wav=n t24_1,853.009,81.409,-96.781,59.999,30.0 +217.wav=s t40_1,1494.633,96.469,-131.055,79.999,39.999 +217.wav=uw -3_1,1837.278,480.0,-571.594,299.999,120.0 +217.wav=n118_1,745,15,-126.301,15,10 +218.wav=- y6_1,131.649,56.288,-78.339,40.0,20.0 +218.wav=uw l3_1,1606.298,137.063,-261.102,110.0,54.999 +218.wav=uw t2_1,564.327,120.0,-161.871,109.999,54.999 +218.wav=uw t3_1,1110.684,139.318,-206.29,110.0,54.999 +218.wav=t uw6_1,771.03,129.84,-340.648,70.0,45.0 +218.wav=t uw7_1,1306.553,197.094,-437.288,139.999,69.999 +218.wav=y uw_1,177.944,106.026,-383.259,40.0,20.0 +218.wav=l z3_1,1841.655,85.253,-115.447,60.0,30.0 +218.wav=t t3_1,1267.738,103.057,-142.584,80.0,40.0 +218.wav=z -33_1,1963.017,200.226,-257.045,80.0,40.0 +219.wav=- m11_1,212.338,47.016,-62.803,40.0,20.0 +219.wav=uw b1_1,1992.532,119.999,-168.072,110.0,54.999 +219.wav=uw n4_1,1216.115,119.999,-215.997,109.999,54.999 +219.wav=uw v1_1,660.741,134.809,-181.042,109.999,54.999 +219.wav=g uw_1,856.242,200,-380.231,80.0,40.0 +219.wav=m uw1_1,253.0,101.357,-343.233,29.999,15.0 +219.wav=t uw8_1,1528.346,190.506,-421.076,140.0,70.0 +219.wav=n z4_1,1393.146,81.41,-103.369,60.0,30.0 +219.wav=v g_1,770.174,73.409,-111.484,49.999,25.0 +219.wav=z t1_1,1481.101,58.783,-82.938,50.0,24.998 +219.wav=b -4_1,2105.6,296.862,-382.276,80,40 +219.wav=n119_1,1035,15,-126.301,15,10 +22.wav=- s1_1,163.473,65.811,-106.155,40.0,20.0 +22.wav=ae m1_1,1124.188,120,-154.784,110.0,55.0 +22.wav=ae ng2_1,555.863,134.245,-196.264,110.0,55.0 +22.wav=ae sh_1,1742.692,141.01,-205.849,110.0,55.0 +22.wav=q ae_1,1398.125,81.041,-374.506,10.0,10.0 +22.wav=s ae_1,214.014,168.622,-319.042,100.0,50.0 +22.wav=y ae1_1,909.809,96.546,-231.045,40.0,20.0 +22.wav=k q1_1,1307,69.882,-83.057,60.0,30.0 +22.wav=m k_1,1253.309,68.235,-83.057,60.0,30.0 +22.wav=ng y_1,835.441,81.41,-103.369,60.0,30.0 +22.wav=sh t_1,1879.01,96.469,-139.838,79.999,40.0 +22.wav=t -1_1,1970,316.335,-382.212,80.0,40.0 +22.wav=ng2_1,757.41,15,-126.301,15,10 +23.wav=- d_1,221.608,48.521,-55.788,40.0,20.0 +23.wav=ae l_1,572.233,133.68,-177.093,110.0,55.0 +23.wav=ae l1_1,1636.226,120,-159.795,110.0,55.0 +23.wav=ae ng3_1,1080.828,130.297,-181.04,110.0,55.0 +23.wav=d ae_1,222.47,180.0,-371.226,60.0,29.999 +23.wav=k ae1_1,1365.984,177.508,-406.698,60,30.0 +23.wav=y ae2_1,828.495,85.016,-290.882,40.0,20.0 +23.wav=l p_1,1884.524,100,-120,60,30 +23.wav=l y_1,776.653,72.626,-92.389,59.999,29.999 +23.wav=ng s_1,1213.107,81.41,-103.369,60.0,30.0 +23.wav=s k1_1,1279.301,96.47,-124.467,80.0,40.0 +23.wav=p -1_1,1917.754,227.4,-274.338,80.0,40.0 +23.wav=ng3_1,1183.159,15.823,-79.23,14.999,10.0 +24.wav=- g1_1,271.223,65.06,-76.086,40.0,20.0 +24.wav=ae n2_1,709.809,120,-179.795,110.0,55.0 +24.wav=ae p_1,1189.652,137.063,-159.052,110.0,55.0 +24.wav=ae z_1,1828.487,144.392,-235.166,110.0,55.0 +24.wav=l ae1_1,363.705,187.705,-376.3,60.0,30.0 +24.wav=n ae_1,860.457,161.189,-365.854,79.999,39.999 +24.wav=p ae_1,1317.262,183.939,-500.0,60.0,30.0 +24.wav=g l_1,301.774,69.882,-96.234,60.0,30.0 +24.wav=n n_1,820.574,81.41,-103.369,60.0,30.0 +24.wav=z -1_1,1973.047,212.518,-276.748,80.0,40.0 +24.wav=ae2_1,968.989,40.0,-210.221,20.0,40.0 +24.wav=n5_1,825.0,15.0,-112.106,15.0,10.0 +24.wav=n6_1,817.527,15,-126.301,15,10 +25.wav=- k1_1,214.842,80.345,-124.448,40.0,20.0 +25.wav=ah m_1,508.524,136.5,-208.104,110.0,55.0 +25.wav=ah r_1,1302.523,131.425,-171.456,110.0,55.0 +25.wav=ah sh_1,1830.916,151.159,-296.059,110.0,55.0 +25.wav=k ah_1,227.59,177.508,-362.722,120.0,60.0 +25.wav=p ah_1,814.566,212.734,-416.002,120.0,60.0 +25.wav=r ah_1,1448.654,103.999,-381.671,39.999,19.999 +25.wav=m z_1,668.526,81.41,-103.369,60.0,30.0 +25.wav=z p_1,742.77,73.41,-120.622,50.0,25.0 +25.wav=sh -_1,2052.188,244.469,-335.274,80.0,40.0 +26.wav=- t_1,236.894,74.33,-104.4,40.0,20.0 +26.wav=ah hh_1,1295.0,134.967,-193.04,110.0,55.0 +26.wav=ah n_1,1785.19,142.138,-210.923,110.0,55.0 +26.wav=ah ng_1,688.404,120,-189.773,110.0,55.0 +26.wav=hh ah_1,1423.886,167.955,-372.619,80.0,40.0 +26.wav=ng ah_1,839.0,209.728,-523.49,80,40.0 +26.wav=t ah_1,247.147,170.187,-437.289,130,65.0 +26.wav=n t_1,1964.243,96.781,-160.463,59.999,30.0 +26.wav=t -2_1,1972.288,316.335,-382.212,80.0,40.0 +26.wav=ah6_1,1095.003,40.0,-210.221,20.0,40.0 +26.wav=n7_1,1900.0,14.998,-95.469,14.998,10.0 +26.wav=ng4_1,760.718,15,-126.301,15,10 +27.wav=- p1_1,190.787,66.312,-144.995,40.0,20.0 +27.wav=ah ng1_1,1886.513,134.244,-211.487,110.0,55.0 +27.wav=ah s_1,1262.354,120.0,-187.243,110.0,55.0 +27.wav=ah w_1,780.837,120.0,-150.032,110.0,55.0 +27.wav=m ah1_1,1460.931,138.355,-320.185,80.0,40.0 +27.wav=r ah1_1,354.106,109.912,-355.172,39.999,20.0 +27.wav=w ah_1,882.162,124.661,-353.584,50.0,25.0 +27.wav=p r_1,215.188,151.528,-171.291,140.0,49.999 +27.wav=s m_1,1412.744,128.233,-141.958,119.998,59.998 +27.wav=ng -_1,2035.0,143.065,-185.885,80.0,40.0 +27.wav=ng5_1,1965,15,-126.301,15,10 +28.wav=- ch_1,239.901,90.869,-110.415,40.0,20.0 +28.wav=ah n1_1,1819.639,119.998,-191.753,110.0,55.0 +28.wav=ah ng2_1,532.772,137.627,-225.582,110.0,55.0 +28.wav=ah th_1,1245.006,157.924,-203.593,110.0,55.0 +28.wav=b ah1_1,848.349,150,-370,60,30 +28.wav=ch ah_1,261.967,176.56,-363.019,99.999,49.999 +28.wav=th ah_1,1410.851,136.308,-430.559,59.999,30.0 +28.wav=ng b_1,814.564,72.628,-84.705,59.999,30.0 +28.wav=n -1_1,1975.606,316.335,-382.212,80.0,40.0 +28.wav=ah7_1,1534.894,40.0,-210.221,20.0,40.0 +28.wav=n8_1,1935.0,14.999,-80.256,14.999,10.0 +28.wav=ng6_1,655,15,-126.301,15,10 +28.wav=th_1,1355.0,15.0,-96.927,15.0,10.0 +29.wav=- g2_1,175.751,61.049,-83.351,40.0,20.0 +29.wav=ah dh_1,668.072,146.084,-178.786,110.0,55.0 +29.wav=ah jh_1,1256.0,149.056,-180.066,110.0,55.0 +29.wav=ah n2_1,1796.0,126.09,-214.609,110.0,55.0 +29.wav=dh ah_1,823.782,179.999,-416.049,60.0,30.0 +29.wav=g ah_1,188.939,321.03,-506.243,80.0,40.0 +29.wav=jh ah_1,1428.494,196.162,-332.323,60.0,30.0 +29.wav=n t1_1,1984.389,92.39,-124.23,59.999,30.0 +29.wav=t -3_1,2005.014,204.342,-281.748,80.0,40.0 +29.wav=n9_1,1906.0,14.998,-95.02,14.998,10.0 +3.wav=- ah_1,381.466,166.561,-345.854,60.0,29.999 +3.wav=ah iy1_1,762.813,340,-650,240,120 +3.wav=ih ow_1,1900.916,340,-650,240,120 +3.wav=iy ih_1,1371.732,340,-650,240,120 +3.wav=ow ay_1,2460.361,340,-650,240,120 +3.wav=ay -_1,3190.709,533.041,-655.737,299.999,120.0 +3.wav=ah2_1,514.428,40.0,-210.221,20.0,40.0 +3.wav=ay2_1,2804.518,40.0,-210.221,20.0,40.0 +3.wav=ih3_1,1659.059,40.0,-210.221,20.0,40.0 +3.wav=iy3_1,1089.211,40.0,-210.221,20.0,40.0 +3.wav=ow2_1,2189.38,40.0,-210.221,20.0,40.0 +30.wav=- z1_1,340.892,64.557,-102.145,40.0,20.0 +30.wav=ah ch_1,2021.341,137.627,-169.2,110.0,55.0 +30.wav=ah d_1,1429.292,141.574,-192.317,110.0,55.0 +30.wav=ah m1_1,774.088,120.0,-187.806,110.0,55.0 +30.wav=d ah_1,1600.309,179.999,-387.294,60.0,30.0 +30.wav=y ah_1,1054.682,106.026,-383.259,40.0,20.0 +30.wav=z ah_1,397.416,176.813,-400.796,49.999,25.0 +30.wav=m n_1,918.294,81.41,-103.369,60.0,30.0 +30.wav=n y_1,963.861,81.41,-103.369,60.0,30.0 +30.wav=ch -_1,2136.1,296.862,-382.276,80,40 +31.wav=- dh_1,296.036,120.0,-139.983,40.0,20.0 +31.wav=ah l2_1,1985.715,131.424,-195.135,110.0,55.0 +31.wav=ah s1_1,756.021,137.627,-210.359,110.0,55.0 +31.wav=ah t_1,1321.532,120.0,-158.489,110.0,55.0 +31.wav=dh ah1_1,382.312,132.733,-383.912,60.0,30.0 +31.wav=n ah_1,1596.319,104.526,-422.517,40.0,20.0 +31.wav=s ah_1,889.339,200,-420,100,50 +31.wav=l z_1,2171.337,100.0,-150.581,60.0,29.999 +31.wav=t n_1,1512.214,91.528,-111.84,80.0,40.0 +31.wav=z -2_1,2262.022,316.335,-382.212,80.0,40.0 +31.wav=ah8_1,1710.164,40.0,-210.221,20.0,40.0 +32.wav=- k2_1,202.064,87.36,-127.453,40.0,20.0 +32.wav=ah b_1,1354.831,164.689,-177.657,110.0,55.0 +32.wav=ah p_1,549.668,120.0,-148.903,110.0,55.0 +32.wav=ah v_1,2125.594,141.573,-263.921,110.0,55.0 +32.wav=b ah_1,1507.236,150,-370,60,30 +32.wav=k ah1_1,216.596,177.508,-406.698,120.0,60.0 +32.wav=l ah4_1,957.437,163.178,-421.123,59.999,30.0 +32.wav=f l_1,871.0,94.103,-129.787,79.999,40.0 +32.wav=p s_1,661.981,95.059,-138.429,59.999,29.999 +32.wav=s f_1,742.369,96.47,-145.329,80.0,40.0 +32.wav=v -_1,2253.823,316.335,-382.212,80.0,40.0 +33.wav=- sh_1,256.942,72.575,-130.711,40.0,20.0 +33.wav=ah f_1,655.704,133.679,-161.87,110.0,55.0 +33.wav=ah k_1,1316.048,134.808,-159.052,110.0,55.0 +33.wav=ah z_1,2166.991,123.532,-206.412,110.0,55.0 +33.wav=f ah_1,937.419,199.999,-425.055,80.0,40.0 +33.wav=sh ah_1,326.553,182.897,-340.453,99.999,50.0 +33.wav=sh ah1_1,1532.812,200,-420,100,50 +33.wav=f f_1,794.572,100,-150,80.0,40.0 +33.wav=k sh_1,1456,69.882,-83.057,60.0,30.0 +33.wav=z -3_1,2292.453,316.335,-382.212,80.0,40.0 +34.wav=- v_1,151.947,50.775,-82.85,40.0,20.0 +34.wav=ah g_1,1778.307,138.755,-165.818,110.0,55.0 +34.wav=ah l1_1,536.709,120.0,-156.796,110.0,55.0 +34.wav=ah m2_1,1040.23,142.701,-215.997,110.0,55.0 +34.wav=hh ah1_1,1304.493,199.999,-430.129,80.0,40.0 +34.wav=q ah_1,789.206,45.0,-311.077,10.0,10.0 +34.wav=v ah_1,183.745,121.486,-372.758,60.0,30.0 +34.wav=dh q_1,699.558,85.49,-95.921,79.999,40.0 +34.wav=g z_1,1891.659,69.882,-130.818,60.0,30.0 +34.wav=l dh_1,676.187,100,-120,60,30 +34.wav=m hh_1,1235.614,81.41,-103.369,60.0,30.0 +34.wav=z -4_1,1988.693,153.991,-241.278,80.0,40.0 +35.wav=- s2_1,209.581,50.774,-106.906,40.0,20.0 +35.wav=ao l_1,1384.825,119.998,-152.286,110.0,55.0 +35.wav=ao ng_1,2022.002,163.0,-231.785,110.0,55.0 +35.wav=ao r9_1,435.813,161.306,-227.836,110.0,55.0 +35.wav=hh ao_1,937.473,199.999,-476.643,80.0,40.0 +35.wav=p ao_1,346.791,235.91,-417.967,60.0,30 +35.wav=r ao_1,1533.21,108.222,-484.286,40.0,20.0 +35.wav=l r_1,1544,100,-120,60,30 +35.wav=ng d_1,2195.361,73.725,-83.606,60.0,29.999 +35.wav=r t1_1,764.838,71.292,-84.467,40.0,20.0 +35.wav=s hh_1,817.083,96.47,-145.329,80.0,40.0 +35.wav=s p_1,255.423,96.47,-122.822,80.0,39.999 +35.wav=t s_1,808.295,103.057,-142.584,80.0,40.0 +35.wav=d -_1,2226.74,191.99,-263.355,80.0,40.0 +35.wav=ng7_1,2115,15,-126.301,15,10 +36.wav=- s3_1,277.492,50.775,-99.64,40.0,20.0 +36.wav=ao f_1,1416,120,-240.761,110.0,55.0 +36.wav=ao r1_1,661.895,164.126,-210.359,110.0,55.0 +36.wav=ao r2_1,1910.269,141.574,-224.455,110.0,55.0 +36.wav=f ao_1,1565,200,-500,80.0,40.0 +36.wav=k ao_1,422.107,177.508,-406.698,60,30.0 +36.wav=l ao_1,992.13,218.996,-413.512,60.0,30.0 +36.wav=b z_1,2165.184,84.586,-141.13,50.0,25.0 +36.wav=r b_1,2123.031,90.506,-105.328,40.0,20.0 +36.wav=r l_1,948.727,67.997,-89.956,40.0,20.0 +36.wav=s k2_1,324.595,96.47,-129.408,79.999,39.999 +36.wav=z -5_1,2273.619,167.066,-287.513,80.0,40.0 +37.wav=- t1_1,261.952,73.328,-100.642,40.0,20.0 +37.wav=ao k_1,665.0,145.802,-187.772,110.0,55.0 +37.wav=ao l1_1,1971.26,120,-157.773,110.0,55.0 +37.wav=ao r3_1,1202.697,141.01,-233.475,110.0,55.0 +37.wav=f ao1_1,904.476,200,-500,80.0,40.0 +37.wav=t ao_1,253.185,254.618,-398.45,130.0,65.0 +37.wav=y ao_1,1579.606,106.026,-383.259,40.0,20.0 +37.wav=d y_1,1489.095,103.057,-123.369,79.999,40.0 +37.wav=k t2_1,799,69.882,-83.057,60.0,30.0 +37.wav=r d_1,1417.093,90.506,-105.328,40.0,20.0 +37.wav=t f_1,789.627,103.057,-142.584,80.0,40.0 +37.wav=l -1_1,2085.103,316.335,-382.212,80.0,40.0 +38.wav=- q_1,303.551,50.775,-68.065,40.0,20.0 +38.wav=ao r4_1,500.078,120,-192.278,110.0,55.0 +38.wav=ao r5_1,1158.75,148.339,-245.879,110.0,55.0 +38.wav=ao r6_1,1904.775,131.424,-206.975,110.0,55.0 +38.wav=d ao_1,1574.196,179.999,-457.49,60.0,30.0 +38.wav=n ao_1,980.0,89.92,-273.441,40.0,20.0 +38.wav=q ao_1,358.734,44.999,-316.997,10.0,10.0 +38.wav=p s1_1,747.355,123.918,-164.542,79.999,40.0 +38.wav=r d1_1,2127.575,57.567,-72.389,39.999,19.999 +38.wav=r p_1,735.741,54.273,-74.036,40.0,20.0 +38.wav=r th_1,1402.304,90.506,-105.328,40.0,20.0 +38.wav=s n_1,899.445,89.882,-106.351,79.999,40.0 +38.wav=th d_1,1480.702,73.41,-120.622,50.0,25.0 +38.wav=d -1_1,2173.923,191.99,-257.183,80.0,40.0 +38.wav=ao1_1,1073.632,40.0,-210.221,20.0,40.0 +39.wav=- th_1,226.877,126.201,-149.004,40.0,20.0 +39.wav=ao ng1_1,1200.0,119.998,-168.406,110.0,55.0 +39.wav=ao s_1,1935.0,120.0,-229.53,110.0,55.0 +39.wav=ao t_1,637.062,142.137,-176.53,110.0,55.0 +39.wav=l ao1_1,1520.68,235.064,-423.66,60.0,30.0 +39.wav=s ao_1,844.24,153.799,-420.0,99.999,50.0 +39.wav=th ao_1,322.637,120.936,-305.941,60.0,29.999 +39.wav=g l1_1,1460.116,75.372,-101.722,60.0,30.0 +39.wav=ng z_1,1320.676,72.078,-97.88,60.0,30.0 +39.wav=s t_1,2097.79,96.47,-122.821,80.0,40.0 +39.wav=t s1_1,744.014,103.057,-142.584,80.0,40.0 +39.wav=z g_1,1383.927,73.409,-90.075,50.0,24.998 +39.wav=t -4_1,2178.765,98.116,-119.526,80.0,40.0 +39.wav=ao2_1,423.024,40.0,-210.221,20.0,40.0 +39.wav=ng8_1,1310.0,14.999,-74.244,14.999,10.0 +39.wav=th1_1,263.332,15.0,-112.168,15.0,10.0 +4.wav=- uw_1,336.643,220,-500,60,30 +4.wav=ay ey_1,2397.272,451.376,-744.419,399.999,199.999 +4.wav=ih uw2_1,1289.908,340,-650,240,120 +4.wav=uw ay_1,1895.072,340,-650,240,120 +4.wav=uw ih_1,749.493,340,-650,240,120 +4.wav=ey -_1,3149.659,515.833,-575.946,299.999,119.999 +4.wav=ay3_1,2193.62,40.0,-210.221,20.0,40.0 +4.wav=ey_1,2776.712,40.0,-210.221,20.0,40.0 +4.wav=ih4_1,972.292,40.0,-210.221,20.0,40.0 +4.wav=uw2_1,405,40.0,-210.221,20.0,40.0 +4.wav=uw3_1,1613.017,40.0,-210.221,20.0,40.0 +40.wav=- w_1,195.298,50.775,-68.065,40,20 +40.wav=ao l2_1,1182.318,120,-163.795,110.0,55.0 +40.wav=ao r7_1,315.685,139.882,-224.454,110.0,55.0 +40.wav=ao r8_1,1699.936,129.734,-203.03,110.0,55.0 +40.wav=b ao_1,806.024,150,-370,60,30 +40.wav=g ao_1,1326.483,200,-380.231,80.0,40.0 +40.wav=w ao_1,241.546,89.487,-326.644,40.0,19.999 +40.wav=l g_1,1246.596,100,-120,60,30 +40.wav=m th_1,639.953,81.41,-103.369,60.0,30.0 +40.wav=r m3_1,572.113,59.764,-105.327,40.0,20.0 +40.wav=th b_1,714.382,73.41,-120.622,50.0,25.0 +40.wav=r -1_1,1925.165,244.271,-278.033,80.0,40.0 +41.wav=- r_1,360.19,50.775,-68.065,40.0,20.0 +41.wav=ao n_1,1372.982,125.788,-176.532,110.0,55.0 +41.wav=ao ng2_1,694.044,131.423,-204.719,110.0,55.0 +41.wav=ao r_1,1834.815,147.212,-249.771,110.0,55.0 +41.wav=m ao_1,936.327,191.088,-436.347,59.999,30.0 +41.wav=r ao1_1,408.233,183.209,-343.896,39.999,20.0 +41.wav=w ao1_1,1529.647,152.54,-377.072,40.0,20.0 +41.wav=n d_1,2131.132,69.881,-82.508,60.0,29.999 +41.wav=n w1_1,1436.632,81.41,-103.369,60.0,30.0 +41.wav=ng m_1,871.11,81.41,-103.369,60.0,30.0 +41.wav=r n_1,2059.453,63.057,-105.328,40.0,20.0 +41.wav=d -2_1,2183.919,228.223,-294.1,80.0,40.0 +41.wav=n100_1,797.886,15,-126.301,15,10 +41.wav=ng9_1,801.89,15,-126.301,15,10 +42.wav=- b_1,146.346,114.762,-122.28,40,20 +42.wav=aw dh_1,1158.525,260.031,-276.946,220,110.0 +42.wav=aw z_1,528.18,260.031,-276.946,220,110.0 +42.wav=b aw_1,212.322,150,-370,60,30 +42.wav=dh aw_1,1482.595,137.806,-378.836,60.0,30.0 +42.wav=m aw_1,879.0,74.127,-330.381,30.0,15.0 +42.wav=dh z_1,1386.498,100.0,-137.642,80.0,40.0 +42.wav=z dh_1,1379.723,73.409,-80.194,50.0,24.999 +42.wav=z m_1,793.48,89.333,-105.253,79.999,40.0 +42.wav=aw -1_1,1764.684,480,-600,300,120 +43.wav=- t2_1,217.349,60.799,-111.166,40.0,20.0 +43.wav=aw d_1,1871.972,260.032,-276.946,220,110.0 +43.wav=aw l_1,1211.677,239.734,-276.946,220,110.0 +43.wav=aw n5_1,501.717,260.031,-276.946,220,110.0 +43.wav=l aw_1,1462.501,140.343,-336.551,60.0,30.0 +43.wav=r aw_1,950.0,77.904,-250.995,40.0,20.0 +43.wav=t aw_1,207.62,232.11,-397.901,129.999,64.999 +43.wav=l l_1,1376.782,100,-120,60,30 +43.wav=n p_1,746.471,81.409,-97.879,59.999,30.0 +43.wav=p r1_1,843.737,112.079,-138.43,100,50.0 +43.wav=d -3_1,2104.042,191.99,-263.355,80.0,40.0 +43.wav=n11_1,650,15,-126.301,15,10 +44.wav=- f_1,118.369,120.0,-140.484,40.0,20.0 +44.wav=aw l1_1,445.34,260.031,-276.946,220,110.0 +44.wav=aw t_1,1739.476,260.031,-276.946,220,110.0 +44.wav=aw z1_1,1049.842,260.031,-276.946,220,110.0 +44.wav=f aw_1,188.092,150.196,-359.935,80.0,40.0 +44.wav=q aw_1,805.277,44.999,-281.476,10.0,10.0 +44.wav=th aw_1,1399.847,126.426,-365.779,59.999,30.0 +44.wav=k q2_1,733,69.882,-83.057,60.0,30.0 +44.wav=l k_1,608.131,100,-120,60,30 +44.wav=z th_1,1305.524,73.409,-109.839,50.0,24.998 +44.wav=t -5_1,1945.114,316.335,-382.212,80.0,40.0 +44.wav=aw3_1,1545,40.0,-210.221,20.0,40.0 +45.wav=- n1_1,286.26,47.016,-57.29,40.0,20.0 +45.wav=aw n1_1,542.339,260.031,-276.946,220,110.0 +45.wav=aw s_1,1082.021,260.031,-276.946,220,110.0 +45.wav=aw t1_1,1741.214,260.03,-271.307,220,110.0 +45.wav=d aw_1,1439.692,179.999,-342.471,60.0,30.0 +45.wav=hh aw_1,849.485,156.961,-359.934,80.0,40.0 +45.wav=n aw1_1,331.02,119.749,-297.35,40,20 +45.wav=n hh_1,752.529,97.881,-136.309,59.999,30.0 +45.wav=s d_1,1314.541,96.47,-145.329,80.0,40.0 +45.wav=t -6_1,1947.608,316.335,-382.212,80.0,40.0 +45.wav=aw4_1,413.966,40.0,-210.221,20.0,40.0 +45.wav=n12_1,306,15,-126.301,15,10 +45.wav=n13_1,736,15,-126.301,15,10 +46.wav=- z2_1,329.613,50.775,-88.865,40.0,20.0 +46.wav=ay g_1,692.912,260.031,-276.946,220,110.0 +46.wav=ay hh_1,1263.603,260.031,-276.946,220,110.0 +46.wav=ay n_1,1874.838,248.754,-287.094,220,110.0 +46.wav=g ay_1,918.023,200,-380.231,80.0,40.0 +46.wav=hh ay_1,1511.9,183.178,-336.253,80.0,40.0 +46.wav=z ay_1,377.103,129.602,-305.824,49.999,24.999 +46.wav=n d1_1,2112.515,81.41,-103.369,60.0,30.0 +46.wav=d -4_1,2173.923,191.99,-263.355,80.0,40.0 +46.wav=n14_1,2082,15,-126.301,15,10 +47.wav=- q1_1,289.768,50.775,-68.065,40.0,20.0 +47.wav=ay k_1,1736.139,260.031,-276.946,220,110.0 +47.wav=ay m_1,602.687,260.031,-301.19,220,110.0 +47.wav=ay t_1,1154.204,247.063,-261.722,220,110.0 +47.wav=m ay_1,895.19,125.669,-298.196,79.999,39.999 +47.wav=q ay_1,346.048,99.646,-260.333,9.999,9.999 +47.wav=r ay2_1,1550.722,73.266,-204.635,40.0,20.0 +47.wav=k s1_1,2005,69.882,-83.057,60.0,30.0 +47.wav=m m_1,860.148,81.41,-103.369,60.0,30.0 +47.wav=t r_1,1378.783,103.057,-142.584,80.0,40.0 +47.wav=s -3_1,2188.883,182.407,-230.992,80.0,40.0 +48.wav=- f1_1,219.605,126.2,-162.535,40.0,20.0 +48.wav=ay f_1,1835.888,260.031,-276.946,220,110.0 +48.wav=ay s_1,591.953,260.031,-310.21,220,110.0 +48.wav=ay w_1,1259.611,242.553,-267.361,220,110.0 +48.wav=f ay_1,306.494,151.041,-356.551,80.0,40.0 +48.wav=l ay2_1,976.071,140.343,-336.551,60.0,30.0 +48.wav=w ay_1,1488.408,135.032,-379.876,44.999,34.999 +48.wav=s l_1,907.664,96.47,-145.329,80.0,40.0 +48.wav=s s_1,818.409,89.332,-112.938,60,30 +48.wav=f -_1,2095.809,316.335,-382.212,80.0,40.0 +49.wav=- d1_1,251.678,53.281,-61.551,40.0,20.0 +49.wav=ay d_1,515.273,229.021,-253.829,220,110.0 +49.wav=ay l_1,1208.889,260.031,-276.946,220,110.0 +49.wav=ay n1_1,1795.341,244.807,-276.945,220,110.0 +49.wav=d ay_1,256.298,109.899,-305.26,60.0,29.999 +49.wav=n ay_1,1436.606,133.28,-317.647,79.999,40.0 +49.wav=t ay_1,867.721,153.993,-356.017,70.0,45.0 +49.wav=d s_1,709.712,100,-150,60,30.0 +49.wav=l n_1,1366.931,100,-120,60,30 +49.wav=n th_1,2051.578,81.409,-122.583,60.0,29.999 +49.wav=s t1_1,783.596,96.47,-124.468,79.999,40.0 +49.wav=th -_1,2134.534,252.928,-287.929,80.0,40.0 +49.wav=ay8_1,1513.497,40.0,-210.221,20.0,40.0 +49.wav=n15_1,2035,15,-126.301,15,10 +49.wav=th2_1,2123.777,15.0,-78.406,15.0,9.999 +5.wav=- ey_1,332.414,160,-450,60,30 +5.wav=aw er_1,2357.311,451.377,-650,400,200 +5.wav=er aw_1,1335.578,377.007,-675.757,240.0,120.0 +5.wav=ey ih_1,808.481,386.522,-649.999,240.0,120.0 +5.wav=ih er_1,823.705,340,-650,240,120 +5.wav=er -_1,3052.575,480,-600,300,120 +5.wav=aw_1,1296.784,40.0,-210.221,20.0,40.0 +5.wav=er1_1,1244.074,40.0,-210.221,20.0,40.0 +5.wav=er2_1,2989.191,40.0,-210.221,20.0,40.0 +5.wav=ey1_1,446.904,40.0,-210.221,20.0,40.0 +5.wav=ih5_1,1080.177,40.0,-210.221,20.0,40.0 +50.wav=- k3_1,234.64,93.875,-123.695,40.0,20.0 +50.wav=ay b_1,536.128,241.425,-257.211,220,110.0 +50.wav=ay p_1,1770.484,255.522,-271.873,220,110.0 +50.wav=ay r_1,1243.257,245.935,-288.785,220,110.0 +50.wav=k ay_1,937.179,148.802,-330.632,60.0,30.0 +50.wav=r ay1_1,380.041,58.606,-196.74,39.999,19.999 +50.wav=r ay_1,1519.663,95.254,-279.621,40.0,20.0 +50.wav=b s1_1,759.228,84.586,-141.13,50.0,25.0 +50.wav=k r_1,312,69.882,-83.057,60.0,30.0 +50.wav=p s2_1,1993.963,140.624,-233.95,100.0,49.999 +50.wav=s k3_1,836.289,96.469,-126.663,79.999,40.0 +50.wav=s -4_1,2196.27,162.91,-230.434,80.0,40.0 +51.wav=- v1_1,204.067,50.775,-73.329,40.0,20.0 +51.wav=ay n2_1,1146.197,260.031,-276.946,220,110.0 +51.wav=ay v_1,472.385,260.031,-276.946,220,110.0 +51.wav=ay z_1,1742.75,273.562,-347.422,220,110.0 +51.wav=b ay_1,1405.766,120.892,-289.19,59.999,30.0 +51.wav=s ay_1,798.691,170.818,-337.707,99.999,49.999 +51.wav=v ay_1,245.78,107.212,-282.884,60.0,30.0 +51.wav=d s1_1,685.835,100,-150,60,30.0 +51.wav=n b_1,1304.792,105.566,-139.602,60.0,30.0 +51.wav=v d_1,677.953,59.881,-67.567,49.999,25.0 +51.wav=z -6_1,2052.107,316.335,-382.212,80.0,40.0 +51.wav=n16_1,1375,15,-126.301,15,10 +52.wav=- p2_1,247.67,63.805,-114.925,40.0,20.0 +52.wav=ay jh_1,614.461,260.031,-276.946,220,110.0 +52.wav=ay n3_1,1651.347,260.031,-318.667,220,110.0 +52.wav=ay sh_1,1184.498,237.478,-289.349,220,110.0 +52.wav=jh ay_1,893.132,149.646,-350.082,60.0,30.0 +52.wav=p ay_1,265.647,289.99,-458.289,120.0,60.0 +52.wav=sh ay_1,1422.86,170.269,-366.254,100.0,50.0 +52.wav=n -2_1,1965.487,171.405,-259.514,80.0,40.0 +52.wav=n17_1,2006,15,-126.301,15,10 +53.wav=- n2_1,278.743,50.775,-68.566,40.0,20.0 +53.wav=eh k_1,1138.368,142.701,-181.604,110.0,55.0 +53.wav=eh n10_1,582.382,120,-225.267,110.0,55.0 +53.wav=g eh_1,1406.944,200,-380.231,80.0,40.0 +53.wav=m eh_1,859.627,130.743,-332.871,79.999,40.0 +53.wav=n eh1_1,314.357,82.286,-239.59,39.999,20.0 +53.wav=k g_1,1325,69.882,-83.057,60.0,30.0 +53.wav=n m_1,760.741,81.41,-103.369,60.0,30.0 +53.wav=eh -_1,1680.618,631.034,-781.729,300.0,120.0 +53.wav=eh2_1,360,40.0,-210.221,20.0,40.0 +53.wav=n18_1,315,15,-126.301,15,10 +53.wav=n19_1,695,15,-126.301,15,10 +54.wav=- f2_1,263.206,105.904,-145.246,40.0,20.0 +54.wav=eh l_1,1247.769,118.456,-165.252,110.0,55.0 +54.wav=eh r_1,1906.937,120,-163.266,110.0,55.0 +54.wav=eh sh_1,695.0,130.455,-198.113,110.0,55.0 +54.wav=k eh_1,1462.536,177.508,-406.698,120.0,60.0 +54.wav=l eh_1,430.517,98.904,-202.928,60.0,29.999 +54.wav=v eh_1,949.611,132.464,-320.214,60.0,30.0 +54.wav=f l1_1,351.495,99.999,-134.349,80.0,39.999 +54.wav=l k1_1,1364.12,100,-120,60,30 +54.wav=sh v_1,832.983,96.47,-145.329,80.0,40.0 +54.wav=r -2_1,2001.906,316.335,-382.212,80.0,40.0 +55.wav=- hh1_1,198.555,80.094,-116.679,40.0,20.0 +55.wav=eh g_1,1757.611,138.754,-169.278,110.0,55.0 +55.wav=eh l1_1,725.056,126.351,-166.945,110.0,55.0 +55.wav=eh l2_1,1143.496,120,-149.278,110.0,55.0 +55.wav=hh eh_1,265.054,200,-454.278,80.0,40.0 +55.wav=q eh_1,1454.994,44.999,-341.521,10.0,10.0 +55.wav=w eh_1,871.79,125.209,-236.652,50.0,25.0 +55.wav=d q_1,1302.466,100.0,-135.447,80.0,40.0 +55.wav=g z1_1,1874.258,80.312,-143.445,60.0,30.0 +55.wav=l m_1,1187.396,100,-120,60,30 +55.wav=l w_1,808.531,76.47,-99.527,60.0,30.0 +55.wav=m d1_1,1275.24,69.881,-79.763,60.0,30.0 +55.wav=z -7_1,1978.076,316.335,-382.212,80.0,40.0 +56.wav=- y_1,418.58,50.775,-68.065,40,20 +56.wav=eh d_1,1289.987,119.999,-150.595,110.0,55.0 +56.wav=eh l3_1,1872.436,120,-162.256,110.0,55.0 +56.wav=eh s_1,745.0,130.053,-195.456,110.0,55.0 +56.wav=b eh_1,1517.383,149.999,-334.859,60.0,30.0 +56.wav=t eh_1,976.9,170.186,-302.768,69.999,45.0 +56.wav=y eh_1,454.629,125.09,-254.1,39.999,20.0 +56.wav=d b_1,1404.513,100,-150,80.0,40.0 +56.wav=l t_1,1998.671,80.861,-125.877,59.999,30.0 +56.wav=s s1_1,864.791,96.47,-145.329,80.0,40.0 +56.wav=s t2_1,880.711,96.469,-128.86,79.999,39.999 +56.wav=t -7_1,2068.545,316.335,-382.212,80.0,40.0 +57.wav=- p3_1,68.502,59.797,-98.136,40.0,20.0 +57.wav=eh n1_1,1644.163,137.063,-183.296,110.0,55.0 +57.wav=eh r1_1,388.979,120,-187.301,110.0,55.0 +57.wav=eh t_1,1081.421,144.957,-185.551,110.0,55.0 +57.wav=p eh_1,68.595,231.635,-416.002,120.0,59.999 +57.wav=sh eh_1,683.414,200,-420,100,50 +57.wav=w eh1_1,1365.884,73.057,-256.965,49.999,24.999 +57.wav=r z_1,572.118,90.505,-144.306,40.0,20.0 +57.wav=t w_1,1242.626,129.336,-150.197,119.999,60.0 +57.wav=z sh_1,593.415,73.41,-120.622,50.0,25.0 +57.wav=n -3_1,1760.497,316.335,-382.212,80.0,40.0 +57.wav=n20_1,1735,15,-126.301,15,10 +58.wav=- s4_1,142.173,65.811,-125.701,40.0,20.0 +58.wav=eh m_1,1073.471,149.467,-235.731,110.0,55.0 +58.wav=eh p_1,525.987,181.604,-267.304,110.0,55.0 +58.wav=eh v_1,1761.91,137.627,-204.289,110.0,55.0 +58.wav=d eh_1,1365.065,179.999,-385.603,60.0,30.0 +58.wav=r eh1_1,897.652,67.998,-232.691,40.0,20.0 +58.wav=s eh_1,210.72,165.878,-376.136,100.0,50.0 +58.wav=d r_1,790.44,114.273,-137.879,99.999,49.999 +58.wav=m t_1,1271.268,81.41,-103.369,60.0,30.0 +58.wav=p t_1,644.962,122.507,-151.054,99.999,49.999 +58.wav=t d_1,653.981,103.057,-142.584,80.0,40.0 +58.wav=t d1_1,1286.403,89.881,-97.567,80.0,40.0 +58.wav=v -1_1,1892,316.335,-382.212,80.0,40.0 +59.wav=- sh1_1,176.003,90.117,-134.47,40.0,20.0 +59.wav=eh f_1,546.288,138.755,-226.71,110.0,55.0 +59.wav=eh r2_1,1027.836,139.882,-215.433,110.0,55.0 +59.wav=dh eh_1,846.624,141.189,-399.794,60.0,30.0 +59.wav=f eh_1,1378.919,184.87,-397.991,80.0,40.0 +59.wav=sh eh1_1,245.305,174.113,-359.118,99.999,49.999 +59.wav=f s_1,646.305,100,-150,80.0,40.0 +59.wav=r f_1,1281.968,90.506,-105.328,40.0,20.0 +59.wav=s dh_1,737.439,96.47,-145.329,80.0,40.0 +59.wav=eh -1_1,1579.999,543.745,-637.62,300.0,120.0 +6.wav=- iy_1,176.801,220,-500,60,30 +6.wav=ay ow_1,1550.469,451.376,-738.713,399.999,199.999 +6.wav=ey ay_1,1135.775,340.0,-599.643,240.0,120.0 +6.wav=iy ey_1,608.681,340,-650,240,120 +6.wav=ow ah_1,2260.401,485.47,-732.843,240.0,120.0 +6.wav=ah -_1,2802.338,480,-600,300,120 +6.wav=ah3_1,2475.373,40.0,-210.221,20.0,40.0 +6.wav=ay4_1,1422.812,40.0,-210.221,20.0,40.0 +6.wav=ey2_1,884.179,40.0,-210.221,20.0,40.0 +6.wav=iy4_1,462.55,40.0,-210.221,20.0,40.0 +6.wav=ow3_1,2005,40.0,-210.221,20.0,40.0 +60.wav=- p4_1,206.574,69.569,-118.182,40.0,20.0 +60.wav=eh k1_1,1153.597,130.861,-161.307,110.0,55.0 +60.wav=eh r3_1,652.873,120.0,-164.125,110.0,55.0 +60.wav=eh r4_1,1711.257,120,-165.3,110.0,55.0 +60.wav=ch eh_1,1323.171,217.556,-440.826,140,70 +60.wav=r eh_1,846.077,199.752,-355.662,40.0,20.0 +60.wav=w eh2_1,354.046,89.527,-230.614,49.999,24.999 +60.wav=k t3_1,1280,69.882,-83.057,60.0,30.0 +60.wav=p w_1,224.757,130.979,-150.743,119.999,59.999 +60.wav=r r_1,812.587,60.861,-81.723,40.0,20.0 +60.wav=r z1_1,1838.692,90.505,-153.639,40.0,20.0 +60.wav=t ch_1,1246.399,90.98,-98.117,80.0,40.0 +60.wav=z -8_1,1963.894,128.478,-187.768,79.999,40.0 +61.wav=- er1_1,316.344,219.999,-353.466,60.0,30.0 +61.wav=er th_1,1859.671,120,-269.278,110,55.0 +61.wav=er v_1,657.4,127.478,-148.339,110,55.0 +61.wav=er w_1,1318.876,128.607,-175.403,110,55.0 +61.wav=dh er_1,895.716,180,-440.277,60.0,30.0 +61.wav=w er_1,1520.773,103.252,-291.002,50.0,24.998 +61.wav=v dh_1,768.583,73.41,-120.622,50.0,25.0 +61.wav=th -1_1,2055.065,223.7,-330.75,80.0,40.0 +61.wav=er5_1,390,40.0,-210.221,20.0,40.0 +61.wav=th3_1,1995,15,-126.301,15,10 +62.wav=- m1_1,331.115,49.272,-61.801,40.0,20.0 +62.wav=er d_1,1256.783,120.0,-158.488,110,55.0 +62.wav=er dh_1,760.569,135.935,-164.69,110,55.0 +62.wav=dh er1_1,903.316,135.27,-360.231,60.0,30.0 +62.wav=m er_1,367.488,106.961,-420.723,29.999,15.0 +62.wav=sh er_1,1476.193,200,-420,100,50 +62.wav=d sh_1,1371.018,100,-150,80.0,40.0 +62.wav=er -1_1,1790.964,603.858,-720.79,300.0,120.0 +63.wav=- z3_1,256.44,64.808,-109.663,40.0,20.0 +63.wav=er hh_1,739.737,120,-156.278,110,55.0 +63.wav=er p_1,1870.382,138.755,-177.094,110,55.0 +63.wav=er t1_1,1208.352,133.116,-191.753,110,55.0 +63.wav=ch er_1,1404.519,176.561,-411.671,140,70 +63.wav=hh er_1,844.43,200,-421.277,80.0,40.0 +63.wav=z er_1,336.479,112.584,-377.19,49.999,25.0 +63.wav=s ch_1,1337.06,116.783,-159.603,80.0,40.0 +63.wav=t s2_1,1313.359,67.999,-101.487,40.0,20.0 +63.wav=p -2_1,1985.487,316.335,-382.212,80.0,40.0 +64.wav=- s5_1,172.495,50.774,-117.43,40.0,20.0 +64.wav=er d1_1,661.297,120.0,-156.797,110,55.0 +64.wav=er l_1,1050.893,120,-164.784,110,55.0 +64.wav=er s_1,1875.189,142.701,-206.412,110,55.0 +64.wav=s er_1,251.345,200,-420,100,50 +64.wav=v er_1,1413.086,158.267,-383.897,59.999,30.0 +64.wav=w er1_1,867.419,144.973,-332.174,50.0,25.0 +64.wav=d w_1,784.397,75.372,-106.663,59.999,30.0 +64.wav=d z1_1,1287.658,54.199,-78.903,40.0,20.0 +64.wav=l d_1,1233.545,100,-120,60,30 +64.wav=z v_1,1316.567,73.41,-120.622,50.0,25.0 +64.wav=s -5_1,2093.382,180.669,-257.251,80.0,40.0 +65.wav=- g3_1,265.712,53.531,-65.309,40.0,20.0 +65.wav=er n2_1,1190.747,137.627,-178.222,110,55.0 +65.wav=er t_1,1865.087,153.415,-174.276,110,55.0 +65.wav=er z_1,611.688,131.989,-196.828,110,55.0 +65.wav=g er_1,256.596,200.0,-349.785,80.0,40.0 +65.wav=hh er1_1,1398.348,200,-529.29,80.0,40.0 +65.wav=q er_1,868.709,130.937,-370.276,10.0,10.0 +65.wav=d hh_1,1319.89,100,-150,80.0,40.0 +65.wav=n d2_1,1302.011,72.077,-90.743,60.0,30.0 +65.wav=t q_1,728.093,103.057,-124.467,79.999,40.0 +65.wav=z t_1,761.386,73.409,-92.272,50.0,25.0 +65.wav=t -8_1,2001.999,255.942,-276.529,80.0,40.0 +65.wav=n21_1,1280,15,-126.301,15,10 +66.wav=- n3_1,371.457,45.264,-62.303,40.0,20.0 +66.wav=er v1_1,739.103,120.0,-153.978,110,55.0 +66.wav=er y_1,1389.744,119.999,-184.988,110,55.0 +66.wav=er z1_1,1972.165,120.0,-210.922,110,55.0 +66.wav=n er_1,405.0,88.055,-304.559,39.999,19.999 +66.wav=t er_1,936.568,170.187,-437.289,100.0,50.0 +66.wav=y er_1,1543.451,106.026,-383.259,40.0,20.0 +66.wav=v t_1,854.248,73.409,-97.212,50.0,25.0 +66.wav=z -9_1,2110.0,150.669,-213.252,80.0,40.0 +66.wav=er6_1,472.432,40.0,-210.221,20.0,40.0 +66.wav=n22_1,390,15,-126.301,15,10 +67.wav=- s6_1,214.844,69.318,-132.214,40.0,20.0 +67.wav=er f_1,1391.583,137.063,-194.572,110,55.0 +67.wav=er g_1,2070.492,124.094,-139.881,110,55.0 +67.wav=er p1_1,734.078,143.829,-173.147,110,55.0 +67.wav=f er_1,1539.773,200,-500,80.0,40.0 +67.wav=l er1_1,412.757,140.342,-307.797,60.0,29.999 +67.wav=y er1_1,1023.429,118.505,-304.608,40.0,19.999 +67.wav=p y_1,917.858,112.079,-138.43,100,50.0 +67.wav=s l1_1,331.732,96.47,-145.329,80.0,40.0 +67.wav=g -_1,2220.973,216.697,-266.928,80.0,40.0 +68.wav=- d2_1,373.218,56.538,-63.053,40.0,20.0 +68.wav=er m_1,1356.554,142.701,-217.125,110,55.0 +68.wav=er z2_1,755.0,120.0,-180.957,110,55.0 +68.wav=er z3_1,2105.0,156.018,-251.302,110,55.0 +68.wav=d er_1,375.546,144.572,-347.545,60.0,30.0 +68.wav=dh er2_1,1585.934,179.999,-518.381,60.0,30.0 +68.wav=f er1_1,969.589,162.881,-381.077,80.0,40.0 +68.wav=m dh_1,1532.623,71.528,-81.959,59.999,30.0 +68.wav=z f_1,887.12,73.41,-120.622,50.0,25.0 +68.wav=z -10_1,2287.618,233.988,-293.278,79.999,40.0 +69.wav=- p5_1,153.701,56.538,-100.14,40.0,20.0 +69.wav=er b_1,1930.0,119.999,-154.689,110,55.0 +69.wav=er k_1,540.102,120,-194.277,110,55.0 +69.wav=er n1_1,1193.125,119.999,-181.604,110,55.0 +69.wav=b er_1,767.972,150,-370,60,30 +69.wav=k er_1,1364.461,177.508,-406.698,120.0,60.0 +69.wav=p er_1,148.939,211.338,-458.289,120.0,60.0 +69.wav=k b_1,679,69.882,-83.057,60.0,30.0 +69.wav=n k_1,1299.388,73.175,-81.41,60.0,30.0 +69.wav=b -_1,2045.31,296.862,-382.276,80,40 +69.wav=n23_1,1225,15,-126.301,15,10 +7.wav=- ao_1,299.431,220,-500,60,30 +7.wav=ao aw_1,637.223,340,-650,240,120 +7.wav=aw ay_1,1761.671,451.377,-649.999,400,200 +7.wav=ay ae_1,2366.786,523.686,-849.077,399.999,200.0 +7.wav=ay ay_1,2387.716,506.561,-837.661,399.999,200.0 +7.wav=ae -_1,3111.66,480,-600,300,120 +7.wav=ae_1,2911.63,40.0,-210.221,20.0,40.0 +7.wav=ao_1,470.784,40.0,-210.221,20.0,40.0 +7.wav=aw1_1,1010.983,40.0,-210.221,20.0,40.0 +7.wav=ay5_1,2212.469,40.0,-210.221,20.0,40.0 +7.wav=ay6_1,2853.971,40.0,-210.221,20.0,40.0 +70.wav=- hh2_1,147.436,61.3,-102.646,40.0,20.0 +70.wav=ey l_1,386.668,240.296,-307.955,220,110.0 +70.wav=ey p_1,1759.034,267.36,-298.37,220,110.0 +70.wav=ey sh_1,1119.657,271.307,-327.124,220,110.0 +70.wav=hh ey_1,188.092,145.122,-332.872,80.0,40.0 +70.wav=r ey1_1,881.182,103.999,-339.742,39.999,20.0 +70.wav=sh ey_1,1394.314,200,-420,100,50 +70.wav=l s_1,675.627,80.863,-129.721,60.0,30.0 +70.wav=s r_1,795.616,97.569,-117.332,79.999,40.0 +70.wav=p -3_1,1995.131,259.516,-285.044,79.999,39.999 +71.wav=- ch1_1,253.935,120.0,-156.271,40.0,20.0 +71.wav=ey d_1,1851.452,253.829,-280.328,220,110.0 +71.wav=ey n_1,563.701,240.297,-272.435,220,110.0 +71.wav=ey v_1,1159.652,240.297,-272.435,220,110.0 +71.wav=ch ey_1,281.169,176.561,-411.671,140,70 +71.wav=f ey_1,1484.0,182.07,-500.0,80.0,40.0 +71.wav=p ey_1,925.264,142.881,-329.785,59.999,30.0 +71.wav=d f_1,1373.88,100,-150,60,30.0 +71.wav=d p_1,840.727,81.098,-111.841,60.0,30.0 +71.wav=d z2_1,2075.543,100,-150,80.0,40.0 +71.wav=jh d_1,833.26,87.998,-109.408,60.0,30.0 +71.wav=n jh_1,773.963,81.41,-103.369,60.0,30.0 +71.wav=v d1_1,1381.359,73.41,-120.622,50.0,25.0 +71.wav=z -11_1,2193.024,131.272,-167.505,79.997,39.997 +71.wav=n24_1,785,15,-126.301,15,10 +72.wav=- s7_1,245.916,50.774,-99.639,40.0,20.0 +72.wav=ey f_1,571.594,246.499,-292.732,220,110.0 +72.wav=ey m_1,1815.932,251.01,-293.859,220,110.0 +72.wav=ey z_1,1153.45,240.297,-272.435,220,110.0 +72.wav=s ey_1,295.812,173.014,-323.982,99.999,49.999 +72.wav=w ey_1,939.895,113.682,-297.04,49.999,24.999 +72.wav=z ey_1,1445.048,129.053,-465.056,49.999,24.999 +72.wav=f w_1,832.474,100.667,-122.819,79.998,39.999 +72.wav=m -2_1,2057.15,226.576,-286.689,79.998,39.998 +73.wav=- ey1_1,332.414,176.71,-394.06,60.0,30.0 +73.wav=ey dh_1,660.153,240.297,-272.435,220,110.0 +73.wav=ey y_1,1213.896,240.297,-272.435,220,110.0 +73.wav=dh ey_1,900.773,158.949,-475.249,60.0,30.0 +73.wav=y ey_1,1479.641,121.248,-315.586,40.0,20.0 +73.wav=ey -1_1,1798.376,594.799,-716.672,300.0,119.998 +73.wav=ey3_1,441.14,40.0,-210.221,20.0,40.0 +74.wav=- n4_1,333.372,50.775,-68.065,40.0,20.0 +74.wav=ey jh_1,1807.744,240.297,-272.435,220,110.0 +74.wav=ey k_1,521.472,240.297,-272.435,220,110.0 +74.wav=ey v1_1,1160.961,240.297,-272.435,220,110.0 +74.wav=g ey_1,1445.079,200,-380.231,80.0,40.0 +74.wav=k ey_1,876.348,177.508,-406.698,120.0,60.0 +74.wav=n ey_1,371.0,112.752,-271.747,39.999,20.0 +74.wav=d g_1,1380.982,82.181,-105.787,60.0,30.0 +74.wav=k s2_1,739,69.882,-83.057,60.0,30.0 +74.wav=s k4_1,806.659,96.469,-133.25,79.999,40.0 +74.wav=v d2_1,1383.516,73.409,-103.8,50.0,24.998 +74.wav=jh -1_1,2052.188,303.159,-354.214,80.0,40.0 +74.wav=ey4_1,447.728,40.0,-210.221,20.0,40.0 +74.wav=n25_1,355,15,-126.301,15,10 +75.wav=- p6_1,324.1,55.536,-84.604,40.0,20.0 +75.wav=ey hh_1,1252.281,254.957,-310.774,219.999,110.0 +75.wav=ey n1_1,563.194,240.297,-272.435,220,110.0 +75.wav=ey v2_1,1969.512,240.297,-272.435,220,110.0 +75.wav=hh ey1_1,1507.632,199.999,-546.838,80.0,40.0 +75.wav=l ey_1,420.369,103.978,-266.356,60.0,30.0 +75.wav=r ey_1,1032.214,109.172,-380.366,40.0,20.0 +75.wav=k r1_1,957,69.882,-83.057,60.0,30.0 +75.wav=n z_1,781.071,81.41,-103.369,60.0,30.0 +75.wav=p l_1,322.712,110.43,-130.742,99.999,49.999 +75.wav=z k_1,857.0,73.409,-110.341,50.0,25.0 +75.wav=v -2_1,2233.326,195.422,-257.182,80.0,40.0 +75.wav=n26_1,787,15,-126.301,15,10 +76.wav=- f3_1,247.67,79.091,-119.936,40.0,20.0 +76.wav=ey k1_1,1134.463,240.297,-272.435,220,110.0 +76.wav=ey th_1,610.013,248.755,-291.604,220,110.0 +76.wav=ey v3_1,1866.379,240.297,-272.435,220,110.0 +76.wav=b ey_1,920.252,150,-370,60,30 +76.wav=f ey1_1,311.567,147.659,-409.833,80.0,40.0 +76.wav=q ey_1,1438.09,130.94,-486.143,10.0,10.0 +76.wav=k q3_1,1385,69.882,-83.057,60.0,30.0 +76.wav=th b1_1,849.831,73.409,-108.741,50.0,25.0 +76.wav=v -3_1,2088.418,281.75,-325.394,80.0,40.0 +76.wav=th4_1,825.0,15.0,-70.124,15.0,10.0 +77.wav=- m2_1,474.207,47.768,-54.534,40.0,20.0 +77.wav=ey b_1,1998.168,240.297,-272.435,220,110.0 +77.wav=ey s_1,1306.896,240.296,-291.605,220,110.0 +77.wav=ey t_1,759.389,248.755,-283.148,220,110.0 +77.wav=d ey_1,1629.071,136.961,-353.466,60.0,30.0 +77.wav=m ey_1,491,45,-497.761,80,40 +77.wav=t ey_1,1024.877,146.113,-310.257,99.999,50.0 +77.wav=s d1_1,1531.839,96.47,-134.35,80.0,40.0 +77.wav=b -1_1,2229.975,296.862,-382.276,80,40 +78.wav=- v2_1,304.807,50.775,-76.588,40.0,20.0 +78.wav=ey g_1,572.734,242.552,-278.073,220,110.0 +78.wav=ey v4_1,2022.36,240.297,-272.435,220,110.0 +78.wav=ey w_1,1288.249,240.297,-272.435,220,110.0 +78.wav=f ey2_1,914,200,-500,80.0,40.0 +78.wav=v ey_1,346.911,119.719,-350.289,49.998,24.999 +78.wav=w ey1_1,1545.332,108.741,-304.725,50.0,24.999 +78.wav=g f_1,817.265,78.118,-124.781,59.999,30.0 +78.wav=v -4_1,2262.881,316.335,-382.212,80.0,40.0 +79.wav=- s8_1,35.425,65.309,-118.684,40.0,20.0 +79.wav=ih f1_1,444.229,150.03,-182.168,110.0,55.0 +79.wav=ih g_1,1688.566,119.999,-172.02,110.0,54.999 +79.wav=ih l_1,936.438,172.019,-301.133,110.0,55.0 +79.wav=k ih_1,700.349,177.508,-317.053,120.0,59.999 +79.wav=q ih_1,1344.846,105.565,-349.133,10.0,10.0 +79.wav=w ih_1,202.529,83.487,-221.281,50.0,24.999 +79.wav=f t1_1,546.959,109.095,-138.191,79.999,40.0 +79.wav=g z2_1,1812.271,88.547,-163.208,60.0,30.0 +79.wav=l q_1,1207.172,100,-120,60,30 +79.wav=s w_1,117.631,96.47,-125.565,80.0,39.999 +79.wav=t k_1,609.012,103.056,-122.82,79.999,40.0 +79.wav=z -12_1,1935.276,316.335,-382.212,80.0,40.0 +8.wav=- eh_1,284.207,219.999,-407.592,60.0,30.0 +8.wav=ah uw_1,1935.031,432.191,-807.057,239.999,120.0 +8.wav=eh er_1,823.705,340,-650,240,120 +8.wav=er ah_1,1322.258,392.23,-723.33,240.0,119.998 +8.wav=uw aa_1,2608.649,340,-650,240,120 +8.wav=aa -_1,3079.059,480,-600,300,120 +8.wav=aa_1,2928.241,40.0,-210.221,20.0,40.0 +8.wav=ah4_1,1782.662,40.0,-210.221,20.0,40.0 +8.wav=eh_1,381.851,40.0,-210.221,20.0,40.0 +8.wav=er3_1,459.257,40.0,-210.221,20.0,40.0 +8.wav=uw4_1,2210.102,40.0,-210.221,20.0,40.0 +80.wav=- z4_1,223.363,64.307,-105.904,40.0,20.0 +80.wav=ih n_1,1766.016,135.935,-271.814,110.0,55.0 +80.wav=ih p_1,595.358,156.233,-241.933,110.0,55.0 +80.wav=ih v_1,1282.756,119.998,-169.764,110.0,55.0 +80.wav=m ih_1,856.256,189.098,-442.815,59.999,30.0 +80.wav=v ih_1,1407.526,130.818,-364.682,60.0,30.0 +80.wav=z ih_1,296.952,109.29,-275.63,49.999,25.0 +80.wav=n s1_1,1996.633,100.075,-192.852,60.0,29.999 +80.wav=p m_1,752.598,112.079,-158.741,99.999,50.0 +80.wav=s -6_1,2157.568,222.794,-313.375,80.0,40.0 +80.wav=n27_1,1870,15,-126.301,15,10 +81.wav=- n5_1,205.321,50.774,-66.061,40.0,20.0 +81.wav=ih ng_1,1104.59,137.627,-231.22,110.0,55.0 +81.wav=ih sh_1,531.077,134.808,-220.507,110.0,55.0 +81.wav=ih th_1,1815.129,142.137,-232.911,110.0,55.0 +81.wav=n ih1_1,260,45,-377.278,40,20 +81.wav=ng ih_1,809.732,105.371,-334.562,40.0,20.0 +81.wav=w ih1_1,1398.35,151.561,-356.329,50.0,24.999 +81.wav=ng w_1,1287.869,81.41,-103.369,60.0,30.0 +81.wav=sh t1_1,678.173,96.469,-119.526,79.999,39.999 +81.wav=t ng_1,693.012,114.036,-142.584,79.999,40.0 +81.wav=th -2_1,1983.84,316.335,-382.212,80.0,40.0 +81.wav=ih6_1,295,40.0,-210.221,20.0,40.0 +81.wav=ih7_1,893.25,40.0,-210.221,20.0,40.0 +81.wav=n28_1,245,15,-126.301,15,10 +81.wav=ng10_1,1220,15,-126.301,15,10 +81.wav=th5_1,1938.497,15,-126.301,15,10 +82.wav=- p7_1,166.481,65.309,-104.901,40.0,20.0 +82.wav=ih d_1,554.19,136.5,-194.573,110.0,55.0 +82.wav=ih dh_1,1794.701,141.126,-197.301,110.0,55.0 +82.wav=ih k_1,1059.992,150.594,-177.093,110.0,55.0 +82.wav=n ih_1,769.113,140.892,-335.408,79.999,40.0 +82.wav=p ih_1,186.488,154.337,-440.301,99.999,49.999 +82.wav=w ih2_1,1387.0,112.879,-391.759,50.0,24.999 +82.wav=d n_1,680.903,100,-150,80.0,40.0 +82.wav=k w_1,1265,69.882,-83.057,60.0,30.0 +82.wav=dh -_1,1877.428,194.462,-236.459,79.999,39.999 +82.wav=ih8_1,855,40.0,-210.221,20.0,40.0 +83.wav=- d3_1,215.595,62.553,-79.091,40.0,20.0 +83.wav=ih k1_1,467.911,180.477,-268.289,110.0,55.0 +83.wav=ih m_1,1659.296,120,-238.289,110.0,55.0 +83.wav=ih s_1,1025,120,-208.291,110.0,55.0 +83.wav=d ih_1,236.847,127.658,-295.11,60.0,30.0 +83.wav=dh ih_1,763.734,142.881,-314.562,60.0,30.0 +83.wav=r ih2_1,1348.362,68.999,-328.213,40.0,20.0 +83.wav=b r_1,1267.856,83.999,-114.467,70,35 +83.wav=k t4_1,635,69.882,-83.057,60.0,30.0 +83.wav=s b_1,1151.902,96.47,-145.329,80.0,40.0 +83.wav=t dh_1,613.357,103.057,-142.584,80.0,40.0 +83.wav=m -3_1,1827.968,316.335,-382.212,80.0,40.0 +84.wav=- th1_1,0.0,60.39,-104.744,40.0,20.0 +84.wav=ih n1_1,319.625,137.628,-235.731,110.0,55.0 +84.wav=ih r2_1,773.648,150.595,-209.231,110.0,55.0 +84.wav=ih z_1,1679.798,148.902,-216.39,110.0,55.0 +84.wav=f ih_1,626.0,237.481,-452.294,80.0,40.0 +84.wav=s ih_1,1193.012,200,-420,100,50 +84.wav=th ih_1,75.049,96.231,-272.818,60.0,30.0 +84.wav=n f_1,524.116,108.86,-136.858,59.999,30.0 +84.wav=r s_1,1093.778,68.547,-131.679,40.0,20.0 +84.wav=z -13_1,1819.838,121.171,-157.403,79.998,39.997 +84.wav=ih9_1,187.513,40.0,-210.221,20.0,40.0 +84.wav=n29_1,437,15,-126.301,15,10 +84.wav=th6_1,35.231,15.0,-72.642,15.0,10.0 +85.wav=- s9_1,92.558,50.774,-104.15,40.0,20.0 +85.wav=ih f_1,1771.541,129.734,-177.658,110.0,55.0 +85.wav=ih ng1_1,961.851,151.159,-267.868,110.0,55.0 +85.wav=ih t_1,596.472,141.574,-177.659,110.0,55.0 +85.wav=l ih1_1,925.278,140.343,-336.551,60.0,30.0 +85.wav=l ih_1,1370.164,157.259,-349.238,60.0,30.0 +85.wav=t ih_1,233.585,170.187,-437.289,70,45 +85.wav=f t2_1,1875.503,95.372,-120.075,80.0,40.0 +85.wav=ng l_1,1293.807,81.41,-103.369,60.0,30.0 +85.wav=s t3_1,137.942,96.47,-120.626,79.999,39.999 +85.wav=t l_1,820.652,113.726,-134.038,99.999,50.0 +85.wav=t -9_1,1936.694,243.869,-301.512,79.999,40.0 +85.wav=ng11_1,1112.332,15,-126.301,15,10 +86.wav=- b1_1,198.72,120.0,-138.818,40,20 +86.wav=ih f2_1,1878.666,134.244,-175.403,110.0,55.0 +86.wav=ih n2_1,1136.086,119.998,-187.243,110.0,55.0 +86.wav=ih ng2_1,593.639,150.031,-242.497,110.0,55.0 +86.wav=dh ih1_1,877.916,168.252,-319.636,60.0,30.0 +86.wav=r ih1_1,347.577,115.21,-219.516,39.999,19.999 +86.wav=sh ih_1,1411.921,200,-420,100,50 +86.wav=b r1_1,270.914,83.999,-114.467,70,35 +86.wav=f t3_1,1983.652,99.999,-138.191,79.999,39.999 +86.wav=n sh_1,1287.77,98.429,-161.012,59.999,30.0 +86.wav=ng dh_1,824.962,67.688,-77.567,60.0,30.0 +86.wav=t -10_1,2059.389,122.82,-153.166,80.0,40.0 +86.wav=n30_1,1255,15,-126.301,15,10 +86.wav=ng12_1,694.826,15,-126.301,15,10 +87.wav=- ch2_1,208.078,105.653,-129.959,40.0,20.0 +87.wav=ih ng3_1,536.694,148.34,-302.261,110.0,55.0 +87.wav=ih r1_1,1163.093,120,-145.784,110.0,55.0 +87.wav=ch ih_1,205.899,218.652,-411.67,140.0,70.0 +87.wav=dh ih2_1,1435.234,179.999,-448.186,60.0,30.0 +87.wav=g ih_1,859.596,200,-380.231,80.0,40.0 +87.wav=ng g_1,806.346,69.333,-78.665,59.999,30.0 +87.wav=r dh_1,1365.012,90.506,-105.328,40.0,20.0 +87.wav=ih -_1,1667.515,570.92,-661.502,299.999,119.999 +87.wav=ng13_1,661.064,15,-126.301,15,10 +88.wav=- y1_1,268.218,50.775,-79.342,40.0,20.0 +88.wav=ih ch_1,1131.574,133.116,-157.36,110.0,55.0 +88.wav=ih g1_1,1835.0,133.369,-152.538,110.0,55.0 +88.wav=ih r_1,570.54,120,-178.795,110.0,55.0 +88.wav=hh ih_1,836.773,145.966,-332.025,80.0,40.0 +88.wav=jh ih_1,1431.904,140,-400,60,30.0 +88.wav=y ih_1,326.717,130.58,-266.177,39.999,20.0 +88.wav=ch t_1,1269.494,147.999,-165.017,120.0,60.0 +88.wav=r hh_1,776.889,90.506,-105.328,40.0,20.0 +88.wav=t jh_1,1297.42,103.057,-142.584,80.0,40.0 +88.wav=g -1_1,1949.166,246.22,-295.628,80.0,40.0 +89.wav=- p8_1,144.68,71.573,-122.693,40.0,20.0 +89.wav=ih jh_1,1834.642,126.351,-153.414,110.0,55.0 +89.wav=ih m1_1,488.77,120.0,-182.732,110.0,55.0 +89.wav=ih n3_1,1118.013,137.627,-243.06,110.0,55.0 +89.wav=b ih_1,788.259,150,-370,60,30 +89.wav=p ih1_1,168.87,163.498,-345.328,119.999,60.0 +89.wav=r ih_1,1373.065,99.838,-472.593,40.0,20.0 +89.wav=m p_1,610.3,72.627,-85.802,59.999,30.0 +89.wav=n r_1,1318.48,81.41,-103.369,60.0,30.0 +89.wav=p b_1,661.978,112.079,-138.43,100,50.0 +89.wav=jh -2_1,1942.428,307.277,-354.215,79.999,40.0 +89.wav=n31_1,1220,15,-126.301,15,10 +9.wav=- er_1,313.808,220,-500,60,30 +9.wav=ah eh_1,1805.63,340,-650,240,120 +9.wav=ay ah_1,1158.497,451.377,-650,400,200 +9.wav=eh aw_1,2494.471,339.999,-590.128,240.0,120.0 +9.wav=er ay_1,705.727,491.179,-694.786,240.0,120.0 +9.wav=aw -_1,3046.86,522.335,-600.0,299.999,119.999 +9.wav=ah5_1,1664.135,40.0,-210.221,20.0,40.0 +9.wav=aw2_1,2744.627,40.0,-210.221,20.0,40.0 +9.wav=ay7_1,1153.485,40.0,-210.221,20.0,40.0 +9.wav=eh1_1,2164.016,40.0,-210.221,20.0,40.0 +9.wav=er4_1,380,40.0,-210.221,20.0,40.0 +90.wav=- p9_1,126.888,62.804,-99.389,40.0,20.0 +90.wav=iy d_1,1093.825,140.446,-172.02,110.0,55.0 +90.wav=iy m_1,1741.704,120.0,-194.571,110.0,55.0 +90.wav=iy w_1,657.385,121.84,-162.435,110.0,55.0 +90.wav=k iy_1,1293.273,177.508,-406.698,120.0,60.0 +90.wav=p iy_1,128.641,191.189,-525.249,120,60 +90.wav=w iy_1,787.768,126.856,-301.431,49.999,25.0 +90.wav=d k_1,1200.279,99.999,-112.389,79.999,39.999 +90.wav=m -4_1,1912.838,230.694,-265.279,80.0,40.0 +91.wav=- iy1_1,191.178,158.103,-378.836,60.0,30.0 +91.wav=iy m1_1,1166.558,119.998,-208.104,110.0,55.0 +91.wav=iy sh_1,1796.001,189.326,-289.685,110.0,55.0 +91.wav=iy z_1,546.862,129.17,-196.264,110.0,55.0 +91.wav=l iy_1,1402.325,140.343,-336.551,60.0,30.0 +91.wav=r iy_1,876.275,138.267,-329.3,39.999,20.0 +91.wav=m l_1,1324.584,81.409,-123.687,60.0,30.0 +91.wav=z r_1,772.347,109.333,-135.684,99.999,50.0 +91.wav=sh -1_1,2017.418,122.819,-163.992,79.998,40.0 +91.wav=iy5_1,326.678,40.0,-210.221,20.0,40.0 +92.wav=- p10_1,200.31,59.796,-92.372,40.0,20.0 +92.wav=iy d1_1,1875.0,120.0,-165.148,110.0,55.0 +92.wav=iy t_1,1194.255,130.297,-158.488,110.0,55.0 +92.wav=iy z1_1,616.231,122.968,-178.222,110.0,55.0 +92.wav=b iy_1,1447,150,-370,60,30 +92.wav=l iy1_1,312.117,140.343,-336.551,60.0,30.0 +92.wav=m iy_1,894.569,90.385,-302.661,39.999,20.0 +92.wav=d m_1,829.951,70.431,-97.33,59.999,30.0 +92.wav=d z3_1,1990.405,100,-150,80.0,40.0 +92.wav=p l1_1,212.367,112.079,-138.43,100,50.0 +92.wav=t b_1,1322.223,103.057,-142.584,80.0,40.0 +92.wav=z d_1,766.372,73.41,-120.622,50.0,25.0 +92.wav=z -14_1,2114.771,170.175,-243.463,80.0,40.0 +93.wav=- v3_1,371.217,50.775,-68.065,40.0,20.0 +93.wav=iy ch_1,1409.089,119.999,-142.137,110.0,55.0 +93.wav=iy jh_1,823.746,120.0,-179.913,110.0,55.0 +93.wav=iy v_1,2182.209,134.807,-219.243,110.0,55.0 +93.wav=ch iy_1,1543.055,215.269,-411.67,140.0,70.0 +93.wav=jh iy_1,1002.244,140,-400,60,30.0 +93.wav=v iy_1,403.335,181.873,-401.463,59.999,29.999 +93.wav=v -5_1,2303.158,316.335,-382.212,80.0,40.0 +94.wav=- sh2_1,169.237,68.817,-144.995,40.0,20.0 +94.wav=iy b_1,705.0,127.753,-197.666,110.0,55.0 +94.wav=iy dh_1,1267.397,120,-183.784,110.0,55.0 +94.wav=dh iy_1,1503.738,179.999,-464.254,60.0,30.0 +94.wav=r iy1_1,952.101,151.442,-377.784,40.0,20.0 +94.wav=sh iy_1,270,200,-420,100,50 +94.wav=b r2_1,875.417,83.999,-114.467,70,35 +94.wav=d dh1_1,1382.124,100,-150,80.0,40.0 +94.wav=dh d_1,1368.385,100,-150,80.0,40.0 +94.wav=iy -1_1,1764.684,515.748,-584.096,299.999,120.0 +95.wav=- iy2_1,225.853,220,-500,60,30 +95.wav=iy g_1,1259.536,134.244,-173.147,110.0,55.0 +95.wav=iy y_1,668.638,120,-151.29,110.0,55.0 +95.wav=g iy_1,1395.809,200,-380.231,80.0,40.0 +95.wav=y iy_1,757.113,106.026,-383.259,40.0,20.0 +95.wav=iy -2_1,1760.874,506.949,-535.77,300.0,119.998 +95.wav=iy6_1,412.319,40.0,-210.221,20.0,40.0 +96.wav=- s10_1,262.204,65.811,-119.937,40.0,20.0 +96.wav=iy f_1,1388.224,139.319,-223.328,110.0,55.0 +96.wav=iy k_1,715.0,126.827,-169.113,110.0,55.0 +96.wav=iy s_1,2115.0,136.049,-211.037,110.0,55.0 +96.wav=f iy_1,1546.386,200,-500,80.0,40.0 +96.wav=l iy2_1,1060.307,140.343,-336.551,40,20.0 +96.wav=s iy_1,375.413,167.525,-385.468,99.999,49.999 +96.wav=k p_1,855,69.882,-83.057,60.0,30.0 +96.wav=p l2_1,952.462,112.078,-134.037,99.999,49.999 +96.wav=s t4_1,2258.336,96.47,-128.859,80.0,40.0 +96.wav=t -11_1,2336.921,316.335,-382.212,80.0,40.0 +97.wav=- z5_1,247.168,74.832,-123.195,40.0,20.0 +97.wav=iy hh_1,747.06,139.882,-212.05,110.0,55.0 +97.wav=iy t1_1,1267.0,120.0,-144.393,110.0,55.0 +97.wav=iy th_1,2016.411,137.627,-209.232,110.0,55.0 +97.wav=hh iy_1,912.089,181.486,-389.534,80.0,40.0 +97.wav=n iy_1,1556.735,135.817,-409.831,40.0,20.0 +97.wav=z iy_1,338.675,244.338,-418.363,49.999,25.0 +97.wav=t n1_1,1463.327,103.056,-130.506,79.999,40.0 +97.wav=th -3_1,2161.708,169.759,-260.346,80.0,40.0 +97.wav=iy7_1,1700.444,40.0,-210.221,20.0,40.0 +97.wav=th7_1,2120,15,-126.301,15,10 +98.wav=- hh3_1,243.911,67.564,-116.178,40.0,20.0 +98.wav=iy n_1,1272.571,119.999,-193.444,110.0,55.0 +98.wav=iy r_1,454.951,141.01,-231.784,110.0,55.0 +98.wav=iy v1_1,1935.0,124.223,-164.817,110.0,55.0 +98.wav=hh iy1_1,294.654,199.999,-381.077,80.0,40.0 +98.wav=q iy_1,1599.589,42.0,-378.734,10.0,10.0 +98.wav=t iy_1,967.058,143.563,-336.803,70.0,44.999 +98.wav=k q4_1,1519,69.882,-83.057,60.0,30.0 +98.wav=n k1_1,1418,81.41,-103.369,60.0,30.0 +98.wav=r z2_1,756.032,74.585,-143.756,40.0,20.0 +98.wav=s t5_1,871.962,96.469,-115.135,79.999,40.0 +98.wav=v z_1,2047.206,73.41,-120.622,50.0,25.0 +98.wav=z s_1,832.782,73.409,-115.328,49.999,25.0 +98.wav=z -15_1,2139.424,316.335,-382.212,80.0,40.0 +98.wav=n32_1,1385,15,-126.301,15,10 +99.wav=- b2_1,238.899,45.513,-59.295,40.0,20.0 +99.wav=iy l_1,938.738,150.03,-215.997,110.0,55.0 +99.wav=iy l1_1,1671.182,133.681,-248.135,110.0,55.0 +99.wav=iy p_1,505.127,152.286,-191.189,110.0,55.0 +99.wav=d iy_1,819.557,111.589,-225.761,60.0,30.0 +99.wav=l iy3_1,302.0,112.403,-231.649,60.0,29.999 +99.wav=w iy1_1,1514.0,71.486,-184.575,50.0,24.999 +99.wav=b l_1,251.839,63,-107.795,50,25 +99.wav=l z1_1,1251.535,78.117,-119.999,59.999,30.0 +99.wav=p d_1,678.46,112.079,-138.43,100,50.0 +99.wav=z w_1,1382.038,129.333,-146.352,120.0,60.0 +99.wav=l -2_1,1875,316.335,-382.212,80.0,40.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=aa r_1,783.834,214.999,-242.271,200.0,80 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=aa dx_1,1528.042,249.407,-281.522,199.999,80.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=iy dx_1,2225.987,219.763,-258.054,199.999,80.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=er dx_1,2915.31,219.763,-258.053,199.999,80.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=dx aa_1,1012.388,199.341,-536.55,40.0,20.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=dx iy_1,1768.329,199.341,-536.55,40.0,20.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=dx er_1,2448.305,199.341,-536.55,40.0,20.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=dx ah_1,3152.368,199.341,-536.55,40.0,20.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=r dx_1,954.952,56.333,-71.979,39.999,20.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=ah dx_1,735.662,214.999,-242.271,200.0,80 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=eh dx_1,1424.903,225.938,-246.319,199.999,80.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=ay dx_1,2188.528,207.41,-229.644,199.999,80.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=ey dx_1,2855.545,219.763,-258.053,199.999,80.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=dx eh_1,951.246,199.341,-536.55,40.0,20.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=dx ay_1,1653.484,199.34,-469.85,40.0,20.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=dx ey_1,2387.446,199.341,-536.55,40.0,20.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=dx uw_1,3082.245,199.341,-536.55,40.0,20.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=oy dx_1,783.834,214.999,-242.271,200.0,80 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=ih dx_1,1521.249,216.674,-237.055,200.0,80.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=ow dx_1,2251.404,219.763,-258.053,200.0,80.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=ao dx_1,3035.213,219.762,-244.466,200.0,80.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=ao r_1,3667.015,255.583,-324.137,200.0,80.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=dx ih_1,1012.388,199.341,-536.55,40.0,20.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=dx ow_1,1746.11,308.657,-588.429,40.0,20.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=dx ao_1,2483.676,199.341,-536.55,40.0,20.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=dx ao_1,3254.5,199.341,-536.55,40.0,20.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=uw dx_1,737.516,214.999,-255.583,200.0,80.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=aw dx_1,1448.991,222.231,-246.317,200.0,80.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=uh dx_1,2171.734,219.763,-258.053,200.0,80.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=ae dx_1,2929.603,219.762,-248.172,200.0,80.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=dx aw_1,960.511,199.341,-536.55,40.0,20.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=dx uh_1,1673.854,199.341,-536.55,40.0,20.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=dx ae_1,2405.86,199.341,-536.55,40.0,20.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=dx oy_1,3161.861,199.341,-536.55,40.0,20.0 diff --git a/OpenUtau.Test/Files/en_arpa/Low/oto.ini b/OpenUtau.Test/Files/en_arpa/Low/oto.ini new file mode 100644 index 000000000..65fb8391d --- /dev/null +++ b/OpenUtau.Test/Files/en_arpa/Low/oto.ini @@ -0,0 +1,2702 @@ +0.wav=- ay_3,532.103,190.241,-399.98,60.0,30.0 +0.wav=ah iy_3,2952.23,340,-650,240,120 +0.wav=ay er_3,908.493,476.114,-712.071,400.0,199.999 +0.wav=er iy_3,1711.911,340,-650,240,120 +0.wav=iy ah_3,2343.453,340,-650,240,120 +0.wav=iy -_3,3622.444,446.65,0,299.998,119.999 +0.wav=ah_3,2596,40.0,-210.221,20.0,40.0 +0.wav=ay_3,680.415,40.0,-210.221,20.0,40.0 +0.wav=er_3,1467.513,40.0,-210.221,20.0,40.0 +0.wav=iy_3,2031.544,40.0,-367.324,20.0,40.0 +0.wav=iy1_3,3304.37,40.0,418.345,20.0,40.0 +1.wav=- ih_3,592.758,290.342,3236.608,59.999,30.0 +1.wav=ay ih_3,2249.703,451.377,-650,400,200 +1.wav=ih iy_3,1177.911,340,-650,240,120 +1.wav=ih uw_3,2992.536,340,-650,240,120 +1.wav=iy ay_3,1735.848,340.0,-590.128,240.0,119.998 +1.wav=uw -_3,3626.114,531.393,-570.096,299.999,120.0 +1.wav=ay1_3,2026.446,40.0,-210.221,20.0,40.0 +1.wav=ih_3,717.963,40.0,-319.251,20.0,40.0 +1.wav=ih1_3,2516,40.0,-328.868,20.0,40.0 +1.wav=iy2_3,1449.876,40.0,-360.112,20.0,40.0 +1.wav=uw_3,3301.327,40.0,-330.069,20.0,40.0 +10.wav=- p_3,466.103,55.724,2136.866,39.998,19.998 +10.wav=aa l_3,2113.479,159.896,360.52,109.999,54.999 +10.wav=aa r_3,661.933,171.376,1769.463,110.0,55.0 +10.wav=aa r1_3,1321.278,139.605,1131.058,110.0,54.999 +10.wav=d aa_3,1056.399,180,-415.278,60,30 +10.wav=p aa_3,431.884,173.217,1908.856,139.999,70.0 +10.wav=y aa_3,1644.257,170.478,645.12,59.999,30.0 +10.wav=k d_3,944.464,109.101,1602.641,59.998,30.0 +10.wav=r k_3,904.519,55.163,1700.856,40.0,20.0 +10.wav=r y_3,1536.649,78.116,-100.624,60.0,30.0 +10.wav=l -_3,2232.293,316.335,-382.212,80.0,40.0 +100.wav=- g4_3,216.417,54.284,-66.688,40.0,19.999 +100.wav=ow k_3,1098.516,240.0,-267.36,220,110.0 +100.wav=ow s_3,1954.903,274.155,272.228,219.998,109.998 +100.wav=ow v_3,557.679,240.0,-307.287,219.999,109.999 +100.wav=m ow_3,930.473,114.663,1367.623,40.0,20.0 +100.wav=m ow1_3,1531.857,94.0,-370.915,30.0,14.999 +100.wav=r ow_3,308,116.966,-310.48,39.999,20.0 +100.wav=g r1_3,231,69.882,-83.057,60.0,30.0 +100.wav=k m_3,1341.093,164.441,1071.57,149.999,74.999 +100.wav=v m_3,859.819,71.957,1660.787,49.997,24.998 +100.wav=s -7_3,2316.58,135.783,-217.306,80.0,40.0 +101.wav=- k4_3,233.427,56.045,2412.781,39.999,20.0 +101.wav=ow b_3,1259.563,258.991,1192.924,219.999,109.998 +101.wav=ow p_3,495.585,284.985,1922.245,219.999,109.999 +101.wav=b ow_3,1539.427,150,-370,60,30 +101.wav=dh ow_3,924.199,149.76,-377.86,60.0,30.0 +101.wav=k ow_3,220.82,177.508,2206.748,120.0,59.998 +101.wav=p dh_3,812.273,91.772,1801.658,59.999,30.0 +101.wav=ow -1_3,2052.568,570.097,-630.209,300.0,119.999 +102.wav=- k5_3,80.026,59.254,2306.898,39.999,20.0 +102.wav=ow d_3,1904.656,263.643,-331.167,220.0,110.0 +102.wav=ow dh_3,438.56,240.0,-279.29,219.999,109.999 +102.wav=ow m_3,1006.988,240.0,1130.534,220.0,110.0 +102.wav=hh ow_3,785.099,174.593,1355.951,79.999,40.0 +102.wav=l ow_3,199.947,103.652,-276.58,60.0,30.0 +102.wav=q ow_3,1484,138.46,-408.335,10.0,10.0 +102.wav=d q1_3,1408.424,88.782,-96.468,80.0,40.0 +102.wav=dh z1_3,663.76,100,-150,80.0,40.0 +102.wav=k l_3,44.959,153.874,-174.735,150,75 +102.wav=m d2_3,1339.571,75.919,-92.26,60.0,30.0 +102.wav=z hh_3,730.591,73.41,-120.622,50.0,25.0 +102.wav=d -5_3,2126.973,294.924,-371.506,80.0,40.0 +103.wav=- t3_3,115.327,62.051,-88.488,39.999,20.0 +103.wav=ow k1_3,1690.826,263.325,256.652,219.999,110.0 +103.wav=ow t_3,377.166,238.05,1608.584,219.998,109.999 +103.wav=ow w_3,1167.298,235.223,-276.381,220,110.0 +103.wav=p ow_3,717.651,236.109,-466.679,120.0,59.998 +103.wav=t ow_3,81.459,241.309,1768.892,120.0,60.0 +103.wav=w ow_3,1397.945,116.973,556.344,49.998,24.998 +103.wav=t p_3,597.313,138.487,1477.891,79.999,40.0 +103.wav=k -_3,1938.126,233.165,24.865,80.0,40.0 +104.wav=- s11_3,237.918,70.822,-115.927,40.0,20.0 +104.wav=ow l_3,1911.009,277.509,-342.347,220,110.0 +104.wav=ow sh_3,1326.82,249.645,925.189,219.998,109.999 +104.wav=ow y_3,710.8,239.998,-296.583,220.0,109.999 +104.wav=s ow_3,291.367,195.522,-420.0,99.999,49.999 +104.wav=sh ow_3,1560.189,199.999,-381.626,99.999,50.0 +104.wav=y ow_3,970.947,214.575,-392.442,40.0,20.0 +104.wav=l -3_3,2208.423,223.283,-280.926,79.999,39.999 +105.wav=- ng_3,141.0,66.957,2230.518,39.999,19.999 +105.wav=ow f_3,1162.99,240,-300,220,110.0 +105.wav=ow hh_3,598.187,240,-300,220,110.0 +105.wav=ow n_3,1783.347,240.0,-281.455,220,110.0 +105.wav=f ow_3,1443.803,167.287,-395.387,80.0,40.0 +105.wav=hh ow1_3,828.447,170.492,-385.305,80.0,40.0 +105.wav=ng ow_3,229.335,245.042,-506.904,39.999,19.999 +105.wav=n -4_3,2020.827,217.112,-287.93,80.0,40.0 +105.wav=ow4_3,320.099,40.0,-210.221,20.0,40.0 +105.wav=n33_3,2045,15,-126.301,15,10 +105.wav=ng14_3,185,15.0,-47.592,15.0,10.0 +106.wav=- d4_3,50.822,44.135,-53.532,39.999,20.0 +106.wav=ow n1_3,214.691,240.0,-329.521,219.999,109.999 +106.wav=ow z_3,933.944,240,-300,220,110.0 +106.wav=ow z1_3,1672.685,275.172,-374.811,219.999,109.999 +106.wav=d ow_3,51.199,180.0,-335.705,60.0,30.0 +106.wav=g ow_3,650.032,169.538,1457.407,79.999,39.999 +106.wav=n ow_3,1266.75,177.259,-411.524,60,30.0 +106.wav=n t2_3,505.387,69.331,-80.311,59.999,30.0 +106.wav=t g_3,570.594,88.665,1754.191,79.999,39.999 +106.wav=z n_3,1181,96.47,-125.749,79.999,40.0 +106.wav=z -16_3,2035.806,180.619,-262.142,80.0,40.0 +106.wav=ow5_3,1440.077,40.0,-210.221,20.0,40.0 +106.wav=n34_3,395,15,-126.301,15,10 +107.wav=- b3_3,322.002,47.142,-52.404,39.999,19.999 +107.wav=oy n_3,1252.435,240,-300,220,110.0 +107.wav=oy z_3,630.641,240,-300,220,110.0 +107.wav=b oy_3,310.425,149.999,-282.424,60.0,29.999 +107.wav=g oy_3,1578.746,200,-380.231,80.0,40.0 +107.wav=jh oy_3,976.229,169.521,-291.394,59.999,30.0 +107.wav=n g_3,1527.966,78.117,-96.782,60.0,30.0 +107.wav=z jh_3,877.9,77.449,-105.264,50.0,25.0 +107.wav=oy -_3,2123.453,401.811,20.03,299.998,119.997 +107.wav=n35_3,1475,15,-126.301,15,10 +108.wav=- p11_3,287.02,58.292,2198.661,39.999,19.998 +108.wav=uh l_3,1967.576,131.988,-160.232,110.0,54.999 +108.wav=uh r_3,1406.472,156.935,925.93,110.0,54.999 +108.wav=uh t_3,710.3,131.41,1692.867,109.998,55.0 +108.wav=p uh_3,248.259,191.189,-399.932,120.0,60.0 +108.wav=sh uh_3,925,227.649,-447.515,99.999,49.999 +108.wav=w uh_3,1610.182,143.875,-318.998,49.999,24.999 +108.wav=l f_3,2104.947,100,-120,60,30 +108.wav=r w_3,1508.973,77.88,-105.328,40.0,20.0 +108.wav=t sh_3,819.018,103.056,-172.228,79.999,40.0 +108.wav=f -1_3,2235,180.943,-277.288,80.0,40.0 +109.wav=- g5_3,86.122,55.41,-68.19,39.999,20.0 +109.wav=uh d_3,524.706,120,-160.783,110,55 +109.wav=uh ng_3,1090.817,143.829,-221.636,110.0,54.999 +109.wav=uh r1_3,1768.128,138.19,-223.326,110.0,54.999 +109.wav=g uh_3,81.745,200,-380.231,80.0,40.0 +109.wav=t uh_3,1358.096,245.991,-448.563,120.0,60.0 +109.wav=y uh1_3,817.829,106.025,-293.629,39.999,20.0 +109.wav=d z4_3,620.415,100,-150,80.0,40.0 +109.wav=ng t_3,1308.339,71.528,-89.645,60.0,30.0 +109.wav=r z3_3,2034.533,137.718,-192.614,40.0,20.0 +109.wav=z y1_3,762.337,58.052,-81.475,50.0,25.0 +109.wav=z -17_3,2235,120.136,-167.287,80.0,40.0 +109.wav=ng15_3,1220,15,-126.301,15,10 +11.wav=- k_3,348.317,53.532,2441.813,39.999,20.0 +11.wav=aa ch_3,1255,138.755,-175.121,110.0,54.999 +11.wav=aa r2_3,624.36,143.265,-202.465,110,55 +11.wav=aa r3_3,1892.388,160.548,743.096,109.999,54.999 +11.wav=k aa_3,326.243,177.508,-406.698,120.0,60.0 +11.wav=l aa_3,1566.89,140.343,-336.551,60.0,30.0 +11.wav=w aa_3,938.542,133.169,-308.567,50.0,25.0 +11.wav=ch l_3,1442.622,140,-160,120,60 +11.wav=r jh_3,2176.352,156.62,-215.361,60.0,30.0 +11.wav=r v_3,830.114,73.488,-105.327,40.0,20.0 +11.wav=v w_3,899.154,89.881,-119.525,79.999,40.0 +11.wav=jh -_3,2226.394,316.335,-382.212,80.0,40.0 +110.wav=- b4_3,204.222,46.765,2243.997,39.999,19.999 +110.wav=uh d1_3,1319.19,125.222,1025.092,109.999,54.999 +110.wav=uh k_3,1955.0,143.221,372.95,109.998,54.999 +110.wav=uh sh_3,640.249,133.681,-202.466,109.999,55.0 +110.wav=b uh_3,196.337,123.429,-250.287,60.0,29.999 +110.wav=k uh_3,875.612,193.578,-332.276,100,50 +110.wav=l uh_3,1534.599,140.343,-336.551,60.0,30.0 +110.wav=d l_3,1424.317,99.999,-140.936,80.0,40.0 +110.wav=sh k_3,781.482,96.47,-111.292,79.999,40.0 +110.wav=k -1_3,2080.038,236.458,-284.158,80.0,40.0 +111.wav=- f4_3,149.344,73.829,-119.936,40.0,20.0 +111.wav=uw d_3,703.099,144.658,1620.965,109.998,55.0 +111.wav=uw m_3,1257.079,145.409,-237.637,109.999,54.999 +111.wav=uw s_3,1950.393,143.266,-222.319,109.998,54.999 +111.wav=b uw_3,1477.541,150,-370,60,30 +111.wav=d uw_3,846.269,210.539,-416.895,60.0,30.0 +111.wav=y uw15_3,310.209,106.025,-311.193,39.999,20.0 +111.wav=f y_3,212.441,99.999,-131.605,80.0,39.999 +111.wav=m b_3,1424.081,72.997,989.697,60.0,30.0 +111.wav=s t6_3,2178.962,96.47,-118.977,80.0,40.0 +111.wav=t -12_3,2251.895,105.223,88.13,79.997,39.997 +112.wav=- v4_3,146.777,50.774,-74.33,40.0,20.0 +112.wav=uw b_3,1939.513,127.292,-162.701,109.998,54.999 +112.wav=uw k_3,1119.117,130.295,1093.679,109.998,54.999 +112.wav=uw z_3,596.193,127.479,1595.662,109.998,55.0 +112.wav=l uw_3,822.435,95.52,-269.738,60.0,30.0 +112.wav=y uw1_3,225.725,162.696,-315.037,39.999,20.0 +112.wav=y uw2_3,1519.191,227.201,-397.933,40.0,20.0 +112.wav=k k_3,1244.96,153.87,955.013,119.999,30.0 +112.wav=k y1_3,1372.252,158.268,-175.286,140,70.0 +112.wav=v y_3,167,56.039,-78.547,49.999,25.0 +112.wav=z l_3,758.747,62.078,-89.892,50.0,25.0 +112.wav=b -2_3,2054.716,254.021,38.608,80.0,40.0 +113.wav=- m3_3,184.647,55.035,-74.58,39.999,20.0 +113.wav=uw dh_3,529.762,120.0,-150.349,109.998,55.0 +113.wav=uw sh_3,1212.283,142.939,-231.05,110.0,54.999 +113.wav=uw t_3,1875.97,139.071,336.103,109.998,54.999 +113.wav=m uw_3,232.0,139.147,1770.405,29.997,14.999 +113.wav=sh uw_3,1375,185.64,-419.999,100.0,50.0 +113.wav=y uw3_3,931.266,138.815,-331.506,40.0,20.0 +113.wav=dh m_3,639.21,94.823,-128.31,79.999,40.0 +113.wav=m y_3,754.542,81.41,-103.369,60.0,30.0 +113.wav=t -13_3,1984.676,142.868,122.32,79.999,39.999 +114.wav=- p12_3,173.413,57.651,2187.6,39.999,19.997 +114.wav=uw f_3,1906.883,148.902,286.812,109.998,54.998 +114.wav=uw r_3,425.06,170.654,1752.027,109.998,54.999 +114.wav=uw v_3,1221.574,130.86,-199.082,110.0,54.999 +114.wav=p uw_3,135.615,169.898,-390.631,120.0,60.0 +114.wav=r uw_3,823.628,171.754,-379.267,39.999,19.999 +114.wav=r uw1_3,1438.908,222.26,-452.831,40.0,20.0 +114.wav=g r2_3,765.35,69.882,-83.057,60.0,30.0 +114.wav=r g_3,682.077,90.506,-105.328,40.0,20.0 +114.wav=v r_3,1354.123,90.98,-107.998,80.0,40.0 +114.wav=f -2_3,2083.464,220.813,-300.408,79.999,40.0 +115.wav=- th2_3,169.242,60.799,-110.289,40.0,19.999 +115.wav=uw g_3,680.685,136.499,-153.977,109.999,55.0 +115.wav=uw th_3,1885,153.414,-249.988,109.999,54.999 +115.wav=uw y_3,1239.617,132.553,-186.115,110.0,54.999 +115.wav=r uw2_3,325.372,76.0,-293.078,39.999,20.0 +115.wav=r uw3_3,903.78,109.72,-292.804,40.0,20.0 +115.wav=y uw4_3,1433.827,106.025,-273.864,40.0,20.0 +115.wav=g r3_3,826.006,75.164,1393.068,59.999,30.0 +115.wav=th r_3,264.105,61.346,-80.011,49.998,24.999 +115.wav=th -4_3,2085.0,159.299,28.998,80.0,40.0 +115.wav=th8_3,219.915,15.0,-76.425,15.0,10.0 +115.wav=th9_3,2010.789,15,-126.301,15,10 +116.wav=- f5_3,37.985,70.447,-133.218,39.999,19.999 +116.wav=uw l_3,989.841,119.998,1173.852,110.0,54.999 +116.wav=uw n_3,1776.323,133.057,-163.525,109.998,54.999 +116.wav=uw t1_3,505.933,125.645,1701.086,109.998,54.999 +116.wav=q uw_3,792.249,155.465,-355.901,10.0,10.0 +116.wav=r uw4_3,202.62,82.82,-218.691,39.998,19.999 +116.wav=t uw_3,1281.026,239.403,653.154,119.998,60.0 +116.wav=d t_3,1240.126,124.168,-149.999,79.999,40.0 +116.wav=f r_3,103.407,92.078,-120.625,80.0,39.999 +116.wav=l d1_3,1161.172,100,-120,60,30 +116.wav=t q1_3,646.424,109.606,1584.816,79.999,40.0 +116.wav=n -5_3,1994.062,168.591,-249.291,80.0,40.0 +116.wav=n36_3,1965,15,-126.301,15,10 +117.wav=- b5_3,99.923,44.512,2404.694,39.998,19.999 +117.wav=uw l1_3,1602.203,140.327,723.7,109.999,54.999 +117.wav=uw p_3,1017,140.468,-172.583,110.0,54.999 +117.wav=uw w_3,568.773,120.0,-184.111,109.999,55.0 +117.wav=f uw_3,1305.037,182.934,-405.269,80.0,40.0 +117.wav=w uw_3,759.477,119.319,1520.281,50.0,25.0 +117.wav=y uw5_3,250.711,116.581,-347.151,80,40 +117.wav=b y_3,109.581,58.783,-80.742,49.998,24.999 +117.wav=l d2_3,1895.545,99.999,-113.251,59.999,30.0 +117.wav=p f_3,1163.714,122.508,-173.563,99.999,50.0 +117.wav=d -6_3,1956.418,266.103,-286.69,80.0,40.0 +118.wav=- s12_3,0,64.057,-117.933,40.0,20.0 +118.wav=uw dh1_3,471.996,137.997,1694.587,109.997,54.998 +118.wav=uw z1_3,1132.832,119.999,-177.094,110.0,54.999 +118.wav=n uw2_3,1361.461,119.999,-348.45,40.0,20.0 +118.wav=s uw_3,26.365,156.818,1852.722,99.998,49.998 +118.wav=y uw6_3,757.943,170.102,-357.303,40.0,20.0 +118.wav=dh y_3,625.475,99.999,-131.054,79.999,39.999 +118.wav=z n1_3,1282.005,84.392,-100.861,80.0,40.0 +118.wav=uw -1_3,1757.455,489.398,-583.822,299.999,119.997 +118.wav=uw5_3,1450.958,40.0,-210.221,20.0,40.0 +119.wav=- k6_3,531.572,67.921,2552.095,39.999,19.999 +119.wav=uw hh_3,1071.442,125.071,-165.875,109.999,55.0 +119.wav=uw m1_3,1587.104,133.881,-211.287,110.0,54.999 +119.wav=uw p1_3,2324.503,154.466,-210.462,109.998,55.0 +119.wav=hh uw_3,1204.717,147.153,1639.656,80.0,40.0 +119.wav=k uw_3,524.826,241.309,2196.508,120.0,59.999 +119.wav=r uw5_3,1967.657,84.467,-347.976,40.0,20.0 +119.wav=g r4_3,1841.495,69.882,-83.057,60.0,30.0 +119.wav=m g_3,1801.036,71.528,-82.508,60.0,30.0 +119.wav=p -4_3,2486.656,229.87,-304.806,80.0,40.0 +12.wav=- z_3,346.392,50.775,-81.096,40.0,20.0 +12.wav=aa n_3,771.663,120.994,1785.77,109.998,55.0 +12.wav=aa r4_3,1186.151,133.106,1342.399,110.0,54.999 +12.wav=aa r5_3,1997.784,133.106,556.76,109.999,55.0 +12.wav=ch aa_3,964.354,176.56,1463.717,99.999,49.999 +12.wav=f aa_3,1582.251,200,-500,80,40 +12.wav=z aa_3,402.02,179.558,-332.722,50,25 +12.wav=m f_3,1520.653,92.938,-125.877,60.0,30.0 +12.wav=n ch_3,914.813,81.409,1702.729,59.999,30.0 +12.wav=r m_3,1428.007,60.861,-95.996,39.999,20.0 +12.wav=r -_3,2282.678,316.335,-382.212,80.0,40.0 +12.wav=n_3,885.0,15.0,1781.669,15.0,10.0 +120.wav=- k7_3,303.389,58.793,-89.991,39.999,20.0 +120.wav=aa n2_3,1316,117.331,-152.287,110,55 +120.wav=aa r9_3,1939.26,148.993,456.358,109.999,54.999 +120.wav=aa s1_3,708.836,143.216,1701.946,109.999,54.999 +120.wav=k aa1_3,286.529,187.658,-333.968,120.0,60.0 +120.wav=t aa1_3,1603.058,144.936,-363.977,69.999,44.999 +120.wav=w aa2_3,994.846,119.321,1275.231,49.999,24.997 +120.wav=n t3_3,1423.15,73.724,-84.155,60.0,30.0 +120.wav=r t2_3,2173.827,151.603,-211.442,100.0,49.999 +120.wav=s t7_3,868.089,96.469,-112.391,79.999,39.999 +120.wav=s t8_3,1517.961,96.47,-120.624,80.0,40.0 +120.wav=t s3_3,1482.864,55.371,-108.073,40.0,20.0 +120.wav=t w1_3,912.857,92.681,-120.496,80.0,40.0 +120.wav=t -14_3,2360.627,174.698,-241.4,80.0,40.0 +120.wav=n37_3,1426,15,-126.301,15,10 +121.wav=- p13_3,171.488,57.009,2250.415,40.0,19.999 +121.wav=aa m1_3,684.316,128.606,1657.077,109.999,54.999 +121.wav=aa m2_3,1870.242,120.0,-187.805,109.999,54.999 +121.wav=aa n3_3,1265.022,145.519,-204.721,109.999,54.999 +121.wav=m aa1_3,816.332,120,-355.773,30.0,15.0 +121.wav=m aa_3,1414.21,141.738,642.358,80.0,40.0 +121.wav=r aa1_3,257.495,168.46,-398.207,39.999,19.999 +121.wav=m z1_3,2069.712,99.527,-164.306,59.999,30.0 +121.wav=n m1_3,1393.749,72.078,-92.39,60.0,30.0 +121.wav=p r2_3,148.394,109.883,-132.391,99.999,49.999 +121.wav=z -18_3,2178.241,162.342,57.376,79.998,40.0 +121.wav=n38_3,1375,15,-126.301,15,10 +122.wav=- w1_3,391.323,50.775,-68.065,40,20 +122.wav=aa p1_3,1434.655,127.479,-174.839,110,55 +122.wav=aa r10_3,2052.822,136.718,437.043,109.999,55.0 +122.wav=aa z1_3,816.463,146.084,-209.231,110,55 +122.wav=k aa2_3,1587.883,198.651,-365.258,119.999,60.0 +122.wav=t aa2_3,1029.07,146.858,-365.624,69.999,45.0 +122.wav=w aa3_3,430.182,162.958,-372.118,49.999,25.0 +122.wav=d z5_3,2252.512,100,-150,80.0,40.0 +122.wav=p k_3,1544.823,91.217,-104.392,80.0,40.0 +122.wav=r d2_3,2216.692,68.161,377.85,40.0,20.0 +122.wav=s t9_3,946.135,96.469,-115.134,79.999,40.0 +122.wav=z s1_3,911.135,64.822,-101.055,49.999,24.999 +122.wav=z -19_3,2344.938,146.431,84.506,80.0,40.0 +123.wav=- s13_3,166.674,67.564,-126.702,40.0,20.0 +123.wav=aa d1_3,1375.316,131.988,-169.2,110,55 +123.wav=aa n4_3,2025.912,131.144,-181.887,109.999,54.999 +123.wav=aa r11_3,599.803,149.467,1783.54,109.998,55.0 +123.wav=b aa_3,881.59,150,-370,60,30 +123.wav=d aa1_3,1522,179.999,-429.736,60.0,30.0 +123.wav=s aa2_3,211.938,200.0,-383.272,99.999,49.999 +123.wav=n t4_3,2187.11,70.442,356.241,60.0,29.999 +123.wav=r b1_3,827.938,90.506,-105.328,40.0,20.0 +123.wav=t -15_3,2221.267,316.335,-382.212,80.0,40.0 +123.wav=n39_3,2140,15,-126.301,15,10 +124.wav=- n6_3,203.259,50.774,2396.82,40.0,19.998 +124.wav=aa n5_3,1259.145,135.936,1265.397,110.0,54.999 +124.wav=aa r12_3,1972.675,175.708,467.574,109.998,54.998 +124.wav=aa t1_3,622.194,130.86,-156.795,110,55 +124.wav=g aa1_3,839.962,200,-380.231,80.0,40.0 +124.wav=k aa3_3,1526.544,177.508,-406.698,60,30.0 +124.wav=n aa1_3,251.72,101.989,-283.819,39.999,20.0 +124.wav=n s2_3,1368.376,86.9,-121.485,60.0,30.0 +124.wav=r d3_3,2247.743,62.384,361.242,40.0,20.0 +124.wav=s k5_3,1432.883,96.47,-120.624,80.0,40.0 +124.wav=t g1_3,748.968,103.056,-123.37,79.999,40.0 +124.wav=d -7_3,2309.556,191.99,-263.355,80.0,40.0 +124.wav=aa3_3,346.093,40.0,-210.221,20.0,40.0 +124.wav=n40_3,246,15,-126.301,15,10 +124.wav=n41_3,1256,15,-126.301,15,10 +125.wav=- k8_3,181.117,53.532,-90.368,39.999,20.0 +125.wav=ae n3_3,593.311,131.661,1725.698,109.998,55.0 +125.wav=ae n4_3,1215.908,138.161,1068.44,110.0,54.999 +125.wav=ae t1_3,2011.048,136.829,-178.826,109.999,55.0 +125.wav=dh ae1_3,1550.488,174.463,-380.329,60.0,30.0 +125.wav=hh ae1_3,844.332,200.0,-341.328,80.0,40.0 +125.wav=k ae2_3,155.833,210.982,1917.778,120.0,60.0 +125.wav=d z6_3,1418.325,70.979,-113.251,60,30 +125.wav=n d3_3,1397.355,70.43,-81.959,60.0,30.0 +125.wav=n t5_3,732.151,67.137,-73.176,59.999,30.0 +125.wav=t hh1_3,780.552,95.92,-148.934,60.0,30.0 +125.wav=t s4_3,2130.583,128.379,149.106,80.0,40.0 +125.wav=z dh1_3,1492.599,64.272,-84.585,50.0,24.998 +125.wav=s -8_3,2278.059,144.451,0,79.998,40.0 +125.wav=n42_3,705,15,-126.301,15,10 +125.wav=n43_3,1335,15,-126.301,15,10 +126.wav=- y2_3,263.593,50.775,-68.065,40.0,20.0 +126.wav=ae n5_3,1427.527,126.607,849.602,110.0,54.999 +126.wav=ae y_3,830.206,137.984,1490.215,109.999,54.999 +126.wav=y ae3_3,312.374,186.577,-408.913,39.999,20.0 +126.wav=y ae4_3,978.214,169.283,-430.322,39.997,20.0 +126.wav=y ae5_3,1659.429,231.043,-488.788,50.0,25.0 +126.wav=n y1_3,1597.418,84.803,-103.369,60.0,30.0 +126.wav=ae -1_3,1954.379,510.809,-545.394,300.0,119.998 +126.wav=n44_3,1520,15,-126.301,15,10 +127.wav=- f6_3,228.933,59.898,2120.848,39.999,19.999 +127.wav=ae n6_3,1156.588,133.107,1094.15,110.0,55.0 +127.wav=ae s1_3,612.081,130.862,-183.296,110.0,55.0 +127.wav=f ae1_3,249.267,160.873,1874.78,79.999,40.0 +127.wav=k ae3_3,828.401,177.508,1265.317,79.999,40.0 +127.wav=s ae1_3,1373.135,200,-420,100,50 +127.wav=n t6_3,1296.858,72.627,-89.096,60.0,30.0 +127.wav=s t10_3,739,96.47,-110.194,79.999,40.0 +127.wav=t k1_3,749.69,94.274,-107.998,80.0,40.0 +127.wav=t s5_3,1338.97,103.057,-142.584,80.0,40.0 +127.wav=ae -2_3,1765.261,480,-600,300,120 +127.wav=n45_3,1265,15,-126.301,15,10 +128.wav=- dh1_3,255.571,45.638,1934.97,39.999,20.0 +128.wav=ae m2_3,1182.663,152.819,836.545,109.999,54.999 +128.wav=ae t_3,657.591,143.938,1409.996,109.999,54.999 +128.wav=ae t3_3,1795,141.01,-173.711,110.0,55.0 +128.wav=dh ae2_3,260.603,154.721,-330.096,60.0,29.999 +128.wav=m ae1_3,1339.062,126.516,-299.043,80.0,40.0 +128.wav=y ae6_3,865.537,167.638,-352.917,39.999,20.0 +128.wav=m m1_3,1294.057,81.41,-103.369,60.0,30.0 +128.wav=t y_3,758.323,162.325,-204.047,140.0,69.999 +128.wav=t -16_3,1916.031,177.109,-273.454,80.0,40.0 +129.wav=- z6_3,0.0,48.138,2244.575,40.0,19.999 +129.wav=ae k2_3,326.135,177.153,1743.293,109.999,54.998 +129.wav=ae ng4_3,1519.811,130.297,-183.296,110.0,55.0 +129.wav=ae t4_3,898.049,158.488,1211.092,109.999,55.0 +129.wav=b ae1_3,1101.866,150,-370,60,30 +129.wav=dh ae3_3,547.989,148.801,-339.088,60.0,30.0 +129.wav=z ae_3,20.763,123.014,-326.135,50.0,24.999 +129.wav=k dh_3,440.4,83.058,-113.801,59.999,30.0 +129.wav=ng k_3,1670,78.116,-106.114,60.0,30.0 +129.wav=t b1_3,998.823,103.056,-121.719,79.999,39.999 +129.wav=k -2_3,1728.886,268.299,-364.919,80.0,40.0 +129.wav=ng16_3,1625,14.998,-85.912,14.998,10.0 +13.wav=- g_3,465.149,48.269,-58.794,39.999,20.0 +13.wav=aa n1_3,2073.809,129.733,-182.168,110,55 +13.wav=aa r6_3,1279.408,130.86,-218.816,110,55 +13.wav=aa t_3,775.302,133.115,1875.674,109.999,54.999 +13.wav=g aa_3,455.783,165.641,-336.921,79.999,39.999 +13.wav=hh aa1_3,1032.09,164.817,-275.161,79.999,40.0 +13.wav=t aa_3,1563.124,207.873,-443.384,99.998,50.0 +13.wav=r t4_3,1475.782,77.549,1221.365,40.0,20.0 +13.wav=t hh_3,914.134,103.057,-142.584,60,30 +13.wav=t t_3,1521.009,127.761,-149.72,80.0,40.0 +13.wav=n -_3,2255.445,316.335,-382.212,80.0,40.0 +13.wav=n1_3,2185,15.0,-85.84,15.0,9.999 +130.wav=- b6_3,76.174,47.702,2246.094,39.999,19.998 +130.wav=ae n7_3,947.215,131.663,1238.861,109.999,55.0 +130.wav=ae n8_3,1729.387,139.605,442.249,110.0,54.999 +130.wav=ae s2_3,414.95,145.521,-197.955,110.0,55.0 +130.wav=l ae2_3,126.296,93.762,-246.103,60.0,30.0 +130.wav=r ae1_3,1299.637,83.644,-315.861,40.0,20.0 +130.wav=t ae_3,655.708,134.23,-312.922,69.999,45.0 +130.wav=b l1_3,49.974,86.588,-106.9,79.999,40.0 +130.wav=b r3_3,1221.962,83.998,-97.998,70.0,34.999 +130.wav=d z7_3,1107.741,67.136,-93.487,60.0,30.0 +130.wav=n d4_3,1090,66.588,-78.666,60.0,30.0 +130.wav=n d5_3,1879.0,68.698,416.976,60.0,30.0 +130.wav=s t11_3,561.927,96.47,-121.722,79.999,40.0 +130.wav=s t12_3,569.879,96.47,-118.063,79.999,40.0 +130.wav=t s6_3,544.883,50.905,-99.215,40.0,20.0 +130.wav=z b1_3,1156.021,73.41,-120.622,50.0,25.0 +130.wav=d -8_3,1950.737,191.99,-263.355,80.0,40.0 +130.wav=n46_3,1057,15,-126.301,15,10 +130.wav=n47_3,1847,15,-126.301,15,10 +131.wav=- hh4_3,111.476,56.366,2234.134,39.998,20.0 +131.wav=ae d1_3,557.199,182.168,-212.614,110.0,55.0 +131.wav=ae n9_3,1809.401,126.349,442.781,109.999,54.999 +131.wav=ae t5_3,1129.147,173.612,-216.462,110.0,55.0 +131.wav=dh ae4_3,744.412,144.571,-370.379,60.0,30.0 +131.wav=dh ae5_3,1314.195,149.758,-325.979,60.0,30.0 +131.wav=hh ae2_3,147.454,200.0,-325.26,80.0,40.0 +131.wav=d dh_3,649.813,79.999,1677.139,60.0,30.0 +131.wav=t dh1_3,1222.702,103.056,-126.114,79.999,39.999 +131.wav=n -6_3,1953.489,316.335,-382.212,80.0,40.0 +131.wav=n48_3,1905,15,-126.301,15,10 +132.wav=- s14_3,50.179,77.838,-144.493,40.0,20.0 +132.wav=ah l_3,1195.0,143.078,1046.488,109.999,54.999 +132.wav=ah m3_3,445,126.915,-200.775,110.0,55.0 +132.wav=ah s2_3,1818.788,152.465,369.851,109.999,54.999 +132.wav=dh ah2_3,807,165.715,-410.974,60.0,30.0 +132.wav=l ah1_3,243.272,126.813,-254.517,60.0,30.0 +132.wav=l ah2_3,1358.239,118.467,-302.923,60.0,30.0 +132.wav=m z2_3,644.025,81.409,1674.042,59.999,30.0 +132.wav=s l2_3,153.954,97.508,2162.149,79.999,39.998 +132.wav=s t13_3,2046.637,96.47,-109.096,80.0,40.0 +132.wav=z dh2_3,721,73.409,-91.174,50.0,25.0 +132.wav=t -17_3,2111.625,174.223,-283.744,79.999,39.999 +133.wav=- k9_3,224.761,56.037,-127.955,40.0,20.0 +133.wav=ah m4_3,560,167.642,-284.574,109.999,54.999 +133.wav=ah m5_3,1881.071,120.0,429.994,110.0,54.999 +133.wav=ah s3_3,1297.519,120.704,1020.767,109.999,54.999 +133.wav=dh ah3_3,916.333,118.355,-267.202,60.0,30.0 +133.wav=hh ah2_3,1508.1,151.642,-327.04,80.0,40.0 +133.wav=r ah2_3,357.143,65.936,-222.809,39.999,20.0 +133.wav=k r2_3,253.095,105.565,-124.231,100,50.0 +133.wav=m dh1_3,847.702,98.979,-113.801,59.999,30.0 +133.wav=m p_3,2033.608,73.718,381.615,60.0,29.999 +133.wav=s hh1_3,1414.921,96.47,-145.329,80.0,40.0 +133.wav=p -5_3,2111.809,316.335,-382.212,80.0,40.0 +134.wav=- b7_3,327.457,44.512,-49.399,39.999,20.0 +134.wav=ah m6_3,609.923,147.056,-209.639,109.999,55.0 +134.wav=ah n3_3,1254.909,119.022,-176.531,110.0,55.0 +134.wav=ah n4_3,1911.399,129.733,-193.444,110.0,55.0 +134.wav=b ah2_3,317.645,150.0,-350.928,60.0,30.0 +134.wav=d ah1_3,1418.316,224.07,-378.837,60.0,30.0 +134.wav=sh ah2_3,902.336,228.46,-392.329,99.999,50.0 +134.wav=m sh_3,813.033,91.841,-154.424,59.999,30.0 +134.wav=n d6_3,1380.75,64.938,-74.272,60.0,30.0 +134.wav=n t7_3,2065,75.371,-89.096,59.999,30.0 +134.wav=t -18_3,2133.473,272.348,-348.107,50,25 +134.wav=n49_3,1366,15,-126.301,15,10 +134.wav=n50_3,2026,15,-126.301,15,10 +135.wav=- z7_3,95.752,57.118,-98.887,39.999,20.0 +135.wav=ah f1_3,1169.67,145.382,989.689,110.0,54.999 +135.wav=ah n5_3,525.0,137.867,1620.213,109.999,54.999 +135.wav=ah n6_3,1925,139.318,-200.21,110.0,55.0 +135.wav=dh ah4_3,751.656,131.887,-319.637,60.0,30.0 +135.wav=r ah3_3,1397.855,158.579,-415.162,40.0,20.0 +135.wav=z ah1_3,163.013,126.857,-323.94,49.999,24.999 +135.wav=d dh2_3,676.772,87.686,1589.128,79.999,40.0 +135.wav=f r1_3,1314,94.821,-125.565,80.0,40.0 +135.wav=n d7_3,698.915,70.979,-79.762,59.999,30.0 +135.wav=n -7_3,2103.099,105.01,95.911,79.997,39.998 +135.wav=n51_3,635,15,-126.301,15,10 +135.wav=n52_3,2035,15,-126.301,15,10 +136.wav=- t4_3,65.904,67.439,-101.644,40.0,19.999 +136.wav=ah ch1_3,334.799,138.754,-172.583,110.0,55.0 +136.wav=ah k1_3,1010.69,182.93,946.023,109.999,54.999 +136.wav=ah p1_3,1669.971,140.446,-173.711,110.0,55.0 +136.wav=s ah1_3,651.69,202.932,-367.625,99.998,50.0 +136.wav=t ah1_3,20.914,191.76,-346.571,130.0,65.0 +136.wav=t ah2_3,1210,213.283,-391.975,70.0,44.999 +136.wav=ch t1_3,437.948,180.935,1507.104,99.999,49.999 +136.wav=k t5_3,1120.627,81.662,938.798,60.0,30.0 +136.wav=t s7_3,461.56,115.683,-178.816,79.999,40.0 +136.wav=p -6_3,1794.562,316.335,28.24,80.0,40.0 +137.wav=- b8_3,209.999,45.262,-51.276,40.0,20.0 +137.wav=ah m7_3,1236,143.265,-191.523,110.0,54.999 +137.wav=ah n7_3,577.42,130.862,-241.37,110.0,55.0 +137.wav=ah n8_3,1878.067,147.775,-205.083,109.999,54.999 +137.wav=dh ah5_3,803.639,152.184,-415.203,60.0,30.0 +137.wav=l ah3_3,264.934,140.343,-285.808,60.0,29.999 +137.wav=m ah_3,1354.885,123.978,-354.859,80.0,40.0 +137.wav=b l2_3,215.725,57.414,-78.824,49.999,25.0 +137.wav=n dh1_3,751.632,74.822,-89.095,60.0,30.0 +137.wav=n z1_3,2084.772,117.642,-177.481,60.0,30.0 +137.wav=z -20_3,2256,166.264,-265.629,79.999,39.999 +137.wav=n53_3,691,15,-126.301,15,10 +137.wav=n54_3,1916,15,-126.301,15,10 +138.wav=- m4_3,189.139,46.264,2176.047,40.0,19.999 +138.wav=ah d1_3,1924.21,151.88,310.601,110.0,54.999 +138.wav=ah n9_3,521.817,128.604,1657.435,109.999,55.0 +138.wav=ah v1_3,1165.972,141.008,-193.17,109.999,54.999 +138.wav=l ah_3,797.852,140.343,-261.281,59.999,29.999 +138.wav=m ah2_3,234.28,89.739,-254.655,30.0,15.0 +138.wav=m ah3_3,1384.014,100.999,-389.149,40.0,20.0 +138.wav=n l_3,732.128,81.41,-103.369,60.0,30.0 +138.wav=v m1_3,1254,94.821,-132.151,80.0,40.0 +138.wav=d -9_3,2027.14,228.027,109.903,79.999,40.0 +138.wav=n55_3,626,15,-126.301,15,10 +139.wav=- s15_3,139.716,72.326,-124.948,40.0,20.0 +139.wav=ah l3_3,1446.0,141.175,508.422,110.0,54.999 +139.wav=ah n10_3,456,125.223,-201.901,110.0,55.0 +139.wav=ah n11_3,974.584,125.787,-204.157,110.0,55.0 +139.wav=m ah4_3,747.073,112.464,-285.392,39.999,19.999 +139.wav=s ah2_3,187.387,154.349,1687.623,99.998,49.999 +139.wav=t ah3_3,1203.001,303.75,-498.912,100,50 +139.wav=d t1_3,1123.739,94.274,-109.097,80.0,40.0 +139.wav=l d3_3,1769.793,86.9,-111.604,60.0,30.0 +139.wav=n d8_3,1127.125,72.076,-88.547,60.0,30.0 +139.wav=n t8_3,599,71.529,-79.763,60.0,30.0 +139.wav=t m1_3,629.808,89.881,-129.774,79.999,40.0 +139.wav=d -10_3,1823.446,205.11,86.006,79.998,39.998 +139.wav=n56_3,566,15,-126.301,15,10 +139.wav=n57_3,1086,15,-126.301,15,10 +14.wav=- aa_3,347.972,118.489,2126.597,60.0,30.0 +14.wav=aa k_3,1306.738,142.7,-168.355,109.999,54.999 +14.wav=aa r7_3,518.207,141.771,1993.735,109.999,55.0 +14.wav=aa s_3,2096.708,141.011,-222.764,110,55 +14.wav=hh aa_3,1533.871,199.999,808.778,80.0,40.0 +14.wav=jh aa_3,987.746,129.17,-304.569,59.999,30.0 +14.wav=d jh_3,883.985,95.37,-121.721,79.998,39.999 +14.wav=k hh_3,1429.67,95.683,-160.462,60.0,30.0 +14.wav=m d_3,903.979,70.431,-87.998,60.0,30.0 +14.wav=r m1_3,763.673,71.292,-119.602,40.0,20.0 +14.wav=s -_3,2315.893,316.335,-382.212,80.0,40.0 +14.wav=aa1_3,428.41,39.999,2158.363,19.999,39.999 +140.wav=- d5_3,261.027,49.398,-58.419,39.999,20.0 +140.wav=ah n12_3,545.646,144.394,-243.625,110.0,55.0 +140.wav=ah s4_3,1065.596,137.175,-203.052,110.0,54.999 +140.wav=ah t1_3,1731.416,131.425,-171.456,110.0,55.0 +140.wav=d ah2_3,262.047,141.524,-288.925,60.0,29.999 +140.wav=n ah1_3,764.856,150.194,-318.804,79.999,39.999 +140.wav=w ah1_3,1394.963,78.428,-319.978,50.0,25.0 +140.wav=d n1_3,635.598,99.999,-141.485,80.0,40.0 +140.wav=n d9_3,714.075,68.235,-85.802,59.999,30.0 +140.wav=s t14_3,1188.035,88.784,-103.057,79.999,39.999 +140.wav=t w2_3,1274.416,126.038,-145.252,119.998,60.0 +140.wav=t -19_3,1860.341,321.895,174.168,79.998,40.0 +140.wav=ah9_3,904.28,40.0,-210.221,20.0,40.0 +140.wav=n58_3,650,15,-126.301,15,10 +141.wav=- b9_3,285.416,44.762,-50.024,40.0,20.0 +141.wav=ah b1_3,1995.696,125.224,288.979,110.0,54.999 +141.wav=ah m8_3,1197.752,148.702,-209.795,110.0,54.999 +141.wav=ah t2_3,587.529,132.553,1689.204,109.999,55.0 +141.wav=b ah3_3,283.707,150,-370,60,30 +141.wav=dh ah6_3,893,180,-324.76,60.0,30.0 +141.wav=l ah5_3,1540.619,140.343,-336.551,30,15 +141.wav=k l1_3,1425.23,115.777,873.887,110.0,54.999 +141.wav=m k1_3,1360.407,81.409,-97.331,60.0,30.0 +141.wav=s dh1_3,772.072,96.47,-137.459,79.999,40.0 +141.wav=t s8_3,689.747,103.057,-142.584,80.0,40.0 +141.wav=b -3_3,2105.125,207.808,36.974,80.0,40.0 +142.wav=- m5_3,174.376,55.285,2112.269,40.0,19.998 +142.wav=ah n13_3,531.927,134.55,1638.987,109.998,54.999 +142.wav=ah n14_3,991.274,125.787,1195.526,110.0,54.999 +142.wav=ah n15_3,1670.899,127.476,-220.344,109.999,54.999 +142.wav=k ah2_3,1191.472,295.462,692.166,119.997,59.999 +142.wav=m ah5_3,227.891,133.051,-338.918,39.999,20.0 +142.wav=n ah2_3,661.594,151.642,-331.157,79.999,40.0 +142.wav=d k1_3,1115.913,100.0,-116.781,80.0,40.0 +142.wav=d z8_3,1874.197,100,-150,80.0,40.0 +142.wav=n d10_3,1123.612,86.717,1137.016,60.0,30.0 +142.wav=n d11_3,1871.812,89.605,356.322,60.0,29.999 +142.wav=z -21_3,1992.572,316.335,-382.212,80.0,40.0 +142.wav=ah10_3,790.917,40.0,-210.221,20.0,40.0 +142.wav=n59_3,639,15,-126.301,15,10 +142.wav=n60_3,1099,15,-126.301,15,10 +142.wav=n61_3,1774,15,-126.301,15,10 +143.wav=- m6_3,250.114,49.773,-62.051,40.0,20.0 +143.wav=ah n16_3,1147.293,130.298,-175.403,110.0,55.0 +143.wav=ah s5_3,588.251,120.0,-195.701,110.0,55.0 +143.wav=ah s6_3,1865.908,147.211,-201.337,110.0,55.0 +143.wav=m ah6_3,285.547,71.543,-258.447,30.0,15.0 +143.wav=r ah4_3,913.943,96.945,-271.727,40.0,20.0 +143.wav=t ah4_3,1342.591,207.518,-488.32,70.0,44.999 +143.wav=f r2_3,825.549,86.587,-104.154,79.998,40.0 +143.wav=n t9_3,1283.243,71.528,-83.606,60.0,30.0 +143.wav=s t15_3,686.876,85.489,-99.214,79.999,39.999 +143.wav=s t16_3,2038.158,96.469,-116.599,79.999,40.0 +143.wav=t f1_3,708.554,103.057,-142.584,80.0,40.0 +143.wav=t -20_3,2113.975,223.158,-336.796,80.0,40.0 +143.wav=n62_3,1265,15,-126.301,15,10 +144.wav=- f7_3,234.068,89.101,2084.584,39.999,20.0 +144.wav=ah m9_3,641.693,146.232,-217.05,109.999,55.0 +144.wav=ah n17_3,1110.371,128.604,-183.294,110.0,55.0 +144.wav=ah t3_3,1889.551,127.479,-160.744,110.0,55.0 +144.wav=b ah4_3,1455,150,-370,60,30 +144.wav=r ah5_3,378.083,93.525,-269.746,39.999,19.998 +144.wav=w ah2_3,882.949,126.582,-233.633,49.999,25.0 +144.wav=f r3_3,279.597,104.154,-110.741,79.998,39.999 +144.wav=m w1_3,812.288,81.41,-103.369,60.0,30.0 +144.wav=n s3_3,1274.469,81.41,-120.388,60.0,30.0 +144.wav=s b1_3,1331.023,96.47,-145.329,80.0,40.0 +144.wav=t s9_3,2006.923,127.657,238.433,80.0,40.0 +144.wav=s -9_3,2165,151.24,-199.825,79.999,39.999 +144.wav=n63_3,1225,15,-126.301,15,10 +145.wav=- t5_3,261.989,66.311,-99.012,39.999,19.999 +145.wav=ah m10_3,1886.8,149.714,248.732,109.999,54.999 +145.wav=ah s7_3,708.149,117.942,1494.537,109.998,54.999 +145.wav=ah v2_3,1272.223,137.064,-179.994,110.0,54.999 +145.wav=dh ah7_3,1482,167.781,-401.646,60.0,30.0 +145.wav=r ah6_3,399.746,81.996,-260.688,39.999,19.998 +145.wav=t ah5_3,875.999,181.921,1067.747,69.999,44.999 +145.wav=s t17_3,801.718,96.469,-121.723,79.999,40.0 +145.wav=t r_3,275.698,133.176,-149.096,120.0,60.0 +145.wav=v dh1_3,1364.015,73.409,-109.838,50.0,24.998 +145.wav=m -5_3,2115.0,177.129,42.94,79.999,39.999 +146.wav=- p14_3,248.831,50.774,1987.194,40.0,19.999 +146.wav=ah l4_3,1912.622,148.704,198.686,109.998,54.999 +146.wav=ah n18_3,589.693,133.68,1531.0,109.999,54.999 +146.wav=ah n19_3,1230.231,122.968,-227.838,110.0,55.0 +146.wav=p ah1_3,217.21,212.734,-416.002,120.0,60.0 +146.wav=w ah3_3,1436.824,109.21,623.284,49.999,24.996 +146.wav=y ah1_3,885.723,114.935,-317.507,40.0,20.0 +146.wav=d y1_3,816.117,98.665,-125.565,79.999,39.999 +146.wav=n d12_3,727.074,81.408,-118.739,59.999,30.0 +146.wav=n w_3,1394.325,81.41,-103.369,60.0,30.0 +146.wav=l -4_3,2043.712,190.826,30.093,80.0,40.0 +146.wav=n64_3,695,15,-126.301,15,10 +146.wav=n65_3,1320,15,-126.301,15,10 +147.wav=- z8_3,206.469,64.056,-105.151,40.0,20.0 +147.wav=ah g1_3,1907.693,126.608,189.499,109.999,54.999 +147.wav=ah n20_3,539.147,124.095,-178.785,110.0,55.0 +147.wav=ah s8_3,1155.936,143.572,-217.995,110.0,55.0 +147.wav=jh ah1_3,833.269,139.999,-310.333,60.0,30.0 +147.wav=l ah6_3,1444.289,98.902,-336.34,60.0,30.0 +147.wav=z ah2_3,271.325,115.329,-261.906,49.999,25.0 +147.wav=n t10_3,669.314,60.0,1507.484,60.0,30.0 +147.wav=s jh_3,733.838,88.662,1407.077,79.998,39.999 +147.wav=s l3_3,1366.505,87.686,-115.135,80.0,40.0 +147.wav=s t18_3,1294.271,98.754,-110.743,80.0,40.0 +147.wav=t s10_3,770.201,63.593,1376.473,40.0,20.0 +147.wav=t s11_3,1301.506,88.783,-110.375,79.998,39.997 +147.wav=g -2_3,2017.844,130.675,26.899,80.0,40.0 +147.wav=n66_3,660,15,-126.301,15,10 +148.wav=- s16_3,179.511,64.056,-117.681,40.0,20.0 +148.wav=ah d2_3,643.134,120.0,1522.329,109.999,55.0 +148.wav=ah n21_3,1205.0,125.788,915.015,109.999,54.999 +148.wav=ah t4_3,1906.122,126.916,-171.457,110.0,55.0 +148.wav=l ah7_3,923.5,124.229,-330.096,59.998,30.0 +148.wav=t ah6_3,310.534,163.052,-349.979,70.0,44.999 +148.wav=w ah4_3,1510,138.111,-338.762,49.999,24.998 +148.wav=d w_3,1350.508,92.625,818.24,79.999,40.0 +148.wav=d z9_3,727.078,71.528,1470.333,60.0,30.0 +148.wav=g l2_3,862.837,69.882,-83.057,60.0,30.0 +148.wav=n d13_3,1343.78,81.409,824.748,60.0,30.0 +148.wav=s t19_3,226.882,96.47,-118.43,80.0,39.999 +148.wav=t s12_3,2034.325,124.769,51.383,80.0,40.0 +148.wav=z g1_3,802.069,73.409,-105.995,49.999,25.0 +148.wav=s -10_3,2192.126,101.503,1.559,80.0,40.0 +148.wav=n67_3,1315,15,-126.301,15,10 +149.wav=- s17_3,102.169,64.557,1972.282,39.999,20.0 +149.wav=ah d3_3,1758.785,133.88,268.692,109.999,54.999 +149.wav=ah m11_3,1021.524,131.411,-204.699,110.0,54.999 +149.wav=ah n22_3,469.106,126.915,-184.424,110.0,55.0 +149.wav=l ah8_3,1326.432,112.433,-372.951,59.999,29.999 +149.wav=s ah3_3,146.951,165.052,-323.158,99.999,49.999 +149.wav=s ah4_3,707.294,172.465,-315.748,99.999,50.0 +149.wav=d s2_3,629.085,100,-150,80.0,40.0 +149.wav=d z10_3,1855.939,100,-150,80.0,40.0 +149.wav=f l2_3,1251.551,93.175,-100.312,80.0,40.0 +149.wav=m f1_3,1200.781,81.409,-129.17,60.0,30.0 +149.wav=n d14_3,627.419,104.466,-156.619,59.998,29.999 +149.wav=z -22_3,1975.0,152.289,35.461,79.997,39.997 +149.wav=n68_3,580,15,-126.301,15,10 +15.wav=- m_3,354.738,50.275,2006.919,39.999,20.0 +15.wav=aa b_3,689.34,142.138,-176.812,109.999,55.0 +15.wav=aa f_3,1925.0,138.094,341.69,110.0,54.999 +15.wav=aa l1_3,1129.145,141.292,-195.418,110.0,54.999 +15.wav=m aa2_3,404.69,91,-363.784,30.0,15.0 +15.wav=s aa_3,892.895,179.053,-372.567,99.999,49.999 +15.wav=s aa1_3,1446.066,169.171,-368.449,100.0,50.0 +15.wav=b s_3,812.182,84.66,1468.228,50.0,25.0 +15.wav=f t_3,2026.42,86.588,-100.313,79.999,39.999 +15.wav=l v_3,1317.798,126.975,-181.324,60.0,30.0 +15.wav=v s_3,1386.3,73.409,-115.877,49.999,24.999 +15.wav=t -_3,2104.405,149.65,122.569,79.998,39.998 +150.wav=- w2_3,198.446,50.775,-68.065,40,20 +150.wav=ah ng3_3,1043.198,128.042,1051.501,109.998,54.999 +150.wav=ah ng4_3,1689.499,129.734,407.367,109.999,54.999 +150.wav=ah t5_3,505.932,119.02,-129.168,110.0,55.0 +150.wav=r ah7_3,1360.172,67.998,-195.635,40.0,20.0 +150.wav=w ah5_3,250.385,97.762,-295.391,49.999,25.0 +150.wav=y ah2_3,776.683,115.759,-294.451,39.999,20.0 +150.wav=d r2_3,1268.901,89.881,-106.9,80.0,40.0 +150.wav=ng d1_3,1213.794,68.665,1014.666,60.0,30.0 +150.wav=ng k2_3,1886.081,81.409,-98.43,60.0,29.999 +150.wav=t y1_3,615.412,162.895,-183.207,150,75 +150.wav=k -3_3,1944.787,235.91,-290.259,80.0,40.0 +150.wav=ng17_3,1155,14.999,-87.466,14.999,10.0 +150.wav=ng18_3,1815,14.999,-112.168,14.999,10.0 +151.wav=- jh1_3,390.68,55.788,-88.865,39.999,20.0 +151.wav=ah n23_3,1298.869,146.084,-219.38,110.0,55.0 +151.wav=ah s9_3,784.676,120.0,1602.602,109.999,54.999 +151.wav=ah v3_3,2031.118,120.0,-171.456,110.0,55.0 +151.wav=jh ah2_3,410.289,139.999,1848.854,80.0,39.999 +151.wav=l ah9_3,1531.586,140.342,-309.488,59.999,30.0 +151.wav=t ah7_3,961.902,175.402,-374.68,69.998,44.999 +151.wav=d l1_3,1394.164,100,-150,40,10.0 +151.wav=n d15_3,1481.743,72.997,972.866,60.0,30.0 +151.wav=s t20_3,886.179,96.469,-123.918,79.999,40.0 +151.wav=v d3_3,2120.726,65.004,-86.231,49.998,24.998 +151.wav=d -11_3,2193.259,241.399,-331.157,80.0,40.0 +151.wav=n69_3,1405,15,-126.301,15,10 +152.wav=- ah1_3,182.618,123.542,1732.392,60.0,29.999 +152.wav=ah n24_3,450.332,131.988,1554.761,110.0,54.999 +152.wav=ah t6_3,1833.159,135.936,-168.637,110.0,55.0 +152.wav=ah w1_3,1225.88,136.499,-169.764,110.0,55.0 +152.wav=dh ah8_3,791.342,180,-423.807,60.0,30.0 +152.wav=w ah6_3,1376.145,119.998,-329.978,50.0,24.998 +152.wav=n t11_3,592.759,67.941,1515.047,59.998,29.999 +152.wav=t dh2_3,707.573,81.663,1369.182,59.999,30.0 +152.wav=t -21_3,1949.809,147.153,42.682,79.999,40.0 +152.wav=ah11_3,272.441,40.0,-210.221,20.0,40.0 +152.wav=n70_3,550.0,14.999,1541.744,14.999,10.0 +153.wav=- m7_3,337.407,47.767,-89.616,39.999,20.0 +153.wav=ao l3_3,730.512,120.0,-164.691,110.0,55.0 +153.wav=ao l4_3,2096.195,132.234,-205.522,109.999,55.0 +153.wav=ao r10_3,1216,143.828,-195.699,110.0,55.0 +153.wav=m ao1_3,397.47,100.036,-370.915,29.999,15.0 +153.wav=t ao1_3,1560.617,224.811,-515.495,70.0,44.999 +153.wav=y ao1_3,973,134.697,-328.76,39.999,20.0 +153.wav=l d4_3,2297.829,73.176,-93.488,60.0,30.0 +153.wav=l y1_3,875.128,69.88,-127.524,59.999,30.0 +153.wav=r s1_3,1425.225,65.253,-105.328,40.0,20.0 +153.wav=s t21_3,1481.29,96.47,-119.526,80.0,40.0 +153.wav=d -12_3,2364.479,191.99,-263.355,80.0,40.0 +154.wav=- m8_3,175.982,50.023,2243.034,39.999,19.998 +154.wav=ao r11_3,436.613,139.881,-213.758,109.999,55.0 +154.wav=ao r12_3,882.251,143.829,-197.956,110.0,55.0 +154.wav=ao r13_3,1824.028,136.5,-210.359,110.0,55.0 +154.wav=l ao2_3,1381.471,105.29,-316.921,60.0,30.0 +154.wav=m ao2_3,225.615,100.036,-278.479,30.0,15.0 +154.wav=y ao2_3,773.102,106.025,1509.761,40.0,20.0 +154.wav=f l3_3,1302.241,88.783,-109.095,79.999,40.0 +154.wav=k f_3,1172.738,87.449,-143.994,60.0,30.0 +154.wav=n y2_3,705.431,81.41,-103.369,60.0,30.0 +154.wav=r k1_3,1106.789,73.938,1293.772,40.0,20.0 +154.wav=r n1_3,643.086,71.841,-112.465,40.0,20.0 +154.wav=r -3_3,2093.034,239.753,-257.045,80.0,40.0 +155.wav=- sh3_3,61.411,64.557,-116.678,40.0,20.0 +155.wav=ao l5_3,929.113,142.939,-207.993,109.999,54.999 +155.wav=ao ng_3,1801.421,131.411,-193.994,110.0,54.999 +155.wav=ao r14_3,365.127,120.0,-179.349,110.0,55.0 +155.wav=l ao3_3,1281.679,132.465,-406.678,60.0,30.0 +155.wav=s ao1_3,706.573,200.0,-375.86,99.999,50.0 +155.wav=sh ao_3,123.845,179.877,-351.981,99.999,49.999 +155.wav=l t1_3,1160.36,100,-120,60,30 +155.wav=r t3_3,569.433,65.995,1655.199,40.0,20.0 +155.wav=t l1_3,1194.744,113.726,-134.038,99.999,50.0 +155.wav=t s13_3,600.922,103.057,-142.584,80.0,40.0 +155.wav=ng -1_3,1985.947,112.271,-167.443,79.999,39.999 +155.wav=ng19_3,1922,14.997,-71.617,14.997,9.999 +156.wav=- p15_3,146.136,58.419,2216.483,39.999,19.999 +156.wav=ao r15_3,487.88,126.35,-188.934,110.0,55.0 +156.wav=ao r16_3,1012.889,120,-177.3,110.0,55.0 +156.wav=ao r17_3,1715.532,166.944,-245.872,109.999,54.999 +156.wav=f ao2_3,1294.191,149.32,729.487,79.999,39.999 +156.wav=p ao1_3,147.454,136.662,-289.984,80.0,39.999 +156.wav=y ao3_3,772.35,106.025,1380.865,40.0,20.0 +156.wav=r f1_3,1228.755,90.506,-105.328,40.0,20.0 +156.wav=r m4_3,1965.328,72.939,-117.955,40.0,20.0 +156.wav=r y1_3,688.58,66.351,-87.761,40.0,20.0 +156.wav=m -6_3,2053.136,241.948,-299.591,80.0,40.0 +157.wav=- hh5_3,194.273,64.432,2262.204,40.0,19.998 +157.wav=ao n_3,533.371,119.998,-171.455,110.0,55.0 +157.wav=ao r18_3,1098.839,132.17,-237.04,110.0,55.0 +157.wav=ao r19_3,1712.676,119.999,-212.109,109.999,54.999 +157.wav=hh ao1_3,224.717,160.15,2038.039,79.998,39.999 +157.wav=hh ao2_3,1345.482,164.483,845.066,79.999,40.0 +157.wav=y ao4_3,874.904,106.026,-274.688,40.0,20.0 +157.wav=n t12_3,657.03,65.054,1825.741,59.999,30.0 +157.wav=n z2_3,2034.905,95.135,-155.522,60.0,30.0 +157.wav=r hh1_3,1282.212,90.506,-105.328,40.0,20.0 +157.wav=r n2_3,1912.874,62.746,-105.328,60.0,29.999 +157.wav=t y2_3,704.972,158.784,-180.743,150.0,74.999 +157.wav=z -23_3,2165.82,163.17,-274.338,80.0,40.0 +157.wav=n71_3,645,15,-126.301,15,10 +158.wav=- f8_3,182.72,78.19,2009.98,40.0,19.999 +158.wav=ao k1_3,1877.961,155.669,-199.794,110.0,55.0 +158.wav=ao l6_3,481.382,124.822,-184.112,109.999,54.999 +158.wav=ao l7_3,1204.952,120,-169.794,110.0,55.0 +158.wav=f ao3_3,230.493,176.036,1728.851,80.0,39.999 +158.wav=w ao2_3,1411.552,120.818,-336.017,50.0,24.998 +158.wav=z ao_3,763.07,174.342,-417.265,49.999,25.0 +158.wav=k t6_3,2000,90.194,-119.29,60.0,29.999 +158.wav=l w1_3,1292.508,79.496,886.129,60.0,30.0 +158.wav=l z2_3,638.25,99.999,1533.166,60.0,30.0 +158.wav=t -22_3,2075.292,187.78,27.554,71.524,40.0 +159.wav=- g6_3,86.442,60.219,2276.496,39.999,19.999 +159.wav=aw n2_3,362.717,237.329,1790.296,219.998,109.999 +159.wav=aw n3_3,1552.098,260.029,-322.933,219.999,110.0 +159.wav=aw t2_3,951.997,291.486,1148.304,219.999,110.0 +159.wav=b aw1_3,702.526,132.732,-288.344,60.0,30.0 +159.wav=b aw2_3,1269.414,149.999,-342.472,60.0,30.0 +159.wav=r aw1_3,166.515,71.01,-244.218,39.999,20.0 +159.wav=d b1_3,592.265,99.999,-123.917,79.999,40.0 +159.wav=g r5_3,101.023,69.882,-83.057,60.0,30.0 +159.wav=n d16_3,599.257,93.936,1696.427,59.998,29.999 +159.wav=n s4_3,1865.177,103.37,-189.559,60.0,30.0 +159.wav=t b2_3,1169.259,99.162,-138.323,79.999,39.999 +159.wav=s -11_3,2014.143,212.518,-314.627,80.0,40.0 +159.wav=n72_3,574,15,-126.301,15,10 +159.wav=n73_3,1744,15,-126.301,15,10 +16.wav=- l_3,326.496,57.666,-82.85,39.999,20.0 +16.wav=aa d_3,1295.0,148.849,1158.167,110.0,54.999 +16.wav=aa p_3,1885.827,156.233,-188.934,110,55 +16.wav=aa r8_3,599.079,135.995,1836.252,109.999,55.0 +16.wav=l aa1_3,366.025,140.342,2007.385,60.0,29.999 +16.wav=r aa_3,1587.566,118.229,-273.864,40.0,20.0 +16.wav=w aa1_3,1016.51,121.917,-286.61,50,25 +16.wav=d d_3,1399.32,70.833,1133.668,60.0,30.0 +16.wav=d r1_3,1498.466,93.725,-124.468,79.999,39.999 +16.wav=m w_3,894.587,85.995,1606.631,59.999,30.0 +16.wav=r m2_3,799.054,75.134,-128.384,40.0,20.0 +16.wav=p -_3,2029.915,294.457,219.516,80.0,40.0 +160.wav=- k10_3,153.517,45.262,-71.573,39.999,20.0 +160.wav=aw n4_3,344.674,249.645,-316.346,219.999,109.999 +160.wav=aw n_3,1050.214,240.938,1063.809,219.999,109.998 +160.wav=aw n6_3,1741.282,235.646,-276.946,219.999,109.999 +160.wav=d aw1_3,1366.189,179.999,-392.368,60.0,30.0 +160.wav=k aw_3,123.34,168.207,-302.81,120.0,59.998 +160.wav=n aw_3,803.406,116.363,-250.588,39.999,19.998 +160.wav=n d17_3,1317.078,72.627,-86.351,60.0,30.0 +160.wav=n t13_3,598.54,69.386,1759.965,59.999,29.999 +160.wav=t n2_3,689.248,110.612,-136.231,99.998,50.0 +160.wav=n -8_3,2013.421,238.105,-355.861,80.0,40.0 +160.wav=aw5_3,905.002,40.0,-210.221,20.0,40.0 +160.wav=n74_3,645,15,-126.301,15,10 +160.wav=n75_3,1280,15,-126.301,15,10 +160.wav=n76_3,1980,15,-126.301,15,10 +161.wav=- ay1_3,39.647,135.27,-294.265,59.998,30.0 +161.wav=ay d1_3,1713.167,237.33,158.424,219.999,109.999 +161.wav=ay m1_3,306.395,242.233,-295.758,219.999,109.999 +161.wav=ay z1_3,910.88,250.446,-301.753,220,110.0 +161.wav=l ay1_3,733,95.409,-210.695,59.999,30.0 +161.wav=r ay3_3,1324.154,81.158,-219.855,40.0,20.0 +161.wav=d f1_3,1114.438,118.427,-149.999,80.0,40.0 +161.wav=f r4_3,1227.819,92.078,-118.429,80.0,40.0 +161.wav=m l1_3,582.65,81.41,-103.368,59.999,29.999 +161.wav=z d1_3,1150.915,59.332,-72.508,49.999,24.999 +161.wav=d -13_3,1945.593,96.537,11.911,80.0,40.0 +161.wav=ay9_3,145.355,40.0,-210.221,20.0,40.0 +162.wav=- th3_3,66.225,50.774,-90.369,40.0,19.999 +162.wav=ay n4_3,991.738,260.03,1263.879,219.999,110.0 +162.wav=ay s1_3,1862.63,260.029,-352.497,220,110.0 +162.wav=ay v1_3,499.202,252.701,1733.309,220.0,110.0 +162.wav=f ay1_3,768.464,139.933,1482.014,79.999,40.0 +162.wav=m ay1_3,1402.092,119.998,-402.325,40.0,20.0 +162.wav=r ay4_3,244.499,107.524,-301.861,39.999,19.998 +162.wav=d m1_3,1314.431,100.0,-126.663,80.0,40.0 +162.wav=n d18_3,1252.825,67.221,1233.556,59.999,30.0 +162.wav=th r1_3,170.234,73.409,-103.068,49.999,24.999 +162.wav=v f_3,693.749,67.568,-108.193,49.999,25.0 +162.wav=s -12_3,2232.252,159.053,-294.101,79.999,40.0 +162.wav=n77_3,1272,15,-126.301,15,10 +162.wav=th10_3,132,15.0,-54.526,15.0,9.998 +163.wav=- m9_3,136.829,48.644,2362.011,39.999,19.999 +163.wav=ay l1_3,237.797,260.031,1996.158,220.0,110.0 +163.wav=ay m2_3,1731.935,234.658,520.073,219.999,109.998 +163.wav=ay n5_3,992.456,260.031,-305.136,220,110.0 +163.wav=d ay1_3,1292.545,186.813,-374.563,59.999,30.0 +163.wav=m ay2_3,176.0,77.449,2165.846,39.999,19.999 +163.wav=m ay3_3,787.025,111.053,-245.755,59.998,30.0 +163.wav=d m2_3,708.529,99.999,-126.664,79.999,40.0 +163.wav=l d5_3,599.257,77.018,-96.781,59.999,30.0 +163.wav=n d19_3,1238.379,72.076,1243.669,60.0,30.0 +163.wav=m -7_3,2028.625,316.335,-382.212,80.0,40.0 +163.wav=n78_3,1236,15,-126.301,15,10 +164.wav=- w3_3,169.562,50.775,-68.065,40,20 +164.wav=ay l2_3,330.223,240.861,-300.062,220,110.0 +164.wav=ay t1_3,1006.145,234.822,-257.055,219.999,109.999 +164.wav=ay t2_3,1663.982,251.049,329.383,219.999,109.999 +164.wav=l ay_3,786.296,104.823,-242.808,59.999,30.0 +164.wav=n ay1_3,1404.223,81.44,-267.499,39.999,19.999 +164.wav=w ay1_3,222.224,92.207,-265.958,49.999,24.999 +164.wav=l l1_3,709.019,100,-120,60,30 +164.wav=s n1_3,1328,91.529,-110.194,79.999,39.999 +164.wav=t s14_3,1206.075,103.057,-142.584,80.0,40.0 +164.wav=t -23_3,1955.618,161.005,88.799,80.0,40.0 +164.wav=ay10_3,1504.374,40.0,-210.221,20.0,40.0 +165.wav=- d6_3,322.643,51.528,-54.659,40.0,19.999 +165.wav=ay f1_3,1849.007,260.029,-342.912,220,110.0 +165.wav=ay l3_3,1244.601,247.627,-291.642,220.0,110.0 +165.wav=ay s2_3,583.727,249.882,1480.797,219.999,109.999 +165.wav=d ay2_3,322.701,164.024,-351.774,60.0,30.0 +165.wav=l ay3_3,1484.745,140.343,-336.551,60.0,30.0 +165.wav=m ay4_3,940.658,106.235,-318.39,40.0,20.0 +165.wav=s m1_3,845.762,88.783,-140.388,79.999,40.0 +165.wav=f -3_3,2122.592,163.719,-235.635,80.0,40.0 +166.wav=- r1_3,175,50.775,-68.065,40.0,20.0 +166.wav=ay k1_3,1747.918,248.821,-287.524,219.999,109.999 +166.wav=ay m3_3,1181.012,243.116,899.397,219.999,110.0 +166.wav=ay t3_3,565.671,248.753,1538.566,219.999,109.999 +166.wav=l ay4_3,1506.42,105.49,583.798,59.999,29.999 +166.wav=r ay5_3,307.32,100.936,-305.978,39.999,20.0 +166.wav=t ay1_3,773.396,193.543,1272.816,130.0,64.998 +166.wav=k t7_3,1982,84.704,-112.153,59.998,29.999 +166.wav=m z3_3,1336.677,81.409,-133.563,59.999,30.0 +166.wav=z l1_3,1463.677,66.47,-85.501,50.0,24.998 +166.wav=t -24_3,2084.0,226.903,15.501,80.0,40.0 +167.wav=- k11_3,170.847,91.87,-127.203,39.999,19.999 +167.wav=ay l4_3,1720.526,260.031,-313.028,220,110.0 +167.wav=ay n6_3,1045.955,244.807,1111.784,219.999,110.0 +167.wav=ay s3_3,461.67,260.031,1693.905,219.999,109.999 +167.wav=l ay5_3,828.218,126.812,-260.435,59.999,30.0 +167.wav=m ay5_3,1334.027,159.051,798.359,79.999,40.0 +167.wav=r ay6_3,319.595,65.802,-251.905,39.999,19.999 +167.wav=k r3_3,198.219,112.626,-126.9,99.999,49.999 +167.wav=l d6_3,2034.329,90.194,-113.8,60.0,29.999 +167.wav=n m2_3,1278.186,81.41,-103.369,60.0,30.0 +167.wav=s t22_3,711.0,87.136,1689.571,79.999,40.0 +167.wav=t l2_3,773.329,74.641,-93.672,59.999,30.0 +167.wav=d -14_3,2103.144,191.99,-263.355,80.0,40.0 +167.wav=n79_3,1270,15,-126.301,15,10 +168.wav=- k12_3,218.023,52.403,2081.139,39.998,19.999 +168.wav=ay m4_3,1119.646,250.445,959.319,219.999,110.0 +168.wav=ay n7_3,1799.906,260.029,-295.551,220,110.0 +168.wav=ay t4_3,463.113,268.378,1620.186,219.999,109.999 +168.wav=k ay1_3,181.829,165.291,-287.988,119.999,60.0 +168.wav=m ay6_3,867.71,102.583,-286.216,40.0,20.0 +168.wav=m ay7_3,1354.962,156.582,-371.507,79.999,39.999 +168.wav=n d20_3,2054.498,72.998,238.623,60.0,29.997 +168.wav=t m2_3,753.314,103.057,-142.584,80.0,40.0 +168.wav=d -15_3,2129.09,122.82,67.273,80.0,40.0 +168.wav=n80_3,2000.629,15,-126.301,15,10 +169.wav=- ay2_3,140.017,134.372,2209.567,59.998,30.0 +169.wav=ay d2_3,1833.593,260.031,-276.946,220,110.0 +169.wav=ay l5_3,388.71,249.289,1904.85,220.0,109.999 +169.wav=ay n8_3,1017.643,241.987,1286.749,219.999,109.999 +169.wav=m ay8_3,766.276,132.435,-262.676,79.999,40.0 +169.wav=s ay1_3,1397.592,172.464,-379.977,100.0,50.0 +169.wav=d z11_3,2052.299,100,-150,80.0,40.0 +169.wav=l m1_3,706.846,87.439,1792.928,59.999,30.0 +169.wav=n s5_3,1307.617,94.585,-146.189,60.0,30.0 +169.wav=z -24_3,2175,192.814,-286.689,79.998,39.998 +169.wav=ay11_3,242.836,40.0,-210.221,20.0,40.0 +169.wav=n81_3,1270,15,-126.301,15,10 +17.wav=- n_3,184.005,50.91,2063.253,39.999,19.999 +17.wav=aa k1_3,505.933,141.009,-170.892,109.999,54.999 +17.wav=aa m_3,1672.891,142.701,-221.072,110,55 +17.wav=aa z_3,1043.199,120,-176.29,110,55 +17.wav=b aa1_3,1277.343,150,-370,60,30 +17.wav=n aa_3,229,114.585,-330.333,40.0,20.0 +17.wav=q aa_3,750.352,90.151,1242.165,10.0,10.0 +17.wav=k q2_3,604.25,147.997,1551.935,120.0,60.0 +17.wav=z b_3,1179,73.41,-120.622,50.0,25.0 +17.wav=m -_3,1819.868,316.335,-382.212,80.0,40.0 +17.wav=aa2_3,296.269,40.0,-210.221,20.0,40.0 +17.wav=n2_3,223.286,14.999,2062.45,14.999,9.999 +170.wav=- b10_3,159.936,51.777,-58.042,39.999,20.0 +170.wav=eh n2_3,982.588,133.68,-194.572,110.0,55.0 +170.wav=eh r5_3,1630.495,146.647,-219.943,110.0,55.0 +170.wav=eh t1_3,411.0,126.914,1923.555,110.0,54.999 +170.wav=b eh1_3,147.958,136.116,-295.111,60.0,29.999 +170.wav=g eh1_3,691.931,200,-380.231,80.0,40.0 +170.wav=t eh1_3,1292.026,170.187,-437.289,70,45 +170.wav=n s6_3,1147.442,81.409,-116.544,59.999,30.0 +170.wav=r z4_3,1901.972,90.504,-150.894,39.998,19.998 +170.wav=s g1_3,594.424,96.469,-138.741,79.999,40.0 +170.wav=s t23_3,1217.02,96.47,-118.428,80.0,40.0 +170.wav=t s15_3,510.66,103.056,-135.264,79.999,40.0 +170.wav=z -25_3,2038.158,238.105,-321.275,79.999,40.0 +170.wav=n82_3,1006,15,-126.301,15,10 +171.wav=- f9_3,169.242,64.056,-110.665,40.0,20.0 +171.wav=eh l4_3,1586.995,186.582,-287.045,110.0,54.999 +171.wav=eh n3_3,487.158,131.425,-227.837,110.0,55.0 +171.wav=eh t2_3,1101.705,133.677,1167.085,110.0,54.999 +171.wav=g eh2_3,824.069,154.425,1291.312,79.999,40.0 +171.wav=r eh2_3,295.044,86.113,-243.395,39.999,19.998 +171.wav=s eh1_3,1354.353,239.989,-455.737,100.0,50.0 +171.wav=d z12_3,713.863,52.625,-90.505,40.0,20.0 +171.wav=f r5_3,207.386,90.43,-109.095,80.0,39.999 +171.wav=l f1_3,1894.782,100,-120,60,30 +171.wav=n d21_3,690.964,78.773,1638.657,59.999,29.999 +171.wav=s s2_3,1289.859,96.47,-122.82,80.0,40.0 +171.wav=t s16_3,1210.423,103.057,-142.584,80.0,40.0 +171.wav=z g2_3,784.019,73.408,1564.988,49.999,25.0 +171.wav=f -4_3,2072.632,247.987,-300.689,79.999,39.999 +171.wav=n83_3,595,15,-126.301,15,10 +172.wav=- d7_3,228.934,46.39,2025.384,39.998,19.998 +172.wav=eh n4_3,456.108,132.552,-195.136,110.0,55.0 +172.wav=eh n5_3,1723.437,148.34,-285.91,110.0,55.0 +172.wav=eh t3_3,1226.619,121.842,943.899,110.0,54.999 +172.wav=d eh1_3,228.831,154.721,-280.733,60.0,30.0 +172.wav=l eh1_3,885.226,134.935,-340.801,59.998,29.999 +172.wav=m eh1_3,1425.885,89.2,-279.29,40,20 +172.wav=n d22_3,2037.716,82.508,-119.839,60.0,29.999 +172.wav=n t14_3,638.972,67.136,-82.508,59.999,29.999 +172.wav=t l3_3,780,113.726,-134.038,99.999,50.0 +172.wav=t m3_3,1328.836,103.057,-142.584,80.0,40.0 +172.wav=d -16_3,2131.587,114.467,3.413,60.0,29.999 +172.wav=n84_3,575,15,-126.301,15,10 +172.wav=n85_3,1845,15,-126.301,15,10 +173.wav=- dh2_3,191.064,54.442,2051.7,39.998,19.999 +173.wav=eh g1_3,1126,130.86,-170.328,110.0,55.0 +173.wav=eh k2_3,1771,119.998,-137.628,110.0,55.0 +173.wav=eh m1_3,486,150.055,-248.699,109.999,54.999 +173.wav=b eh2_3,806.512,150,-370,60,30 +173.wav=dh eh1_3,202.836,112.435,-245.213,60.0,30.0 +173.wav=s eh2_3,1361.553,239.165,-455.737,100.0,50.0 +173.wav=d s3_3,1240.018,100,-150,80.0,40.0 +173.wav=g d_3,1221.02,69.882,-83.057,60.0,30.0 +173.wav=k s3_3,1899.078,84.155,-136.308,60.0,29.999 +173.wav=m b1_3,751.623,65.777,1469.617,59.999,29.999 +173.wav=s -13_3,2028.548,198.58,-275.162,80.0,40.0 +174.wav=- l2_3,161.86,57.972,2010.387,40.0,19.999 +174.wav=eh f1_3,464.051,126.607,1599.065,110.0,54.999 +174.wav=eh n6_3,1071.437,133.116,-180.818,110.0,54.999 +174.wav=eh s1_3,1853.538,146.882,-244.986,110.0,55.0 +174.wav=l eh2_3,209.334,89.601,-209.047,60.0,29.999 +174.wav=r eh3_3,1431.782,130.58,-333.977,40.0,20.0 +174.wav=t eh2_3,774.492,165.707,1126.187,99.998,49.996 +174.wav=f t4_3,559.761,87.942,1582.596,79.999,40.0 +174.wav=n t15_3,1210.273,81.409,-109.408,60.0,30.0 +174.wav=s t24_3,687.599,96.47,-125.566,79.999,40.0 +174.wav=t r2_3,1314.233,126.039,-142.584,120.0,60.0 +174.wav=t s17_3,594.437,103.057,-142.584,80.0,40.0 +174.wav=t t1_3,1258.172,144.23,-169.483,80.0,40.0 +174.wav=s -14_3,2056.114,143.005,-175.12,80.0,40.0 +174.wav=n86_3,1186,15,-126.301,15,10 +175.wav=- s18_3,11.668,57.29,-128.707,40.0,20.0 +175.wav=eh n7_3,970.984,131.989,-223.327,110.0,55.0 +175.wav=eh n8_3,1697.442,129.169,-216.561,110.0,55.0 +175.wav=eh p1_3,352.851,153.977,-183.277,110.0,55.0 +175.wav=dh eh2_3,1267.959,179.999,-369.534,60.0,30.0 +175.wav=p eh1_3,709.742,131.858,-284.934,59.999,30.0 +175.wav=w eh3_3,176.011,114.23,-257.512,49.999,24.998 +175.wav=d dh3_3,1159.863,99.999,-123.918,79.999,40.0 +175.wav=n d23_3,1173.353,88.882,1033.447,59.998,29.999 +175.wav=p t1_3,505.387,99.714,1660.254,59.999,29.999 +175.wav=s p1_3,587.201,96.47,-137.094,79.999,40.0 +175.wav=s w1_3,46.799,128.235,-145.328,120.0,60.0 +175.wav=t s18_3,496.938,103.057,-142.584,80.0,40.0 +175.wav=n -9_3,1888.466,191.169,-329.511,79.999,39.999 +175.wav=n87_3,1081,15,-126.301,15,10 +175.wav=n88_3,1821,15,-126.301,15,10 +176.wav=- s19_3,167.637,59.796,-129.458,40.0,20.0 +176.wav=eh n9_3,624.371,140.468,1692.472,109.998,54.999 +176.wav=eh s2_3,1898.401,167.766,332.514,109.999,54.999 +176.wav=eh v1_3,1250.556,133.68,-192.317,110.0,55.0 +176.wav=n eh_3,733.109,229.87,-406.915,79.999,39.999 +176.wav=r eh4_3,1466,133.877,-347.154,40.0,20.0 +176.wav=s eh3_3,242.986,200,-420,100,50 +176.wav=v r1_3,1376.627,86.588,-101.959,79.999,39.999 +176.wav=s -15_3,2105,316.335,-382.212,80.0,40.0 +176.wav=eh3_3,936.809,40.0,-210.221,20.0,40.0 +176.wav=n89_3,745,15,-126.301,15,10 +177.wav=- w4_3,133.619,50.775,-68.065,40,20 +177.wav=eh r6_3,910.323,150.595,-208.144,109.999,54.999 +177.wav=eh s3_3,478.493,141.771,1507.104,110.0,54.999 +177.wav=eh s4_3,1771.783,147.211,202.983,109.999,54.999 +177.wav=b eh3_3,1306.21,150,-370,60,30 +177.wav=dh eh3_3,736.46,179.999,-345.008,60.0,30.0 +177.wav=w eh4_3,174.567,117.152,1732.392,49.998,24.997 +177.wav=r z5_3,1150.014,69.096,-105.328,40.0,20.0 +177.wav=s t25_3,618.249,96.47,-145.329,80.0,40.0 +177.wav=s t26_3,1925.258,96.47,-115.135,80.0,40.0 +177.wav=t dh3_3,637.533,84.887,1427.668,59.999,30.0 +177.wav=z b2_3,1212.948,73.41,-120.622,50.0,25.0 +177.wav=t -25_3,2006.132,123.323,34.017,79.998,40.0 +178.wav=- d8_3,122.709,61.801,1923.909,39.998,19.999 +178.wav=eh d1_3,1730.741,119.999,-155.105,110.0,55.0 +178.wav=eh l5_3,864.873,150.436,1023.57,109.999,55.0 +178.wav=eh s5_3,473.437,132.386,1455.441,109.999,55.0 +178.wav=r eh5_3,214.172,120.151,-262.885,39.999,20.0 +178.wav=s eh4_3,1233.097,172.465,-398.918,100.0,50.0 +178.wav=t eh3_3,684.215,162.034,-313.278,99.999,50.0 +178.wav=d r3_3,125.071,99.999,-127.761,79.999,39.999 +178.wav=l s1_3,1132.972,100.0,-162.658,60.0,30.0 +178.wav=s t27_3,593.699,96.469,-120.625,79.999,39.999 +178.wav=t t2_3,663.763,103.056,-117.878,79.999,40.0 +178.wav=d -17_3,1840.893,98.683,88.471,79.998,39.998 +179.wav=- m10_3,62.696,51.777,-67.816,39.999,20.0 +179.wav=eh l6_3,1431.038,119.999,-219.38,110.0,55.0 +179.wav=eh n_3,355.017,153.978,-231.22,110.0,55.0 +179.wav=eh n11_3,1018.693,151.173,-220.344,110.0,54.999 +179.wav=m eh2_3,112.972,76.514,-268.493,29.999,15.0 +179.wav=w eh5_3,700.259,141.404,-290.452,49.999,25.0 +179.wav=y eh1_3,1256.977,73.762,-221.986,39.997,19.999 +179.wav=d w2_3,581.931,87.449,-113.8,60.0,30.0 +179.wav=n d24_3,549.434,67.137,1368.725,59.999,30.0 +179.wav=n y3_3,1184.966,81.41,-103.369,60.0,30.0 +179.wav=l -5_3,1741.925,222.25,11.814,80.0,40.0 +179.wav=n90_3,467,15.0,-112.001,15.0,10.0 +179.wav=n91_3,1117,15,-126.301,15,10 +18.wav=- s_3,293.118,60.539,2077.438,39.999,20.0 +18.wav=ae n_3,814.327,141.291,-217.05,109.999,55.0 +18.wav=ae n1_3,1919.342,119.999,-179.349,110.0,55.0 +18.wav=ae t2_3,1421.752,138.821,921.806,110.0,54.999 +18.wav=dh ae_3,1008.79,151.338,-349.237,60.0,30.0 +18.wav=k ae_3,451.231,165.404,-381.975,60.0,29.999 +18.wav=m ae_3,1625.995,147.658,-367.389,30.0,15.0 +18.wav=n dh_3,961,71.528,-85.802,60.0,30.0 +18.wav=n s_3,2079.098,110.506,-188.46,60.0,29.999 +18.wav=s k_3,356.135,104.155,2026.812,79.998,39.999 +18.wav=t m_3,1521.822,103.057,-142.584,80.0,40.0 +18.wav=s -1_3,2207.457,173.172,63.901,80.0,40.0 +18.wav=n3_3,932.448,14.999,1467.119,14.999,9.999 +18.wav=n4_3,2028,14.998,-90.314,14.998,10.0 +180.wav=- y3_3,238.561,50.774,-75.834,40.0,20.0 +180.wav=er d2_3,1865.686,117.943,314.219,110.0,54.999 +180.wav=er n_3,614.971,150.35,-211.287,109.999,55.0 +180.wav=er s1_3,1175,135.527,-211.286,110.0,54.999 +180.wav=d er1_3,834.675,149.647,-290.037,60.0,30.0 +180.wav=hh er2_3,1384.44,257.868,-485.945,80.0,40.0 +180.wav=y er2_3,287.823,137.716,-356.209,40.0,19.999 +180.wav=n d25_3,787.009,70.109,1443.618,59.999,30.0 +180.wav=s t28_3,1310.781,87.686,-97.018,80.0,40.0 +180.wav=t hh2_3,1330.281,103.057,-142.584,80.0,40.0 +180.wav=d -18_3,1989,279.278,-310.57,80.0,40.0 +180.wav=n92_3,725,15,-126.301,15,10 +181.wav=- f10_3,89.973,74.581,-133.969,40.0,19.999 +181.wav=er l1_3,1551.549,173.407,-249.165,110.0,54.999 +181.wav=er s2_3,1066.293,145.381,922.914,110.0,54.999 +181.wav=er t2_3,525,120.712,-137.174,109.999,55.0 +181.wav=f er2_3,723.68,159.498,-334.562,80.0,40.0 +181.wav=g er1_3,1294.155,144.988,577.025,80.0,40.0 +181.wav=l er_3,243.994,145.205,1626.969,60.0,29.999 +181.wav=f l4_3,156.841,95.92,-122.82,79.999,39.999 +181.wav=s t29_3,1213.277,96.47,855.031,80.0,40.0 +181.wav=t f2_3,626.917,103.057,-142.584,80.0,40.0 +181.wav=t g2_3,1208.224,103.056,855.752,80.0,40.0 +181.wav=l -6_3,1839.33,230.193,40.211,80.0,40.0 +182.wav=- b11_3,168.601,48.018,-55.035,40.0,20.0 +182.wav=ey b1_3,462.389,253.939,1370.208,220.0,110.0 +182.wav=ey k2_3,1551.422,238.051,302.84,219.998,109.999 +182.wav=ey t1_3,942.668,236.47,886.322,219.998,109.999 +182.wav=b ey1_3,160.235,150.0,-297.647,59.998,30.0 +182.wav=b ey2_3,725,149.999,-299.34,59.999,29.999 +182.wav=m ey1_3,1302.372,105.371,-336.253,30.0,14.998 +182.wav=k s4_3,1807.458,111.267,123.764,60.0,29.998 +182.wav=t m4_3,1177,94.64,-121.723,80.0,40.0 +182.wav=s -16_3,1980.016,122.839,15.453,79.998,39.998 +183.wav=- b12_3,76.174,47.381,2057.006,39.999,19.998 +183.wav=ey k3_3,1648.063,240.296,254.25,219.999,109.999 +183.wav=ey n2_3,249.35,240.297,1644.299,220.0,110.0 +183.wav=ey s1_3,949.078,240.297,953.235,220.0,109.999 +183.wav=l ey1_3,754.513,120.047,-262.974,59.999,30.0 +183.wav=r ey2_3,159,113.288,-263.159,39.999,19.998 +183.wav=r ey3_3,1387.591,119.998,-354.565,40.0,20.0 +183.wav=b r4_3,63.584,83.999,-103.762,70.0,35.0 +183.wav=b r5_3,1311.374,83.999,-114.467,70,35 +183.wav=n z3_3,510.441,81.41,-103.369,60.0,30.0 +183.wav=p l3_3,666.13,112.079,-135.134,99.999,50.0 +183.wav=s t30_3,1180,96.47,-145.329,80.0,40.0 +183.wav=t b3_3,1182.95,103.057,-142.584,80.0,40.0 +183.wav=z p1_3,571.709,73.409,-99.408,49.999,24.999 +183.wav=k -4_3,1897.591,245.583,6.578,79.998,40.0 +183.wav=n93_3,460,15,-126.301,15,10 +184.wav=- s20_3,28.677,58.543,-102.145,40.0,20.0 +184.wav=ey k4_3,959.219,240.297,-272.435,220,110.0 +184.wav=ey n3_3,399.548,240.296,1744.8,219.999,109.999 +184.wav=ey n4_3,1667.628,240.295,456.501,219.999,109.998 +184.wav=r ey4_3,1464.901,84,-255.739,40.0,20.0 +184.wav=t ey1_3,164.675,141.369,-364.801,70.0,44.999 +184.wav=t ey2_3,722.468,170.187,-365.156,100.0,50.0 +184.wav=d t2_3,649.313,95.921,-114.586,79.999,40.0 +184.wav=k s5_3,1189.0,80.86,1112.925,60.0,30.0 +184.wav=n d26_3,664.969,72.078,-90.743,60.0,30.0 +184.wav=n t16_3,1950.382,72.628,400.179,59.999,29.998 +184.wav=s t31_3,83.189,96.47,-107.449,80.0,39.999 +184.wav=s t32_3,1252.309,96.47,1068.143,80.0,40.0 +184.wav=t r3_3,1375.076,89.332,-109.645,80.0,40.0 +184.wav=t -26_3,2017.754,208.73,-290.528,80.0,40.0 +184.wav=n94_3,621,15,-126.301,15,10 +184.wav=n95_3,1876,15,-126.301,15,10 +185.wav=- t6_3,204.543,70.167,2083.707,39.999,19.999 +185.wav=ih n4_3,490.768,155.105,-287.038,110.0,55.0 +185.wav=ih s1_3,1244.784,135.934,-194.817,110.0,54.999 +185.wav=ih z1_3,1876.691,139.319,-223.891,110.0,55.0 +185.wav=dh ih3_3,886,120.113,-326.802,59.999,29.999 +185.wav=s ih1_3,1381.906,200,-420,100,50 +185.wav=t ih1_3,187.387,179.875,-333.863,99.999,49.999 +185.wav=n dh2_3,792.809,67.686,-95.684,60.0,30.0 +185.wav=z -26_3,2057.606,180.416,-213.354,79.999,40.0 +185.wav=n96_3,596,15,-126.301,15,10 +186.wav=- l3_3,163.144,51.026,-70.321,40.0,20.0 +186.wav=ih l1_3,877.81,149.527,-235.99,110.0,54.999 +186.wav=ih n5_3,1621,139.318,-210.359,110.0,55.0 +186.wav=ih t1_3,406.285,120.0,-142.138,110.0,55.0 +186.wav=k ih_3,1276.585,148.093,409.457,59.999,30.0 +186.wav=l ih2_3,207.0,123.711,1591.094,30.0,14.999 +186.wav=r ih3_3,781.008,76.823,1117.108,39.996,19.999 +186.wav=l s2_3,1098.948,89.644,845.599,59.998,29.998 +186.wav=s k6_3,1180.042,96.47,-132.702,80.0,40.0 +186.wav=s t33_3,582.868,96.469,-111.841,79.999,40.0 +186.wav=t r4_3,656.959,138.774,1247.082,120.0,59.999 +186.wav=t s19_3,534.051,59.764,-94.349,40.0,20.0 +186.wav=n -10_3,1839.714,136.671,0,80.0,40.0 +186.wav=n97_3,1731,15,-126.301,15,10 +187.wav=- d9_3,66.224,54.764,2154.395,39.999,19.998 +187.wav=ih n6_3,1009.981,119.999,1117.935,109.999,54.999 +187.wav=ih ng4_3,430.836,149.467,1604.654,109.999,54.999 +187.wav=ih s2_3,1620.902,142.115,-215.403,110.0,54.999 +187.wav=l ih3_3,1221.74,117.045,850.029,60.0,30.0 +187.wav=m ih1_3,656.308,139.051,-349.787,59.999,30.905 +187.wav=r ih4_3,174.458,94.898,-215.124,39.999,20.0 +187.wav=d r4_3,83.189,93.176,-114.037,80.0,39.999 +187.wav=n l1_3,1146.637,81.41,-103.369,60.0,30.0 +187.wav=ng m1_3,590.591,81.409,1599.599,59.999,30.0 +187.wav=s -17_3,1845,316.335,-382.212,80.0,40.0 +187.wav=n98_3,1125,15,-126.301,15,10 +187.wav=ng20_3,564.106,15,-126.301,15,10 +188.wav=- k13_3,77.458,50.524,-89.615,39.999,20.0 +188.wav=ih n7_3,862.681,149.468,-288.73,110.0,55.0 +188.wav=ih ng5_3,416.395,143.762,-269.753,109.999,55.0 +188.wav=ih ng6_3,1530.679,137.628,-259.975,110.0,55.0 +188.wav=k ih2_3,61.241,211.704,2219.317,120.0,59.999 +188.wav=ng ih1_3,568,141.761,-276.809,79.999,40.0 +188.wav=t ih2_3,1224.396,209.033,1080.527,99.999,50.0 +188.wav=n t17_3,1169.777,75.92,-90.194,60.0,30.0 +188.wav=ng z1_3,1882.573,92.494,653.7,60.0,29.997 +188.wav=z -27_3,1970.18,143.681,-220.538,79.999,39.999 +188.wav=ih10_3,751.182,40.0,-210.221,20.0,40.0 +188.wav=n99_3,963,15,-126.301,15,10 +188.wav=ng21_3,560.255,15,-126.301,15,10 +188.wav=ng22_3,1652.096,15,-126.301,15,10 +189.wav=- s21_3,0,70.571,-132.967,40.0,20.0 +189.wav=ih ng7_3,897.369,126.914,-199.082,110.0,55.0 +189.wav=ih p1_3,349.24,120.0,1444.867,109.999,54.999 +189.wav=ih t2_3,1576,139.319,-174.275,110.0,55.0 +189.wav=d ih1_3,673,149.648,-338.243,59.999,30.0 +189.wav=l ih4_3,160.232,128.138,1547.402,59.999,30.0 +189.wav=t ih3_3,1194.178,170.187,-402.212,100.0,50.0 +189.wav=ng t1_3,1122.217,68.664,726.945,59.998,30.0 +189.wav=p s3_3,462.785,80.861,-122.584,59.999,29.999 +189.wav=s d2_3,551.096,96.469,-129.407,79.999,40.0 +189.wav=s l4_3,72,92.626,-116.232,80.0,39.999 +189.wav=t -27_3,1689.306,155.817,34.366,79.998,40.0 +189.wav=ng23_3,1020.985,15,-126.301,15,10 +19.wav=- hh_3,350.244,56.045,2191.835,39.999,20.0 +19.wav=ae d_3,1980.0,136.414,482.352,109.999,55.0 +19.wav=ae k_3,1346.433,159.408,-209.639,110.0,54.999 +19.wav=ae v_3,751.439,130.298,-170.892,110.0,55.0 +19.wav=b ae_3,990.625,150.0,-316.254,59.999,30.0 +19.wav=hh ae_3,386.462,157.262,1902.684,79.999,39.999 +19.wav=t ae1_3,1508.466,267.621,-517.955,69.999,44.999 +19.wav=d z_3,2081.182,105.995,379.817,80.0,40.0 +19.wav=k t_3,1443.37,83.057,-95.683,59.999,29.999 +19.wav=v b_3,886,73.41,-120.622,50.0,25.0 +19.wav=z -_3,2182.995,212.501,-295.945,80.0,40.0 +190.wav=- s22_3,67.83,63.805,-138.98,40.0,20.0 +190.wav=ih n8_3,454.664,134.12,1813.077,110.0,54.999 +190.wav=ih p2_3,1772,129.733,-159.615,110.0,55.0 +190.wav=ih t3_3,1109.732,164.878,1189.059,110.0,54.999 +190.wav=r ih5_3,853.269,91.055,-294.451,40.0,20.0 +190.wav=r ih6_3,1439.753,94.349,-306.803,40.0,20.0 +190.wav=s ih2_3,157.06,192.778,-384.371,99.999,49.999 +190.wav=k r4_3,1313.54,127.943,1040.238,119.998,60.0 +190.wav=n p1_3,675.807,75.883,1737.251,59.998,29.999 +190.wav=p r3_3,741.276,112.079,-132.938,99.999,50.0 +190.wav=p s4_3,1902.912,112.078,-177.48,59.999,29.998 +190.wav=t k2_3,1261.075,103.056,-135.995,80.0,40.0 +190.wav=s -18_3,2075.706,142.704,-212.699,80.0,40.0 +190.wav=n10_3,557,15.0,-108.524,15.0,10.0 +191.wav=- ng1_3,176.623,50.774,-76.084,40.0,20.0 +191.wav=ih ch1_3,1662.909,135.371,-171.455,110.0,55.0 +191.wav=ih ng8_3,465.496,131.425,-213.741,110.0,55.0 +191.wav=ih t4_3,1047.604,183.652,961.495,110.0,54.999 +191.wav=b ih1_3,1283.937,150,-370,60,30 +191.wav=hh ih1_3,714.318,168.816,1162.313,79.999,40.0 +191.wav=ng ih2_3,223,109.546,-318.439,40.0,20.0 +191.wav=ng hh_3,634.64,81.409,-129.72,59.999,29.999 +191.wav=t b4_3,1146.946,103.057,-142.584,80.0,40.0 +191.wav=ch -1_3,1778.114,339.947,50.86,80.0,40.0 +191.wav=ih11_3,289.771,40.0,-210.221,20.0,40.0 +191.wav=ng24_3,575.178,15.0,1573.931,15.0,10.0 +191.wav=ng25_3,576.622,15.0,1585.003,15.0,10.0 +192.wav=- v5_3,222.836,50.775,-68.065,40,20 +192.wav=ih ng9_3,553.589,129.169,-229.529,110.0,55.0 +192.wav=ih r3_3,921.155,158.488,-223.326,110.0,55.0 +192.wav=ih t5_3,1825,135.936,-164.126,110.0,55.0 +192.wav=s ih3_3,1366.587,213.638,-391.507,99.999,50.0 +192.wav=v ih1_3,260.601,109.408,-302.922,60.0,29.999 +192.wav=y ih1_3,856.837,150.345,1005.244,39.999,19.998 +192.wav=ng y1_3,752.343,81.41,-103.369,60.0,30.0 +192.wav=r z6_3,1201.28,90.505,-154.188,40.0,20.0 +192.wav=z s2_3,1259.163,73.756,-120.622,50.0,24.998 +192.wav=t -28_3,1937.533,144.794,42.875,80.0,40.0 +192.wav=ng26_3,690.71,14.999,1398.792,14.999,10.0 +193.wav=- s23_3,73.606,60.298,-112.419,40.0,20.0 +193.wav=ih m2_3,1048.342,144.581,-242.121,110.0,55.0 +193.wav=ih n9_3,494.379,134.595,1788.526,109.998,54.999 +193.wav=ih ng10_3,1668.712,143.215,608.417,110.0,54.999 +193.wav=p ih2_3,228.108,98.0,-267.203,60.0,29.999 +193.wav=s ih4_3,773.051,177.406,-336.971,99.998,49.999 +193.wav=th ih1_3,1362,154.7,-354.802,60.0,30.0 +193.wav=m th1_3,1263.729,70.831,1124.054,59.999,29.999 +193.wav=n s7_3,697.47,94.037,-137.406,59.999,29.999 +193.wav=ng z2_3,1928.184,107.212,-162.11,59.999,29.999 +193.wav=s p2_3,125.071,96.469,-129.407,79.999,40.0 +193.wav=z -28_3,2061.264,219.165,-354.214,80.0,40.0 +193.wav=ih12_3,1490.79,40.0,-210.221,20.0,40.0 +193.wav=n101_3,610,15,-126.301,15,10 +193.wav=ng27_3,1819.259,15,-126.301,15,10 +194.wav=- n7_3,240.166,47.518,1856.75,39.999,20.0 +194.wav=ih sh1_3,1810.775,156.938,-243.402,110.0,54.999 +194.wav=ih t6_3,535,134.808,-161.307,110.0,55.0 +194.wav=ih t7_3,1101.677,128.606,-162.434,110.0,55.0 +194.wav=n ih2_3,296.489,104.328,-303.073,39.999,20.0 +194.wav=w ih3_3,885.828,125.759,1036.293,50.0,24.997 +194.wav=w ih4_3,1449.081,124.374,408.053,50.0,24.998 +194.wav=s w2_3,1305.428,152.573,-183.316,119.998,60.0 +194.wav=sh t2_3,1999.632,96.47,-111.842,80.0,40.0 +194.wav=t s20_3,1233.779,68.161,844.924,40.0,20.0 +194.wav=t w3_3,763.837,123.842,-142.583,119.998,59.999 +194.wav=t -29_3,2071.848,91.544,9.466,80.0,40.0 +194.wav=ih13_3,382.92,40.0,-210.22,19.999,39.999 +194.wav=n102_3,275,15,-126.301,15,10 +195.wav=- g7_3,141.321,50.591,1986.724,40.0,19.998 +195.wav=ih k2_3,993.36,130.939,1050.726,109.998,54.999 +195.wav=ih t8_3,1717,126.351,-166.382,110.0,55.0 +195.wav=ih v1_3,583.194,133.106,1411.068,109.998,55.0 +195.wav=g ih1_3,126.513,179.646,1699.899,79.999,40.0 +195.wav=p ih3_3,1272.712,191.189,-525.249,100,50 +195.wav=z ih1_3,733.459,120.0,1183.608,50.0,25.0 +195.wav=k s6_3,1098.966,69.882,-127.524,59.999,29.999 +195.wav=s p3_3,1187.283,96.47,-133.25,80.0,40.0 +195.wav=v z1_3,636.695,74.472,1429.984,50.0,25.0 +195.wav=t -30_3,1823.445,218.639,74.453,80.0,40.0 +196.wav=- w5_3,254.607,50.775,-68.065,40,20 +196.wav=ih l2_3,652.537,135.527,-179.994,109.999,54.999 +196.wav=ih n10_3,1102.492,130.297,-218.252,110.0,55.0 +196.wav=ih s3_3,1695.403,157.923,327.416,110.0,54.999 +196.wav=l ih5_3,787.039,109.408,-267.513,60.0,30.0 +196.wav=m ih2_3,1266.121,134.126,-415.973,80.0,40.0 +196.wav=w ih5_3,300.93,154.602,-398.347,49.999,24.998 +196.wav=n m3_3,1218.222,81.41,-103.369,60.0,30.0 +196.wav=s t34_3,1875.595,96.47,-122.82,80.0,40.0 +196.wav=t -31_3,1955.746,178.202,58.08,60,30 +196.wav=n103_3,1211,15,-126.301,15,10 +197.wav=- s24_3,98.959,63.555,-104.15,40.0,20.0 +197.wav=ih l3_3,308.805,159.408,-220.345,109.999,54.999 +197.wav=ih n11_3,1051.937,128.606,-199.647,110.0,55.0 +197.wav=ih t9_3,1685,131.425,-193.444,110.0,55.0 +197.wav=d ih2_3,1255.784,150.491,-421.122,60.0,30.0 +197.wav=t ih4_3,223.164,129.288,-286.297,69.999,45.0 +197.wav=w ih6_3,804.971,120.818,-333.272,50.0,25.0 +197.wav=l w2_3,637.964,135.381,1402.076,99.998,50.0 +197.wav=n d27_3,1210.993,69.334,-78.666,60.0,30.0 +197.wav=s t35_3,141.679,96.47,-103.788,79.998,39.999 +197.wav=t s21_3,1801.943,126.935,242.933,79.999,40.0 +197.wav=s -19_3,1990,118.825,-224.229,80.0,40.0 +197.wav=n104_3,1170,15,-126.301,15,10 +198.wav=- th4_3,108.267,71.198,-114.047,39.999,20.0 +198.wav=ih ng11_3,402.676,123.999,-195.641,109.999,55.0 +198.wav=ih ng12_3,1664.165,125.224,-203.594,110.0,55.0 +198.wav=ih t10_3,1024.999,119.998,878.814,109.998,54.999 +198.wav=k ih3_3,660.526,177.508,-406.698,50,25.0 +198.wav=s ih5_3,1225.029,181.523,-398.918,100.0,50.0 +198.wav=th ih2_3,181.895,121.377,1577.076,60.0,29.999 +198.wav=ng k3_3,588.425,69.88,1384.282,59.999,30.0 +198.wav=t s22_3,1133.107,86.222,-111.475,80.0,40.0 +198.wav=ng -2_3,1904.29,99.117,33.976,79.998,40.0 +198.wav=ih14_3,293.381,40.0,-210.221,20.0,40.0 +198.wav=ng28_3,528.483,15.0,-101.531,15.0,10.0 +198.wav=ng29_3,1773.857,15,-126.301,15,10 +198.wav=th11_3,175,14.999,-69.348,14.999,10.0 +199.wav=- p16_3,113.401,52.404,1937.708,40.0,19.999 +199.wav=ih ng13_3,430.836,135.372,-267.304,110.0,55.0 +199.wav=ih ng14_3,910.338,131.425,-195.136,110.0,55.0 +199.wav=ih r4_3,1502.565,120,-243.278,110.0,55.0 +199.wav=n ih3_3,663.767,130.229,-321.274,79.999,39.999 +199.wav=p ih4_3,81.459,191.189,-441.375,120.0,60.0 +199.wav=t ih5_3,1255.878,105.683,-257.201,70.0,44.999 +199.wav=ng n_3,630.306,81.41,-103.369,60.0,30.0 +199.wav=ng s1_3,1093.25,89.096,-130.818,60.0,30.0 +199.wav=s t36_3,1154.879,96.47,-121.357,80.0,40.0 +199.wav=r -4_3,1848.111,164.577,35.577,80.0,40.0 +199.wav=ih15_3,781.527,40.0,-210.221,20.0,40.0 +199.wav=n105_3,709,15,-126.301,15,10 +199.wav=ng30_3,542.443,15,-126.301,15,10 +199.wav=ng31_3,1046.049,14.999,1006.953,14.999,10.0 +2.wav=- ow_3,554.488,160,-450,60,30 +2.wav=ah ow_3,3050.862,340,-650,240,120 +2.wav=ih uw1_3,1795.339,365.589,-612.963,240.0,119.999 +2.wav=ow ih_3,1099.879,340,-650,240,120 +2.wav=uw ah_3,2522.226,340,-650,240,120 +2.wav=ow -_3,3723.149,555.276,-677.972,299.999,120.0 +2.wav=ah1_3,2849.849,40.0,-210.221,20.0,40.0 +2.wav=ih2_3,1393.926,40.0,-366.123,20.0,40.0 +2.wav=ow_3,715.436,40.0,-210.221,20.0,40.0 +2.wav=ow1_3,3410.585,40.0,-417.8,20.0,40.0 +2.wav=uw1_3,2100.889,40.0,-210.221,20.0,40.0 +20.wav=- l1_3,352.811,47.773,-69.319,39.999,20.0 +20.wav=ae f_3,713.2,136.5,-192.881,110.0,55.0 +20.wav=ae m_3,2015,119.999,-208.627,110.0,55.0 +20.wav=ae s_3,1358.193,141.771,948.541,110.0,54.999 +20.wav=l ae_3,403.573,107.36,-275.659,60.0,29.999 +20.wav=r ae_3,1039.619,80.501,-313.541,40.0,20.0 +20.wav=y ae_3,1655,106.026,-383.259,40.0,20.0 +20.wav=f s1_3,799.549,88.235,-126.663,79.999,40.0 +20.wav=g r_3,976.281,69.882,-83.057,60.0,30.0 +20.wav=s g_3,876.109,96.469,1502.506,79.998,39.999 +20.wav=s y_3,1502.763,133.724,-158.977,119.999,60.0 +20.wav=m -1_3,2178.962,138.466,-238.929,80.0,40.0 +200.wav=- ih1_3,88.747,120.892,-291.728,60.0,30.0 +200.wav=ih k3_3,1565,137.062,-193.993,109.999,54.999 +200.wav=ih l4_3,775.274,165.816,-270.576,109.999,55.0 +200.wav=ih t11_3,360.072,132.384,1546.027,109.999,54.999 +200.wav=b ih2_3,667.856,150,-370,60,30 +200.wav=b ih3_3,1218.816,150,-370,60,30 +200.wav=d b2_3,1102.057,100.0,-140.937,80.0,40.0 +200.wav=l d7_3,1020.241,84.155,-106.663,59.999,29.999 +200.wav=s b2_3,545.319,96.47,-145.329,80.0,40.0 +200.wav=t s23_3,470.224,93.176,-125.016,79.999,39.999 +200.wav=k -5_3,1712.214,274.337,30.366,80.0,40.0 +200.wav=ih16_3,194.457,40.0,-210.221,20.0,40.0 +201.wav=- f11_3,0,70.447,-142.991,40.0,19.999 +201.wav=iy k1_3,342.021,164.877,1422.878,109.998,54.999 +201.wav=iy r1_3,750.04,119.882,-276.795,109.999,55.0 +201.wav=iy t2_3,1537,119.999,-164.168,110.0,55.0 +201.wav=m iy1_3,1171.473,133.281,-395.454,80.0,40.0 +201.wav=r iy2_3,158.572,97.999,-229.397,39.999,20.0 +201.wav=w iy2_3,690.147,132.348,-334.097,50.0,25.0 +201.wav=f r6_3,67.303,92.626,-115.134,80.0,39.999 +201.wav=k t8_3,462.785,75.921,-95.684,59.999,30.0 +201.wav=r m5_3,1081.464,61.959,-117.955,40.0,20.0 +201.wav=t s24_3,1668.997,135.599,111.46,79.998,39.998 +201.wav=t w4_3,560.432,146.588,-161.96,140.0,70.0 +201.wav=s -20_3,1867.568,101.662,4.593,80.0,40.0 +202.wav=- f12_3,191.706,80.219,-121.941,40.0,20.0 +202.wav=iy l2_3,370.904,220.477,1576.819,109.999,54.998 +202.wav=iy n1_3,1857.87,123.442,213.637,110.0,54.999 +202.wav=iy s1_3,1164.603,139.605,889.265,109.999,54.999 +202.wav=b iy1_3,829.65,128.502,-290.882,59.999,30.0 +202.wav=f iy1_3,247.823,106.716,1814.383,79.998,39.999 +202.wav=m iy2_3,1439.737,134.972,-401.151,40.0,20.0 +202.wav=d b3_3,708.543,89.334,-109.098,79.999,40.0 +202.wav=l d8_3,650.526,99.999,-109.958,59.999,30.0 +202.wav=s t37_3,1294.278,96.469,-110.377,79.999,39.999 +202.wav=t m5_3,1347.013,91.554,777.291,80.0,40.0 +202.wav=n -11_3,2056.114,134.878,9.712,79.998,39.998 +202.wav=n106_3,1875,15,-126.301,15,10 +203.wav=- k14_3,91.899,71.198,2030.926,39.999,19.999 +203.wav=iy d2_3,1717.787,126.608,385.182,110.0,54.999 +203.wav=iy m2_3,1025,137.627,-227.29,110.0,55.0 +203.wav=iy p1_3,425.782,153.644,1646.139,109.998,54.999 +203.wav=k iy1_3,103.845,177.507,-386.803,119.999,60.0 +203.wav=n iy1_3,1235.055,155.759,-384.682,80.0,40.0 +203.wav=r iy3_3,792.595,120.151,-304.607,40.0,20.0 +203.wav=d r5_3,694.925,99.999,-117.88,90,45.0 +203.wav=d z13_3,1843.0,77.935,260.262,40.0,20.0 +203.wav=m n1_3,1159.715,81.41,-103.369,60.0,30.0 +203.wav=p d1_3,546.983,112.079,-138.43,100,50.0 +203.wav=z -29_3,1957.913,202.695,-277.632,79.999,39.999 +203.wav=iy8_3,1415.145,40.0,-210.221,20.0,40.0 +204.wav=- s25_3,0.0,58.794,2000.11,9.627,3.209 +204.wav=iy l3_3,768.081,185.096,1029.379,109.999,54.999 +204.wav=iy v2_3,399.787,138.16,1538.48,109.998,54.999 +204.wav=iy z2_3,1605,147.67,-255.544,109.999,55.0 +204.wav=l iy4_3,152.289,118.49,1666.287,60.0,30.0 +204.wav=m iy3_3,638.03,73.216,1291.529,40.0,20.0 +204.wav=m iy4_3,1181.367,116.663,-397.442,60.0,30.0 +204.wav=l m2_3,1085.299,100.0,903.689,60.0,30.0 +204.wav=s l5_3,66.582,88.418,-116.233,79.999,39.998 +204.wav=v m2_3,517.159,87.687,-116.783,79.999,40.0 +204.wav=z -30_3,1865.443,135.663,48.668,79.998,40.0 +205.wav=- w6_3,105.378,50.775,-68.065,40,20 +205.wav=iy k2_3,352.851,120,-156.278,110.0,55.0 +205.wav=iy m3_3,982.601,132.391,1090.041,109.999,55.0 +205.wav=iy t3_3,1713.455,119.998,375.073,110.0,54.999 +205.wav=r iy4_3,789.71,90.999,-275.51,39.999,20.0 +205.wav=w iy3_3,144.239,127.405,-287.157,49.999,24.999 +205.wav=w iy4_3,1381.34,143.052,-392.562,50.0,24.998 +205.wav=k r5_3,682.759,107.687,-121.411,99.999,50.0 +205.wav=k s7_3,483.002,73.719,1638.171,60.0,29.999 +205.wav=m z4_3,1106.273,81.409,-144.542,59.999,29.999 +205.wav=s k7_3,556.876,96.469,-128.31,79.999,40.0 +205.wav=s w3_3,1262.948,128.785,-146.901,119.998,60.0 +205.wav=z s3_3,1202.934,67.019,-103.252,50.0,24.998 +205.wav=t -32_3,1808.442,316.335,-382.212,80.0,40.0 +206.wav=- k15_3,92.862,66.957,1936.746,40.0,19.999 +206.wav=iy n2_3,443.111,134.807,-201.771,110.0,55.0 +206.wav=iy t4_3,1040,119.999,-142.701,110.0,55.0 +206.wav=l iy5_3,207,98.704,-269.985,60.0,30.0 +206.wav=m iy5_3,1333.542,103.769,-380.091,40.0,20.0 +206.wav=r iy5_3,776.705,85.291,-258.218,40.0,20.0 +206.wav=k l2_3,69.906,123.955,-145.914,120,60.0 +206.wav=n t18_3,598.0,59.999,1447.043,59.999,30.0 +206.wav=s m2_3,1237,96.469,-125.565,79.999,40.0 +206.wav=t r5_3,657.71,129.332,-146.9,120.0,59.999 +206.wav=t s25_3,1156.595,62.508,-103.682,40.0,20.0 +206.wav=iy -3_3,1668.685,426.227,9.676,300.0,119.998 +206.wav=n107_3,565,15,-126.301,15,10 +207.wav=- f13_3,89.012,73.828,-118.182,39.999,19.999 +207.wav=ow l1_3,1547.764,240.0,-289.35,220,110.0 +207.wav=ow n2_3,448.644,240,-300,220,110.0 +207.wav=ow n3_3,906.506,257.055,-336.108,219.999,110.0 +207.wav=l ow1_3,217.999,140.343,-336.551,60.0,30.0 +207.wav=l ow2_3,756.687,120.936,-275.747,60.0,30.0 +207.wav=r ow1_3,1404.962,85.015,-347.976,40.0,20.0 +207.wav=f l5_3,135.902,93.175,-117.879,79.999,40.0 +207.wav=l d9_3,1942.44,77.567,-95.683,60.0,29.999 +207.wav=n l2_3,608.648,81.41,-103.369,60.0,30.0 +207.wav=n t19_3,1207.309,66.589,1149.772,60.0,30.0 +207.wav=t r6_3,1285.747,112.276,1003.872,100.0,50.0 +207.wav=d -19_3,2014.142,191.99,-263.355,80.0,40.0 +207.wav=n108_3,575,15,-126.301,15,10 +207.wav=n109_3,1145,15,-126.301,15,10 +208.wav=- w7_3,268.086,50.775,-68.065,40,20 +208.wav=ow l2_3,1734.199,240.0,-275.994,219.998,109.998 +208.wav=ow n4_3,413.999,240.0,-336.108,219.999,109.999 +208.wav=ow n5_3,966.535,240.0,-322.11,220.0,109.999 +208.wav=s ow1_3,1423.795,200,-420,100,50 +208.wav=w ow1_3,305,86.999,-237.749,49.999,25.0 +208.wav=w ow2_3,931.382,103.524,1233.1,49.999,24.997 +208.wav=l d10_3,2022.006,78.115,250.176,59.999,29.998 +208.wav=n t20_3,696.029,71.528,-81.41,59.999,30.0 +208.wav=n t21_3,1265.171,70.977,-78.663,59.998,30.0 +208.wav=t s26_3,1333.565,56.469,-120.15,40.0,20.0 +208.wav=t w5_3,784.331,154.747,-182.927,139.999,69.999 +208.wav=d -20_3,2072.047,191.99,-263.355,80.0,40.0 +208.wav=n110_3,625,15,-126.301,15,10 +208.wav=n111_3,1215,15,-126.301,15,10 +209.wav=- hh6_3,72.002,63.555,-93.375,40.0,19.999 +209.wav=ow n6_3,952.689,240,-300,220,110.0 +209.wav=ow s1_3,346.108,253.938,1497.717,219.999,109.999 +209.wav=ow t1_3,1676.224,240.0,-275.254,220,110.0 +209.wav=b ow1_3,1337,150,-370,60,30 +209.wav=d ow1_3,755.957,159.795,-290.882,60.0,30.0 +209.wav=hh ow2_3,108.462,136.819,1770.662,79.998,39.999 +209.wav=n t22_3,1179.118,98.993,857.922,59.999,29.999 +209.wav=s t38_3,623.305,96.469,-132.702,79.999,40.0 +209.wav=t b5_3,1245.335,95.371,-109.095,40,20 +209.wav=t d2_3,704.687,69.15,-80.495,59.999,30.0 +209.wav=t -33_3,1897.819,192.815,-252.928,80.0,40.0 +209.wav=n112_3,1177,15,-126.301,15,10 +21.wav=- jh_3,357.304,53.533,-79.092,39.999,20.0 +21.wav=ae k1_3,1277.171,176.87,-236.07,110.0,55.0 +21.wav=ae ng_3,744.232,133.107,1391.626,109.999,55.0 +21.wav=ae ng1_3,1854.855,119.998,282.447,110.0,54.999 +21.wav=f ae_3,957.656,166.263,1023.349,80.0,40.0 +21.wav=jh ae_3,392.02,139.998,-297.982,60.0,30.0 +21.wav=th ae_3,1512.767,115.995,-339.277,60.0,30 +21.wav=k s_3,2043.494,77.569,166.193,60.0,29.999 +21.wav=k t1_3,1380.612,111.605,-147.288,60.0,30.0 +21.wav=ng f_3,884.499,85.802,-137.955,60.0,30.0 +21.wav=ng k2_3,1960.456,75.58,-90.951,60.0,29.999 +21.wav=t th_3,1388.06,107.449,-134.348,80.0,40.0 +21.wav=s -2_3,2159.926,96.762,0,80.0,40.0 +21.wav=ae1_3,1645,40.0,-210.221,20.0,40.0 +21.wav=ng1_3,861.156,15.0,-73.416,15.0,10.0 +21.wav=ng10_3,1944.359,14.998,299.498,14.998,10.0 +210.wav=- d10_3,141.322,45.455,2118.773,39.999,19.999 +210.wav=ow l3_3,1534.73,229.882,-276.819,220.0,109.999 +210.wav=ow n7_3,263.069,240,-300,220,110.0 +210.wav=ow n8_3,918.77,240.0,-298.23,219.999,110.0 +210.wav=d ow2_3,134.238,123.408,-249.398,60.0,30.0 +210.wav=hh ow3_3,1240.014,139.2,-496.095,80.0,40.0 +210.wav=n ow1_3,749.964,139.639,-310.034,39.999,20.0 +210.wav=n hh1_3,1175.523,80.942,1016.11,59.999,29.999 +210.wav=n t23_3,530.66,69.333,-75.921,59.999,30.0 +210.wav=t n3_3,652.193,95.371,-122.454,79.998,39.999 +210.wav=l -7_3,1816.259,317.156,-379.191,79.998,39.998 +210.wav=ow6_3,836.745,40.0,-210.221,20.0,40.0 +210.wav=n113_3,419,15,-126.301,15,10 +210.wav=n114_3,1189,15,-126.301,15,10 +211.wav=- y4_3,100.564,50.775,-68.065,40.0,20.0 +211.wav=uh d2_3,1090.955,120.0,-157.924,110.0,54.999 +211.wav=uh r2_3,399.066,130.859,-211.285,109.998,54.999 +211.wav=uh r3_3,1712.828,139.605,570.077,109.999,54.999 +211.wav=w uh1_3,786.205,143.874,1384.844,50.0,24.997 +211.wav=y uh2_3,162.182,99.21,2076.635,39.999,19.998 +211.wav=y uh_3,1295.294,154.462,-383.259,40.0,20.0 +211.wav=d y2_3,1196.076,100.0,-126.115,80.0,40.0 +211.wav=r t_3,575.932,67.998,-86.663,40.0,20.0 +211.wav=r z7_3,1920.744,90.505,-150.894,40.0,20.0 +211.wav=t w6_3,629.049,149.882,-163.057,140.0,69.999 +211.wav=z -31_3,2057.652,108.822,-163.994,80.0,40.0 +212.wav=- y5_3,235.673,50.775,-68.065,40.0,20.0 +212.wav=uw m2_3,1116.847,128.115,-192.345,109.998,54.999 +212.wav=uw p2_3,1821.607,146.825,177.71,109.998,54.999 +212.wav=uw z2_3,587.528,135.372,-196.264,109.999,54.999 +212.wav=t uw1_3,801.389,198.503,-390.92,120.0,59.999 +212.wav=t uw2_3,1442.08,185.531,404.442,69.998,44.999 +212.wav=y uw7_3,332.088,132.228,-307.352,60,30.0 +212.wav=d t3_3,709.245,99.998,-111.84,79.999,39.999 +212.wav=m s_3,1262.164,97.88,-153.327,60.0,30.0 +212.wav=s t39_3,1341.815,96.47,-117.33,80.0,40.0 +212.wav=z d2_3,726.96,73.409,-99.408,50.0,25.0 +212.wav=p -7_3,1959.772,169.763,0,79.999,40.0 +213.wav=- t7_3,178.549,65.184,1971.876,39.998,19.999 +213.wav=uw d1_3,513.876,123.175,1578.985,109.998,55.0 +213.wav=uw g1_3,1195.0,130.607,882.756,109.998,54.999 +213.wav=uw m3_3,1745.226,119.999,-211.487,110.0,54.999 +213.wav=r uw6_3,1442.612,121.522,-318.33,40.0,20.0 +213.wav=t uw3_3,140.165,201.377,1694.518,139.999,69.999 +213.wav=y uw8_3,977.702,118.488,981.028,59.999,29.999 +213.wav=d k2_3,613.208,90.43,-109.095,79.999,40.0 +213.wav=g r6_3,1356.162,69.882,-83.057,60.0,30.0 +213.wav=k y_3,735.211,158.268,-175.286,140,70.0 +213.wav=m -8_3,1944.192,171.051,47.903,80.0,40.0 +214.wav=- f14_3,70.719,80.845,-157.273,39.999,19.999 +214.wav=uw l2_3,448.173,130.586,-193.994,109.999,54.999 +214.wav=uw n1_3,1195.664,136.715,866.87,109.998,54.999 +214.wav=uw z3_3,1821.045,165.171,-283.75,109.999,55.0 +214.wav=f uw1_3,169.838,200,-500,80.0,40.0 +214.wav=n uw1_3,1313.059,148.348,-276.808,79.999,40.0 +214.wav=y uw9_3,831.584,106.026,-383.259,40.0,20.0 +214.wav=l y2_3,701.094,100,-120,60,30 +214.wav=z -32_3,2061.893,150.153,-178.974,79.998,40.0 +214.wav=uw6_3,1458.469,40.0,-210.221,20.0,40.0 +214.wav=n115_3,1305,15,-126.301,15,10 +215.wav=- n8_3,241.128,50.775,2177.566,39.999,20.0 +215.wav=uw m4_3,1290.32,133.058,-181.642,110.0,54.999 +215.wav=uw n2_3,725,133.116,-186.58,109.998,55.0 +215.wav=n uw_3,291,186.578,-414.677,39.999,20.0 +215.wav=y uw10_3,900.166,188.112,-410.447,100.0,50.0 +215.wav=y uw11_3,1613.325,186.815,-346.567,60.0,30.0 +215.wav=m p2_3,1435.655,67.137,-77.018,60.0,30.0 +215.wav=n y4_3,849.157,81.41,-103.369,60.0,30.0 +215.wav=p y1_3,1496.48,120.654,845.812,114,57 +215.wav=uw -2_3,1882.423,448.747,110.165,299.998,119.998 +215.wav=uw7_3,381.837,39.999,1907.308,19.999,39.999 +215.wav=n116_3,275,15,-126.301,15,10 +215.wav=n117_3,835,15,-126.301,15,10 +216.wav=- p17_3,186.893,58.613,2530.153,39.999,19.998 +216.wav=uw d2_3,1255,119.998,-145.409,110.0,54.999 +216.wav=uw k1_3,585,130.586,-162.701,109.998,54.999 +216.wav=uw s1_3,2049.259,149.854,-214.907,109.999,54.999 +216.wav=y uw12_3,300.823,126.462,-292.802,39.998,20.0 +216.wav=y uw13_3,923.308,166.265,-355.662,40.0,20.0 +216.wav=y uw14_3,1614.889,185.754,-383.259,80,40 +216.wav=d y3_3,826.251,92.627,-121.723,79.999,40.0 +216.wav=d z14_3,1375.4,61.411,-98.192,39.999,20.0 +216.wav=k d1_3,742.247,77.33,1960.895,59.999,30.0 +216.wav=p y2_3,164.5,130.979,-152.938,119.998,59.999 +216.wav=z y_3,1429.289,91.528,-120.622,80.0,40.0 +216.wav=s -21_3,2200,316.335,-382.212,80.0,40.0 +217.wav=- l4_3,144.53,46.268,2285.717,40.0,19.999 +217.wav=uw n3_3,555.034,120.0,-173.711,109.999,55.0 +217.wav=uw s2_3,1215.907,137.174,-216.227,109.999,54.999 +217.wav=l uw1_3,185,117.509,-295.111,30.0,15.0 +217.wav=t uw4_3,716.45,268.528,1303.946,139.998,69.999 +217.wav=t uw5_3,1454.539,199.972,529.741,69.998,44.999 +217.wav=n t24_3,674.375,68.234,-78.115,59.999,30.0 +217.wav=s t40_3,1358.584,96.468,-125.381,79.998,39.998 +217.wav=uw -3_3,1896.143,480.0,-571.594,299.999,120.0 +217.wav=n118_3,675,15,-126.301,15,10 +218.wav=- y6_3,279.96,56.288,-78.339,40.0,20.0 +218.wav=uw l3_3,1711.239,137.062,-225.285,109.999,54.999 +218.wav=uw t2_3,690.802,120.0,-161.871,109.999,54.999 +218.wav=uw t3_3,1230.985,139.318,-168.467,110.0,54.999 +218.wav=t uw6_3,829.182,261.923,1270.293,150.0,74.999 +218.wav=t uw7_3,1404.649,270.106,-542.673,139.999,69.998 +218.wav=y uw_3,377.359,106.026,1884.958,39.999,20.0 +218.wav=l z3_3,2037.793,85.252,347.496,59.999,29.999 +218.wav=t t3_3,1405.416,103.057,-142.584,80.0,40.0 +218.wav=z -33_3,2192.537,200.226,-257.045,80.0,40.0 +219.wav=- m11_3,70.396,53.801,2092.543,39.999,20.0 +219.wav=uw b1_3,1777.72,137.383,-158.793,109.999,54.999 +219.wav=uw n4_3,970.328,119.998,-184.111,109.998,54.999 +219.wav=uw v1_3,456.109,134.809,-181.042,109.999,54.999 +219.wav=g uw_3,642.092,120.436,1303.859,79.999,40.0 +219.wav=m uw1_3,128.858,58.882,1889.479,29.999,15.0 +219.wav=t uw8_3,1258.398,236.473,570.321,100.0,50.0 +219.wav=n z4_3,1096.162,81.409,-128.073,60.0,30.0 +219.wav=v g_3,563,73.409,-111.484,49.999,25.0 +219.wav=z t1_3,1177.665,58.783,-82.938,50.0,24.998 +219.wav=b -4_3,1901.59,265.574,54.47,80.0,40.0 +219.wav=n119_3,1096,15,-126.301,15,10 +22.wav=- s1_3,243.696,65.811,-106.155,40.0,20.0 +22.wav=ae m1_3,1230.354,132.803,1077.825,109.998,54.999 +22.wav=ae ng2_3,714.646,134.245,-196.264,110.0,55.0 +22.wav=ae sh_3,1886.126,141.01,-205.849,110.0,55.0 +22.wav=q ae_3,1486.363,81.04,677.03,10.0,10.0 +22.wav=s ae_3,291.366,168.622,-319.042,100.0,50.0 +22.wav=y ae1_3,932.726,96.545,1280.096,39.999,19.999 +22.wav=k q1_3,1430.585,64.332,995.468,60.0,30.0 +22.wav=m k_3,1369.19,78.665,-101.722,60.0,30.0 +22.wav=ng y_3,867.931,81.41,-103.369,60.0,30.0 +22.wav=sh t_3,2060.543,96.469,-139.838,79.999,40.0 +22.wav=t -1_3,2151.524,176.304,120.943,79.999,40.0 +22.wav=ng2_3,805,15,-126.301,15,10 +23.wav=- d_3,326.173,48.521,-55.788,40.0,20.0 +23.wav=ae l_3,583.211,133.68,-177.093,110.0,55.0 +23.wav=ae l1_3,1746.717,120,-159.795,110.0,55.0 +23.wav=ae ng3_3,1230.345,130.297,-181.04,110.0,55.0 +23.wav=d ae_3,329.199,180.0,-371.226,60.0,29.999 +23.wav=k ae1_3,1534.581,160.462,-351.506,59.999,30.0 +23.wav=y ae2_3,963.044,137.169,-280.452,40.0,20.0 +23.wav=l p_3,2020.561,100,-120,60,30 +23.wav=l y_3,875.863,87.448,-115.994,59.999,29.999 +23.wav=ng s_3,1383.0,81.409,871.227,60.0,30.0 +23.wav=s k1_3,1438.026,96.47,-124.467,80.0,40.0 +23.wav=p -1_3,2099.485,189.034,27.054,80.0,40.0 +23.wav=ng3_3,1355,15.823,-79.23,14.999,10.0 +24.wav=- g1_3,287.663,55.412,-66.689,39.999,19.999 +24.wav=ae n2_3,739.925,137.438,1326.218,109.998,54.999 +24.wav=ae p_3,1218.053,143.215,847.367,110.0,54.999 +24.wav=ae z_3,1896.863,144.175,-235.166,109.999,54.999 +24.wav=l ae1_3,358.804,157.992,-321.862,60.0,30.0 +24.wav=n ae_3,853.72,161.189,-365.854,79.999,39.999 +24.wav=p ae_3,1335.228,245.904,-500.0,60.0,30.0 +24.wav=g l_3,297.428,69.882,-96.234,60.0,30.0 +24.wav=n n_3,856.146,49.388,1324.764,40.0,20.0 +24.wav=z -1_3,2082.833,119.712,8.854,79.997,39.998 +24.wav=ae2_3,976.533,40.0,-210.221,20.0,40.0 +24.wav=n5_3,850.0,15.0,1326.447,15.0,10.0 +24.wav=n6_3,861.178,15.0,1322.59,15.0,10.0 +25.wav=- k1_3,302.105,52.404,-94.127,39.999,19.999 +25.wav=ah m_3,548.534,136.5,-208.104,110.0,55.0 +25.wav=ah r_3,1285.943,131.424,761.426,109.999,54.999 +25.wav=ah sh_3,1860.758,151.159,-296.059,110.0,55.0 +25.wav=k ah_3,282.197,177.508,1632.419,120.0,60.0 +25.wav=p ah_3,842.374,201.09,1017.146,99.999,49.999 +25.wav=r ah_3,1462.109,103.999,-381.671,39.999,19.999 +25.wav=m z_3,742.973,81.41,-103.369,60.0,30.0 +25.wav=z p_3,795.602,73.409,-106.728,49.999,24.999 +25.wav=sh -_3,2085.719,107.439,19.089,80.0,40.0 +26.wav=- t_3,264.236,68.882,1902.556,39.998,19.999 +26.wav=ah hh_3,1309.054,134.967,-193.04,110.0,55.0 +26.wav=ah n_3,1834.042,142.138,-210.923,110.0,55.0 +26.wav=ah ng_3,736.323,130.218,1323.7,109.999,55.0 +26.wav=hh ah1_3,1473.391,138.214,-271.615,80.0,40.0 +26.wav=ng ah_3,870.325,297.395,-523.49,79.999,39.999 +26.wav=t ah_3,231.038,184.348,-376.216,130.0,64.998 +26.wav=n t_3,2000.299,69.384,164.226,59.997,29.999 +26.wav=t -2_3,2066.945,107.508,8.908,80.0,40.0 +26.wav=ah6_3,1018.41,40.0,-210.221,20.0,40.0 +26.wav=n7_3,1950.0,14.998,202.295,14.998,10.0 +26.wav=ng4_3,852.032,15.0,1304.78,15.0,10.0 +27.wav=- p1_3,516.174,57.29,2278.45,39.999,20.0 +27.wav=ah ng1_3,2061.364,134.244,-211.487,110.0,55.0 +27.wav=ah s_3,1395.574,138.883,1291.922,109.999,54.999 +27.wav=ah w_3,947.144,129.763,-175.053,109.999,55.0 +27.wav=m ah1_3,1624.66,138.355,-320.185,60.0,30.0 +27.wav=r ah1_3,614.925,109.912,-355.172,39.999,20.0 +27.wav=w ah_3,1087.297,131.594,1505.655,50.0,24.998 +27.wav=p r_3,465.824,151.528,-171.291,140.0,49.999 +27.wav=s m_3,1514.836,128.233,-166.844,119.998,59.998 +27.wav=ng -_3,2213.397,211.206,-268.848,80.0,40.0 +27.wav=ng5_3,2152.914,15.0,-126.301,15.0,9.999 +28.wav=- ch_3,324.567,66.317,2258.181,39.999,20.0 +28.wav=ah n1_3,1974.117,145.408,-270.575,110.0,54.999 +28.wav=ah ng2_3,666.245,137.627,-225.582,110.0,55.0 +28.wav=ah th_3,1418.761,138.822,-180.819,109.999,54.999 +28.wav=b ah1_3,969.742,150,-370,60,30 +28.wav=ch ah_3,344.079,176.56,-363.019,99.999,49.999 +28.wav=th ah_3,1565,136.308,-430.559,59.999,30.0 +28.wav=ng b_3,914.846,72.627,1679.195,59.998,29.999 +28.wav=n -1_3,2241.68,316.335,-382.212,80.0,40.0 +28.wav=ah7_3,1736.968,40.0,-210.221,20.0,40.0 +28.wav=n8_3,2131.6,14.998,-126.1,14.998,9.999 +28.wav=ng6_3,800.968,15,-126.301,15,10 +28.wav=th_3,1520.682,14.999,1094.288,14.999,10.0 +29.wav=- g2_3,330.346,46.389,-57.29,39.999,19.999 +29.wav=ah dh_3,838.846,135.995,1560.709,109.999,55.0 +29.wav=ah jh_3,1449.804,193.039,881.876,109.999,54.999 +29.wav=ah n2_3,1927.139,126.09,-214.609,110.0,55.0 +29.wav=dh ah_3,987.06,179.999,-416.049,60.0,30.0 +29.wav=g ah_3,305.59,227.401,-506.243,79.999,40.0 +29.wav=jh ah_3,1568.354,196.162,-332.323,120,60 +29.wav=n t1_3,2130.221,65.775,354.717,59.998,29.999 +29.wav=t -3_3,2203.368,204.342,-281.748,80.0,40.0 +29.wav=n9_3,2035,14.998,-145.055,14.998,10.0 +3.wav=- ah_3,431.734,278.79,3301.922,60.0,29.999 +3.wav=ah iy1_3,969.857,340,-650,240,120 +3.wav=ih ow_3,2346.567,340,-650,240,120 +3.wav=iy ih_3,1652.254,340,-650,240,120 +3.wav=ow ay_3,2948.812,340,-650,240,120 +3.wav=ay -_3,3608.285,533.041,-655.737,299.999,120.0 +3.wav=ah2_3,555.495,40.0,-210.221,20.0,40.0 +3.wav=ay2_3,3216,40.0,-339.916,20.0,40.0 +3.wav=ih3_3,2007.637,40.0,-210.221,20.0,40.0 +3.wav=iy3_3,1270.002,39.999,-483.9,20.0,39.999 +3.wav=ow2_3,2762.607,40.0,-210.221,20.0,40.0 +30.wav=- z1_3,281.245,64.556,-88.112,39.999,20.0 +30.wav=ah ch_3,1985.671,217.589,387.237,109.999,55.0 +30.wav=ah d_3,1443.324,159.822,1050.894,109.998,54.999 +30.wav=ah m1_3,712.468,159.824,1700.875,109.998,55.0 +30.wav=d ah_3,1598,179.999,-387.294,60.0,30.0 +30.wav=y ah_3,1011.405,149.521,-421.265,40.0,20.0 +30.wav=z ah_3,342.811,142.227,-312.684,49.999,25.0 +30.wav=m n_3,870.072,81.41,-103.369,60.0,30.0 +30.wav=n y_3,926.41,81.41,-103.369,60.0,30.0 +30.wav=ch -_3,2101.596,296.862,-382.276,80,40 +31.wav=- dh_3,255.57,69.525,2201.87,39.999,19.998 +31.wav=ah l2_3,1836.157,158.584,-264.811,110.0,54.999 +31.wav=ah s1_3,731.238,137.626,-180.819,109.999,55.0 +31.wav=ah t_3,1290.924,127.293,1128.127,109.998,54.999 +31.wav=dh ah1_3,321.979,132.733,-337.508,60.0,30.0 +31.wav=n ah_3,1554,104.524,-352.676,40.0,20.0 +31.wav=s ah_3,850,200,-420,100,50 +31.wav=l z_3,2159.103,100.0,-150.581,60.0,29.999 +31.wav=t n_3,1446.582,91.528,-111.84,80.0,40.0 +31.wav=z -2_3,2266.188,164.513,52.859,80.0,40.0 +31.wav=ah8_3,1650.289,40.0,-210.221,20.0,40.0 +32.wav=- k2_3,337.404,59.257,2320.676,39.999,20.0 +32.wav=ah b_3,1446.824,141.291,1129.383,109.999,54.998 +32.wav=ah p_3,631.576,136.351,-166.819,109.999,54.999 +32.wav=ah v_3,2219.462,141.573,-263.921,110.0,55.0 +32.wav=b ah_3,1572.645,150,-370,60,30 +32.wav=k ah1_3,383,177.508,-406.698,120.0,60.0 +32.wav=l ah4_3,1052.013,163.178,-421.123,59.999,30.0 +32.wav=f l_3,970.633,94.103,-110.742,79.999,40.0 +32.wav=p s2_3,783.544,166.716,1732.336,140.0,49.999 +32.wav=s f_3,838.49,96.821,1765.931,79.999,40.0 +32.wav=v -_3,2328,210,186,80,40 +33.wav=- sh_3,271.295,72.575,-130.711,40.0,20.0 +33.wav=ah f_3,772.404,159.1,1674.879,109.998,55.0 +33.wav=ah k_3,1306.104,134.808,-159.052,110.0,55.0 +33.wav=ah z_3,2111.312,123.532,-206.412,110.0,55.0 +33.wav=f ah_3,954.07,163.17,-364.096,80.0,40.0 +33.wav=sh ah_3,346.967,157.642,-371.743,99.999,49.999 +33.wav=sh ah1_3,1532.04,200,-420,100,50 +33.wav=f f_3,876.793,100,-150,80.0,40.0 +33.wav=k sh_3,1423.269,94.66,1094.953,60.0,30.0 +33.wav=z -3_3,2249.623,316.335,-382.212,80.0,40.0 +34.wav=- v_3,410.577,50.775,-82.85,40.0,20.0 +34.wav=ah g_3,2037.617,138.755,-165.818,110.0,55.0 +34.wav=ah l1_3,700.189,167.765,1632.214,109.998,55.0 +34.wav=ah m2_3,1360.253,142.7,1010.417,110.0,54.999 +34.wav=hh ah_3,1615.573,199.999,-430.129,80.0,40.0 +34.wav=q ah_3,1063.784,125.533,1168.602,10.0,10.0 +34.wav=v ah_3,456.284,121.485,-356.448,60.0,29.999 +34.wav=dh q_3,996.679,106.899,-143.68,79.998,39.999 +34.wav=g z_3,2161.991,69.882,-130.818,60.0,30.0 +34.wav=l dh_3,929.286,100,-120,60,30 +34.wav=m hh_3,1509.193,81.409,-122.035,59.999,30.0 +34.wav=z -4_3,2266,153.991,-241.278,80.0,40.0 +35.wav=- s2_3,317.508,50.774,-106.906,40.0,20.0 +35.wav=ao l_3,1432.382,119.882,1121.44,109.999,54.999 +35.wav=ao ng1_3,2045.441,163.0,-231.785,110.0,55.0 +35.wav=ao r9_3,622.188,152.603,1905.639,109.999,55.0 +35.wav=hh ao_3,987.243,199.999,-476.643,80.0,40.0 +35.wav=p ao_3,453.398,105.292,-237.87,59.999,30.0 +35.wav=r ao_3,1604.197,141.286,-366.092,40.0,20.0 +35.wav=l r_3,1485.995,80.94,1135.879,60.0,30.0 +35.wav=ng d_3,2270.184,74.442,394.293,60.0,29.999 +35.wav=r t1_3,813.5,71.292,-84.467,40.0,20.0 +35.wav=s hh_3,906.367,96.47,-145.329,80.0,40.0 +35.wav=s p_3,350.358,96.47,-122.822,80.0,39.999 +35.wav=t s_3,891,103.057,-142.584,80.0,40.0 +35.wav=d -_3,2329.613,191.99,-263.355,80.0,40.0 +35.wav=ng7_3,2161,15,-126.301,15,10 +36.wav=- s3_3,312.694,50.775,-99.64,40.0,20.0 +36.wav=ao f_3,1460.523,119.999,-195.64,109.999,54.999 +36.wav=ao r1_3,735,164.126,-210.359,110.0,55.0 +36.wav=ao r2_3,1920.486,141.574,-224.455,110.0,55.0 +36.wav=f ao_3,1594.501,159.052,-345.979,80.0,40.0 +36.wav=k ao_3,461.34,124.231,-323.509,60.0,29.999 +36.wav=l ao_3,1044.06,156.346,-413.512,59.999,30.0 +36.wav=b z_3,2261.375,84.586,-141.13,50.0,25.0 +36.wav=r b_3,2212.163,65.274,330.716,40.0,20.0 +36.wav=r l_3,955.745,67.996,1551.031,40.0,20.0 +36.wav=s k2_3,385,73.908,-100.258,60.0,29.999 +36.wav=z -5_3,2337.248,167.065,54.16,79.999,39.999 +37.wav=- t1_3,281.566,59.171,-85.482,39.999,20.0 +37.wav=ao k_3,623.637,145.802,-187.772,110.0,55.0 +37.wav=ao l1_3,1949.484,119.999,-179.171,110.0,54.999 +37.wav=ao r3_3,1150.818,141.01,-233.475,110.0,55.0 +37.wav=f ao1_3,868.119,142.099,1240.764,79.999,40.0 +37.wav=t ao_3,238.981,254.618,-398.45,130.0,65.0 +37.wav=y ao_3,1499.567,170.108,-435.263,40.0,20.0 +37.wav=d y_3,1424.181,103.057,-123.369,79.999,40.0 +37.wav=k t2_3,721.303,69.882,-83.057,60.0,30.0 +37.wav=r d_3,1368.852,75.134,-108.073,39.999,20.0 +37.wav=t f_3,747.526,103.057,-142.584,80.0,40.0 +37.wav=l -1_3,2082.741,223.208,23.739,80.0,40.0 +38.wav=- q_3,447.486,47.518,-54.283,39.999,19.999 +38.wav=ao r4_3,664.07,120,-192.278,110.0,55.0 +38.wav=ao r5_3,1210.701,148.339,-245.879,110.0,55.0 +38.wav=ao r6_3,1960.958,131.424,-206.975,110.0,55.0 +38.wav=d ao_3,1613.083,139.428,776.283,60.0,30.0 +38.wav=n ao_3,1099.452,137.17,-335.625,40.0,20.0 +38.wav=q ao_3,491.121,111.813,1987.958,9.999,9.999 +38.wav=p s1_3,904.707,83.293,1707.782,59.998,29.999 +38.wav=r d1_3,2291.629,57.567,-72.389,39.999,19.999 +38.wav=r p_3,866.213,54.273,-74.036,40.0,20.0 +38.wav=r th_3,1474.941,95.052,1169.48,40.0,20.0 +38.wav=s n_3,1013.961,89.882,-106.351,79.999,40.0 +38.wav=th d_3,1505.381,73.41,-120.622,50.0,25.0 +38.wav=d -1_3,2336.833,269.907,70.08,80.0,40.0 +38.wav=ao1_3,1201.769,40.0,-210.221,20.0,40.0 +39.wav=- th_3,238.882,74.957,-116.303,40.0,19.999 +39.wav=ao ng3_3,1089.503,119.998,-168.406,110.0,55.0 +39.wav=ao s_3,1875,120.0,-229.53,110.0,55.0 +39.wav=ao t_3,626.533,142.137,-176.53,110.0,55.0 +39.wav=l ao1_3,1403.131,160.463,-376.211,60.0,30.0 +39.wav=s ao_3,806.274,153.799,-314.923,99.998,49.999 +39.wav=th ao_3,305.371,120.936,-305.941,60.0,29.999 +39.wav=g l1_3,1355.459,75.372,-101.722,60.0,30.0 +39.wav=ng z_3,1221.84,72.078,-97.88,60.0,30.0 +39.wav=s t_3,2030.888,96.47,-109.279,80.0,40.0 +39.wav=t s1_3,727.322,103.057,-142.584,80.0,40.0 +39.wav=z g_3,1287.456,73.409,-90.075,50.0,24.998 +39.wav=t -4_3,2113.927,162.347,-229.322,80.0,40.0 +39.wav=ao2_3,420.0,40.685,1744.564,20.0,39.999 +39.wav=ng8_3,1182.723,14.999,-74.244,14.999,10.0 +39.wav=th1_3,283.458,15.0,-67.347,15.0,10.0 +4.wav=- uw_3,370.358,220,-500,60,30 +4.wav=ay ey_3,2699.083,451.376,-744.419,399.999,199.999 +4.wav=ih uw2_3,1528.842,340,-650,240,120 +4.wav=uw ay_3,2208.042,340,-650,240,120 +4.wav=uw ih_3,852.89,340,-650,240,120 +4.wav=ey -_3,3429.66,452.064,-518.49,299.998,119.997 +4.wav=ay3_3,2540.565,40.0,-210.221,20.0,40.0 +4.wav=ey_3,3113.921,40.0,-210.221,20.0,40.0 +4.wav=ih4_3,1184.437,40.0,-210.221,20.0,40.0 +4.wav=uw2_3,502.062,40.0,-210.221,20.0,40.0 +4.wav=uw3_3,1849.558,40.0,-364.92,20.0,40.0 +40.wav=- w_3,340.294,50.775,-68.065,40,20 +40.wav=ao l2_3,1067.79,130.586,-222.815,109.999,54.999 +40.wav=ao r7_3,493.66,139.882,-224.454,110.0,55.0 +40.wav=ao r8_3,1943.706,129.734,-203.03,110.0,55.0 +40.wav=b ao_3,946.611,150,-370,60,30 +40.wav=g ao_3,1473.287,200,-380.231,80.0,40.0 +40.wav=w ao_3,399.746,115.759,-281.275,39.999,19.998 +40.wav=l g_3,1397.241,85.995,926.603,60.0,30.0 +40.wav=m th_3,784.131,82.383,1534.66,59.999,30.0 +40.wav=r m3_3,730.467,59.764,-105.327,40.0,20.0 +40.wav=th b_3,848.29,73.41,-120.622,50.0,25.0 +40.wav=r -1_3,2235,244.271,-278.033,80.0,40.0 +41.wav=- r_3,261.024,51.876,2099.346,39.999,20.0 +41.wav=ao n1_3,1232.417,125.788,-176.532,110.0,55.0 +41.wav=ao ng2_3,705.238,131.423,-204.719,110.0,55.0 +41.wav=ao r_3,1647.655,147.212,-249.771,110.0,55.0 +41.wav=m ao_3,847.679,142.316,1237.88,59.999,30.0 +41.wav=r ao1_3,317.429,113.287,-305.155,39.999,20.0 +41.wav=w ao1_3,1425.905,129.758,-318.331,40.0,20.0 +41.wav=n d_3,2112.128,79.215,-120.389,60.0,29.998 +41.wav=n w1_3,1377.74,81.41,-103.369,60.0,30.0 +41.wav=ng m_3,762.468,81.41,-103.369,60.0,30.0 +41.wav=r n_3,1991.323,63.057,-105.328,40.0,20.0 +41.wav=d -2_3,2143.178,177.698,49.971,80.0,40.0 +41.wav=n100_3,1355.996,14.998,-107.94,14.998,10.0 +41.wav=ng9_3,788.918,15.0,1536.122,15.0,10.0 +42.wav=- b_3,227.025,50.532,-56.546,40.0,19.999 +42.wav=aw dh_3,1010.584,271.878,-328.697,219.999,110.0 +42.wav=aw z_3,449.393,260.029,-303.17,220.0,110.0 +42.wav=b aw_3,225.22,150,-370,60,30 +42.wav=dh aw_3,1356.912,137.806,-378.836,60.0,30.0 +42.wav=m aw_3,816.319,151.05,-254.806,30.0,15.0 +42.wav=dh z_3,1269.001,100.0,-137.642,80.0,40.0 +42.wav=z dh_3,1271.572,73.409,-80.194,50.0,24.999 +42.wav=z m_3,721.537,92.997,1524.867,79.998,39.999 +42.wav=aw -1_3,1769.007,480,-600,300,120 +43.wav=- t2_3,98.639,60.798,-78.34,39.999,20.0 +43.wav=aw d_3,1666.115,260.031,-276.946,220,110.0 +43.wav=aw l_3,975.795,239.734,-276.946,220,110.0 +43.wav=aw n5_3,364.164,251.292,-306.464,219.999,109.999 +43.wav=l aw_3,1244.11,120.113,-336.551,60.0,30.0 +43.wav=r aw_3,746.349,120.699,1148.224,39.999,19.999 +43.wav=t aw_3,60.632,218.812,1738.169,129.997,64.997 +43.wav=l l_3,1179.841,79.213,-116.544,60.0,30.0 +43.wav=n p_3,615.144,72.076,-79.762,59.999,30.0 +43.wav=p r1_3,669.305,112.079,-138.43,60,30 +43.wav=d -3_3,1899.264,191.99,-263.355,80.0,40.0 +43.wav=n11_3,605,15,-126.301,15,10 +44.wav=- f_3,438.194,89.616,-115.928,39.999,19.999 +44.wav=aw l1_3,705,260.031,-276.946,220,110.0 +44.wav=aw t_3,1950.09,260.031,-276.946,220,110.0 +44.wav=aw z1_3,1292.191,260.031,-309.758,219.999,110.0 +44.wav=f aw_3,482.498,150.196,2028.068,80.0,40.0 +44.wav=q aw_3,1097.736,44.999,1462.612,10.0,10.0 +44.wav=th aw_3,1646.447,126.426,-365.779,59.999,30.0 +44.wav=k q_3,968.298,95.382,1722.569,59.999,30.0 +44.wav=l k_3,887.405,100,-120,60,30 +44.wav=z th_3,1555.332,73.409,-109.839,50.0,24.998 +44.wav=t -5_3,2163.019,316.335,-382.212,80.0,40.0 +44.wav=aw3_3,1775,40.0,-210.221,20.0,40.0 +45.wav=- n1_3,329.382,47.016,2229.705,39.999,20.0 +45.wav=aw n1_3,578.619,260.031,-305.64,219.999,109.999 +45.wav=aw s_3,1099.239,245.527,1239.814,219.998,109.999 +45.wav=aw t1_3,1745.5,260.029,-312.228,219.999,110.0 +45.wav=d aw_3,1444,179.999,-342.471,60.0,30.0 +45.wav=hh aw_3,876.752,147.524,-272.691,80.0,40.0 +45.wav=n aw1_3,377,119.749,-297.35,40.0,20.0 +45.wav=n hh_3,823.102,97.881,-136.309,59.999,30.0 +45.wav=s d_3,1305.669,96.47,-145.329,80.0,40.0 +45.wav=t -6_3,1991.645,316.335,-382.212,80.0,40.0 +45.wav=aw4_3,409,40.0,-210.221,20.0,40.0 +45.wav=n12_3,364,15,-126.301,15,10 +45.wav=n13_3,789,15,-126.301,15,10 +46.wav=- z2_3,293.119,50.775,-78.339,39.999,20.0 +46.wav=ay g_3,618.334,230.705,-253.762,219.999,109.999 +46.wav=ay hh_3,1113.68,260.031,-276.946,220,110.0 +46.wav=ay n_3,1622.746,295.095,628.933,219.999,109.998 +46.wav=g ay_3,826.93,175.522,-355.037,80.0,40.0 +46.wav=hh ay_3,1346.828,183.178,-336.253,80.0,40.0 +46.wav=z ay_3,346.422,151.285,-371.15,49.998,24.998 +46.wav=n d1_3,1969.764,81.41,-103.369,60.0,30.0 +46.wav=d -4_3,2024.138,191.99,-263.355,80.0,40.0 +46.wav=n14_3,1935,15,-126.301,15,10 +47.wav=- q1_3,307.881,57.29,-60.673,39.999,20.0 +47.wav=ay k_3,1633.61,260.031,-276.946,220,110.0 +47.wav=ay m_3,585.121,260.031,1824.762,219.999,109.999 +47.wav=ay t_3,1050.154,247.063,1429.772,219.999,109.999 +47.wav=m ay_3,855.823,137.642,-279.278,79.998,39.997 +47.wav=q ay_3,390,99.646,-260.333,9.999,9.999 +47.wav=r ay2_3,1489,73.266,-293.627,40.0,20.0 +47.wav=k s1_3,1888.923,102.603,664.354,60.0,29.997 +47.wav=m m_3,807.221,81.41,-103.369,60.0,30.0 +47.wav=t r1_3,1284.025,186.867,1259.36,167.371,40.0 +47.wav=s -3_3,2112.267,182.407,-230.992,80.0,40.0 +48.wav=- f1_3,241.449,74.581,-111.416,40.0,19.999 +48.wav=ay f_3,1815.577,260.031,-340.226,219.999,109.999 +48.wav=ay s_3,549.018,260.031,1884.696,219.999,109.999 +48.wav=ay w_3,1154.858,242.553,1286.798,219.999,110.0 +48.wav=f ay_3,291.147,151.041,2173.532,80.0,39.999 +48.wav=l ay2_3,931.0,102.302,1549.648,59.999,29.999 +48.wav=w ay_3,1428.837,120.818,-296.216,50.0,24.998 +48.wav=s l_3,852.21,91.553,1779.27,79.998,39.999 +48.wav=s s_3,778.336,89.332,-112.938,60,30 +48.wav=f -_3,2140.428,316.335,-382.212,80.0,40.0 +49.wav=- d1_3,247.227,46.096,2013.189,39.998,19.999 +49.wav=ay d_3,399.546,229.021,-253.829,220,110.0 +49.wav=ay l_3,985.19,260.029,-331.168,219.999,110.0 +49.wav=ay n1_3,1615,244.807,-276.945,220,110.0 +49.wav=d ay_3,243.994,109.899,-305.26,60.0,29.999 +49.wav=n ay_3,1243,133.28,-280.924,79.998,40.0 +49.wav=t ay_3,769.792,120.545,1289.09,69.999,44.999 +49.wav=d s_3,616.587,81.663,1561.328,60.0,30.0 +49.wav=l n_3,1171.905,100.0,998.067,60.0,30.0 +49.wav=n th_3,1793.655,81.409,-122.583,60.0,29.999 +49.wav=s t1_3,689.744,96.469,1499.943,79.998,39.999 +49.wav=th -_3,1939.733,252.928,-287.929,80.0,40.0 +49.wav=ay8_3,1330,40.0,-210.221,20.0,40.0 +49.wav=n15_3,1725,15,-126.301,15,10 +49.wav=th2_3,1895,15.0,-78.406,15.0,9.999 +5.wav=- ey_3,511.885,160.0,-389.831,60.0,30.0 +5.wav=aw er_3,2905.038,451.377,-650,400,200 +5.wav=er aw_3,2341.412,377.007,-675.757,240.0,120.0 +5.wav=ey ih_3,1021.901,386.522,-649.999,240.0,120.0 +5.wav=ih er_3,1710.907,340,-650,240,120 +5.wav=er -_3,3581.515,480,-600,300,120 +5.wav=aw_3,2604.26,40.0,-210.221,20.0,40.0 +5.wav=er1_3,1955.758,40.0,-210.221,20.0,40.0 +5.wav=er2_3,3359.661,40.0,-210.221,20.0,40.0 +5.wav=ey1_3,645.755,40.0,-210.221,20.0,40.0 +5.wav=ih5_3,1313.364,40.0,-310.838,20.0,40.0 +50.wav=- k3_3,107.304,71.197,-113.295,40.0,19.999 +50.wav=ay b_3,357.664,241.425,-257.211,220,110.0 +50.wav=ay p_3,1495.91,255.522,598.218,219.999,109.999 +50.wav=ay r_3,1018.526,245.935,-288.785,220,110.0 +50.wav=k ay_3,753.101,148.802,1340.725,59.999,30.0 +50.wav=r ay1_3,243.055,88.583,-221.161,39.999,19.998 +50.wav=r ay_3,1288.056,95.254,-279.621,40.0,20.0 +50.wav=b s1_3,578.929,84.586,-141.13,50.0,25.0 +50.wav=k r_3,110.342,133.177,-156.783,120.0,59.999 +50.wav=p s_3,1741.841,111.603,-197.243,59.998,30.0 +50.wav=s k3_3,665.927,96.468,1601.419,79.998,39.999 +50.wav=s -4_3,1920.41,162.91,-230.434,80.0,40.0 +51.wav=- v1_3,160.898,50.775,-73.329,40.0,20.0 +51.wav=ay n2_3,972.235,242.234,1263.887,219.999,110.0 +51.wav=ay v_3,384.378,266.935,1876.293,219.999,109.999 +51.wav=ay z_3,1709.55,273.562,-347.422,220,110.0 +51.wav=b ay_3,1317.1,120.892,-289.19,59.999,30.0 +51.wav=s ay_3,728.251,185.64,-359.391,99.998,49.999 +51.wav=v ay_3,212.005,107.211,2114.579,39.999,19.999 +51.wav=d s1_3,639.707,100,-150,60,30.0 +51.wav=n b_3,1258.597,70.431,-85.803,60.0,30.0 +51.wav=v d_3,560.156,86.103,1883.514,49.999,25.0 +51.wav=z -6_3,2036.569,316.335,-382.212,80.0,40.0 +51.wav=n16_3,1212,15,-126.301,15,10 +52.wav=- p2_3,243.055,57.666,2231.395,39.998,19.999 +52.wav=ay jh_3,582.259,260.031,-276.946,220,110.0 +52.wav=ay n3_3,1788.979,233.177,-289.996,219.999,109.999 +52.wav=ay sh_3,1109.445,256.104,1131.008,219.999,109.999 +52.wav=jh ay_3,835,149.646,-350.082,60.0,30.0 +52.wav=p ay_3,222.986,250.931,-417.271,120.0,60.0 +52.wav=sh ay_3,1352.203,190.582,-396.448,99.999,49.999 +52.wav=n -2_3,2057.507,171.405,-259.514,80.0,40.0 +52.wav=n17_3,2045,15,-126.301,15,10 +53.wav=- n2_3,225.084,50.775,1997.785,39.999,19.998 +53.wav=eh k_3,1095.914,130.941,1070.993,109.999,54.999 +53.wav=eh n10_3,638.079,140.471,1448.678,109.998,55.0 +53.wav=g eh_3,1374.334,200,-380.231,80.0,40.0 +53.wav=m eh_3,782.903,130.741,-308.098,79.999,40.0 +53.wav=n eh1_3,278.437,127.286,-260.688,39.999,19.999 +53.wav=k g_3,1220.3,166.867,890.462,60.0,30.0 +53.wav=n m_3,743.685,81.408,1460.225,59.999,30.0 +53.wav=eh -_3,1609.978,464.693,-523.982,299.999,119.999 +53.wav=eh2_3,354.758,40.0,-210.221,20.0,40.0 +53.wav=n18_3,266,15,-126.301,15,10 +53.wav=n19_3,756,15,-126.301,15,10 +54.wav=- f2_3,222.516,68.943,-122.317,39.999,19.999 +54.wav=eh l_3,1051.881,133.057,-229.402,109.999,55.0 +54.wav=eh r_3,1651.988,120,-163.266,110.0,55.0 +54.wav=eh sh_3,635,130.455,-198.113,110.0,55.0 +54.wav=k eh_3,1383.238,217.756,-360.215,100.0,50.0 +54.wav=l eh_3,355.916,98.904,-252.187,60.0,29.999 +54.wav=v eh_3,870.069,132.464,-336.683,60.0,30.0 +54.wav=f l1_3,271.652,86.039,-105.253,79.999,39.999 +54.wav=l k1_3,1293.244,100,-120,60,30 +54.wav=sh v_3,761.965,96.47,-145.329,80.0,40.0 +54.wav=r -2_3,1909.442,316.335,-382.212,80.0,40.0 +55.wav=- hh1_3,163.144,62.928,2185.354,39.998,19.999 +55.wav=eh g_3,1630.325,138.754,-158.585,109.999,54.999 +55.wav=eh l1_3,357.907,126.35,-237.637,109.999,55.0 +55.wav=eh l2_3,814.288,120.0,-180.818,110.0,54.999 +55.wav=hh eh_3,201.392,124.467,-265.28,60,30 +55.wav=q eh_3,1292.697,120.479,803.059,10.0,10.0 +55.wav=w eh_3,737.074,99.408,-225.398,49.999,24.999 +55.wav=d q_3,1255.917,80.549,-96.47,80.0,40.0 +55.wav=g z1_3,1752.533,80.312,-143.445,60.0,30.0 +55.wav=l m_3,1049.152,99.999,1237.866,59.999,29.999 +55.wav=l w_3,546,85.801,-136.856,59.999,30.0 +55.wav=m d1_3,1173.368,69.881,-79.763,60.0,30.0 +55.wav=z -7_3,1892.112,142.583,-274.338,80.0,40.0 +56.wav=- y_3,325.852,50.775,2221.682,39.999,20.0 +56.wav=eh d_3,1281.445,119.998,1201.544,110.0,54.999 +56.wav=eh l3_3,1729.136,119.999,-225.285,109.999,54.999 +56.wav=eh s_3,674.898,147.548,1737.328,109.999,55.0 +56.wav=b eh_3,1506.189,149.999,-334.859,60.0,30.0 +56.wav=t eh_3,943.077,139.994,-358.212,69.999,45.0 +56.wav=y eh_3,391.803,125.089,-287.862,39.999,20.0 +56.wav=d b_3,1366.324,100,-150,80.0,40.0 +56.wav=l t_3,1969.767,118.74,-145.64,59.998,30.0 +56.wav=s s1_3,772.775,89.882,-113.671,79.999,40.0 +56.wav=s t2_3,839.929,96.469,-122.086,79.998,39.999 +56.wav=t -7_3,2079,316.335,-382.212,80.0,40.0 +57.wav=- p3_3,201.334,53.533,-71.199,40.0,19.999 +57.wav=eh n1_3,1766.861,137.062,690.529,110.0,54.999 +57.wav=eh r1_3,427.226,138.821,-212.11,109.999,55.0 +57.wav=eh t_3,1205,144.957,-179.994,110.0,54.999 +57.wav=p eh_3,152.946,215.523,-365.394,119.999,59.998 +57.wav=sh eh_3,765,200,-420,100,50 +57.wav=w eh1_3,1485.271,122.465,-360.446,49.997,24.998 +57.wav=r z_3,666.191,90.505,-144.306,40.0,20.0 +57.wav=t w_3,1351.716,129.336,-150.197,119.999,60.0 +57.wav=z sh_3,718.299,73.41,-120.622,50.0,25.0 +57.wav=n -3_3,1983.899,316.335,-382.212,80.0,40.0 +57.wav=n20_3,1898.113,15,-126.301,15,10 +58.wav=- s4_3,174.697,65.811,-125.701,40.0,20.0 +58.wav=eh m_3,1105,149.467,-192.347,110.0,54.999 +58.wav=eh p_3,573.088,181.603,-220.345,109.999,55.0 +58.wav=eh v_3,1877.461,137.627,-204.289,110.0,55.0 +58.wav=d eh_3,1401.695,179.999,-385.603,60.0,30.0 +58.wav=r eh1_3,910.333,96.819,1366.032,40.0,20.0 +58.wav=s eh_3,242.985,165.877,1953.882,99.999,49.999 +58.wav=d r_3,807.013,114.273,-137.879,99.999,49.999 +58.wav=m t_3,1278.899,93.938,1096.607,60.0,30.0 +58.wav=p t_3,673.387,115.162,1700.585,99.998,49.999 +58.wav=t d_3,772.116,103.056,-133.8,80.0,40.0 +58.wav=t d1_3,1326.086,89.881,-97.567,80.0,40.0 +58.wav=v -1_3,1923.347,316.335,-382.212,80.0,40.0 +59.wav=- sh1_3,178.87,65.183,-94.126,39.999,20.0 +59.wav=eh f_3,531.204,138.755,-226.71,110.0,55.0 +59.wav=eh r2_3,1082.202,139.882,-184.935,110.0,54.999 +59.wav=dh eh_3,833.232,141.189,-399.794,60.0,30.0 +59.wav=f eh_3,1393.83,184.87,-397.991,80.0,40.0 +59.wav=sh eh1_3,229.553,174.112,1771.454,60.0,29.999 +59.wav=f s_3,633.919,100,-150,60,30 +59.wav=r f_3,1303.122,90.506,-105.328,40.0,20.0 +59.wav=s dh_3,710.689,96.469,-129.042,79.999,40.0 +59.wav=eh -1_3,1670.632,488.848,-551.275,299.999,120.0 +6.wav=- iy_3,400.685,220,-500,60,30 +6.wav=ay ow_3,1837.039,533.222,1173.907,399.998,199.998 +6.wav=ey ay_3,1396.785,340.0,-599.643,240.0,120.0 +6.wav=iy ey_3,830.168,311.486,2380.551,240.0,120.0 +6.wav=ow ah_3,2519.152,395.97,550.76,239.999,120.0 +6.wav=ah -_3,3066.009,480,-600,300,120 +6.wav=ah3_3,2859.981,40.0,-210.221,20.0,40.0 +6.wav=ay4_3,1692.931,40.0,-332.505,20.0,40.0 +6.wav=ey2_3,1070,40.0,-210.221,20.0,40.0 +6.wav=iy4_3,545.386,40.0,-447.846,20.0,40.0 +6.wav=ow3_3,2358.855,40.0,-210.221,20.0,40.0 +60.wav=- p4_3,237.277,55.41,-88.487,40.0,19.999 +60.wav=eh k1_3,1205,165.172,-203.052,110.0,54.999 +60.wav=eh r3_3,718.237,135.272,1532.502,109.998,54.999 +60.wav=eh r4_3,1689.536,120,-165.3,110.0,55.0 +60.wav=ch eh_3,1374.299,217.556,-440.826,140,70 +60.wav=r eh_3,910,151.168,-355.662,40.0,20.0 +60.wav=w eh2_3,344.977,125.095,1723.866,49.999,24.998 +60.wav=k t3_3,1310.583,69.882,-106.663,59.999,30.0 +60.wav=p w_3,215.043,130.979,-150.743,119.999,59.999 +60.wav=r r_3,809.184,60.861,-81.723,40.0,20.0 +60.wav=r z1_3,1987.712,90.505,-153.639,40.0,20.0 +60.wav=t ch_3,1357.026,103.423,-133.068,79.999,39.999 +60.wav=z -8_3,2152.783,128.478,-187.768,79.999,40.0 +61.wav=- er1_3,251.215,219.999,-353.466,60.0,30.0 +61.wav=er th_3,1875,184.935,-269.277,109.999,55.0 +61.wav=er v_3,651.811,127.476,1643.37,109.998,54.999 +61.wav=er w_3,1278.006,149.527,-199.758,110.0,54.999 +61.wav=dh er_3,859.997,180,-440.277,60.0,30.0 +61.wav=w er_3,1474.522,201.518,-383.503,50.0,24.997 +61.wav=v dh_3,771.765,73.41,-120.622,50.0,25.0 +61.wav=th -1_3,2093.033,223.7,105.059,80.0,40.0 +61.wav=er5_3,377.142,40.0,-210.221,20.0,40.0 +61.wav=th3_3,1985,15,-126.301,15,10 +62.wav=- m1_3,345.75,52.516,1957.262,39.999,19.998 +62.wav=er d_3,1278.734,120.0,-158.488,110,55.0 +62.wav=er dh_3,795.541,135.935,-164.69,110,55.0 +62.wav=dh er1_3,948.1,135.27,-360.231,60.0,30.0 +62.wav=m er_3,390,106.961,-350.327,29.999,14.999 +62.wav=sh er_3,1488.082,199.999,-468.089,100.0,50.0 +62.wav=d sh_3,1397.576,100,-150,80.0,40.0 +62.wav=er -1_3,1735.794,472.377,-547.86,299.998,119.998 +63.wav=- z3_3,208.715,64.808,-86.232,40.0,20.0 +63.wav=er hh_3,643.159,120.0,1423.706,109.999,54.999 +63.wav=er p_3,1776,138.755,-177.094,110,55.0 +63.wav=er t1_3,1124.163,120.109,980.972,109.999,54.999 +63.wav=ch er_3,1344.798,176.561,-411.671,140,70 +63.wav=hh er_3,791.602,194.81,1082.142,79.998,39.999 +63.wav=z er_3,247.496,192.458,-417.264,49.999,25.0 +63.wav=s ch_3,1237.25,94.44,896.442,80.0,40.0 +63.wav=t s2_3,1274.33,67.999,-101.487,40.0,20.0 +63.wav=p -2_3,1882.816,248.966,22.699,79.999,40.0 +64.wav=- s5_3,273.221,65.353,2093.484,40.0,20.0 +64.wav=er d1_3,726.93,120.0,1622.406,109.999,55.0 +64.wav=er l_3,1030,165.996,-250.813,109.999,54.999 +64.wav=er s_3,1926,142.7,-229.402,110.0,54.999 +64.wav=s er_3,330.358,200,-420,100,50 +64.wav=v er_3,1504.986,158.267,-383.897,59.999,30.0 +64.wav=w er1_3,933.557,88.27,1374.688,50.0,25.0 +64.wav=d w1_3,844.108,75.372,-106.663,59.999,30.0 +64.wav=d z1_3,1403.629,53.719,1010.652,40.0,20.0 +64.wav=l d_3,1318.613,87.999,-105.018,60.0,30.0 +64.wav=z v_3,1435.533,73.41,-120.622,50.0,25.0 +64.wav=s -5_3,2206,180.669,-257.25,80.0,40.0 +65.wav=- g3_3,213.529,46.39,-60.674,40.0,19.999 +65.wav=er n2_3,1096.636,137.627,-178.222,110,55.0 +65.wav=er t_3,1775.0,163.138,340.214,110.0,54.999 +65.wav=er z_3,584.638,131.989,1560.607,109.999,55.0 +65.wav=g er_3,200.166,200.0,-349.785,80.0,40.0 +65.wav=hh er1_3,1354.832,199.999,-472.794,80.0,40.0 +65.wav=q er_3,790.072,171.745,1151.942,10.0,10.0 +65.wav=d hh_3,1216.91,100,-150,80.0,40.0 +65.wav=n d2_3,1206.575,63.843,-78.665,60.0,30.0 +65.wav=t q_3,709.244,86.587,-101.226,79.999,40.0 +65.wav=z t_3,724.794,65.737,-77.815,50.0,25.0 +65.wav=t -8_3,1895.686,255.942,-276.529,80.0,40.0 +65.wav=n21_3,1195,15,-126.301,15,10 +66.wav=- n3_3,366.29,47.381,2057.218,39.999,20.0 +66.wav=er v1_3,785.423,120.0,-153.978,110,55.0 +66.wav=er y_3,1434.749,131.41,-184.987,110.0,54.999 +66.wav=er z1_3,2024.764,226.255,184.488,109.999,54.999 +66.wav=n er_3,406.967,143.436,-402.828,39.999,19.999 +66.wav=t er_3,949.287,183.993,-415.387,99.999,50.0 +66.wav=y er_3,1607.305,142.109,-383.259,40.0,20.0 +66.wav=v t_3,892.379,73.409,-97.212,50.0,25.0 +66.wav=z -9_3,2256.947,150.669,-213.252,80.0,40.0 +66.wav=er6_3,517.947,40.0,-210.221,20.0,40.0 +66.wav=n22_3,396,15,-126.301,15,10 +67.wav=- s6_3,270.974,69.317,2324.848,39.999,20.0 +67.wav=er f_3,1435.27,137.062,1127.939,109.999,54.999 +67.wav=er g_3,2097.432,124.093,501.882,109.999,55.0 +67.wav=er p1_3,775.995,143.827,1798.768,109.998,55.0 +67.wav=f er_3,1552.645,200,-500,80.0,40.0 +67.wav=l er1_3,454.841,179.124,-343.817,60.0,29.999 +67.wav=y er1_3,1030.131,131.404,-366.915,40.0,19.998 +67.wav=p y_3,938.357,112.079,-138.43,100,50.0 +67.wav=s l1_3,359.023,96.47,-122.82,80.0,39.999 +67.wav=g -_3,2206.137,291.569,163.228,80.0,40.0 +68.wav=- d2_3,78.741,52.028,-67.439,40.0,19.999 +68.wav=er m_3,1153,142.701,-217.125,110,55.0 +68.wav=er z2_3,504.489,131.41,-176.701,109.999,55.0 +68.wav=er z3_3,1919.764,141.767,538.674,109.999,54.999 +68.wav=d er_3,99.579,144.572,-347.545,60.0,30.0 +68.wav=dh er2_3,1388.49,179.999,-518.381,60.0,30.0 +68.wav=f er1_3,729.449,162.881,-381.077,80.0,40.0 +68.wav=m dh_3,1337.224,86.899,-96.78,59.998,30.0 +68.wav=z f_3,637.416,73.41,-120.622,50.0,25.0 +68.wav=z -10_3,2141.116,233.988,-293.278,79.999,40.0 +69.wav=- p5_3,257.815,56.537,2159.594,39.999,20.0 +69.wav=er b_3,1965,119.999,-154.689,110,55.0 +69.wav=er k_3,595.0,138.822,1744.472,109.998,54.999 +69.wav=er n1_3,1255,119.999,-181.604,110,55.0 +69.wav=b er_3,855,150,-370,60,30 +69.wav=k er_3,1446.436,236.107,-542.436,119.999,60.0 +69.wav=p er_3,226.596,211.338,-458.289,120.0,60.0 +69.wav=k b_3,700.38,84.551,1689.569,59.999,30.0 +69.wav=n k_3,1394.471,73.175,-81.41,60.0,30.0 +69.wav=b -_3,2077.15,296.862,-382.276,80,40 +69.wav=n23_3,1365,15,-126.301,15,10 +7.wav=- ao_3,196.337,220,-500,60,30 +7.wav=ao aw_3,601.581,340,-650,240,120 +7.wav=aw ay_3,1120.697,451.377,-649.999,400,200 +7.wav=ay ae_3,2298.05,523.686,-849.077,399.999,200.0 +7.wav=ay ay_3,1705.586,506.56,-752.664,399.998,199.999 +7.wav=ae -_3,3078.847,480,-600,300,120 +7.wav=ae_3,2550,40.0,-210.221,20.0,40.0 +7.wav=ao_3,307.823,40.0,-210.221,20.0,40.0 +7.wav=aw1_3,614.708,40.0,-210.221,20.0,40.0 +7.wav=ay5_3,1245.148,40.0,-210.221,20.0,40.0 +7.wav=ay6_3,2120,40.0,-210.221,20.0,40.0 +70.wav=- hh2_3,172.771,61.299,2114.194,39.999,19.999 +70.wav=ey l_3,281.844,271.879,-357.519,219.999,109.999 +70.wav=ey p_3,1721.201,243.827,364.987,219.999,109.998 +70.wav=ey sh_3,1165.871,249.605,883.489,219.999,109.999 +70.wav=hh ey_3,229.049,94.441,1930.706,60.0,29.999 +70.wav=r ey1_3,890.829,103.999,-339.742,39.999,20.0 +70.wav=sh ey_3,1420.185,200,-420,100,50 +70.wav=l s_3,674.357,80.863,-129.721,60.0,30.0 +70.wav=s r_3,801.706,88.782,-105.252,79.998,39.999 +70.wav=p -3_3,1942.073,306.731,51.605,79.999,39.998 +71.wav=- ch1_3,250.757,74.338,2013.424,39.999,20.0 +71.wav=ey d_3,1815.071,253.829,-280.328,220,110.0 +71.wav=ey n_3,501.397,240.297,-272.435,220,110.0 +71.wav=ey v_3,1220.022,240.296,841.612,219.999,110.0 +71.wav=ch ey_3,312,176.561,-411.671,140,70 +71.wav=f ey_3,1492.918,182.07,-500.0,80.0,40.0 +71.wav=p ey_3,914.89,148.813,1197.714,59.998,30.0 +71.wav=d f_3,1411.085,73.725,-114.898,60.0,30.0 +71.wav=d p_3,829.673,81.098,-111.841,60.0,30.0 +71.wav=d z2_3,2050.384,115.381,146.919,80.0,40.0 +71.wav=jh d_3,825.322,87.998,-109.408,60.0,30.0 +71.wav=n jh_3,749.484,83.106,1501.757,59.999,30.0 +71.wav=v d1_3,1409.511,73.41,-120.622,50.0,25.0 +71.wav=z -11_3,2177,131.272,-167.505,79.997,39.997 +71.wav=n24_3,735,15,-126.301,15,10 +72.wav=- s7_3,187.855,50.774,-99.639,40.0,20.0 +72.wav=ey f_3,564.954,246.498,1623.115,219.999,109.998 +72.wav=ey m_3,1846.168,251.01,-293.859,220,110.0 +72.wav=ey z_3,1249.663,240.297,-272.435,220,110.0 +72.wav=s ey_3,249.487,208.696,-381.624,99.998,49.998 +72.wav=w ey_3,926.335,164.087,1259.158,49.999,24.997 +72.wav=z ey_3,1491.144,189.358,587.247,49.997,24.998 +72.wav=f w_3,820.49,100.216,1548.739,79.997,39.998 +72.wav=m -2_3,2123.365,258.964,-362.172,79.997,39.997 +73.wav=- ey1_3,208.612,176.71,-394.06,60.0,30.0 +73.wav=ey dh_3,598.14,240.296,1532.488,219.999,109.999 +73.wav=ey y_3,1180.926,240.296,950.424,219.999,109.999 +73.wav=dh ey_3,851.286,158.949,-361.387,60.0,30.0 +73.wav=y ey_3,1467.066,103.407,-293.628,40.0,20.0 +73.wav=ey -1_3,1729.88,473.477,-561.862,299.999,119.997 +73.wav=ey3_3,363.423,40.0,-210.221,20.0,40.0 +74.wav=- n4_3,231.18,50.775,2130.155,39.999,20.0 +74.wav=ey jh_3,1798.326,240.296,374.184,219.998,109.998 +74.wav=ey k_3,425.544,240.297,1755.63,220.0,110.0 +74.wav=ey v1_3,1103.645,240.297,-272.435,220,110.0 +74.wav=g ey_3,1397.242,200,-380.231,60,30.0 +74.wav=k ey_3,799.236,177.508,-406.698,120.0,60.0 +74.wav=n ey_3,275.548,112.752,-271.747,39.999,20.0 +74.wav=d g_3,1312.753,82.181,-105.787,60.0,30.0 +74.wav=k s2_3,644.03,80.94,1668.983,59.999,30.0 +74.wav=s k4_3,720.079,96.469,-133.25,79.999,40.0 +74.wav=v d2_3,1313.355,62.444,-83.671,50.0,24.998 +74.wav=jh -1_3,2031.473,303.159,-354.214,80.0,40.0 +74.wav=ey4_3,347.537,40.0,-210.221,20.0,40.0 +74.wav=n25_3,265,15,-126.301,15,10 +75.wav=- p6_3,156.084,55.036,2313.231,40.0,19.997 +75.wav=ey hh_3,1175.884,254.957,1089.843,219.999,110.0 +75.wav=ey n1_3,354.773,240.296,1908.065,219.999,109.999 +75.wav=ey v2_3,1877.794,259.527,-360.813,220.0,109.999 +75.wav=hh ey1_3,1406,149.171,-417.621,80.0,40.0 +75.wav=l ey_3,256.992,103.978,-266.356,60.0,30.0 +75.wav=r ey_3,893.681,109.172,-380.366,40.0,20.0 +75.wav=k r1_3,814.461,69.882,1655.312,59.999,30.0 +75.wav=n z_3,639.693,81.41,-103.369,60.0,30.0 +75.wav=p l_3,152.006,110.43,-130.741,99.999,49.999 +75.wav=z k_3,713.971,73.408,-101.603,50.0,25.0 +75.wav=v -2_3,2065.451,195.422,-257.182,80.0,40.0 +75.wav=n26_3,565,15,-126.301,15,10 +76.wav=- f3_3,219.947,68.567,-100.516,40.0,19.999 +76.wav=ey k1_3,1120.277,240.296,1159.169,219.999,110.0 +76.wav=ey th_3,577.926,248.755,-291.604,220,110.0 +76.wav=ey v3_3,1984.662,267.763,-347.639,219.999,109.999 +76.wav=b ey_3,940.84,150,-370,60,30 +76.wav=f ey1_3,264.432,257.045,-480.204,79.999,40.0 +76.wav=q ey_3,1519.471,131.31,681.143,10.0,10.0 +76.wav=k q3_3,1346.639,130.831,1058.801,119.999,60.0 +76.wav=th b1_3,835.293,73.409,-108.741,50.0,25.0 +76.wav=v -3_3,2204.089,232.358,60.831,80.0,40.0 +76.wav=th4_3,800,15.0,-70.124,15.0,10.0 +77.wav=- m2_3,176.944,55.41,2238.22,40.0,19.998 +77.wav=ey b_3,1886.605,247.174,341.179,219.998,109.998 +77.wav=ey s_3,1255,240.296,-291.605,220,110.0 +77.wav=ey t_3,554.113,248.754,1678.002,219.999,109.999 +77.wav=d ey_3,1484.759,136.961,-353.466,60.0,30.0 +77.wav=m ey_3,230.058,92.5,-385.653,39.999,20.0 +77.wav=t ey_3,795,191.403,-380.8,99.998,49.999 +77.wav=s d1_3,1387.473,96.47,991.862,80.0,40.0 +77.wav=b -1_3,2117.497,296.862,-382.276,80,40 +78.wav=- v2_3,136.828,50.775,-76.588,40.0,20.0 +78.wav=ey g_3,455.887,242.552,1777.672,220.0,110.0 +78.wav=ey v4_3,1911.155,240.295,235.755,219.999,109.999 +78.wav=ey w_3,1181.047,240.296,-288.349,219.999,109.999 +78.wav=f ey2_3,787.984,200,-500,80.0,40.0 +78.wav=v ey_3,186.121,119.719,-350.289,49.998,24.999 +78.wav=w ey1_3,1449.965,173.475,630.826,49.997,24.998 +78.wav=g f_3,682.312,78.118,-124.781,59.999,30.0 +78.wav=v -4_3,2055.487,225.478,-305.628,80.0,40.0 +79.wav=- s8_3,33.17,65.309,-118.684,40.0,20.0 +79.wav=ih f1_3,517.485,133.106,1694.587,109.999,55.0 +79.wav=ih g_3,1711.335,119.998,515.179,109.999,54.999 +79.wav=ih l_3,893.05,172.018,-242.578,109.999,54.999 +79.wav=k ih1_3,751.382,177.508,-317.053,100,50 +79.wav=q ih_3,1419.878,139.252,599.752,10.0,10.0 +79.wav=w ih_3,241,138.934,-343.977,50.0,24.998 +79.wav=f t1_3,600.931,109.095,1648.363,79.999,40.0 +79.wav=g z2_3,1834.987,88.547,-163.208,60.0,30.0 +79.wav=l q_3,1309.911,83.606,-111.603,60.0,30.0 +79.wav=s w_3,127.958,96.47,-125.565,80.0,39.999 +79.wav=t k_3,671.713,103.056,-122.82,79.999,40.0 +79.wav=z -12_3,1973.122,194.81,107.205,80.0,40.0 +8.wav=- eh_3,376.856,219.999,-407.592,60.0,30.0 +8.wav=ah uw_3,2076.944,432.191,-807.057,239.999,120.0 +8.wav=eh er_3,837.723,340,-650,240,120 +8.wav=er ah_3,1472.494,392.23,-723.33,240.0,119.998 +8.wav=uw aa_3,2710.631,340,-650,240,120 +8.wav=aa -_3,3257.973,480,-600,300,120 +8.wav=aa_3,2993.436,40.0,-385.62,20.0,40.0 +8.wav=ah4_3,1802.636,40.0,-210.221,20.0,40.0 +8.wav=eh_3,510.727,40.0,-210.221,20.0,40.0 +8.wav=er3_3,1101,40.0,-300.023,20.0,40.0 +8.wav=uw4_3,2379.248,40.0,-396.168,20.0,40.0 +80.wav=- z4_3,127.842,64.307,-105.904,40.0,20.0 +80.wav=ih n_3,1609.522,135.934,507.958,110.0,54.999 +80.wav=ih p_3,454.665,142.832,-184.829,109.999,55.0 +80.wav=ih v_3,1210.108,135.274,975.246,110.0,54.999 +80.wav=m ih_3,779.821,178.578,-433.029,59.998,29.999 +80.wav=v ih_3,1348.231,130.818,709.493,60.0,30.0 +80.wav=z ih_3,186.842,123.651,1864.275,49.997,24.998 +80.wav=n s1_3,1847.984,100.075,-192.852,60.0,29.999 +80.wav=p m_3,658.924,112.079,-158.741,99.999,50.0 +80.wav=s -6_3,2043.163,222.794,-313.375,80.0,40.0 +80.wav=n27_3,1730,15,-126.301,15,10 +81.wav=- n5_3,278.677,50.773,2076.561,39.999,20.0 +81.wav=ih ng_3,1148.645,137.626,1091.262,110.0,54.999 +81.wav=ih sh_3,598.361,148.89,-231.237,109.999,55.0 +81.wav=ih th_3,1841.894,142.137,-232.911,110.0,55.0 +81.wav=n ih1_3,323.206,81.996,-259.041,39.999,20.0 +81.wav=ng ih_3,898.009,155.285,-334.562,40.0,20.0 +81.wav=w ih1_3,1443.348,174.343,-399.149,50.0,24.998 +81.wav=ng w_3,1300.473,101.881,994.488,60.0,30.0 +81.wav=sh t1_3,769.902,96.469,-119.526,79.999,39.999 +81.wav=t ng_3,824.794,90.83,1507.213,79.998,39.999 +81.wav=th -2_3,2055,316.335,-382.212,80.0,40.0 +81.wav=ih6_3,375,40.0,-210.221,20.0,40.0 +81.wav=ih7_3,1006.794,40.0,-210.221,20.0,40.0 +81.wav=n28_3,315,15,-126.301,15,10 +81.wav=ng_3,1265.974,14.998,1090.354,14.998,10.0 +81.wav=th5_3,1955,15,-126.301,15,10 +82.wav=- p7_3,245.622,52.515,1939.142,39.999,20.0 +82.wav=ih d_3,575.0,136.5,1488.001,109.998,55.0 +82.wav=ih dh_3,1782.774,161.055,-230.226,109.999,55.0 +82.wav=ih k_3,1089.494,143.215,990.369,110.0,54.999 +82.wav=n ih_3,803.875,140.891,1105.972,79.999,39.999 +82.wav=p ih_3,295,185.64,-425.268,99.999,49.998 +82.wav=w ih2_3,1399.389,115.709,567.896,50.0,24.998 +82.wav=d n_3,699.149,100,-150,80.0,40.0 +82.wav=k w_3,1202.233,195.598,-216.459,180,90 +82.wav=dh -_3,1985.352,194.462,-236.459,79.999,39.999 +82.wav=ih8_3,937.474,40.0,-210.221,20.0,40.0 +83.wav=- d3_3,256.534,45.263,-56.163,39.999,20.0 +83.wav=ih k1_3,485.0,242.854,1599.995,109.998,55.0 +83.wav=ih m_3,1665.844,129.763,-221.167,110.0,54.999 +83.wav=ih s_3,1067.111,136.352,-201.406,110.0,54.999 +83.wav=d ih_3,265.656,106.114,-248.574,60.0,30.0 +83.wav=dh ih_3,794.995,142.881,-314.562,60.0,30.0 +83.wav=r ih2_3,1389.194,134.697,-355.386,39.999,20.0 +83.wav=b r_3,1316.569,83.998,-104.585,70.0,34.999 +83.wav=k t4_3,615.87,69.882,-108.31,59.999,29.999 +83.wav=s b_3,1192.454,122.82,-177.169,80.0,40.0 +83.wav=t dh_3,648.616,103.057,-142.584,80.0,40.0 +83.wav=m -3_3,1862.644,316.335,-382.212,80.0,40.0 +84.wav=- th1_3,219.947,88.488,-136.6,40.0,19.999 +84.wav=ih n1_3,540.591,137.628,-235.731,110.0,55.0 +84.wav=ih r2_3,1037.515,150.595,-209.231,110.0,55.0 +84.wav=ih z_3,1856.472,148.902,-216.39,110.0,55.0 +84.wav=f ih_3,839.269,169.758,-371.507,80.0,40.0 +84.wav=s ih_3,1380.463,200,-420,100,50 +84.wav=th ih_3,293.818,125.877,-272.818,60.0,30.0 +84.wav=n f_3,769.693,108.86,-136.858,59.999,30.0 +84.wav=r s_3,1298.164,68.547,-131.679,40.0,20.0 +84.wav=z -13_3,2031.612,178.923,94.207,79.997,39.997 +84.wav=ih9_3,394.834,40.0,-210.221,20.0,40.0 +84.wav=n29_3,650,15,-126.301,15,10 +84.wav=th6_3,278.163,15.0,-72.642,15.0,10.0 +85.wav=- s9_3,198.766,50.774,-104.15,40.0,20.0 +85.wav=ih f_3,2016.099,146.105,293.521,109.999,54.999 +85.wav=ih ng1_3,1348.081,151.159,-267.868,110.0,55.0 +85.wav=ih t_3,755,141.574,-177.659,110.0,55.0 +85.wav=l ih1_3,1044.168,140.343,-336.551,60.0,30.0 +85.wav=l ih_3,1631.379,157.259,-349.238,60.0,30.0 +85.wav=t ih_3,356.746,185.533,1711.986,70.0,44.999 +85.wav=f t2_3,2133.472,95.372,-120.075,80.0,40.0 +85.wav=ng l_3,1555.528,84.155,-113.251,60.0,30.0 +85.wav=s t3_3,270.93,96.47,-120.626,79.999,39.999 +85.wav=t l_3,946.389,115.884,1409.338,99.999,49.999 +85.wav=t -9_3,2224.455,195.73,46.571,79.997,40.0 +85.wav=ng11_3,1463.505,15,-126.301,15,10 +86.wav=- b1_3,297.291,61.801,-70.446,39.999,20.0 +86.wav=ih f2_3,1984.905,134.244,-175.403,110.0,55.0 +86.wav=ih n2_3,1215,119.998,-219.521,109.999,54.999 +86.wav=ih ng2_3,628.685,150.031,-242.497,110.0,55.0 +86.wav=dh ih1_3,937.236,168.252,-319.636,60.0,30.0 +86.wav=r ih1_3,370.863,149.519,-320.8,39.999,19.998 +86.wav=sh ih_3,1528.412,200,-420,100,50 +86.wav=b r1_3,282.373,82.352,-101.292,70.0,35.0 +86.wav=f t3_3,2090.726,99.998,-125.015,79.998,39.998 +86.wav=n sh_3,1448.524,98.429,-161.012,59.999,30.0 +86.wav=ng dh_3,885.953,73.725,1595.374,59.999,30.0 +86.wav=t -10_3,2165.821,125.818,110.324,79.998,40.0 +86.wav=n30_3,1340.697,15,-126.301,15,10 +86.wav=ng12_3,771.113,15,-126.301,15,10 +87.wav=- ch2_3,69.755,66.958,2129.684,39.999,20.0 +87.wav=ih ng3_3,404.841,148.34,-302.261,110.0,55.0 +87.wav=ih r1_3,1014.333,138.8,-235.146,110.0,54.999 +87.wav=ch ih_3,66.514,218.652,-411.67,140.0,70.0 +87.wav=dh ih2_3,1392.888,179.999,-448.186,60.0,30.0 +87.wav=g ih_3,774.958,200,-380.231,80.0,40.0 +87.wav=ng g_3,716.24,69.332,1515.11,59.999,30.0 +87.wav=r dh_3,1339.953,54.441,888.29,40.0,20.0 +87.wav=ih -_3,1701.449,500.363,0,299.999,119.999 +87.wav=ng13_3,585.768,15,-126.301,15,10 +88.wav=- y1_3,372.707,50.775,-79.342,40.0,20.0 +88.wav=ih ch_3,1184.127,133.106,1151.49,110.0,54.999 +88.wav=ih g1_3,1959.778,133.369,367.173,109.999,55.0 +88.wav=ih r_3,581.774,142.116,-248.343,109.999,54.999 +88.wav=hh ih_3,904.999,145.966,-332.025,80.0,40.0 +88.wav=jh ih_3,1525.207,140,-400,60,30.0 +88.wav=y ih_3,426.463,95.172,-226.926,39.999,20.0 +88.wav=ch t_3,1314.975,156.826,985.369,119.999,60.0 +88.wav=r hh_3,864.807,90.506,-105.328,40.0,20.0 +88.wav=t jh_3,1370.661,103.057,-142.584,60,30 +88.wav=g -1_3,2092.313,246.22,-295.628,80.0,40.0 +89.wav=- p8_3,184.646,54.657,2244.318,39.999,19.999 +89.wav=ih jh_3,1711.383,218.312,498.591,109.999,54.999 +89.wav=ih m1_3,460.442,137.998,-203.875,109.999,55.0 +89.wav=ih n3_3,1044.005,137.627,-243.06,110.0,55.0 +89.wav=b ih_3,746.602,150,-370,60,30 +89.wav=p ih1_3,140.671,264.414,1953.882,119.997,60.0 +89.wav=r ih_3,1353.805,157.755,-436.91,40.0,20.0 +89.wav=m p1_3,637.526,93.215,1727.15,59.999,30.0 +89.wav=n r_3,1240.628,81.41,-103.369,60.0,30.0 +89.wav=p b_3,609.12,127.437,1729.276,99.999,49.999 +89.wav=jh -2_3,1830.2,307.277,-354.215,79.999,40.0 +89.wav=n31_3,1150,15,-126.301,15,10 +9.wav=- er_3,327.755,220,-500,60,30 +9.wav=ah eh_3,2073.581,340,-650,240,120 +9.wav=ay ah_3,1305.937,544.054,1945.366,400.0,199.999 +9.wav=eh aw_3,2719.134,339.999,-590.128,240.0,120.0 +9.wav=er ay_3,831.206,491.179,-694.786,240.0,120.0 +9.wav=aw -_3,3317.689,522.335,-600.0,299.999,119.999 +9.wav=ah5_3,1813.386,40.0,-210.221,20.0,40.0 +9.wav=aw2_3,2985,40.0,-210.221,20.0,40.0 +9.wav=ay7_3,1082.624,40.0,-210.221,20.0,40.0 +9.wav=eh1_3,2295,40.0,-438.733,20.0,40.0 +9.wav=er4_3,445.74,40.0,-337.278,20.0,40.0 +90.wav=- p9_3,89.973,50.525,2068.153,39.999,20.0 +90.wav=iy d_3,992.711,140.445,1095.095,109.999,55.0 +90.wav=iy m_3,1626.806,128.94,366.408,109.998,54.999 +90.wav=iy w_3,549.979,138.16,1518.331,109.998,55.0 +90.wav=k iy_3,1210.223,177.508,-406.698,120.0,60.0 +90.wav=p iy_3,70.628,284.634,1639.64,120.0,60.0 +90.wav=w iy_3,711.807,126.856,-301.431,49.999,25.0 +90.wav=d k_3,1117,99.998,-120.623,79.998,39.997 +90.wav=m -4_3,1872.706,230.694,-265.279,80.0,40.0 +91.wav=- iy1_3,343.641,158.103,-378.836,60.0,30.0 +91.wav=iy m1_3,1319.827,119.998,-208.104,110.0,55.0 +91.wav=iy sh_3,2033.329,156.114,-233.52,109.999,55.0 +91.wav=iy z_3,742.078,140.326,1745.641,109.998,54.999 +91.wav=l iy_3,1541.939,140.343,-336.551,80,40.0 +91.wav=r iy_3,1012.129,155.284,-375.149,39.999,20.0 +91.wav=m l_3,1480.322,81.409,-123.687,60.0,30.0 +91.wav=z r_3,906.626,112.443,-139.891,99.998,49.999 +91.wav=sh -1_3,2233.741,130.542,247.876,79.996,39.999 +91.wav=iy5_3,471.734,39.999,-300.023,20.0,39.999 +92.wav=- p10_3,207.111,56.163,2330.154,39.999,19.999 +92.wav=iy d1_3,1915.432,119.709,566.113,109.999,54.999 +92.wav=iy t_3,1208.516,126.469,-139.645,110.0,54.999 +92.wav=iy z1_3,615,161.055,-206.345,109.999,55.0 +92.wav=b iy_3,1421.706,150,-370,60,30 +92.wav=l iy1_3,308.981,140.343,-336.551,60.0,30.0 +92.wav=m iy_3,875.596,90.385,-302.661,39.999,20.0 +92.wav=d m_3,773.279,70.431,-97.33,59.999,30.0 +92.wav=d z3_3,2001.754,100,-150,80.0,40.0 +92.wav=p l1_3,203.994,112.079,-138.43,100,50.0 +92.wav=t b_3,1312.168,103.057,-142.584,80.0,40.0 +92.wav=z d_3,752.95,73.41,-120.622,50.0,25.0 +92.wav=z -14_3,2152.668,170.175,-243.463,80.0,40.0 +93.wav=- v3_3,238.24,50.775,-68.065,40.0,20.0 +93.wav=iy ch_3,1288.049,119.999,-142.137,110.0,55.0 +93.wav=iy jh_3,717.524,120.0,-168.466,109.999,55.0 +93.wav=iy v_3,2008.055,151.996,-219.242,110.0,54.999 +93.wav=ch iy_3,1416.214,215.269,-411.67,140.0,70.0 +93.wav=jh iy_3,864,164.817,-315.511,79.999,39.999 +93.wav=v iy_3,272.878,217.281,-449.498,59.999,29.999 +93.wav=v -5_3,2043.832,279.437,-329.943,80.0,40.0 +94.wav=- sh2_3,254.928,68.817,-144.995,40.0,20.0 +94.wav=iy b_3,815.0,139.624,1685.697,109.998,55.0 +94.wav=iy dh_3,1420.209,149.714,1040.07,109.999,54.999 +94.wav=dh iy_3,1610.319,179.999,-464.254,60.0,30.0 +94.wav=r iy1_3,1035.964,151.442,-377.784,40.0,20.0 +94.wav=sh iy_3,343.356,247.303,1864.281,99.999,49.999 +94.wav=b r2_3,960,83.999,-105.409,69.999,35.0 +94.wav=d dh1_3,1514.277,86.351,-123.682,59.999,29.999 +94.wav=dh d_3,1510.435,67.998,-108.622,40.0,20.0 +94.wav=iy -1_3,2081.614,515.748,-584.096,299.999,120.0 +95.wav=- iy2_3,188.394,220,-500,60,30 +95.wav=iy g_3,1404.3,127.293,-153.644,110.0,54.999 +95.wav=iy y_3,744.961,136.351,1630.044,109.999,55.0 +95.wav=g iy_3,1539.742,200,-380.231,80.0,40.0 +95.wav=y iy_3,832.297,106.026,-383.259,40.0,20.0 +95.wav=iy -2_3,1906.827,506.949,-535.77,300.0,119.998 +95.wav=iy6_3,372.087,40.0,-393.764,20.0,40.0 +96.wav=- s10_3,110.193,82.098,-149.38,39.999,19.999 +96.wav=iy f_3,1323.42,139.319,-223.328,110.0,55.0 +96.wav=iy k_3,507.376,126.827,-169.113,110.0,55.0 +96.wav=iy s_3,1974.797,158.584,-217.05,109.999,55.0 +96.wav=f iy_3,1481.245,200,-500,80.0,40.0 +96.wav=l iy2_3,924.734,140.343,-336.551,40,20.0 +96.wav=s iy_3,185.222,185.823,-385.468,99.998,49.999 +96.wav=k p_3,643.248,130.27,1755.694,120.0,59.999 +96.wav=p l2_3,782.627,131.553,1618.482,120.0,60.0 +96.wav=s t4_3,2136.215,97.604,305.061,79.999,39.999 +96.wav=t -11_3,2211.311,184.305,117.154,80.0,40.0 +97.wav=- z5_3,234.711,67.439,-96.382,39.999,19.999 +97.wav=iy hh_3,786.105,139.881,-187.406,109.999,54.999 +97.wav=iy t1_3,1285.796,120.0,-144.393,110.0,55.0 +97.wav=iy th_3,2030.278,174.265,453.503,109.999,55.0 +97.wav=hh iy_3,910.7,208.459,-421.737,79.999,40.0 +97.wav=n iy_3,1595.533,135.817,-409.831,40.0,20.0 +97.wav=z iy_3,311.039,176.813,-418.363,49.999,24.999 +97.wav=t n1_3,1492.71,103.056,-130.506,79.999,40.0 +97.wav=th -3_3,2272.568,169.759,-260.346,80.0,40.0 +97.wav=iy7_3,1686.098,39.998,-265.17,19.998,39.998 +97.wav=th7_3,2169.093,15,-126.301,15,10 +98.wav=- hh3_3,176.303,58.794,-100.14,39.999,20.0 +98.wav=iy n_3,1240.303,132.234,-181.642,110.0,54.999 +98.wav=iy r_3,366.572,158.584,-257.399,109.999,55.0 +98.wav=iy v1_3,2067.826,172.097,424.62,109.999,55.0 +98.wav=hh iy1_3,218.941,97.328,2377.88,79.998,39.997 +98.wav=q iy_3,1590.15,112.933,-378.733,10.0,10.0 +98.wav=t iy_3,952.472,131.377,1447.834,69.998,44.999 +98.wav=k q4_3,1472.273,82.385,1169.097,60.0,30.0 +98.wav=n k1_3,1397.174,74.441,1266.581,60.0,30.0 +98.wav=r z2_3,744.178,74.585,-143.756,40.0,20.0 +98.wav=s t5_3,850.767,96.469,-115.135,79.999,40.0 +98.wav=v z_3,2156.71,73.409,-95.016,49.999,24.999 +98.wav=z s_3,805.669,73.409,-115.328,49.999,25.0 +98.wav=z -15_3,2279.067,189.034,182.002,80.0,40.0 +98.wav=n32_3,1315,15,-126.301,15,10 +99.wav=- b2_3,213.851,45.512,-49.021,39.999,20.0 +99.wav=iy l_3,1018.006,173.543,1223.74,110.0,54.999 +99.wav=iy l1_3,1702.72,177.152,504.368,109.998,54.999 +99.wav=iy p_3,521.095,169.211,1779.139,109.999,55.0 +99.wav=d iy_3,835,111.589,-225.761,60.0,30.0 +99.wav=l iy3_3,265.656,112.403,-231.649,60.0,29.999 +99.wav=w iy1_3,1535.209,71.485,-217.987,50.0,24.998 +99.wav=b l_3,216.446,138.094,1948.828,50.0,24.999 +99.wav=l z1_3,1324.393,94.658,1028.731,59.998,30.0 +99.wav=p d_3,687.819,106.038,1653.466,99.998,50.0 +99.wav=z w_3,1440,129.333,-146.352,100,50.0 +99.wav=l -2_3,2014.329,316.335,-382.212,80.0,40.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=aa r_3,893.405,214.999,-242.271,200.0,80 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=aa dx_3,1876.337,225.237,-245.668,199.998,79.999 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=iy dx_3,2701.669,219.762,-237.856,199.999,79.999 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=er dx_3,3479.888,219.763,-258.053,199.999,80.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=dx aa_3,1287.335,199.341,-536.55,40.0,20.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=dx iy_3,2105.071,199.341,-536.55,40.0,20.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=dx er_3,2903.843,199.341,-536.55,40.0,20.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=dx ah_3,3707.356,199.341,-536.55,40.0,20.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=r dx_3,1242.306,45.053,-65.993,39.997,19.999 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=ah dx_3,913.714,214.999,-242.271,200.0,80 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=eh dx_3,1615.574,225.938,-246.319,199.999,80.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=ay dx_3,2400.292,207.31,2057.138,199.999,80.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=ey dx_3,3114.337,219.763,-258.053,199.999,80.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=dx eh_3,1156.973,199.341,-536.55,40.0,20.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=dx ay_3,1882.268,199.34,-469.85,40.0,20.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=dx ey_3,2638.376,199.341,-536.55,40.0,20.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=dx uw_3,3351.819,199.341,-536.55,40.0,20.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=oy dx_3,1062.37,217.06,3882.388,199.999,80.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=ih dx_3,1832.467,216.674,-237.055,200.0,80.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=ow dx_3,2622.059,219.763,-258.053,200.0,80.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=ao dx_3,3433.584,219.762,-244.466,200.0,80.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=ao r_3,4157.376,255.583,-307.228,200.0,79.999 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=dx ih_3,1289.707,199.341,-536.55,40.0,20.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=dx ow_3,2062.406,308.657,-588.429,40.0,20.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=dx ao_3,2849.327,199.341,-536.55,40.0,20.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=dx ao_3,3648.1,199.341,-536.55,40.0,20.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=uw dx_3,665.139,214.999,-255.583,200.0,80.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=aw dx_3,1397.544,222.231,-246.317,200.0,80.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=uh dx_3,2141.801,219.763,-258.053,200.0,80.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=ae dx_3,2933.463,219.762,-248.172,200.0,80.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=dx aw_3,891.506,199.341,-536.55,40.0,20.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=dx uh_3,1638.133,199.341,-536.55,40.0,20.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=dx ae_3,2420.313,199.341,-536.55,40.0,20.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=dx oy_3,3197.753,199.34,-503.032,40.0,20.0 diff --git a/OpenUtau.Test/Files/en_arpa/Main/oto.ini b/OpenUtau.Test/Files/en_arpa/Main/oto.ini new file mode 100644 index 000000000..829b66750 --- /dev/null +++ b/OpenUtau.Test/Files/en_arpa/Main/oto.ini @@ -0,0 +1,2702 @@ +0.wav=- ay,513.398,190.241,-399.98,60.0,30.0 +0.wav=ah iy,2604.332,340,-650,240,120 +0.wav=ay er,801.802,476.114,-712.071,400.0,199.999 +0.wav=er iy,1489.582,340,-650,240,120 +0.wav=iy ah,2050.343,340,-650,240,120 +0.wav=iy -,3427.139,611.269,-817.136,299.999,120.0 +0.wav=ah,2400.016,40.0,-210.221,20.0,40.0 +0.wav=ay,613.656,40.0,-210.221,20.0,40.0 +0.wav=er,1286.371,40.0,-210.221,20.0,40.0 +0.wav=iy,1779.115,40.0,-367.324,20.0,40.0 +0.wav=iy1,2871.564,40.0,-641.338,20.0,40.0 +1.wav=- ih,330.723,173.326,-416.894,60.0,30.0 +1.wav=ay ih,1946.892,451.377,-650,400,200 +1.wav=ih iy,775.714,340,-650,240,120 +1.wav=ih uw,2687.064,340,-650,240,120 +1.wav=iy ay,1386.331,340.0,-590.128,240.0,119.998 +1.wav=uw -,3293.176,531.393,-570.096,299.999,120.0 +1.wav=ay1,1709.315,40.0,-210.221,20.0,40.0 +1.wav=ih,522.018,40.0,-319.251,20.0,40.0 +1.wav=ih1,2365.599,40.0,-328.868,20.0,40.0 +1.wav=iy2,1068.843,40.0,-360.112,20.0,40.0 +1.wav=uw,3002.561,40.0,-330.069,20.0,40.0 +10.wav=- p,379.107,50.773,-70.446,39.999,19.999 +10.wav=aa l,2033.154,159.897,-241.087,109.999,54.999 +10.wav=aa r,765.321,120,-160.277,110,55 +10.wav=aa r1,1454.636,120.0,-169.201,110,55 +10.wav=d aa,1041.81,180,-415.278,60,30 +10.wav=p aa,316.199,210.195,-394.562,140,70.0 +10.wav=y aa,1657,127.233,-397.879,60,30 +10.wav=k d,910.661,123.133,-161.012,59.999,30.0 +10.wav=r k,841.158,90.506,-105.328,40.0,20.0 +10.wav=r y,1563.467,78.116,-100.624,60.0,30.0 +10.wav=l -,2263.277,316.335,-382.212,80.0,40.0 +100.wav=- g4,236.268,54.284,-66.688,40.0,19.999 +100.wav=ow k,1259.825,240.0,-267.36,220,110.0 +100.wav=ow s,2037.205,239.999,-313.876,219.999,109.999 +100.wav=ow v,591.946,240.0,-307.287,219.999,109.999 +100.wav=m ow,958.055,114.663,-360.328,40.0,20.0 +100.wav=m ow1,1630.992,94.0,-370.915,30.0,14.999 +100.wav=r ow,317.0,116.966,-310.48,39.999,20.0 +100.wav=g r1,248.523,69.882,-83.057,60.0,30.0 +100.wav=k m,1505.0,120.152,-150.346,63.608,30.0 +100.wav=v m,872.303,71.958,-121.732,49.998,24.999 +100.wav=s -7,2319.325,135.783,-217.306,80.0,40.0 +101.wav=- k4,386.621,64.057,-108.786,39.999,20.0 +101.wav=ow b,1454.369,240.0,-278.467,219.999,109.999 +101.wav=ow p,689.991,262.821,-299.999,219.999,109.999 +101.wav=b ow,1711.532,150,-370,60,30 +101.wav=dh ow,1088.013,149.76,-377.86,60.0,30.0 +101.wav=k ow,386.431,177.508,-406.698,120.0,60.0 +101.wav=p dh,918.866,112.079,-138.43,60,30 +101.wav=ow -1,2178.216,570.097,-630.209,300.0,119.999 +102.wav=- k5,409.556,76.836,-124.196,39.999,20.0 +102.wav=ow d,2364.321,263.643,-331.167,220.0,110.0 +102.wav=ow dh,863.761,240.0,-279.29,219.999,109.999 +102.wav=ow m,1473.237,240,-300,220,110.0 +102.wav=hh ow,1192.352,140.936,-265.28,80.0,40.0 +102.wav=l ow,579.0,103.652,-276.58,60.0,30.0 +102.wav=q ow,1893.249,138.46,-408.335,10.0,10.0 +102.wav=d q1,1855.706,88.782,-96.468,80.0,40.0 +102.wav=dh z1,1094.815,100,-150,80.0,40.0 +102.wav=k l,428.59,153.874,-174.735,150,75 +102.wav=m d2,1780.731,75.919,-92.26,60.0,30.0 +102.wav=z hh,1119.328,73.41,-120.622,50.0,25.0 +102.wav=d -5,2571.028,294.924,-371.506,80.0,40.0 +103.wav=- t3,271.601,62.051,-88.488,39.999,20.0 +103.wav=ow k1,1936.018,239.999,-289.349,220,110.0 +103.wav=ow t,605.14,247.176,-271.056,219.999,109.999 +103.wav=ow w,1373.586,235.223,-276.381,220,110.0 +103.wav=p ow,926.691,236.109,-466.679,120.0,59.998 +103.wav=t ow,250.558,179.29,-352.218,120.0,60.0 +103.wav=w ow,1626.748,116.974,-325.037,49.999,24.998 +103.wav=t p,837.526,103.056,-122.822,79.999,40.0 +103.wav=k -,2171.468,233.165,-311.669,80.0,40.0 +104.wav=- s11,306.181,70.822,-115.927,40.0,20.0 +104.wav=ow l,2003.367,277.509,-342.347,220,110.0 +104.wav=ow sh,1408.82,249.646,-325.405,219.999,110.0 +104.wav=ow y,810.156,239.998,-296.583,220.0,109.999 +104.wav=s ow,357.022,195.522,-420.0,99.999,49.999 +104.wav=sh ow,1672.104,199.999,-381.626,99.999,50.0 +104.wav=y ow,1093.913,214.575,-392.442,40.0,20.0 +104.wav=l -3,2293.418,223.283,-280.926,79.999,39.999 +105.wav=- ng,306.183,48.018,-82.096,39.999,20.0 +105.wav=ow f,1445.941,240,-300,220,110.0 +105.wav=ow hh,787.127,240,-300,220,110.0 +105.wav=ow n,2159.078,240.0,-281.455,220,110.0 +105.wav=f ow,1692.169,167.287,-395.387,80.0,40.0 +105.wav=hh ow1,1028.412,170.492,-385.305,80.0,40.0 +105.wav=ng ow,358.557,245.042,-506.904,39.999,19.999 +105.wav=n -4,2392.888,217.112,-287.93,80.0,40.0 +105.wav=ow4,603.742,40.0,-210.221,20.0,40.0 +105.wav=n33,2395,15,-126.301,15,10 +105.wav=ng14,345.0,15.0,-47.592,15.0,10.0 +106.wav=- d4,235.892,44.135,-53.532,39.999,20.0 +106.wav=ow n1,402.539,240.0,-329.521,219.999,109.999 +106.wav=ow z,1221.094,240,-300,220,110.0 +106.wav=ow z1,1938.352,275.172,-374.811,219.999,109.999 +106.wav=d ow,233.153,180.0,-335.705,60.0,30.0 +106.wav=g ow,876.05,200,-380.231,80.0,40.0 +106.wav=n ow,1518.379,177.259,-411.524,80.0,40.0 +106.wav=n t2,716.285,69.331,-80.311,59.999,30.0 +106.wav=t g,769.819,103.057,-142.584,80.0,40.0 +106.wav=z n,1445.065,96.47,-125.749,79.999,40.0 +106.wav=z -16,2267.12,180.619,-262.142,80.0,40.0 +106.wav=ow5,1709.41,40.0,-210.221,20.0,40.0 +106.wav=n34,625,15,-126.301,15,10 +107.wav=- b3,172.745,47.142,-52.404,39.999,19.999 +107.wav=oy n,1181.696,240,-300,220,110.0 +107.wav=oy z,507.955,240,-300,220,110.0 +107.wav=b oy,168.923,149.999,-282.424,60.0,29.999 +107.wav=g oy,1464.179,200,-380.231,80.0,40.0 +107.wav=jh oy,859.02,169.521,-291.394,59.999,30.0 +107.wav=n g,1422.344,78.117,-96.782,60.0,30.0 +107.wav=z jh,759.941,77.449,-105.264,50.0,25.0 +107.wav=oy -,1795.61,571.745,-640.092,299.999,120.0 +107.wav=n35,1375,15,-126.301,15,10 +108.wav=- p11,173.121,58.293,-92.247,40.0,19.999 +108.wav=uh l,1758.619,131.988,-160.232,110.0,54.999 +108.wav=uh r,1129.417,133.058,-184.112,110.0,54.999 +108.wav=uh t,542.184,131.41,-143.762,109.998,55.0 +108.wav=p uh,149.273,191.189,-399.932,120.0,60.0 +108.wav=sh uh,805.0,227.649,-447.515,99.999,49.999 +108.wav=w uh,1420.011,143.875,-318.998,49.999,24.999 +108.wav=l f,1873.6,100,-120,60,30 +108.wav=r w,1350.074,77.88,-105.328,40.0,20.0 +108.wav=t sh,649.774,103.056,-172.228,79.999,40.0 +108.wav=f -1,1943.643,180.943,-277.288,80.0,40.0 +109.wav=- g5,243.035,55.41,-68.19,39.999,20.0 +109.wav=uh d,628.648,120,-160.783,110,55 +109.wav=uh ng,1201.87,143.829,-221.636,110.0,54.999 +109.wav=uh r1,1983.554,138.19,-223.326,110.0,54.999 +109.wav=g uh,242.798,200,-380.231,80.0,40.0 +109.wav=t uh,1567.494,245.991,-448.563,120.0,60.0 +109.wav=y uh1,976.216,106.025,-293.629,39.999,20.0 +109.wav=d z4,729.204,100,-150,80.0,40.0 +109.wav=ng t,1503.525,71.528,-89.645,60.0,30.0 +109.wav=r z3,2204.832,137.718,-192.614,40.0,20.0 +109.wav=z y1,924.639,58.052,-81.475,50.0,25.0 +109.wav=z -17,2349.298,120.136,-167.287,80.0,40.0 +109.wav=ng15,1313.939,15,-126.301,15,10 +11.wav=- k,344.897,53.532,-78.339,39.999,20.0 +11.wav=aa ch,1252.543,138.755,-175.121,110.0,54.999 +11.wav=aa r2,627.471,143.265,-202.465,110,55 +11.wav=aa r3,1899.598,120,-206.277,110,55 +11.wav=k aa,312.319,177.508,-406.698,120.0,60.0 +11.wav=l aa,1579.618,140.343,-336.551,60.0,30.0 +11.wav=w aa,957.951,133.169,-308.567,50.0,25.0 +11.wav=ch l,1459.412,140,-160,120,60 +11.wav=r jh,2172.148,156.62,-215.361,60.0,30.0 +11.wav=r v,847.148,73.488,-105.327,40.0,20.0 +11.wav=v w,891.372,89.881,-119.525,79.999,40.0 +11.wav=jh -,2263.591,316.335,-382.212,80.0,40.0 +110.wav=- b4,324.222,46.765,-55.035,39.999,20.0 +110.wav=uh d1,1395,125.223,-168.073,110.0,54.999 +110.wav=uh k,2035.0,143.221,-196.746,109.999,54.999 +110.wav=uh sh,725,133.681,-202.466,109.999,55.0 +110.wav=b uh,325.381,123.429,-250.287,60.0,29.999 +110.wav=k uh,991.732,193.578,-332.276,100,50 +110.wav=l uh,1647.995,140.343,-336.551,60.0,30.0 +110.wav=d l,1509.331,99.999,-140.936,80.0,40.0 +110.wav=sh k,915.546,96.47,-111.292,79.999,40.0 +110.wav=k -1,2182.945,236.458,-284.158,80.0,40.0 +111.wav=- f4,212.212,73.829,-119.936,40.0,20.0 +111.wav=uw d,804.881,120.0,-156.113,109.998,55.0 +111.wav=uw m,1345.115,145.409,-237.637,109.999,54.999 +111.wav=uw s,2095.0,143.266,-222.319,109.998,54.999 +111.wav=b uw,1646.289,150,-370,60,30 +111.wav=d uw,945,210.539,-416.895,60.0,30.0 +111.wav=y uw15,397.262,106.025,-311.193,39.999,20.0 +111.wav=f y,266.404,99.999,-131.605,80.0,39.999 +111.wav=m b,1579.982,81.41,-103.369,60.0,30.0 +111.wav=s t6,2262.747,96.47,-118.977,80.0,40.0 +111.wav=t -12,2345.128,218.479,-281.405,79.999,39.999 +112.wav=- v4,226.12,50.774,-74.33,40.0,20.0 +112.wav=uw b,2027.902,127.292,-162.701,109.998,54.999 +112.wav=uw k,1281.77,130.296,-177.523,109.998,54.999 +112.wav=uw z,705.241,127.479,-208.104,109.999,55.0 +112.wav=l uw,937.255,95.52,-269.738,60.0,30.0 +112.wav=y uw1,353.616,162.696,-315.037,39.999,20.0 +112.wav=y uw2,1619.453,227.201,-397.933,40.0,20.0 +112.wav=k k,1422.31,89.646,-114.899,60.0,30.0 +112.wav=k y1,1471.337,158.268,-175.286,140,70.0 +112.wav=v y,251.938,56.039,-78.547,49.999,25.0 +112.wav=z l,886.922,62.078,-89.892,50.0,25.0 +112.wav=b -2,2141.824,296.862,-382.276,80,40 +113.wav=- m3,274.984,55.035,-74.58,39.999,20.0 +113.wav=uw dh,678.059,120.0,-150.349,109.998,55.0 +113.wav=uw sh,1387.138,142.939,-231.05,110.0,54.999 +113.wav=uw t,2035.0,139.071,-186.008,109.998,54.999 +113.wav=m uw,322.443,195.516,-402.206,29.999,15.0 +113.wav=sh uw,1562.67,185.64,-419.999,100.0,50.0 +113.wav=y uw3,1040.424,138.815,-331.506,40.0,20.0 +113.wav=dh m,800.561,94.823,-128.31,79.999,40.0 +113.wav=m y,914.436,81.41,-103.369,60.0,30.0 +113.wav=t -13,2188.93,316.335,-382.212,80.0,40.0 +114.wav=- p12,124.633,59.546,-83.226,40.0,19.998 +114.wav=uw f,1935.0,148.902,-262.161,109.998,54.999 +114.wav=uw r,440.075,212.932,-282.528,109.998,54.999 +114.wav=uw v,1289.983,130.86,-199.082,110.0,54.999 +114.wav=p uw,103.982,169.898,-390.631,120.0,60.0 +114.wav=r uw,881.484,171.754,-379.267,39.999,19.999 +114.wav=r uw1,1510.702,222.26,-452.831,40.0,20.0 +114.wav=g r2,810.141,69.882,-83.057,60.0,30.0 +114.wav=r g,726.928,90.506,-105.328,40.0,20.0 +114.wav=v r,1410.051,90.98,-107.998,80.0,40.0 +114.wav=f -2,2054.485,220.813,-300.408,79.999,40.0 +115.wav=- th2,218.602,60.799,-110.289,40.0,19.999 +115.wav=uw g,799.939,136.499,-153.977,109.999,55.0 +115.wav=uw th,2051.685,153.414,-249.988,109.999,54.999 +115.wav=uw y,1438.993,132.553,-186.115,110.0,54.999 +115.wav=r uw2,352.793,76.0,-293.078,39.999,20.0 +115.wav=r uw3,1018.175,109.72,-292.804,40.0,20.0 +115.wav=y uw4,1654.76,106.025,-273.864,40.0,20.0 +115.wav=g r3,940.318,69.882,-83.057,60.0,30.0 +115.wav=th r,290.366,61.346,-80.011,49.998,24.999 +115.wav=th -4,2204.589,285.043,-320.171,80.0,40.0 +115.wav=th8,255.274,15.0,-76.425,15.0,10.0 +115.wav=th9,2170,15,-126.301,15,10 +116.wav=- f5,203.942,70.447,-133.218,39.999,19.999 +116.wav=uw l,1172.274,120.0,-216.227,110.0,54.999 +116.wav=uw n,2031.222,133.057,-163.525,109.998,54.999 +116.wav=uw t1,689.593,125.645,-150.349,109.998,54.999 +116.wav=q uw,939.49,155.465,-355.901,10.0,10.0 +116.wav=r uw4,352.793,82.82,-218.691,39.998,19.999 +116.wav=t uw,1503.252,239.403,-403.272,119.999,60.0 +116.wav=d t,1433.646,124.168,-149.999,79.999,40.0 +116.wav=f r,267.502,92.078,-120.625,80.0,39.999 +116.wav=l d1,1386.661,100,-120,60,30 +116.wav=t q1,813.391,95.371,-127.577,79.999,40.0 +116.wav=n -5,2136.934,168.591,-249.291,80.0,40.0 +116.wav=n36,2145,15,-126.301,15,10 +117.wav=- b5,194.169,44.512,-50.902,39.999,19.999 +117.wav=uw l1,1829.473,120,-161.289,110,55 +117.wav=uw p,1200.254,140.468,-172.583,110.0,54.999 +117.wav=uw w,743.122,120.0,-184.111,109.999,55.0 +117.wav=f uw,1441.943,182.934,-405.269,80.0,40.0 +117.wav=w uw,879.721,180.931,-362.093,50.0,25.0 +117.wav=y uw5,272.094,116.581,-347.151,39.999,19.998 +117.wav=b y,195.942,58.783,-80.742,49.998,24.999 +117.wav=l d2,1987.849,99.999,-113.251,59.999,30.0 +117.wav=p f,1318.664,122.508,-173.563,99.999,50.0 +117.wav=d -6,2061.724,266.103,-286.69,80.0,40.0 +118.wav=- s12,182.518,64.057,-117.933,40.0,20.0 +118.wav=uw dh1,759.587,137.997,-181.64,109.998,54.999 +118.wav=uw z1,1465.347,119.999,-177.094,110.0,54.999 +118.wav=n uw2,1685.581,119.999,-348.45,80.0,40.0 +118.wav=s uw,249.15,156.818,-538.082,99.998,49.998 +118.wav=y uw6,1085.705,170.102,-357.303,40.0,20.0 +118.wav=dh y,927.454,99.999,-131.054,79.999,39.999 +118.wav=z n1,1607,84.392,-100.861,80.0,40.0 +118.wav=uw -1,2057.602,489.398,-583.822,299.999,119.997 +118.wav=uw5,1731,40.0,-210.221,20.0,40.0 +119.wav=- k6,308.061,85.858,-114.174,40.0,20.0 +119.wav=uw hh,945.0,125.071,-165.875,109.999,55.0 +119.wav=uw m1,1540.29,133.881,-211.287,110.0,54.999 +119.wav=uw p1,2250.963,154.466,-210.462,109.998,55.0 +119.wav=hh uw,1062.174,184.024,-423.363,80.0,40.0 +119.wav=k uw,323.847,177.508,-337.395,120.0,60.0 +119.wav=r uw5,1864.759,84.467,-347.976,40.0,20.0 +119.wav=g r4,1790.835,69.882,-83.057,60.0,30.0 +119.wav=m g,1722,71.528,-82.508,60.0,30.0 +119.wav=p -4,2390.692,229.87,-304.806,80.0,40.0 +12.wav=- z,311.444,50.775,-81.096,40.0,20.0 +12.wav=aa n,757.71,120.995,-199.083,109.999,55.0 +12.wav=aa r4,1276.188,120,-151.301,110,55 +12.wav=aa r5,2032.308,119.998,-159.051,110,55 +12.wav=ch aa,958.166,176.561,-411.671,100,50 +12.wav=f aa,1637.787,200,-500,80,40 +12.wav=z aa,357.615,179.558,-332.722,50,25 +12.wav=m f,1571.165,92.938,-125.877,60.0,30.0 +12.wav=n ch,914.491,81.41,-103.369,60.0,30.0 +12.wav=r m,1475.863,60.861,-95.996,39.999,20.0 +12.wav=r -,2250.102,316.335,-382.212,80.0,40.0 +12.wav=n,858.718,15.0,-97.925,15.0,10.0 +120.wav=- k7,323.472,58.793,-89.991,39.999,20.0 +120.wav=aa n2,1348.175,117.331,-152.287,110,55 +120.wav=aa r9,1861.596,131.989,-182.732,110,55 +120.wav=aa s1,720,127.478,-170.892,110,55 +120.wav=k aa1,309.025,187.658,-333.968,120.0,60.0 +120.wav=t aa1,1623.218,144.936,-363.977,69.999,44.999 +120.wav=w aa2,1021.385,141.406,-354.684,50.0,24.998 +120.wav=n t3,1456.351,73.724,-84.155,60.0,30.0 +120.wav=r t2,2088.337,151.603,-211.442,100.0,49.999 +120.wav=s t7,852.897,96.469,-112.391,79.999,39.999 +120.wav=s t8,1536.558,96.47,-120.624,80.0,40.0 +120.wav=t s3,1498.603,55.371,-108.073,40.0,20.0 +120.wav=t w1,941.228,92.681,-120.496,80.0,40.0 +120.wav=t -14,2205.506,174.698,-241.4,80.0,40.0 +120.wav=n37,1465,15,-126.301,15,10 +121.wav=- p13,350.537,60.548,-89.616,40.0,20.0 +121.wav=aa m1,851,128.606,-172.02,110,55 +121.wav=aa m2,2023.775,120.0,-187.805,109.999,54.999 +121.wav=aa n3,1457.132,145.519,-204.721,109.999,54.999 +121.wav=m aa1,965.875,120,-355.773,80.0,40.0 +121.wav=m aa,1581.171,141.738,-496.095,80.0,40.0 +121.wav=r aa1,461.49,168.46,-398.207,39.999,19.999 +121.wav=m z1,2167.869,99.527,-164.306,59.999,30.0 +121.wav=n m1,1565.599,72.078,-92.39,60.0,30.0 +121.wav=p r2,354.554,109.883,-132.391,99.999,49.999 +121.wav=z -18,2280.731,222.094,-382.212,79.999,40.0 +121.wav=n38,1571,15,-126.301,15,10 +122.wav=- w1,328.734,50.775,-68.065,40,20 +122.wav=aa p1,1373.426,127.479,-174.839,110,55 +122.wav=aa r10,1907.104,120.0,-197.392,110,55 +122.wav=aa z1,745,146.084,-209.231,110,55 +122.wav=k aa2,1548.348,198.651,-365.258,119.999,60.0 +122.wav=t aa2,972.508,146.858,-365.624,69.999,45.0 +122.wav=w aa3,369.0,162.958,-372.118,49.999,25.0 +122.wav=d z5,2194.047,100,-150,80.0,40.0 +122.wav=p k,1486.341,91.217,-104.392,80.0,40.0 +122.wav=r d2,2137.962,90.506,-105.328,40.0,20.0 +122.wav=s t9,890.661,96.469,-115.134,79.999,40.0 +122.wav=z s1,861.363,64.822,-101.055,49.999,24.999 +122.wav=z -19,2292.868,316.335,-382.212,80.0,40.0 +123.wav=- s13,238.524,67.564,-126.702,40.0,20.0 +123.wav=aa d1,1434.372,131.988,-169.2,110,55 +123.wav=aa n4,2021.348,131.144,-181.887,109.999,54.999 +123.wav=aa r11,635.079,149.467,-263.921,109.999,55.0 +123.wav=b aa,942,150,-370,60,30 +123.wav=d aa1,1578.759,179.999,-429.736,60.0,30.0 +123.wav=s aa2,299.38,200.0,-383.272,99.999,49.999 +123.wav=n t4,2144.433,70.43,-81.41,60.0,29.999 +123.wav=r b1,879.044,90.506,-105.328,40.0,20.0 +123.wav=t -15,2208.432,316.335,-382.212,80.0,40.0 +123.wav=n39,2115,15,-126.301,15,10 +124.wav=- n6,195.673,50.774,-59.921,40.0,19.999 +124.wav=aa n5,1214.496,135.936,-184.988,110,55 +124.wav=aa r12,1877.639,119.999,-247.007,109.999,54.999 +124.wav=aa t1,585,130.86,-156.795,110,55 +124.wav=g aa1,805.248,200,-380.231,80.0,40.0 +124.wav=k aa3,1516.229,177.508,-406.698,60,30.0 +124.wav=n aa1,238.332,101.989,-283.819,39.999,20.0 +124.wav=n s2,1352.552,86.9,-121.485,60.0,30.0 +124.wav=r d3,2163.107,90.506,-105.328,40.0,20.0 +124.wav=s k5,1425.057,96.47,-120.624,80.0,40.0 +124.wav=t g1,707.651,103.056,-123.37,79.999,40.0 +124.wav=d -7,2190.632,191.99,-263.355,80.0,40.0 +124.wav=aa3,306.092,40.0,-210.221,20.0,40.0 +124.wav=n40,220,15,-126.301,15,10 +124.wav=n41,1315,15,-126.301,15,10 +125.wav=- k8,263.33,53.532,-90.368,39.999,20.0 +125.wav=ae n3,625.0,120.0,-183.642,109.999,55.0 +125.wav=ae n4,1253.681,122.968,-177.094,110.0,55.0 +125.wav=ae t1,1940.0,136.829,-178.826,109.999,55.0 +125.wav=dh ae1,1566.377,174.463,-380.329,60.0,30.0 +125.wav=hh ae1,924.637,200.0,-341.328,80.0,40.0 +125.wav=k ae2,240.677,177.507,-356.335,120.0,60.0 +125.wav=d z6,1407.558,70.979,-113.251,60,30 +125.wav=n d3,1386.132,70.43,-81.959,60.0,30.0 +125.wav=n t5,756.921,67.137,-73.176,59.999,30.0 +125.wav=t hh1,807.021,95.92,-148.934,60.0,30.0 +125.wav=t s4,2071.268,103.056,-179.914,80.0,40.0 +125.wav=z dh1,1469.211,64.272,-84.585,50.0,24.998 +125.wav=s -8,2236.378,199.67,-287.781,79.999,40.0 +125.wav=n42,735,15,-126.301,15,10 +125.wav=n43,1355,15,-126.301,15,10 +126.wav=- y2,290.019,50.775,-68.065,40.0,20.0 +126.wav=ae n5,1421.7,120,-189.795,110.0,55.0 +126.wav=ae y,822.997,126.915,-179.35,110.0,55.0 +126.wav=y ae3,359.38,186.577,-408.913,39.999,20.0 +126.wav=y ae4,1000.054,169.283,-430.322,39.997,20.0 +126.wav=y ae5,1665.467,231.043,-488.788,39.998,20.0 +126.wav=n y1,1596.456,84.803,-103.369,60.0,30.0 +126.wav=ae -1,1980.197,510.809,-545.394,300.0,119.998 +126.wav=n44,1528,15,-126.301,15,10 +127.wav=- f6,195.298,73.328,-122.442,40.0,20.0 +127.wav=ae n6,1250.495,121.84,-175.966,110.0,55.0 +127.wav=ae s1,630,130.862,-183.296,110.0,55.0 +127.wav=f ae1,244.445,179.794,-386.996,80.0,40.0 +127.wav=k ae3,858.785,177.508,-406.698,80,40.0 +127.wav=s ae1,1470.543,200,-420,100,50 +127.wav=n t6,1370.189,72.627,-89.096,60.0,30.0 +127.wav=s t10,759.589,96.47,-110.194,79.999,40.0 +127.wav=t k1,765.449,94.274,-107.998,80.0,40.0 +127.wav=t s5,1396.063,103.057,-142.584,80.0,40.0 +127.wav=ae -2,1792.865,480,-600,300,120 +127.wav=n45,1360,15,-126.301,15,10 +128.wav=- dh1,273.48,45.638,-62.553,39.999,20.0 +128.wav=ae m2,1297.302,152.82,-237.637,110.0,54.999 +128.wav=ae t,655,126.914,-147.775,110.0,55.0 +128.wav=ae t3,1855,141.01,-173.711,110.0,55.0 +128.wav=dh ae2,281.738,154.721,-330.096,60.0,29.999 +128.wav=m ae1,1478.819,126.516,-299.043,80.0,40.0 +128.wav=y ae6,967.097,167.638,-352.917,39.999,20.0 +128.wav=m m1,1412.904,81.41,-103.369,60.0,30.0 +128.wav=t y,774.228,162.325,-204.047,140.0,69.999 +128.wav=t -16,1977.565,177.109,-273.454,80.0,40.0 +129.wav=- z6,134.406,59.796,-79.091,40.0,19.999 +129.wav=ae k2,545.0,130.859,-163.18,109.999,54.999 +129.wav=ae ng4,1825,130.297,-183.296,110.0,55.0 +129.wav=ae t4,1245,158.488,-215.997,110.0,55.0 +129.wav=b ae1,1435,150,-370,60,30 +129.wav=dh ae3,793.965,148.801,-339.088,60.0,30.0 +129.wav=z ae,177.276,123.014,-326.135,50.0,24.999 +129.wav=k dh,680.057,83.058,-113.801,59.999,30.0 +129.wav=ng k,1937.94,78.116,-106.114,60.0,30.0 +129.wav=t b1,1342.302,103.056,-121.719,79.999,39.999 +129.wav=k -2,2001.385,268.299,-364.919,80.0,40.0 +129.wav=ng16,1904.166,14.998,-85.912,14.998,10.0 +13.wav=- g,323.096,48.269,-58.794,39.999,20.0 +13.wav=aa n1,1871,129.733,-182.168,110,55 +13.wav=aa r6,1085.944,130.86,-218.816,110,55 +13.wav=aa t,626,133.116,-167.509,110,55 +13.wav=g aa,307.028,165.641,-336.921,79.999,39.999 +13.wav=hh aa1,872.788,164.817,-275.161,79.999,40.0 +13.wav=t aa,1457.327,207.873,-443.384,99.998,50.0 +13.wav=r t4,1320.423,117.954,-154.736,40.0,20.0 +13.wav=t hh,747.363,103.057,-142.584,60,30 +13.wav=t t,1353.199,127.761,-149.72,80.0,40.0 +13.wav=n -,2112.179,316.335,-382.212,80.0,40.0 +13.wav=n1,1981,15.0,-85.84,15.0,9.999 +130.wav=- b6,224.616,50.525,-58.794,40.0,19.999 +130.wav=ae n7,1136.028,120,-162.301,110.0,55.0 +130.wav=ae n8,1827.85,131.423,-174.23,110.0,54.999 +130.wav=ae s2,563.594,145.521,-197.955,110.0,55.0 +130.wav=l ae2,289.149,93.762,-246.103,60.0,30.0 +130.wav=r ae1,1467.96,83.644,-315.861,40.0,20.0 +130.wav=t ae,824.324,134.23,-312.922,69.999,45.0 +130.wav=b l1,204.918,86.588,-106.9,79.999,40.0 +130.wav=b r3,1395.364,83.998,-97.998,70.0,34.999 +130.wav=d z7,1271.407,67.136,-93.487,60.0,30.0 +130.wav=n d4,1248.884,66.588,-78.666,60.0,30.0 +130.wav=n d5,1958.802,67.685,-78.665,60.0,30.0 +130.wav=s t11,737.641,96.47,-121.722,79.999,40.0 +130.wav=s t12,741.309,96.47,-118.063,79.999,40.0 +130.wav=t s6,674.069,50.905,-99.215,40.0,20.0 +130.wav=z b1,1319.598,73.41,-120.622,50.0,25.0 +130.wav=d -8,2015.658,191.99,-263.355,80.0,40.0 +130.wav=n46,1245,15,-126.301,15,10 +130.wav=n47,1945,15,-126.301,15,10 +131.wav=- hh4,285.132,60.673,-106.154,39.999,20.0 +131.wav=ae d1,705,182.168,-212.614,110.0,55.0 +131.wav=ae n9,1911.844,126.35,-165.253,110.0,55.0 +131.wav=ae t5,1305,173.612,-216.462,110.0,55.0 +131.wav=dh ae4,925.752,144.571,-370.379,60.0,30.0 +131.wav=dh ae5,1525.395,149.758,-325.979,60.0,30.0 +131.wav=hh ae2,343.261,200.0,-325.26,80.0,40.0 +131.wav=d dh,795.682,99.999,-122.82,79.999,40.0 +131.wav=t dh1,1417.334,103.056,-126.114,79.999,39.999 +131.wav=n -6,2022.795,316.335,-382.212,80.0,40.0 +131.wav=n48,2010,15,-126.301,15,10 +132.wav=- s14,242.281,77.838,-144.493,40.0,20.0 +132.wav=ah l,1415,119.999,-173.148,110.0,55.0 +132.wav=ah m3,627.824,126.915,-200.775,110.0,55.0 +132.wav=ah s2,1885.0,152.466,-210.932,110.0,54.999 +132.wav=dh ah2,963.631,165.715,-410.974,60.0,30.0 +132.wav=l ah1,409,126.813,-254.517,60.0,30.0 +132.wav=l ah2,1534.414,118.467,-302.923,60.0,30.0 +132.wav=m z2,806.321,81.41,-103.369,60.0,30.0 +132.wav=s l2,331.735,96.47,-121.174,80.0,39.999 +132.wav=s t13,2058.885,96.47,-109.096,80.0,40.0 +132.wav=z dh2,885.846,73.409,-91.174,50.0,25.0 +132.wav=t -17,2160.541,174.223,-283.744,79.999,39.999 +133.wav=- k9,292.274,56.037,-127.955,40.0,20.0 +133.wav=ah m4,608.885,167.642,-284.574,109.999,54.999 +133.wav=ah m5,1798.124,120,-163.783,110.0,55.0 +133.wav=ah s3,1317.158,120.705,-165.172,110.0,54.999 +133.wav=dh ah3,952.078,118.355,-267.202,60.0,30.0 +133.wav=hh ah2,1525.056,151.642,-327.04,80.0,40.0 +133.wav=r ah2,417.846,65.936,-222.809,39.999,20.0 +133.wav=k r2,323.185,105.565,-124.231,100,50.0 +133.wav=m dh1,890.842,98.979,-113.801,59.999,30.0 +133.wav=m p,1971.273,81.41,-103.369,60.0,30.0 +133.wav=s hh1,1424.326,96.47,-145.329,80.0,40.0 +133.wav=p -5,2027.586,316.335,-382.212,80.0,40.0 +134.wav=- b7,307.307,44.512,-49.399,39.999,20.0 +134.wav=ah m6,602.297,147.056,-209.639,109.999,55.0 +134.wav=ah n3,1262.801,119.022,-176.531,110.0,55.0 +134.wav=ah n4,1827.769,129.733,-193.444,110.0,55.0 +134.wav=b ah2,302.324,150.0,-350.928,60.0,30.0 +134.wav=d ah1,1452.812,224.07,-378.837,60.0,30.0 +134.wav=sh ah2,899.721,228.46,-392.329,99.999,50.0 +134.wav=m sh,796.964,91.841,-154.424,59.999,30.0 +134.wav=n d6,1380.002,64.938,-74.272,60.0,30.0 +134.wav=n t7,1967.98,75.371,-89.096,59.999,30.0 +134.wav=t -18,2034.173,272.348,-348.107,79.999,39.999 +134.wav=n49,1360,15,-126.301,15,10 +134.wav=n50,1935,15,-126.301,15,10 +135.wav=- z7,311.82,57.118,-98.887,39.999,20.0 +135.wav=ah f1,1315,133.68,-205.284,110.0,55.0 +135.wav=ah n5,692.061,152.286,-238.549,110.0,55.0 +135.wav=ah n6,1955,139.318,-200.21,110.0,55.0 +135.wav=dh ah4,920.794,131.887,-319.637,60.0,30.0 +135.wav=r ah3,1565.087,158.579,-415.162,40.0,20.0 +135.wav=z ah1,371.615,126.857,-323.94,49.999,24.999 +135.wav=d dh2,832.986,87.686,-124.466,79.999,40.0 +135.wav=f r1,1476.426,94.821,-125.565,80.0,40.0 +135.wav=n d7,836.509,70.979,-79.762,59.999,30.0 +135.wav=n -7,2096.808,188.147,-285.868,79.998,39.998 +135.wav=n51,805,15,-126.301,15,10 +135.wav=n52,2065,15,-126.301,15,10 +136.wav=- t4,228.751,67.439,-101.644,40.0,19.999 +136.wav=ah ch1,495.246,138.754,-172.583,110.0,55.0 +136.wav=ah k1,1141.813,162.997,-193.443,110.0,55.0 +136.wav=ah p1,1730,140.446,-173.711,110.0,55.0 +136.wav=s ah1,799.271,202.932,-367.625,99.998,50.0 +136.wav=t ah1,206.797,191.76,-346.571,130.0,65.0 +136.wav=t ah2,1316.092,213.283,-391.975,70.0,44.999 +136.wav=ch t1,653.006,180.936,-195.209,120.0,59.999 +136.wav=k t5,1253.858,69.882,-91.293,60.0,30.0 +136.wav=t s7,629.334,115.683,-178.816,79.999,40.0 +136.wav=p -6,1825.21,316.335,-382.212,80.0,40.0 +137.wav=- b8,319.712,45.262,-51.276,40.0,20.0 +137.wav=ah m7,1287.42,143.265,-191.523,110.0,54.999 +137.wav=ah n7,693.702,130.862,-241.37,110.0,55.0 +137.wav=ah n8,1735.0,147.775,-205.083,109.999,54.999 +137.wav=dh ah5,896.043,152.184,-415.203,60.0,30.0 +137.wav=l ah3,380,140.343,-285.808,60.0,29.999 +137.wav=m ah,1407.178,123.978,-354.859,80.0,40.0 +137.wav=b l2,319.733,57.414,-78.824,49.999,25.0 +137.wav=n dh1,846.36,74.822,-89.095,60.0,30.0 +137.wav=n z1,1909.179,117.642,-177.481,60.0,30.0 +137.wav=z -20,2008.308,166.264,-265.629,79.999,39.999 +137.wav=n53,795,15,-126.301,15,10 +137.wav=n54,1845,15,-126.301,15,10 +138.wav=- m4,237.396,46.264,-78.089,40.0,20.0 +138.wav=ah d1,1775,131.99,-202.466,110.0,55.0 +138.wav=ah n9,545.478,128.604,-218.816,110.0,55.0 +138.wav=ah v1,1123.55,141.008,-193.17,109.999,54.999 +138.wav=l ah,783.229,140.343,-261.281,59.999,29.999 +138.wav=m ah2,289.386,89.739,-254.655,40.0,20 +138.wav=m ah3,1352.479,100.999,-389.149,40.0,20.0 +138.wav=n l,700.881,81.41,-103.369,60.0,30.0 +138.wav=v m1,1244.498,94.821,-132.151,80.0,40.0 +138.wav=d -9,1888.081,316.335,-382.212,80.0,40.0 +138.wav=n55,660,15,-126.301,15,10 +139.wav=- s15,274.984,72.326,-124.948,40.0,20.0 +139.wav=ah l3,1924.082,146.085,-226.108,110.0,54.999 +139.wav=ah n10,643.47,125.223,-201.901,110.0,55.0 +139.wav=ah n11,1249.603,125.787,-204.157,110.0,55.0 +139.wav=m ah4,997.596,112.464,-285.392,39.999,19.999 +139.wav=s ah2,343.848,154.35,-340.451,99.999,49.999 +139.wav=t ah3,1483.272,303.75,-498.912,129.998,64.998 +139.wav=d t1,1476.904,94.274,-109.097,80.0,40.0 +139.wav=l d3,2121.642,86.9,-111.604,60.0,30.0 +139.wav=n d8,1430.477,72.076,-88.547,60.0,30.0 +139.wav=n t8,800,71.529,-79.763,60.0,30.0 +139.wav=t m1,898.32,89.881,-129.774,79.999,40.0 +139.wav=d -10,2137.326,321.275,-387.152,80.0,40.0 +139.wav=n56,765,15,-126.301,15,10 +139.wav=n57,1355,15,-126.301,15,10 +14.wav=- aa,214.577,165.715,-416.894,60.0,30.0 +14.wav=aa k,1165.458,142.7,-168.355,109.999,54.999 +14.wav=aa r7,440.563,120,-163.784,110,55 +14.wav=aa s,1961.391,141.011,-222.764,110,55 +14.wav=hh aa,1389.199,199.999,-452.963,80.0,40.0 +14.wav=jh aa,856.548,129.171,-304.569,59.999,30.0 +14.wav=d jh,787.961,95.37,-121.721,79.998,39.999 +14.wav=k hh,1290.546,95.683,-160.462,60.0,30.0 +14.wav=m d,774.464,70.431,-87.998,60.0,30.0 +14.wav=r m1,663.801,71.292,-119.602,40.0,20.0 +14.wav=s -,2115,316.335,-382.212,80.0,40.0 +14.wav=aa1,285,40.0,-210.221,20.0,40.0 +140.wav=- d5,263.706,49.398,-58.419,39.999,20.0 +140.wav=ah n12,545,144.394,-243.625,110.0,55.0 +140.wav=ah s4,1115.459,137.175,-203.052,110.0,54.999 +140.wav=ah t1,1846.81,131.425,-171.456,110.0,55.0 +140.wav=d ah2,265.267,141.524,-288.925,60.0,29.999 +140.wav=n ah1,811.02,150.194,-318.804,79.999,39.999 +140.wav=w ah1,1492,78.428,-319.978,50.0,25.0 +140.wav=d n1,741.324,99.999,-141.485,80.0,40.0 +140.wav=n d9,650.418,68.235,-85.802,59.999,30.0 +140.wav=s t14,1259.988,88.784,-103.057,79.999,39.999 +140.wav=t w2,1361.28,126.038,-145.252,119.998,60.0 +140.wav=t -19,1959.71,181.567,-255.678,79.999,40.0 +140.wav=ah9,945.924,40.0,-210.221,20.0,40.0 +140.wav=n58,655,15,-126.301,15,10 +141.wav=- b9,386.623,44.762,-50.024,40.0,20.0 +141.wav=ah b1,2049.213,125.224,-168.074,110.0,55.0 +141.wav=ah m8,1288.29,148.702,-209.795,110.0,54.999 +141.wav=ah t2,714.292,132.553,-174.275,110.0,55.0 +141.wav=b ah3,381.377,150,-370,60,30 +141.wav=dh ah6,983.352,180,-324.76,60.0,30.0 +141.wav=l ah5,1600,140.343,-336.551,30,15 +141.wav=k l1,1515.751,69.882,-102.271,59.999,30.0 +141.wav=m k1,1441,81.409,-97.331,60.0,30.0 +141.wav=s dh1,881.104,96.47,-137.459,79.999,40.0 +141.wav=t s8,810.83,103.057,-142.584,80.0,40.0 +141.wav=b -3,2144.752,296.862,-382.276,80,40 +142.wav=- m5,278.741,55.285,-78.089,40.0,20.0 +142.wav=ah n13,692.055,120.0,-190.701,109.999,55.0 +142.wav=ah n14,1130.173,125.787,-200.21,110.0,55.0 +142.wav=ah n15,1855.698,127.476,-220.344,109.999,54.999 +142.wav=k ah2,1367.236,216.412,-454.905,119.998,60.0 +142.wav=m ah5,321.501,133.051,-338.918,39.999,20.0 +142.wav=n ah2,819.233,151.642,-331.157,79.999,40.0 +142.wav=d k1,1289.855,100.0,-116.781,80.0,40.0 +142.wav=d z8,2049.773,100,-150,80.0,40.0 +142.wav=n d10,1279.645,81.41,-103.369,60.0,30.0 +142.wav=n d11,2030.773,70.431,-88.548,60.0,29.999 +142.wav=z -21,2168.906,316.335,-382.212,80.0,40.0 +142.wav=ah10,942.219,40.0,-210.221,20.0,40.0 +142.wav=n59,795,15,-126.301,15,10 +142.wav=n60,1245,15,-126.301,15,10 +142.wav=n61,1965,15,-126.301,15,10 +143.wav=- m6,309.565,49.773,-62.051,40.0,20.0 +143.wav=ah n16,1233.998,130.298,-175.403,110.0,55.0 +143.wav=ah s5,620,120.0,-195.701,110.0,55.0 +143.wav=ah s6,1920.027,147.211,-201.337,110.0,55.0 +143.wav=m ah6,350.322,71.543,-258.447,30.0,15.0 +143.wav=r ah4,1007.501,96.945,-271.727,40.0,20.0 +143.wav=t ah4,1421.433,207.518,-488.32,70.0,44.999 +143.wav=f r2,924.665,86.587,-104.154,79.998,40.0 +143.wav=n t9,1356.428,71.528,-83.606,60.0,30.0 +143.wav=s t15,751.885,85.489,-99.214,79.999,39.999 +143.wav=s t16,2078.951,96.469,-116.599,79.999,40.0 +143.wav=t f1,819.592,103.057,-142.584,80.0,40.0 +143.wav=t -20,2163.234,223.158,-336.796,80.0,40.0 +143.wav=n62,1335,15,-126.301,15,10 +144.wav=- f7,273.534,76.586,-126.452,40.0,20.0 +144.wav=ah m9,637.706,146.232,-217.05,109.999,55.0 +144.wav=ah n17,1165,128.604,-183.294,110.0,55.0 +144.wav=ah t3,1915.114,127.479,-160.744,110.0,55.0 +144.wav=b ah4,1492,150,-370,60,30 +144.wav=r ah5,420.317,93.525,-269.746,39.999,19.998 +144.wav=w ah2,940.678,126.582,-233.633,49.999,25.0 +144.wav=f r3,339.968,104.154,-110.741,79.998,39.999 +144.wav=m w1,852.988,81.41,-103.369,60.0,30.0 +144.wav=n s3,1317.478,81.41,-120.388,60.0,30.0 +144.wav=s b1,1384.779,96.47,-145.329,80.0,40.0 +144.wav=t s9,2036.559,103.057,-142.584,80.0,40.0 +144.wav=s -9,2144.071,151.24,-199.825,79.999,39.999 +144.wav=n63,1275,15,-126.301,15,10 +145.wav=- t5,210.333,66.311,-99.012,39.999,19.999 +145.wav=ah m10,1957.083,130.431,-199.78,110.0,55.0 +145.wav=ah s7,599.002,134.704,-207.992,109.999,55.0 +145.wav=ah v2,1319.642,137.064,-179.994,110.0,54.999 +145.wav=dh ah7,1532.0,167.781,-401.646,60.0,30.0 +145.wav=r ah6,319.031,81.996,-260.688,39.999,19.998 +145.wav=t ah5,829.253,253.631,-475.967,69.999,44.999 +145.wav=s t17,742.004,96.469,-121.723,79.999,40.0 +145.wav=t r,194.745,133.176,-149.096,120.0,60.0 +145.wav=v dh1,1433.339,73.409,-109.838,50.0,24.998 +145.wav=m -5,2112.728,316.335,-382.212,80.0,40.0 +146.wav=- p14,232.133,50.774,-70.823,40.0,19.999 +146.wav=ah l4,1713.974,148.704,-243.402,109.999,54.999 +146.wav=ah n18,569.358,133.68,-200.774,110.0,55.0 +146.wav=ah n19,1188.604,122.968,-227.838,110.0,55.0 +146.wav=p ah1,194.563,212.734,-416.002,120.0,60.0 +146.wav=w ah3,1437.178,144.698,-330.801,50.0,24.997 +146.wav=y ah1,892.986,114.935,-317.507,40.0,20.0 +146.wav=d y1,802.755,98.665,-125.565,79.999,39.999 +146.wav=n d12,740.409,81.408,-118.739,59.999,30.0 +146.wav=n w,1356.908,81.41,-103.369,60.0,30.0 +146.wav=l -4,1926.51,287.513,-328.137,80.0,40.0 +146.wav=n64,685,15,-126.301,15,10 +146.wav=n65,1295,15,-126.301,15,10 +147.wav=- z8,233.637,64.056,-105.151,40.0,20.0 +147.wav=ah g1,1899.512,119.999,-138.636,110.0,55.0 +147.wav=ah n20,565,124.095,-178.785,110.0,55.0 +147.wav=ah s8,1229.128,143.572,-217.995,110.0,55.0 +147.wav=jh ah1,906.82,139.999,-310.333,60.0,30.0 +147.wav=l ah6,1520.0,98.902,-336.34,60.0,30.0 +147.wav=z ah2,292.562,115.329,-261.906,49.999,25.0 +147.wav=n t10,712.459,107.762,-148.386,60.0,30.0 +147.wav=s jh,795.876,139.288,-167.103,79.998,39.999 +147.wav=s l3,1438.245,87.686,-115.135,80.0,40.0 +147.wav=s t18,1371.988,98.754,-110.743,80.0,40.0 +147.wav=t s10,822.319,63.593,-103.12,40.0,20.0 +147.wav=t s11,1440.804,88.783,-110.375,79.998,39.997 +147.wav=g -2,2018.506,308.517,-356.278,80.0,40.0 +147.wav=n66,675,15,-126.301,15,10 +148.wav=- s16,198.681,64.056,-117.681,40.0,20.0 +148.wav=ah d2,685,120,-156.289,110.0,55.0 +148.wav=ah n21,1303.976,125.788,-203.03,110.0,55.0 +148.wav=ah t4,1950.466,126.916,-171.457,110.0,55.0 +148.wav=l ah7,992.429,124.229,-330.096,59.998,30.0 +148.wav=t ah6,326.909,163.052,-349.979,70.0,44.999 +148.wav=w ah4,1583.058,138.111,-338.762,49.999,24.998 +148.wav=d w,1513.723,92.626,-107.997,80.0,40.0 +148.wav=d z9,790.379,71.529,-93.488,60.0,30.0 +148.wav=g l2,931.47,69.882,-83.057,60.0,30.0 +148.wav=n d13,1422.275,81.409,-100.075,60.0,30.0 +148.wav=s t19,247.192,96.47,-118.43,80.0,39.999 +148.wav=t s12,2070.36,114.036,-173.875,80.0,40.0 +148.wav=z g1,836.843,73.409,-105.995,49.999,25.0 +148.wav=s -10,2249,167.286,-243.87,80.0,40.0 +148.wav=n67,1375,15,-126.301,15,10 +149.wav=- s17,274.608,64.558,-128.205,40.0,20.0 +149.wav=ah d3,1981.787,133.881,-170.113,110.0,54.999 +149.wav=ah m11,1223.291,131.411,-204.699,110.0,54.999 +149.wav=ah n22,625,126.915,-184.424,110.0,55.0 +149.wav=l ah8,1620.0,112.433,-372.951,59.999,29.999 +149.wav=s ah3,321.615,165.052,-323.158,99.999,49.999 +149.wav=s ah4,932.68,172.465,-315.748,99.999,50.0 +149.wav=d s2,845.06,100,-150,80.0,40.0 +149.wav=d z10,2083.632,100,-150,80.0,40.0 +149.wav=f l2,1537.918,93.175,-100.312,80.0,40.0 +149.wav=m f1,1470.619,81.409,-129.171,60.0,30.0 +149.wav=n d14,782,104.466,-156.619,59.998,29.999 +149.wav=z -22,2215.388,172.776,-240.3,79.998,39.998 +149.wav=n68,735,15,-126.301,15,10 +15.wav=- m,300.543,50.275,-94.126,39.999,20.0 +15.wav=aa b,667.217,142.138,-176.812,109.999,55.0 +15.wav=aa f,2091.576,168.677,-210.399,110,55 +15.wav=aa l1,1270.276,141.292,-195.418,110.0,54.999 +15.wav=m aa2,345.968,91,-363.784,60.0,30.0 +15.wav=s aa,929.363,179.053,-372.567,99.999,49.999 +15.wav=s aa1,1542.084,169.171,-368.449,100.0,50.0 +15.wav=b s,798.172,142.227,-200.418,50.0,25.0 +15.wav=f t,2185.088,86.588,-100.313,79.999,39.999 +15.wav=l v,1387.656,126.975,-181.324,60.0,30.0 +15.wav=v s,1416.586,73.409,-115.877,49.999,24.999 +15.wav=t -,2223.517,232.689,-287.038,79.999,39.999 +150.wav=- w2,314.45,50.775,-68.065,40,20 +150.wav=ah ng3,1194.49,128.042,-226.108,109.999,54.999 +150.wav=ah ng4,1794.888,129.734,-177.094,110.0,55.0 +150.wav=ah t5,664.883,119.02,-129.168,110.0,55.0 +150.wav=r ah7,1571.712,67.998,-195.635,40.0,20.0 +150.wav=w ah5,357.616,97.762,-295.391,49.999,25.0 +150.wav=y ah2,958.095,115.759,-294.451,39.999,20.0 +150.wav=d r2,1491.297,89.881,-106.9,80.0,40.0 +150.wav=ng d1,1465.716,81.41,-103.369,60.0,30.0 +150.wav=ng k2,2006.513,81.409,-98.43,60.0,29.999 +150.wav=t y1,810.735,162.895,-183.207,150,75 +150.wav=k -3,2069.408,235.91,-290.259,80.0,40.0 +150.wav=ng17,1315,14.999,-87.466,14.999,10.0 +150.wav=ng18,1911.108,14.999,-112.168,14.999,10.0 +151.wav=- jh1,340.76,55.788,-88.865,39.999,20.0 +151.wav=ah n23,1243.819,146.084,-219.38,110.0,55.0 +151.wav=ah s9,675,120.0,-199.083,110.0,55.0 +151.wav=ah v3,1934.752,120.0,-171.456,110.0,55.0 +151.wav=jh ah2,353.966,140.0,-321.031,80.0,39.999 +151.wav=l ah9,1516.998,140.342,-309.488,59.999,30.0 +151.wav=t ah7,902.53,175.402,-374.68,69.998,44.999 +151.wav=d l1,1401.791,100,-150,40,10.0 +151.wav=n d15,1368.599,66.589,-74.823,60.0,30.0 +151.wav=s t20,806.437,96.469,-123.918,79.999,40.0 +151.wav=v d3,2063.264,65.004,-86.231,49.998,24.998 +151.wav=d -11,2083.258,241.399,-331.157,80.0,40.0 +151.wav=n69,1355,15,-126.301,15,10 +152.wav=- ah1,332.978,138.653,-324.711,60.0,29.999 +152.wav=ah n24,660.763,131.989,-169.2,110.0,55.0 +152.wav=ah t6,1852.53,135.936,-168.637,110.0,55.0 +152.wav=ah w1,1356.742,136.499,-169.764,110.0,55.0 +152.wav=dh ah8,910.918,180,-423.807,60.0,30.0 +152.wav=w ah6,1494.167,119.998,-329.978,50.0,24.998 +152.wav=n t11,833.774,79.762,-94.036,59.999,30.0 +152.wav=t dh2,882.799,66.224,-80.497,60.0,30.0 +152.wav=t -21,1973.888,168.933,-235.441,80.0,40.0 +152.wav=ah11,427.141,40.0,-210.221,20.0,40.0 +152.wav=n70,765,15,-126.301,15,10 +153.wav=- m7,328.358,47.767,-89.616,39.999,20.0 +153.wav=ao l3,715.94,120.0,-164.691,110.0,55.0 +153.wav=ao l4,2067.329,132.234,-205.522,109.999,55.0 +153.wav=ao r10,1193.586,143.828,-195.699,110.0,55.0 +153.wav=m ao1,397.378,100.036,-370.915,29.999,15.0 +153.wav=t ao1,1551.466,224.811,-515.495,70.0,44.999 +153.wav=y ao1,958.055,134.697,-328.76,39.999,20.0 +153.wav=l d4,2282.781,73.176,-93.488,60.0,30.0 +153.wav=l y1,859.057,69.88,-127.524,59.999,30.0 +153.wav=r s1,1398.476,65.253,-105.328,40.0,20.0 +153.wav=s t21,1471.824,96.47,-119.526,80.0,40.0 +153.wav=d -12,2338.54,191.99,-263.355,80.0,40.0 +154.wav=- m8,318.209,50.023,-71.574,39.999,19.999 +154.wav=ao r11,569.357,139.881,-213.758,109.999,55.0 +154.wav=ao r12,1068.452,143.829,-197.956,110.0,55.0 +154.wav=ao r13,1794.831,136.5,-210.359,110.0,55.0 +154.wav=l ao2,1563.173,105.29,-316.921,60.0,30.0 +154.wav=m ao2,363.0,100.036,-278.479,30.0,15.0 +154.wav=y ao2,927.594,106.025,-265.629,40.0,20.0 +154.wav=f l3,1482.979,88.783,-109.095,79.999,40.0 +154.wav=k f,1377.807,87.449,-143.994,60.0,30.0 +154.wav=n y2,798.065,81.41,-103.369,60.0,30.0 +154.wav=r k1,1300.634,90.506,-105.328,40.0,20.0 +154.wav=r n1,785.122,71.841,-112.465,40.0,20.0 +154.wav=r -3,2050.092,239.753,-257.045,80.0,40.0 +155.wav=- sh3,200.936,64.557,-116.678,40.0,20.0 +155.wav=ao l5,1097.236,142.939,-207.993,109.999,54.999 +155.wav=ao ng3,1959.455,131.411,-193.994,110.0,54.999 +155.wav=ao r14,480.424,120.0,-179.349,110.0,55.0 +155.wav=l ao3,1488.996,132.465,-406.678,60.0,30.0 +155.wav=s ao1,858.529,200.0,-375.86,99.999,50.0 +155.wav=sh ao,268.087,179.877,-351.981,99.999,49.999 +155.wav=l t1,1271.413,100,-120,60,30 +155.wav=r t3,699.511,72.389,-105.327,40.0,20 +155.wav=t l1,1389.603,113.726,-134.038,99.999,50.0 +155.wav=t s13,754.1,103.057,-142.584,80.0,40.0 +155.wav=ng -1,2080.512,112.271,-167.443,79.999,39.999 +155.wav=ng19,2072.953,14.997,-71.617,14.997,9.999 +156.wav=- p15,317.457,58.419,-85.106,39.999,20.0 +156.wav=ao r15,668.176,126.35,-188.934,110.0,55.0 +156.wav=ao r16,1255.401,120,-177.3,110.0,55.0 +156.wav=ao r17,1878.824,166.944,-245.872,109.999,54.999 +156.wav=f ao2,1547.292,200,-500,80.0,40.0 +156.wav=p ao1,335.849,136.662,-289.984,80.0,39.999 +156.wav=y ao3,1003.361,106.025,-309.274,40.0,20.0 +156.wav=r f1,1449.962,90.506,-105.328,40.0,20.0 +156.wav=r m4,2119.187,72.939,-117.955,40.0,20.0 +156.wav=r y1,888.882,66.351,-87.761,40.0,20.0 +156.wav=m -6,2206.002,241.948,-299.591,80.0,40.0 +157.wav=- hh5,235.517,64.432,-121.565,40.0,19.999 +157.wav=ao n1,596.533,119.998,-171.455,110.0,55.0 +157.wav=ao r18,1178.727,132.17,-237.04,110.0,55.0 +157.wav=ao r19,1663.753,119.999,-212.109,109.999,54.999 +157.wav=hh ao1,284.795,201.872,-313.04,79.999,39.999 +157.wav=hh ao2,1450.004,147.928,-314.535,80.0,40.0 +157.wav=y ao4,951.453,106.026,-274.688,40.0,20.0 +157.wav=n t12,738.241,81.41,-103.369,60.0,30.0 +157.wav=n z2,2062.509,95.135,-155.522,60.0,30.0 +157.wav=r hh1,1385.786,90.506,-105.328,40.0,20.0 +157.wav=r n2,1964.773,62.746,-105.328,60.0,29.999 +157.wav=t y2,795.04,158.784,-180.743,150.0,74.999 +157.wav=z -23,2152.868,163.17,-274.338,80.0,40.0 +157.wav=n71,705,15,-126.301,15,10 +158.wav=- f8,244.539,72.325,-105.653,40.0,20.0 +158.wav=ao k1,1916.597,155.669,-199.794,110.0,55.0 +158.wav=ao l6,600.65,124.822,-184.112,109.999,54.999 +158.wav=ao l7,1255.33,120,-169.794,110.0,55.0 +158.wav=f ao3,272.443,200.0,-414.06,80.0,40.0 +158.wav=w ao2,1483.323,120.818,-336.017,50.0,24.998 +158.wav=z ao,861.582,174.342,-417.265,49.999,25.0 +158.wav=k t6,2023.035,90.194,-119.29,60.0,29.999 +158.wav=l w1,1409.197,100,-120,60,30 +158.wav=l z2,748.687,100,-120,60,30 +158.wav=t -22,2098.574,196.047,-285.868,80.0,40.0 +159.wav=- g6,290.77,55.286,-67.314,40.0,20.0 +159.wav=aw n2,566.43,249.645,-298.23,219.999,109.999 +159.wav=aw n3,1868.577,260.03,-322.933,219.999,110.0 +159.wav=aw t2,1240.154,240.587,-263.644,219.999,110.0 +159.wav=b aw1,964.44,132.732,-288.344,60.0,30.0 +159.wav=b aw2,1574.739,149.999,-342.472,60.0,30.0 +159.wav=r aw1,379.967,71.01,-244.218,39.999,20.0 +159.wav=d b1,835.698,99.999,-123.917,79.999,40.0 +159.wav=g r5,312.206,69.882,-83.057,60.0,30.0 +159.wav=n d16,802.995,67.136,-86.35,59.998,29.999 +159.wav=n s4,2169.959,103.37,-189.559,60.0,30.0 +159.wav=t b2,1457.148,99.162,-138.323,79.999,39.999 +159.wav=s -11,2345,212.518,-314.627,80.0,40.0 +159.wav=n72,775,15,-126.301,15,10 +159.wav=n73,2090,15,-126.301,15,10 +16.wav=- l,357.303,57.666,-82.85,39.999,20.0 +16.wav=aa d,1367.658,232.63,-258.002,110.0,54.999 +16.wav=aa p,1985.941,156.233,-188.934,110,55 +16.wav=aa r8,639.321,120,-150.795,110,55 +16.wav=l aa1,413,140.343,-336.551,60.0,30.0 +16.wav=r aa,1730.663,118.229,-273.864,40.0,20.0 +16.wav=w aa1,1074.937,121.917,-286.61,50,25 +16.wav=d d,1507.449,80.861,-127.524,60.0,30.0 +16.wav=d r1,1646.119,93.725,-124.468,79.999,39.999 +16.wav=m w,948.531,81.41,-103.369,60.0,30.0 +16.wav=r m2,852.68,75.134,-128.385,40.0,20.0 +16.wav=p -,2126.503,172.228,-251.28,80.0,40.0 +160.wav=- k10,334.748,45.262,-71.573,39.999,20.0 +160.wav=aw n4,519.48,249.645,-316.346,219.999,109.999 +160.wav=aw n,1181.642,260.03,-343.52,219.999,109.999 +160.wav=aw n6,1918.695,235.646,-276.946,219.999,109.999 +160.wav=d aw1,1550.001,179.999,-392.368,60.0,30.0 +160.wav=k aw,294.202,168.207,-302.81,120.0,59.998 +160.wav=n aw,997.0,116.363,-250.588,39.999,19.998 +160.wav=n d17,1489.801,72.627,-86.351,60.0,30.0 +160.wav=n t13,783.24,81.409,-94.037,59.999,29.999 +160.wav=t n2,882.74,110.612,-136.231,99.998,50.0 +160.wav=n -8,2131.341,238.105,-355.861,80.0,40.0 +160.wav=aw5,1085.503,40.0,-210.221,20.0,40.0 +160.wav=n74,725,15,-126.301,15,10 +160.wav=n75,1390,15,-126.301,15,10 +160.wav=n76,2135,15,-126.301,15,10 +161.wav=- ay1,259.118,135.27,-294.265,59.998,30.0 +161.wav=ay d1,2073.71,260.031,-276.946,220,110.0 +161.wav=ay m1,574.663,242.233,-295.758,219.999,109.999 +161.wav=ay z1,1166.901,250.446,-301.753,220,110.0 +161.wav=l ay1,919.159,95.409,-210.695,59.999,30.0 +161.wav=r ay3,1629.399,81.158,-219.855,40.0,20.0 +161.wav=d f1,1387.489,118.427,-149.999,80.0,40.0 +161.wav=f r4,1538.462,92.078,-118.429,80.0,40.0 +161.wav=m l1,794.233,81.41,-103.368,59.999,29.999 +161.wav=z d1,1411.09,59.332,-72.508,49.999,24.999 +161.wav=d -13,2307.085,269.397,-324.569,80.0,40.0 +161.wav=ay9,325,40.0,-210.221,20.0,40.0 +162.wav=- th3,184.396,50.774,-90.369,40.0,19.999 +162.wav=ay n4,1142.061,260.031,-276.946,220,110.0 +162.wav=ay s1,1943.331,260.029,-352.497,220,110.0 +162.wav=ay v1,601.001,252.702,-302.317,220,110.0 +162.wav=f ay1,864,148.503,-370.082,80.0,40.0 +162.wav=m ay1,1514.759,119.998,-402.325,40.0,20.0 +162.wav=r ay4,301.738,107.524,-301.861,39.999,19.998 +162.wav=d m1,1376.61,100.0,-126.663,80.0,40.0 +162.wav=n d18,1371.342,81.41,-103.369,60.0,30.0 +162.wav=th r1,227.416,73.409,-103.068,49.999,24.999 +162.wav=v f,784.464,67.568,-108.193,49.999,25.0 +162.wav=s -12,2247.959,159.053,-294.101,79.999,40.0 +162.wav=n77,1355,15,-126.301,15,10 +162.wav=th10,220.022,15.0,-54.526,15.0,9.998 +163.wav=- m9,334.748,48.645,-69.318,39.999,20.0 +163.wav=ay l1,610.877,260.031,-299.498,220,110.0 +163.wav=ay m2,2003.366,234.659,-294.935,219.999,109.999 +163.wav=ay n5,1327.297,260.031,-305.136,220,110.0 +163.wav=d ay1,1593.525,186.813,-374.563,59.999,30.0 +163.wav=m ay2,373.38,113.287,-297.744,39.999,20.0 +163.wav=m ay3,1032.742,111.053,-245.755,59.998,30.0 +163.wav=d m2,957.077,99.999,-126.664,79.999,40.0 +163.wav=l d5,885.382,77.018,-96.781,59.999,30.0 +163.wav=n d19,1550.263,72.077,-91.291,60.0,30.0 +163.wav=m -7,2259.38,316.335,-382.212,80.0,40.0 +163.wav=n78,1535,15,-126.301,15,10 +164.wav=- w3,224.24,50.775,-68.065,40,20 +164.wav=ay l2,606.769,240.861,-300.062,220,110.0 +164.wav=ay t1,1119.053,234.822,-257.055,219.999,109.999 +164.wav=ay t2,1801.763,243.116,-285.402,220,110.0 +164.wav=l ay,892.78,104.823,-242.808,59.999,30.0 +164.wav=n ay1,1524.699,81.44,-267.499,39.999,19.999 +164.wav=w ay1,266.0,92.207,-265.958,49.999,24.999 +164.wav=l l1,806.847,100,-120,60,30 +164.wav=s n1,1437.136,91.529,-110.194,79.999,39.999 +164.wav=t s14,1337.944,103.057,-142.584,80.0,40.0 +164.wav=t -23,2052.839,316.334,-445.619,80.0,40.0 +164.wav=ay10,1618.014,40.0,-210.221,20.0,40.0 +165.wav=- d6,198.68,51.528,-54.659,40.0,19.999 +165.wav=ay f1,1771.138,260.029,-342.912,220,110.0 +165.wav=ay l3,1134.599,247.627,-291.642,220.0,110.0 +165.wav=ay s2,479.121,249.883,-300.062,220,110.0 +165.wav=d ay2,196.097,164.024,-351.774,60.0,30.0 +165.wav=l ay3,1381.064,140.343,-336.551,60.0,30.0 +165.wav=m ay4,806.164,106.235,-318.39,70.0,35.0 +165.wav=s m1,726.263,88.783,-140.388,79.999,40.0 +165.wav=f -3,2050.578,163.719,-235.635,80.0,40.0 +166.wav=- r1,233.261,50.775,-68.065,40.0,20.0 +166.wav=ay k1,1646.128,248.821,-287.524,219.999,109.999 +166.wav=ay m3,1056.455,243.116,-276.946,220,110.0 +166.wav=ay t3,541.72,248.753,-287.656,220,110.0 +166.wav=l ay4,1455.285,140.343,-336.551,60.0,30.0 +166.wav=r ay5,276.211,100.936,-305.978,39.999,20.0 +166.wav=t ay1,756.894,241.991,-367.982,130.0,64.998 +166.wav=k t7,1907.59,84.704,-112.153,59.998,29.999 +166.wav=m z3,1294.908,81.409,-133.563,59.999,30.0 +166.wav=z l1,1398.685,66.47,-85.501,50.0,24.998 +166.wav=t -24,1992.449,316.335,-382.212,80.0,40.0 +167.wav=- k11,238.524,91.87,-127.203,39.999,19.999 +167.wav=ay l4,1959.999,260.031,-313.028,220,110.0 +167.wav=ay n6,1315.094,244.808,-283.711,220,110.0 +167.wav=ay s3,558.197,260.031,-326.561,220,110.0 +167.wav=l ay5,989.973,126.812,-260.435,59.999,30.0 +167.wav=m ay5,1543.218,159.052,-427.502,80.0,40.0 +167.wav=r ay6,372.557,65.802,-251.905,39.999,19.999 +167.wav=k r3,267.814,112.626,-126.9,99.999,49.999 +167.wav=l d6,2228.152,90.194,-113.8,60.0,29.999 +167.wav=n m2,1502.947,81.41,-103.369,60.0,30.0 +167.wav=s t22,829.477,87.136,-98.116,79.999,40.0 +167.wav=t l2,929.261,74.641,-93.672,59.999,30.0 +167.wav=d -14,2260.855,191.99,-263.355,80.0,40.0 +167.wav=n79,1475,15,-126.301,15,10 +168.wav=- k12,318.585,52.404,-92.623,39.999,20.0 +168.wav=ay m4,1323.391,250.446,-288.785,220,110.0 +168.wav=ay n7,2022.655,260.029,-295.551,220,110.0 +168.wav=ay t4,622.443,244.245,-262.851,220,110.0 +168.wav=k ay1,303.26,165.291,-287.988,119.999,60.0 +168.wav=m ay6,1014.106,102.583,-286.216,40.0,20.0 +168.wav=m ay7,1553.975,156.582,-371.507,79.999,39.999 +168.wav=n d20,2291.945,83.606,-134.661,60.0,29.998 +168.wav=t m2,911.862,103.057,-142.584,80.0,40.0 +168.wav=d -15,2325.202,240.575,-301.512,80.0,40.0 +168.wav=n80,2245,15,-126.301,15,10 +169.wav=- ay2,197.099,161.486,-308.642,59.998,30.0 +169.wav=ay d2,1844.477,260.031,-276.946,220,110.0 +169.wav=ay l5,450.299,249.29,-301.725,220,110.0 +169.wav=ay n8,1093.452,241.988,-286.53,220,110.0 +169.wav=m ay8,836.523,132.435,-262.676,79.999,40.0 +169.wav=s ay1,1436.618,172.464,-379.977,100.0,50.0 +169.wav=d z11,2059.041,100,-150,80.0,40.0 +169.wav=l m1,726.169,100,-120,60,30 +169.wav=n s5,1366.913,94.585,-146.189,60.0,30.0 +169.wav=z -24,2161.169,192.814,-286.689,79.998,39.998 +169.wav=ay11,302.386,40.0,-210.221,20.0,40.0 +169.wav=n81,1310,15,-126.301,15,10 +17.wav=- n,331.741,61.801,-92.999,39.999,20.0 +17.wav=aa k1,676.52,141.009,-170.892,109.999,54.999 +17.wav=aa m,2090.697,142.701,-221.072,110,55 +17.wav=aa z,1355,120,-176.29,110,55 +17.wav=b aa1,1638.05,150,-370,60,30 +17.wav=n aa,375.376,114.585,-330.333,60.0,29.999 +17.wav=q aa,1044.049,155.316,-377.74,10.0,10.0 +17.wav=k q,793.56,147.998,-218.816,120.0,60.0 +17.wav=z b,1502.187,73.41,-120.622,50.0,25.0 +17.wav=m -,2260.036,316.335,-382.212,80.0,40.0 +17.wav=aa2,445,40.0,-210.221,20.0,40.0 +17.wav=n2,377.058,15.0,-35.15,15.0,10.0 +170.wav=- b10,350.912,51.777,-58.042,39.999,20.0 +170.wav=eh n2,1322.116,133.68,-194.572,110.0,55.0 +170.wav=eh r5,2003.324,146.647,-219.943,110.0,55.0 +170.wav=eh t1,695.354,126.915,-179.265,110.0,55.0 +170.wav=b eh1,353.379,136.116,-295.111,60.0,29.999 +170.wav=g eh1,962.572,200,-380.231,80.0,40.0 +170.wav=t eh1,1616.672,170.187,-437.289,70,45 +170.wav=n s6,1465.096,81.409,-116.544,59.999,30.0 +170.wav=r z4,2236.126,90.504,-150.894,39.998,19.998 +170.wav=s g1,874.879,96.469,-138.741,79.999,40.0 +170.wav=s t23,1534.043,96.47,-118.428,80.0,40.0 +170.wav=t s15,789.234,103.056,-135.264,79.999,40.0 +170.wav=z -25,2386.631,238.105,-321.275,79.999,40.0 +170.wav=n82,1267,15,-126.301,15,10 +171.wav=- f9,325.727,64.056,-110.665,40.0,20.0 +171.wav=eh l4,1909.969,186.582,-287.045,110.0,54.999 +171.wav=eh n3,713.465,131.425,-227.837,110.0,55.0 +171.wav=eh t2,1415.886,133.679,-164.125,110.0,55.0 +171.wav=g eh2,1035.798,154.425,-339.638,80.0,40.0 +171.wav=r eh2,476.313,86.113,-243.395,39.999,19.998 +171.wav=s eh1,1665.517,239.989,-455.737,100.0,50.0 +171.wav=d z12,935.584,52.625,-90.505,40.0,20.0 +171.wav=f r5,391.022,90.43,-109.095,80.0,39.999 +171.wav=l f1,2226.67,100,-120,60,30 +171.wav=n d21,884.831,68.235,-80.312,59.999,29.999 +171.wav=s s2,1608.795,96.47,-122.82,80.0,40.0 +171.wav=t s16,1544.738,103.057,-142.584,80.0,40.0 +171.wav=z g2,978.127,73.409,-103.8,50.0,25.0 +171.wav=f -4,2354.354,247.987,-300.689,79.999,39.999 +171.wav=n83,825,15,-126.301,15,10 +172.wav=- d7,397.896,46.39,-63.305,39.999,19.999 +172.wav=eh n4,649.234,132.552,-195.136,110.0,55.0 +172.wav=eh n5,1980.16,148.34,-285.91,110.0,55.0 +172.wav=eh t3,1385.525,121.842,-151.16,110.0,55.0 +172.wav=d eh1,402.787,154.721,-280.733,60.0,30.0 +172.wav=l eh1,1083.03,134.935,-340.801,59.998,29.999 +172.wav=m eh1,1705.073,89.2,-279.29,40,20 +172.wav=n d22,2254.212,82.508,-119.839,60.0,29.999 +172.wav=n t14,859.045,67.136,-82.508,59.999,29.999 +172.wav=t l3,988.511,113.726,-134.038,99.999,50.0 +172.wav=t m3,1602.925,103.057,-142.584,80.0,40.0 +172.wav=d -16,2305.292,254.575,-308.1,60,30.0 +172.wav=n84,753,15,-126.301,15,10 +172.wav=n85,2093,15,-126.301,15,10 +173.wav=- dh2,420.825,46.014,-57.29,39.999,20.0 +173.wav=eh g1,1411.881,130.86,-170.328,110.0,55.0 +173.wav=eh k2,2070,119.998,-137.628,110.0,55.0 +173.wav=eh m1,710.175,150.055,-248.699,109.999,54.999 +173.wav=b eh2,1056.677,150,-370,60,30 +173.wav=dh eh1,425.844,112.435,-245.213,60.0,30.0 +173.wav=s eh2,1639.313,239.165,-455.737,100.0,50.0 +173.wav=d s3,1527.034,100,-150,80.0,40.0 +173.wav=g d,1517.928,69.882,-83.057,60.0,30.0 +173.wav=k s3,2189.982,84.155,-136.308,60.0,29.999 +173.wav=m b1,991.369,81.41,-103.369,60.0,30.0 +173.wav=s -13,2316.582,198.58,-275.162,80.0,40.0 +174.wav=- l2,406.922,50.275,-62.053,40.0,20.0 +174.wav=eh f1,695,130.298,-186.679,110.0,55.0 +174.wav=eh n6,1433.341,133.116,-180.818,110.0,54.999 +174.wav=eh s1,2175.44,146.882,-244.986,110.0,55.0 +174.wav=l eh2,448.901,89.601,-209.047,60.0,29.999 +174.wav=r eh3,1793.271,130.581,-333.977,40.0,20.0 +174.wav=t eh2,1075.192,181.442,-384.095,99.998,49.997 +174.wav=f t4,835,99.999,-126.663,79.999,40.0 +174.wav=n t15,1561.72,81.409,-109.408,60.0,30.0 +174.wav=s t24,976.995,96.47,-125.566,79.999,40.0 +174.wav=t r2,1662.403,126.039,-142.584,120.0,60.0 +174.wav=t s17,863.534,103.057,-142.584,80.0,40.0 +174.wav=t t1,1610.902,144.23,-169.483,80.0,40.0 +174.wav=s -14,2385.532,143.005,-175.12,80.0,40.0 +174.wav=n86,1525,15,-126.301,15,10 +175.wav=- s18,109.598,57.29,-128.707,40.0,20.0 +175.wav=eh n7,1121.183,131.989,-223.327,110.0,55.0 +175.wav=eh n8,1828.65,129.169,-216.561,110.0,55.0 +175.wav=eh p1,497.717,153.977,-183.277,110.0,55.0 +175.wav=dh eh2,1395.223,179.999,-369.534,60.0,30.0 +175.wav=p eh1,855,131.858,-284.934,59.999,30.0 +175.wav=w eh3,312.324,114.23,-257.513,49.999,24.998 +175.wav=d dh3,1289.805,99.999,-123.918,79.999,40.0 +175.wav=n d23,1286.183,97.331,-119.839,59.999,30.0 +175.wav=p t1,616.36,72.077,-83.605,59.999,29.999 +175.wav=s p1,749.341,96.47,-137.094,79.999,40.0 +175.wav=s w1,191.452,128.235,-145.328,120.0,60.0 +175.wav=t s18,659.306,103.057,-142.584,80.0,40.0 +175.wav=n -9,1989.261,191.169,-329.511,79.999,39.999 +175.wav=n87,1235,15,-126.301,15,10 +175.wav=n88,1935,15,-126.301,15,10 +176.wav=- s19,255.815,59.796,-129.458,40.0,20.0 +176.wav=eh n9,745.587,140.469,-214.87,109.999,55.0 +176.wav=eh s2,1980.901,143.266,-273.507,110.0,55.0 +176.wav=eh v1,1336.077,133.68,-192.317,110.0,55.0 +176.wav=n eh,901.592,229.87,-406.915,79.999,39.999 +176.wav=r eh4,1563.378,133.877,-347.154,40.0,20.0 +176.wav=s eh3,323.26,200,-420,100,50 +176.wav=v r1,1471.865,86.588,-101.959,79.999,39.999 +176.wav=s -15,2215.83,316.335,-382.212,80.0,40.0 +176.wav=eh3,1072.448,40.0,-210.221,20.0,40.0 +176.wav=n89,845,15,-126.301,15,10 +177.wav=- w4,396.399,50.775,-68.065,40,20 +177.wav=eh r6,1270.0,150.595,-208.144,109.999,54.999 +177.wav=eh s3,719.231,161.308,-218.817,110.0,55.0 +177.wav=eh s4,2074.703,147.212,-247.007,110.0,55.0 +177.wav=b eh3,1596.847,150,-370,60,30 +177.wav=dh eh3,991.577,179.999,-345.008,60.0,30.0 +177.wav=w eh4,441.608,88.427,-189.989,49.999,24.998 +177.wav=r z5,1448.404,69.096,-105.328,40.0,20.0 +177.wav=s t25,875.223,96.47,-145.329,80.0,40.0 +177.wav=s t26,2270.732,96.47,-115.135,80.0,40.0 +177.wav=t dh3,949.755,84.888,-100.259,59.999,30.0 +177.wav=z b2,1512,73.41,-120.622,50.0,25.0 +177.wav=t -25,2370.877,178.755,-262.809,80.0,40.0 +178.wav=- d8,383.991,61.801,-88.113,39.999,19.999 +178.wav=eh d1,2083.799,119.999,-155.105,110.0,55.0 +178.wav=eh l5,1195.231,120.0,-192.317,110.0,55.0 +178.wav=eh s5,721.703,141.01,-205.848,110.0,55.0 +178.wav=r eh5,477.137,120.151,-262.885,39.999,20.0 +178.wav=s eh4,1564.288,172.465,-398.918,100.0,50.0 +178.wav=t eh3,976.296,162.034,-313.278,99.999,50.0 +178.wav=d r3,396.514,99.999,-127.761,79.999,39.999 +178.wav=l s1,1441.617,100.0,-162.658,60.0,30.0 +178.wav=s t27,891.348,96.469,-120.625,79.999,39.999 +178.wav=t t2,949.178,103.056,-117.878,79.999,40.0 +178.wav=d -17,2185.925,355.861,-468.676,79.999,39.999 +179.wav=- m10,328.733,51.777,-67.816,39.999,20.0 +179.wav=eh l6,1910.048,119.999,-219.38,110.0,55.0 +179.wav=eh n,641.823,153.978,-231.22,110.0,55.0 +179.wav=eh n11,1327.812,151.173,-220.344,110.0,54.999 +179.wav=m eh2,372,76.514,-268.493,29.999,15.0 +179.wav=w eh5,993.351,141.404,-290.452,49.999,25.0 +179.wav=y eh1,1619.346,73.762,-221.986,39.997,19.999 +179.wav=d w2,868.401,87.449,-113.8,60.0,30.0 +179.wav=n d24,825.01,67.137,-81.958,59.999,30.0 +179.wav=n y3,1492.133,81.41,-103.369,60.0,30.0 +179.wav=l -5,2076.679,387.976,-461.264,80.0,40.0 +179.wav=n90,735,15.0,-112.001,15.0,10.0 +179.wav=n91,1345,15,-126.301,15,10 +18.wav=- s,126.888,50.774,-105.152,40.0,20.0 +18.wav=ae n,651.704,141.291,-217.05,109.999,55.0 +18.wav=ae n1,1855,119.999,-179.349,110.0,55.0 +18.wav=ae t2,1290.829,138.821,-182.464,110.0,54.999 +18.wav=dh ae,906.79,151.338,-349.237,60.0,30.0 +18.wav=k ae,297.383,165.404,-381.975,60.0,29.999 +18.wav=m ae,1489.679,147.658,-367.389,80.0,40.0 +18.wav=n dh,849.133,71.528,-85.802,60.0,30.0 +18.wav=n s,2004.817,110.506,-188.46,60.0,29.999 +18.wav=s k,196.684,104.155,-129.408,79.999,39.999 +18.wav=t m,1409.195,103.057,-142.584,80.0,40.0 +18.wav=s -1,2159.94,316.335,-382.212,80.0,40.0 +18.wav=n3,771.252,15.0,-114.884,15.0,10.0 +18.wav=n4,1953.303,14.998,-90.314,14.998,10.0 +180.wav=- y3,423.462,50.774,-75.834,40.0,20.0 +180.wav=er d2,2137.56,142.743,-157.966,110,55.0 +180.wav=er n,825.468,150.35,-211.287,109.999,55.0 +180.wav=er s1,1401.216,135.527,-211.286,110.0,54.999 +180.wav=d er1,1054.234,149.647,-290.037,60.0,30.0 +180.wav=hh er2,1647.845,257.868,-485.945,80.0,40.0 +180.wav=y er2,516.662,137.716,-356.209,40.0,19.999 +180.wav=n d25,977.586,81.41,-103.369,60.0,30.0 +180.wav=s t28,1509,87.686,-97.018,80.0,40.0 +180.wav=t hh2,1553.441,103.057,-142.584,80.0,40.0 +180.wav=d -18,2242.793,279.278,-310.57,80.0,40.0 +180.wav=n92,745,15,-126.301,15,10 +181.wav=- f10,209.581,74.581,-133.969,40.0,19.999 +181.wav=er l1,1784.875,173.407,-249.165,110.0,54.999 +181.wav=er s2,1293.23,129.746,-189.511,110,55.0 +181.wav=er t2,645.941,120.712,-137.174,109.999,55.0 +181.wav=f er2,922.173,159.498,-334.562,80.0,40.0 +181.wav=g er1,1506.878,173.052,-375.624,80.0,40.0 +181.wav=l er,359.967,125.12,-324.332,60.0,29.999 +181.wav=f l4,274.639,95.92,-122.82,79.999,39.999 +181.wav=s t29,1408.138,96.47,-132.336,80.0,40.0 +181.wav=t f2,795.826,103.057,-142.584,80.0,40.0 +181.wav=t g2,1411.435,103.056,-131.969,80.0,40.0 +181.wav=l -6,2012.984,316.335,-382.212,80.0,40.0 +182.wav=- b11,350.536,48.018,-55.035,40.0,20.0 +182.wav=ey b1,684.221,240.297,-272.435,220,110.0 +182.wav=ey k2,1794.408,236.47,-255.41,219.999,110.0 +182.wav=ey t1,1190.761,236.47,-253.763,219.999,110.0 +182.wav=b ey1,349.264,150.0,-297.647,59.998,30.0 +182.wav=b ey2,922.445,149.999,-299.34,59.999,29.999 +182.wav=m ey1,1560.294,105.371,-336.253,30.0,14.998 +182.wav=k s4,2027.375,78.116,-124.231,60.0,29.999 +182.wav=t m4,1463.403,94.64,-121.723,80.0,40.0 +182.wav=s -16,2117.561,316.335,-382.212,80.0,40.0 +183.wav=- b12,187.78,51.526,-67.815,40.0,19.999 +183.wav=ey k3,1813.372,240.297,-272.435,220,110.0 +183.wav=ey n2,414.068,240.297,-272.435,220,110.0 +183.wav=ey s1,1131.487,240.297,-272.435,220,110.0 +183.wav=l ey1,939,120.047,-262.974,59.999,30.0 +183.wav=r ey2,267.152,113.288,-263.159,39.999,19.998 +183.wav=r ey3,1538.803,119.998,-354.565,40.0,20.0 +183.wav=b r4,186.921,83.999,-103.762,70.0,35.0 +183.wav=b r5,1470.088,83.999,-114.467,70,35 +183.wav=n z3,677.855,81.41,-103.369,60.0,30.0 +183.wav=p l3,841,112.079,-135.134,99.999,50.0 +183.wav=s t30,1350.352,96.47,-145.329,80.0,40.0 +183.wav=t b3,1360.239,103.057,-142.584,80.0,40.0 +183.wav=z p1,748.981,73.409,-99.408,49.999,24.999 +183.wav=k -4,2061.773,258.417,-289.709,79.998,40.0 +183.wav=n93,615,15,-126.301,15,10 +184.wav=- s20,314.075,58.543,-102.145,40.0,20.0 +184.wav=ey k4,1338.916,240.297,-272.435,220,110.0 +184.wav=ey n3,715.483,240.297,-272.435,220,110.0 +184.wav=ey n4,1990.303,240.296,-297.406,220.0,109.999 +184.wav=r ey4,1812.914,84,-255.739,40.0,20.0 +184.wav=t ey1,449.606,141.369,-364.801,70.0,44.999 +184.wav=t ey2,1033.956,170.187,-365.156,100.0,50.0 +184.wav=d t2,994.351,95.921,-114.586,79.999,40.0 +184.wav=k s5,1573.212,80.861,-145.64,60.0,30.0 +184.wav=n d26,978.666,72.078,-90.743,60.0,30.0 +184.wav=n t16,2263.277,72.628,-92.94,60.0,29.999 +184.wav=s t31,374.562,96.47,-107.449,80.0,39.999 +184.wav=s t32,1619.739,96.47,-125.016,80.0,40.0 +184.wav=t r3,1733.194,89.332,-109.645,80.0,40.0 +184.wav=t -26,2331.115,208.73,-290.528,80.0,40.0 +184.wav=n94,910,15,-126.301,15,10 +184.wav=n95,2210,15,-126.301,15,10 +185.wav=- t6,307.307,74.081,-98.263,39.999,20.0 +185.wav=ih n4,623.707,155.105,-287.038,110.0,55.0 +185.wav=ih s1,1389.691,135.934,-194.817,110.0,54.999 +185.wav=ih z1,2080.63,139.319,-223.891,110.0,55.0 +185.wav=dh ih3,970.219,120.113,-326.802,59.999,29.999 +185.wav=s ih1,1529.007,200,-420,100,50 +185.wav=t ih1,315.027,179.875,-333.863,99.999,49.999 +185.wav=n dh2,905.697,67.686,-95.684,60.0,30.0 +185.wav=z -26,2212.145,180.416,-213.354,79.999,40.0 +185.wav=n96,715,15,-126.301,15,10 +186.wav=- l3,256.942,51.026,-70.321,40.0,20.0 +186.wav=ih l1,1090.673,149.527,-235.99,110.0,54.999 +186.wav=ih n5,1975,139.318,-210.359,110.0,55.0 +186.wav=ih t1,595,120.0,-142.138,110.0,55.0 +186.wav=k ih,1598.589,177.508,-406.698,60,30.0 +186.wav=l ih2,296.56,102.285,-264.219,60.0,29.999 +186.wav=r ih3,992.664,145.404,-308.45,39.997,19.999 +186.wav=l s2,1411.842,89.645,-140.151,59.999,29.999 +186.wav=s k6,1499.357,96.47,-132.702,80.0,40.0 +186.wav=s t33,770.972,96.469,-111.841,79.999,40.0 +186.wav=t r4,869.33,126.04,-139.215,120.0,59.999 +186.wav=t s19,718.731,59.764,-94.349,40.0,20.0 +186.wav=n -10,2145.615,366.566,-458.794,80.0,40.0 +186.wav=n97,2085,15,-126.301,15,10 +187.wav=- d9,178.008,68.19,-98.636,40.0,19.999 +187.wav=ih n6,1248.022,120.0,-206.412,110.0,55.0 +187.wav=ih ng4,413.723,149.467,-310.154,110.0,55.0 +187.wav=ih s2,1948.876,142.115,-215.403,110.0,54.999 +187.wav=l ih3,1491.586,140.343,-336.551,60.0,30.0 +187.wav=m ih1,844.201,139.051,-349.787,59.999,30.905 +187.wav=r ih4,286.916,94.898,-215.124,39.999,20.0 +187.wav=d r4,204.918,93.176,-114.037,80.0,39.999 +187.wav=n l1,1394.345,81.41,-103.369,60.0,30.0 +187.wav=ng m1,775.026,81.41,-103.369,60.0,30.0 +187.wav=s -17,2117.561,316.335,-382.212,80.0,40.0 +187.wav=n98,1350,15,-126.301,15,10 +187.wav=ng20,524.48,15,-126.301,15,10 +188.wav=- k13,250.176,50.524,-89.615,39.999,20.0 +188.wav=ih n7,1046.183,149.468,-288.73,110.0,55.0 +188.wav=ih ng5,580.063,143.762,-269.753,109.999,55.0 +188.wav=ih ng6,1765.95,137.628,-259.975,110.0,55.0 +188.wav=k ih2,225.03,177.508,-406.698,120.0,60.0 +188.wav=ng ih1,816.762,141.761,-276.809,79.999,40.0 +188.wav=t ih2,1431.732,227.362,-443.385,100.0,50.0 +188.wav=n t17,1362.952,75.92,-90.194,60.0,30.0 +188.wav=ng z1,2095.84,105.566,-169.796,60.0,29.998 +188.wav=z -27,2187.832,143.681,-220.538,79.999,39.999 +188.wav=ih10,1062.834,40.0,-210.221,20.0,40.0 +188.wav=n99,1125,15,-126.301,15,10 +188.wav=ng21,702.348,15,-126.301,15,10 +188.wav=ng22,1877.99,15,-126.301,15,10 +189.wav=- s21,126.137,70.571,-132.967,40.0,20.0 +189.wav=ih ng7,1189.428,126.914,-199.082,110.0,55.0 +189.wav=ih p1,615,120,-161.784,110.0,55.0 +189.wav=ih t2,1826.79,139.319,-174.275,110.0,55.0 +189.wav=d ih1,888.632,149.648,-338.243,59.999,30.0 +189.wav=l ih4,288.325,128.139,-299.822,60.0,30.0 +189.wav=t ih3,1480.229,170.187,-402.212,100.0,50.0 +189.wav=ng t1,1415.65,81.409,-95.134,59.999,30.0 +189.wav=p s3,715.705,80.861,-122.584,59.999,29.999 +189.wav=s d2,783.541,96.469,-129.408,79.999,40.0 +189.wav=s l4,199.246,92.626,-116.232,80.0,39.999 +189.wav=t -27,1930.078,287.788,-315.237,80.0,40.0 +189.wav=ng23,1324.622,15,-126.301,15,10 +19.wav=- hh,262.204,67.439,-95.254,39.999,20.0 +19.wav=ae d,1995,148.905,-173.149,110.0,55.0 +19.wav=ae k,1260.354,159.408,-209.639,110.0,54.999 +19.wav=ae v,712.651,130.298,-170.892,110.0,55.0 +19.wav=b ae,942.199,150.0,-316.254,59.999,30.0 +19.wav=hh ae,312.792,199.999,-385.305,80.0,40.0 +19.wav=t ae1,1465.912,267.621,-517.955,69.999,44.999 +19.wav=d z,2093.514,121.722,-178.816,80.0,40.0 +19.wav=k t,1374.548,83.057,-95.683,59.999,29.999 +19.wav=v b,851.056,73.41,-120.622,50.0,25.0 +19.wav=z -,2180.055,212.501,-295.945,80.0,40.0 +190.wav=- s22,232.51,63.805,-138.98,40.0,20.0 +190.wav=ih n8,633.589,134.121,-213.619,110.0,55.0 +190.wav=ih p2,2005,129.733,-159.615,110.0,55.0 +190.wav=ih t3,1317.212,142.138,-169.765,110.0,55.0 +190.wav=r ih5,1045.396,91.055,-294.451,40.0,20.0 +190.wav=r ih6,1670.55,94.349,-306.803,40.0,20.0 +190.wav=s ih2,319.968,192.778,-384.371,99.999,49.999 +190.wav=k r4,1561.251,110.979,-125.801,100.0,50.0 +190.wav=n p1,867.785,81.409,-99.526,60.0,30.0 +190.wav=p r3,928.256,112.079,-132.938,99.999,50.0 +190.wav=p s4,2126.642,112.078,-177.48,59.999,29.998 +190.wav=t k2,1454.985,103.056,-135.995,80.0,40.0 +190.wav=s -18,2290.005,142.704,-212.699,80.0,40.0 +190.wav=n10,767.514,15.0,-108.524,15.0,10.0 +191.wav=- ng1,386.25,50.774,-76.084,40.0,20.0 +191.wav=ih ch1,1935,135.371,-171.455,110.0,55.0 +191.wav=ih ng8,684.643,131.425,-213.741,110.0,55.0 +191.wav=ih t4,1302.36,135.527,-159.408,110.0,54.999 +191.wav=b ih1,1599.442,150,-370,60,30 +191.wav=hh ih1,1014.445,145.966,-356.551,80.0,40.0 +191.wav=ng ih2,433,109.546,-318.439,40.0,20.0 +191.wav=ng hh,933.135,81.409,-129.72,59.999,29.999 +191.wav=t b4,1457,103.057,-142.584,80.0,40.0 +191.wav=ch -1,2066.614,246.34,-275.436,80.0,40.0 +191.wav=ih11,520.816,40.0,-210.221,20.0,40.0 +191.wav=ng24,781.402,15,-126.301,15,10 +191.wav=ng25,796.358,15,-126.301,15,10 +192.wav=- v5,343.017,50.775,-68.065,40,20 +192.wav=ih ng9,622.06,129.169,-229.529,110.0,55.0 +192.wav=ih r3,1209.291,158.488,-223.326,110.0,55.0 +192.wav=ih t5,2057.516,135.936,-164.126,110.0,55.0 +192.wav=s ih3,1679.656,213.638,-391.507,99.999,50.0 +192.wav=v ih1,398.67,109.408,-302.922,60.0,29.999 +192.wav=y ih1,1069.26,150.345,-369.386,39.999,19.999 +192.wav=ng y1,994.604,81.41,-103.369,60.0,30.0 +192.wav=r z6,1514.742,90.505,-154.188,40.0,20.0 +192.wav=z s2,1546.931,73.756,-120.622,50.0,24.998 +192.wav=t -28,2192.827,196.108,-325.393,80.0,40.0 +192.wav=ng26,928.29,15,-126.301,15,10 +193.wav=- s23,150.946,60.298,-112.419,40.0,20.0 +193.wav=ih m2,1185,144.581,-242.121,110.0,55.0 +193.wav=ih n9,525.0,134.595,-241.646,109.999,54.999 +193.wav=ih ng10,1839.181,170.328,-247.57,110.0,55.0 +193.wav=p ih2,299.03,98.0,-267.203,60.0,29.999 +193.wav=s ih4,890.0,177.406,-336.971,99.998,49.999 +193.wav=th ih1,1513.674,154.7,-354.802,60.0,30.0 +193.wav=m th1,1413.036,97.331,-125.328,60.0,30.0 +193.wav=n s7,780.523,94.037,-137.406,59.999,29.999 +193.wav=ng z2,2108.129,107.212,-162.11,59.999,29.999 +193.wav=s p2,219.742,96.469,-129.407,79.999,40.0 +193.wav=z -28,2223.202,219.165,-354.214,80.0,40.0 +193.wav=ih12,1645,40.0,-210.221,20.0,40.0 +193.wav=n101,635,15,-126.301,15,10 +193.wav=ng27,1967.191,15,-126.301,15,10 +194.wav=- n7,316.33,47.519,-61.802,40.0,20.0 +194.wav=ih sh1,1915.811,156.938,-243.402,110.0,54.999 +194.wav=ih t6,615,134.808,-161.307,110.0,55.0 +194.wav=ih t7,1245,128.606,-162.434,110.0,55.0 +194.wav=n ih2,363,104.328,-303.073,39.999,20.0 +194.wav=w ih3,987.582,125.759,-303.627,50.0,24.998 +194.wav=w ih4,1564.052,152.11,-358.8,50.0,24.998 +194.wav=s w2,1404.007,152.573,-183.316,119.998,60.0 +194.wav=sh t2,2106.828,96.47,-111.842,80.0,40.0 +194.wav=t s20,1367.252,53.724,-79.893,40.0,20.0 +194.wav=t w3,861.96,123.842,-142.583,119.998,59.999 +194.wav=t -29,2192.512,316.335,-382.212,80.0,40.0 +194.wav=ih13,422.268,40.0,-210.22,19.999,39.999 +194.wav=n102,345,15,-126.301,15,10 +195.wav=- g7,236.644,46.39,-58.418,40.0,19.999 +195.wav=ih k2,1196.115,135.372,-155.29,109.999,54.999 +195.wav=ih t8,1915,126.351,-166.382,110.0,55.0 +195.wav=ih v1,676.409,127.479,-186.679,110.0,55.0 +195.wav=g ih1,218.093,210.108,-447.266,79.999,40.0 +195.wav=p ih3,1466.385,191.189,-525.249,100,50 +195.wav=z ih1,873.949,120.0,-332.723,50.0,25.0 +195.wav=k s6,1311.959,69.882,-127.524,59.999,29.999 +195.wav=s p3,1387.236,96.47,-133.25,80.0,40.0 +195.wav=v z1,770.539,73.41,-120.622,50.0,25.0 +195.wav=t -30,2069.359,316.335,-382.212,80.0,40.0 +196.wav=- w5,379.102,50.775,-68.065,40,20 +196.wav=ih l2,844.416,135.527,-179.994,109.999,54.999 +196.wav=ih n10,1338,130.297,-218.252,110.0,55.0 +196.wav=ih s3,1938,157.924,-256.028,110.0,55.0 +196.wav=l ih5,993.241,109.408,-267.513,60.0,30.0 +196.wav=m ih2,1539.852,134.126,-415.973,80.0,40.0 +196.wav=w ih5,421.0,154.602,-398.347,49.999,24.998 +196.wav=n m3,1477.14,81.41,-103.369,60.0,30.0 +196.wav=s t34,2093,96.47,-122.82,80.0,40.0 +196.wav=t -31,2178.5,209.283,-278.454,79.999,39.999 +196.wav=n103,1448,15,-126.301,15,10 +197.wav=- s24,240.779,63.555,-104.15,40.0,20.0 +197.wav=ih l3,515.009,159.408,-220.345,109.999,54.999 +197.wav=ih n11,1375,128.606,-199.647,110.0,55.0 +197.wav=ih t9,1990,131.425,-193.444,110.0,55.0 +197.wav=d ih2,1637.992,150.491,-421.122,60.0,30.0 +197.wav=t ih4,387.024,129.288,-286.297,69.999,45.0 +197.wav=w ih6,1085.561,120.818,-333.272,50.0,25.0 +197.wav=l w2,975.489,107.136,-141.722,99.999,50.0 +197.wav=n d27,1578.259,69.334,-78.666,60.0,30.0 +197.wav=s t35,303.923,96.47,-103.788,79.998,39.999 +197.wav=t s21,2128.181,117.878,-212.302,80.0,40.0 +197.wav=s -19,2297.26,118.825,-224.229,80.0,40.0 +197.wav=n104,1485,15,-126.301,15,10 +198.wav=- th4,345.649,71.198,-114.047,39.999,20.0 +198.wav=ih ng11,709.347,123.999,-195.641,109.999,55.0 +198.wav=ih ng12,1813.718,125.224,-203.594,110.0,55.0 +198.wav=ih t10,1346.0,119.998,-165.132,109.999,54.999 +198.wav=k ih3,927.594,177.508,-406.698,50,25.0 +198.wav=s ih5,1475.382,181.523,-398.918,100.0,50.0 +198.wav=th ih2,419.255,166.228,-339.156,60.0,29.999 +198.wav=ng k3,863.93,69.881,-78.116,59.999,30.0 +198.wav=t s22,1452.831,86.222,-111.475,80.0,40.0 +198.wav=ng -2,2089.016,316.335,-382.212,80.0,40.0 +198.wav=ih14,547.256,40.0,-210.221,20.0,40.0 +198.wav=ng28,812.381,15.0,-101.531,15.0,10.0 +198.wav=ng29,1949.031,15,-126.301,15,10 +198.wav=th11,396,14.999,-69.348,14.999,10.0 +199.wav=- p16,249.048,52.404,-83.602,40.0,20.0 +199.wav=ih ng13,596.534,135.372,-267.304,110.0,55.0 +199.wav=ih ng14,1019.864,131.425,-195.136,110.0,55.0 +199.wav=ih r4,1560.224,120,-243.278,110.0,55.0 +199.wav=n ih3,816.804,130.23,-321.274,79.999,39.999 +199.wav=p ih4,222.561,191.189,-441.375,120.0,60.0 +199.wav=t ih5,1382.78,105.683,-257.201,70.0,44.999 +199.wav=ng n,759.119,81.41,-103.369,60.0,30.0 +199.wav=ng s1,1231.302,89.096,-130.818,60.0,30.0 +199.wav=s t36,1296.548,96.47,-121.357,80.0,40.0 +199.wav=r -4,1878.414,274.337,-382.212,80.0,40.0 +199.wav=ih15,939.047,40.0,-210.221,20.0,40.0 +199.wav=n105,865,15,-126.301,15,10 +199.wav=ng30,701.281,15,-126.301,15,10 +199.wav=ng31,719.442,15,-126.301,15,10 +2.wav=- ow,264.193,160,-450,60,30 +2.wav=ah ow,2449.591,340,-650,240,120 +2.wav=ih uw1,1286.614,365.589,-612.963,240.0,119.999 +2.wav=ow ih,666.637,340,-650,240,120 +2.wav=uw ah,1863.46,340,-650,240,120 +2.wav=ow -,3188.58,555.276,-677.972,299.999,120.0 +2.wav=ah1,2199.925,40.0,-210.221,20.0,40.0 +2.wav=ih2,966.688,40.0,-366.123,20.0,40.0 +2.wav=ow,380.204,40.0,-210.221,20.0,40.0 +2.wav=ow1,2917.234,40.0,-417.8,20.0,40.0 +2.wav=uw1,1604.852,40.0,-210.221,20.0,40.0 +20.wav=- l1,324.222,47.773,-69.319,39.999,20.0 +20.wav=ae f,707.709,136.5,-192.881,110.0,55.0 +20.wav=ae m,2085,119.999,-208.627,110.0,55.0 +20.wav=ae s,1410.253,154.541,-201.337,110.0,55.0 +20.wav=l ae,373,107.36,-275.659,60.0,29.999 +20.wav=r ae,1065.0,80.501,-313.541,40.0,20.0 +20.wav=y ae,1705.923,106.026,-383.259,40.0,20.0 +20.wav=f s1,812.118,88.235,-126.663,79.999,40.0 +20.wav=g r,991.332,69.882,-83.057,60.0,30.0 +20.wav=s g,881.444,96.469,-135.446,79.999,39.999 +20.wav=s y,1562.071,133.724,-158.977,119.999,60.0 +20.wav=m -1,2259.305,138.466,-238.929,80.0,40.0 +200.wav=- ih1,181.312,120.892,-291.728,60.0,30.0 +200.wav=ih k3,1664.595,137.062,-193.993,109.999,54.999 +200.wav=ih l4,902.875,165.816,-270.576,109.999,55.0 +200.wav=ih t11,495,139.882,-170.328,110.0,55.0 +200.wav=b ih2,774.172,150,-370,60,30 +200.wav=b ih3,1340.739,150,-370,60,30 +200.wav=d b2,1235.382,100.0,-140.937,80.0,40.0 +200.wav=l d7,1172.481,84.155,-106.663,59.999,29.999 +200.wav=s b2,642.463,96.47,-145.329,80.0,40.0 +200.wav=t s23,597.817,93.176,-125.016,79.999,39.999 +200.wav=k -5,1798.646,274.338,-350.097,80.0,40.0 +200.wav=ih16,329.727,40.0,-210.221,20.0,40.0 +201.wav=- f11,163.346,70.447,-142.991,40.0,19.999 +201.wav=iy k1,545.477,142.116,-203.876,109.999,55.0 +201.wav=iy r1,938.331,119.882,-276.795,109.999,55.0 +201.wav=iy t2,1685,119.999,-164.168,110.0,55.0 +201.wav=m iy1,1348.01,133.281,-395.454,80.0,40.0 +201.wav=r iy2,326.442,97.999,-229.397,39.999,20.0 +201.wav=w iy2,874.78,132.348,-334.097,50.0,25.0 +201.wav=f r6,241.151,92.626,-115.134,80.0,39.999 +201.wav=k t8,654.786,75.921,-95.684,59.999,30.0 +201.wav=r m5,1277.6,61.959,-117.955,40.0,20.0 +201.wav=t s24,1801.899,117.879,-212.852,79.999,39.999 +201.wav=t w4,725.92,146.588,-161.96,140.0,70.0 +201.wav=s -20,1967.248,113.567,-178.817,80.0,40.0 +202.wav=- f12,100.577,80.219,-121.941,40.0,20.0 +202.wav=iy l2,304.202,179.995,-272.223,109.999,54.999 +202.wav=iy n1,1650.596,120,-178.289,110.0,55.0 +202.wav=iy s1,992.632,156.938,-200.582,110.0,54.999 +202.wav=b iy1,728.059,128.503,-290.882,59.999,30.0 +202.wav=f iy1,148.923,138.466,-373.977,79.999,40.0 +202.wav=m iy2,1269.683,134.972,-401.151,80.0,40.0 +202.wav=d b3,609.525,89.334,-109.098,79.999,40.0 +202.wav=l d8,537.289,99.999,-109.958,59.999,30.0 +202.wav=s t37,1149.01,96.469,-110.377,79.999,39.999 +202.wav=t m5,1183.417,103.057,-142.584,80.0,40.0 +202.wav=n -11,1804.685,181.286,-275.985,80.0,40.0 +202.wav=n106,1762,15,-126.301,15,10 +203.wav=- k14,196.049,71.198,-133.218,40.0,19.999 +203.wav=iy d2,1654.922,150.949,-231.575,110.0,55.0 +203.wav=iy m2,1135.194,137.627,-227.29,110.0,55.0 +203.wav=iy p1,529.008,153.644,-191.524,109.999,54.999 +203.wav=k iy1,224.208,177.507,-386.803,119.999,60.0 +203.wav=n iy1,1312.638,155.759,-384.682,80.0,40.0 +203.wav=r iy3,900.446,120.151,-304.607,40.0,20.0 +203.wav=d r5,814.896,99.999,-117.88,79.999,40.0 +203.wav=d z13,1774.02,116.857,-192.066,40.0,20.0 +203.wav=m n1,1263.15,81.41,-103.369,60.0,30.0 +203.wav=p d1,661.477,112.079,-138.43,100,50.0 +203.wav=z -29,1898.178,202.695,-277.632,79.999,39.999 +203.wav=iy8,1464.24,40.0,-210.221,20.0,40.0 +204.wav=- s25,312.947,58.794,-124.698,40.0,20.0 +204.wav=iy l3,1170.585,162.565,-269.69,110.0,55.0 +204.wav=iy v2,765.357,137.997,-175.877,109.999,55.0 +204.wav=iy z2,1940.0,147.67,-255.544,109.999,55.0 +204.wav=l iy4,488,140.343,-336.551,60.0,30.0 +204.wav=m iy3,999.26,97.76,-213.624,40,20.0 +204.wav=m iy4,1507.199,116.663,-397.442,60.0,30.0 +204.wav=l m2,1417.365,100,-120,60,30 +204.wav=s l5,406.027,88.418,-116.233,79.999,39.998 +204.wav=v m2,894.254,87.687,-116.783,79.999,40.0 +204.wav=z -30,2155.549,165.64,-299.865,80.0,40.0 +205.wav=- w6,155.079,50.775,-68.065,40,20 +205.wav=iy k2,453.25,120,-156.278,110.0,55.0 +205.wav=iy m3,1065.0,132.392,-191.681,110.0,55.0 +205.wav=iy t3,1805.0,119.998,-152.562,110.0,54.999 +205.wav=r iy4,851.842,90.999,-275.51,39.999,20.0 +205.wav=w iy3,204.451,127.405,-287.157,49.999,24.999 +205.wav=w iy4,1447.196,143.052,-392.562,50.0,24.998 +205.wav=k r5,743.804,107.687,-121.411,99.999,50.0 +205.wav=k s7,576.274,69.882,-128.622,60.0,30.0 +205.wav=m z4,1227.408,81.409,-144.542,59.999,29.999 +205.wav=s k7,640.991,96.469,-128.31,79.999,40.0 +205.wav=s w3,1329.305,128.785,-146.901,119.998,60.0 +205.wav=z s3,1316.59,67.019,-103.252,50.0,24.998 +205.wav=t -32,1935.957,316.335,-382.212,80.0,40.0 +206.wav=- k15,168.988,78.714,-135.471,40.0,19.999 +206.wav=iy n2,520,134.807,-201.771,110.0,55.0 +206.wav=iy t4,1145,119.999,-142.701,110.0,55.0 +206.wav=l iy5,316.322,98.704,-269.985,60.0,30.0 +206.wav=m iy5,1440.774,103.769,-380.091,40.0,20.0 +206.wav=r iy5,921.037,85.291,-258.218,40.0,20.0 +206.wav=k l2,195.0,123.955,-145.914,120,60.0 +206.wav=n t18,723.426,71.529,-79.764,60.0,30.0 +206.wav=s m2,1325.099,96.469,-125.565,79.999,40.0 +206.wav=t r5,797.569,129.332,-146.9,120.0,59.999 +206.wav=t s25,1258.954,62.508,-103.682,40.0,20.0 +206.wav=iy -3,1641.396,631.858,-681.266,300.0,119.999 +206.wav=n107,630,15,-126.301,15,10 +207.wav=- f13,223.489,73.828,-118.182,39.999,19.999 +207.wav=ow l1,1775.264,240.0,-289.35,220,110.0 +207.wav=ow n2,551.587,240,-300,220,110.0 +207.wav=ow n3,1076.139,257.055,-336.108,219.999,110.0 +207.wav=l ow1,352.556,140.343,-336.551,60.0,30.0 +207.wav=l ow2,887.81,120.936,-275.747,60.0,30.0 +207.wav=r ow1,1550.94,85.015,-347.976,40.0,20.0 +207.wav=f l5,267.503,93.175,-117.879,79.999,40.0 +207.wav=l d9,2049.341,77.567,-95.683,60.0,29.999 +207.wav=n l2,810.163,81.41,-103.369,60.0,30.0 +207.wav=n t19,1381.156,66.589,-79.764,60.0,30.0 +207.wav=t r6,1448.24,103.056,-120.624,100,50.0 +207.wav=d -19,2082.051,191.99,-263.355,80.0,40.0 +207.wav=n108,755,15,-126.301,15,10 +207.wav=n109,1280,15,-126.301,15,10 +208.wav=- w7,267.09,50.775,-68.065,40,20 +208.wav=ow l2,1809.175,240.0,-275.994,219.998,109.998 +208.wav=ow n4,370.425,240.0,-336.108,219.999,109.999 +208.wav=ow n5,962.579,240.0,-322.11,220.0,109.999 +208.wav=s ow1,1419.404,200,-420,100,50 +208.wav=w ow1,309.855,86.999,-237.749,49.999,25.0 +208.wav=w ow2,893.719,103.525,-238.574,49.999,24.997 +208.wav=l d10,2049.232,78.116,-87.449,60.0,29.999 +208.wav=n t20,691.009,71.528,-81.41,59.999,30.0 +208.wav=n t21,1268.009,70.977,-78.663,59.998,30.0 +208.wav=t s26,1328.166,56.469,-120.15,40.0,20.0 +208.wav=t w5,761.017,154.747,-182.927,139.999,69.999 +208.wav=d -20,2102,191.99,-263.355,80.0,40.0 +208.wav=n110,595,15,-126.301,15,10 +208.wav=n111,1240,15,-126.301,15,10 +209.wav=- hh6,248.296,63.555,-93.375,40.0,19.999 +209.wav=ow n6,1100.885,240,-300,220,110.0 +209.wav=ow s1,530.182,240,-300,220,110.0 +209.wav=ow t1,1838.75,240.0,-275.254,220,110.0 +209.wav=b ow1,1499.7,150,-370,60,30 +209.wav=d ow1,906.765,159.795,-290.882,60.0,30.0 +209.wav=hh ow2,292.206,136.819,-294.924,79.999,39.999 +209.wav=n t22,1344.435,67.137,-78.117,60.0,30.0 +209.wav=s t38,792.894,96.469,-132.702,79.999,40.0 +209.wav=t b5,1410.206,95.371,-109.095,40,20 +209.wav=t d2,880.605,69.15,-80.495,59.999,30.0 +209.wav=t -33,2082.155,192.815,-252.928,80.0,40.0 +209.wav=n112,1305,15,-126.301,15,10 +21.wav=- jh,284.755,53.533,-79.092,39.999,20.0 +21.wav=ae k1,1263.563,176.87,-236.07,110.0,55.0 +21.wav=ae ng,642.646,125.223,-167.509,110.0,55.0 +21.wav=ae ng1,1882.836,119.998,-188.37,110.0,55.0 +21.wav=f ae,944,166.263,-376.002,80.0,40.0 +21.wav=jh ae,309.734,139.998,-297.982,60.0,30.0 +21.wav=th ae,1553.212,115.995,-339.277,60.0,30 +21.wav=k s,2080.137,77.569,-120.938,60.0,29.999 +21.wav=k t1,1399.859,111.605,-147.288,60.0,30.0 +21.wav=ng f,837.623,85.802,-137.955,60.0,30.0 +21.wav=ng k2,2008.0,75.58,-90.951,60.0,29.999 +21.wav=t th,1471.783,107.449,-134.348,80.0,40.0 +21.wav=s -2,2246.259,316.335,-382.212,80.0,40.0 +21.wav=ae1,1656.33,40.0,-210.221,20.0,40.0 +21.wav=ng1,803.835,15.0,-73.416,15.0,10.0 +21.wav=ng10,1945.294,14.999,-91.446,14.999,10.0 +210.wav=- d10,339.258,50.149,-63.68,39.999,20.0 +210.wav=ow l3,1945.801,229.882,-276.819,220.0,109.999 +210.wav=ow n7,479.124,240,-300,220,110.0 +210.wav=ow n8,1175.829,240.0,-298.23,219.999,110.0 +210.wav=d ow2,348.437,123.408,-249.398,60.0,30.0 +210.wav=hh ow3,1508.526,139.2,-496.095,80.0,40.0 +210.wav=n ow1,970.409,139.639,-310.034,39.999,20.0 +210.wav=n hh1,1436.684,94.585,-149.483,60.0,30.0 +210.wav=n t23,761.868,69.333,-75.921,59.999,30.0 +210.wav=t n3,875.244,95.371,-122.454,79.998,39.999 +210.wav=l -7,2154.084,317.156,-379.191,79.998,39.998 +210.wav=ow6,1048.412,40.0,-210.221,20.0,40.0 +210.wav=n113,690,15,-126.301,15,10 +210.wav=n114,1435,15,-126.301,15,10 +211.wav=- y4,271.225,50.775,-68.065,40.0,20.0 +211.wav=uh d2,1315,120.0,-157.924,110.0,54.999 +211.wav=uh r2,563.594,130.859,-211.285,109.998,54.999 +211.wav=uh r3,1918.245,134.703,-208.815,110.0,54.999 +211.wav=w uh1,984.283,143.875,-357.152,50.0,24.998 +211.wav=y uh2,325.618,106.026,-331.507,39.999,19.999 +211.wav=y uh,1555.907,154.462,-383.259,40.0,20.0 +211.wav=d y2,1466.059,100.0,-126.115,80.0,40.0 +211.wav=r t,773.624,67.998,-86.663,40.0,20.0 +211.wav=r z7,2148.449,90.505,-150.894,40.0,20.0 +211.wav=t w6,829.497,149.882,-163.057,140.0,69.999 +211.wav=z -31,2266.022,108.822,-163.994,80.0,40.0 +212.wav=- y5,387.377,50.775,-68.065,40.0,20.0 +212.wav=uw m2,1326.975,128.115,-192.345,109.998,54.999 +212.wav=uw p2,2094.466,170.112,-217.873,109.999,55.0 +212.wav=uw z2,735,135.372,-196.264,109.999,54.999 +212.wav=t uw1,959.577,198.503,-390.92,120.0,59.999 +212.wav=t uw2,1674.962,267.632,-437.266,69.999,44.999 +212.wav=y uw7,468.664,132.228,-307.352,60,30.0 +212.wav=d t3,880.233,99.998,-111.84,79.999,39.999 +212.wav=m s,1477.276,97.88,-153.327,60.0,30.0 +212.wav=s t39,1573.526,96.47,-117.33,80.0,40.0 +212.wav=z d2,893.512,73.409,-99.408,50.0,25.0 +212.wav=p -7,2249.553,316.335,-382.212,80.0,40.0 +213.wav=- t7,435.11,65.185,-108.411,39.999,20.0 +213.wav=uw d1,896.335,123.175,-145.408,109.999,55.0 +213.wav=uw g1,1578.341,130.608,-162.701,109.998,54.999 +213.wav=uw m3,2255,119.999,-211.487,110.0,54.999 +213.wav=r uw6,1796.618,121.522,-318.33,40.0,20.0 +213.wav=t uw3,408.428,224.812,-469.655,140,70 +213.wav=y uw8,1226.397,106.026,-383.259,60,30.0 +213.wav=d k2,1000.978,90.43,-109.095,79.999,40.0 +213.wav=g r6,1724.264,69.882,-83.057,60.0,30.0 +213.wav=k y,1070.0,158.268,-175.286,140,70.0 +213.wav=m -8,2400.961,316.335,-382.212,80.0,40.0 +214.wav=- f14,226.119,80.845,-157.273,39.999,19.999 +214.wav=uw l2,660.781,130.587,-193.994,109.999,54.999 +214.wav=uw n1,1413.551,128.115,-163.524,109.998,54.999 +214.wav=uw z3,2107.865,165.171,-283.75,109.999,55.0 +214.wav=f uw1,321,200,-500,80.0,40.0 +214.wav=n uw1,1517.681,148.348,-276.808,79.999,40.0 +214.wav=y uw9,1000.916,106.026,-383.259,40.0,20.0 +214.wav=l y2,846.364,100,-120,60,30 +214.wav=z -32,2315,150.153,-178.974,79.998,40.0 +214.wav=uw6,1585,40.0,-210.221,20.0,40.0 +214.wav=n115,1510,15,-126.301,15,10 +215.wav=- n8,369.705,50.775,-63.68,39.999,20.0 +215.wav=uw m4,1498.332,133.058,-181.642,110.0,54.999 +215.wav=uw n2,825.492,133.116,-186.58,109.998,55.0 +215.wav=n uw,415.375,186.578,-414.677,39.999,20.0 +215.wav=y uw10,1053.734,188.112,-410.447,100.0,50.0 +215.wav=y uw11,1773.175,186.815,-346.567,60.0,30.0 +215.wav=m p2,1651.31,67.137,-77.018,60.0,30.0 +215.wav=n y4,1023.757,81.41,-103.369,60.0,30.0 +215.wav=p y1,1715.561,69.882,-87.45,60.0,30.0 +215.wav=uw -2,2172.313,685.382,-830.312,300.0,119.999 +215.wav=uw7,555.0,39.999,-358.378,19.999,39.999 +215.wav=n116,405,15,-126.301,15,10 +215.wav=n117,1055,15,-126.301,15,10 +216.wav=- p17,358.055,66.562,-102.019,39.999,19.999 +216.wav=uw d2,1383.818,119.998,-145.409,110.0,54.999 +216.wav=uw k1,763.704,130.586,-162.701,109.998,54.999 +216.wav=uw s1,2095.0,149.854,-214.907,109.999,54.999 +216.wav=y uw12,469.726,126.462,-292.802,39.998,20.0 +216.wav=y uw13,1067.589,166.265,-355.662,40.0,20.0 +216.wav=y uw14,1652.293,185.754,-383.259,40.0,20.0 +216.wav=d y3,986.22,92.627,-121.723,79.999,40.0 +216.wav=d z14,1494.021,61.411,-98.192,39.999,20.0 +216.wav=k d1,911.771,83.057,-108.859,59.999,30.0 +216.wav=p y2,345.536,130.979,-152.938,119.998,59.999 +216.wav=z y,1541.729,91.528,-120.622,80.0,40.0 +216.wav=s -21,2271.564,316.335,-382.212,80.0,40.0 +217.wav=- l4,352.414,46.268,-56.542,40.0,20.0 +217.wav=uw n3,743.111,120.0,-173.711,109.999,55.0 +217.wav=uw s2,1350.832,137.174,-216.227,109.999,54.999 +217.wav=l uw1,396.199,117.509,-295.111,60.0,30.0 +217.wav=t uw4,910.744,223.993,-450.446,139.999,69.999 +217.wav=t uw5,1595.878,170.185,-515.493,69.998,44.999 +217.wav=n t24,866.719,68.234,-78.115,59.999,30.0 +217.wav=s t40,1496.79,96.468,-125.381,79.998,39.998 +217.wav=uw -3,1995.463,480.0,-571.594,299.999,120.0 +217.wav=n118,876,15,-126.301,15,10 +218.wav=- y6,461.044,56.288,-78.339,40.0,20.0 +218.wav=uw l3,2092.779,137.062,-225.285,109.999,54.999 +218.wav=uw t2,944.038,120.0,-161.871,109.999,54.999 +218.wav=uw t3,1472.705,139.318,-168.467,110.0,54.999 +218.wav=t uw6,1064.738,219.87,-462.793,150,75 +218.wav=t uw7,1717.746,270.106,-542.673,139.999,69.998 +218.wav=y uw,532.309,106.026,-383.259,40.0,20.0 +218.wav=l z3,2322.197,85.253,-115.447,60.0,30.0 +218.wav=t t3,1625,103.057,-142.584,80.0,40.0 +218.wav=z -33,2476.226,200.226,-257.045,80.0,40.0 +219.wav=- m11,354.671,47.016,-62.803,40.0,20.0 +219.wav=uw b1,2105.0,137.383,-158.793,109.999,54.999 +219.wav=uw n4,1313.819,119.998,-184.111,109.998,54.999 +219.wav=uw v1,771.937,134.809,-181.042,109.999,54.999 +219.wav=g uw,978.998,200,-380.231,80.0,40.0 +219.wav=m uw1,407.261,101.357,-343.233,29.999,15.0 +219.wav=t uw8,1612.059,190.506,-421.076,100,50.0 +219.wav=n z4,1457.543,81.409,-128.073,60.0,30.0 +219.wav=v g,890.97,73.409,-111.484,49.999,25.0 +219.wav=z t1,1553.062,58.783,-82.938,50.0,24.998 +219.wav=b -4,2223.803,296.862,-382.276,80,40 +219.wav=n119,1425,15,-126.301,15,10 +22.wav=- s1,241.906,65.811,-106.155,40.0,20.0 +22.wav=ae m1,1310.0,132.804,-214.327,109.999,54.999 +22.wav=ae ng2,738.992,134.245,-196.264,110.0,55.0 +22.wav=ae sh,2048.458,141.01,-205.849,110.0,55.0 +22.wav=q ae,1681.526,81.041,-374.506,10.0,10.0 +22.wav=s ae,297.733,168.622,-319.042,100.0,50.0 +22.wav=y ae1,1051.959,96.546,-231.045,40.0,20.0 +22.wav=k q1,1560.074,101.723,-119.839,60.0,30.0 +22.wav=m k,1488.154,78.665,-101.722,60.0,30.0 +22.wav=ng y,975.937,81.41,-103.369,60.0,30.0 +22.wav=sh t,2189.316,96.469,-139.838,79.999,40.0 +22.wav=t -1,2275.173,176.305,-276.219,80.0,40.0 +22.wav=ng2,868.466,15,-126.301,15,10 +23.wav=- d,376.846,48.521,-55.788,40.0,20.0 +23.wav=ae l,620.413,133.68,-177.093,110.0,55.0 +23.wav=ae l1,1965,120,-159.795,110.0,55.0 +23.wav=ae ng3,1366.57,130.297,-181.04,110.0,55.0 +23.wav=d ae,377.26,180.0,-371.226,60.0,29.999 +23.wav=k ae1,1656.241,160.462,-351.506,59.999,30.0 +23.wav=y ae2,1018.197,137.169,-280.452,40.0,20.0 +23.wav=l p,2153.537,100,-120,60,30 +23.wav=l y,908.963,87.448,-115.994,59.999,29.999 +23.wav=ng s,1517.8,81.41,-103.369,60.0,30.0 +23.wav=s k1,1566.712,96.47,-124.467,80.0,40.0 +23.wav=p -1,2238.941,227.4,-274.338,80.0,40.0 +23.wav=ng3,1445,15.823,-79.23,14.999,10.0 +24.wav=- g1,208.828,55.412,-66.689,39.999,19.999 +24.wav=ae n2,575.123,151.173,-246.695,109.999,54.999 +24.wav=ae p,1108.746,137.063,-159.052,110.0,55.0 +24.wav=ae z,1770.0,144.175,-235.166,109.999,54.999 +24.wav=l ae1,280.914,157.992,-321.862,60.0,30.0 +24.wav=n ae,766.526,161.189,-365.854,79.999,39.999 +24.wav=p ae,1252.0,245.904,-500.0,60.0,30.0 +24.wav=g l,223.821,69.882,-96.234,60.0,30.0 +24.wav=n n,711.871,81.41,-103.369,60.0,30.0 +24.wav=z -1,1929.852,212.518,-276.748,80.0,40.0 +24.wav=ae2,952.1,40.0,-210.221,20.0,40.0 +24.wav=n5,694.871,15.0,-137.852,15.0,10.0 +24.wav=n6,693.27,15,-126.301,15,10 +25.wav=- k1,329.861,52.404,-94.127,39.999,19.999 +25.wav=ah m,582.534,136.5,-208.104,110.0,55.0 +25.wav=ah r,1438.168,131.425,-171.456,110.0,55.0 +25.wav=ah sh,1989.924,151.159,-296.059,110.0,55.0 +25.wav=k ah,316.436,177.508,-362.722,120.0,60.0 +25.wav=p ah,925.823,258.343,-484.795,120.0,59.999 +25.wav=r ah,1595.462,103.999,-381.671,39.999,19.999 +25.wav=m z,813.476,81.41,-103.369,60.0,30.0 +25.wav=z p,874.5,73.409,-106.728,49.999,24.999 +25.wav=sh -,2258.938,244.469,-335.274,80.0,40.0 +26.wav=- t,234.012,60.674,-70.447,39.999,20.0 +26.wav=ah hh,1241.437,134.967,-193.04,110.0,55.0 +26.wav=ah n,1600,142.138,-210.923,110.0,55.0 +26.wav=ah ng,545.478,120,-189.773,110.0,55.0 +26.wav=hh ah1,1401.0,138.214,-271.615,80.0,40.0 +26.wav=ng ah,797.004,297.395,-523.49,79.999,39.999 +26.wav=t ah,176.329,184.348,-376.216,130.0,64.999 +26.wav=n t,1838.519,80.86,-109.956,59.998,30.0 +26.wav=t -2,1903.62,316.335,-382.212,80.0,40.0 +26.wav=ah6,965.687,40.0,-210.221,20.0,40.0 +26.wav=n7,1724.694,14.998,-131.441,14.998,10.0 +26.wav=ng4,665,15,-126.301,15,10 +27.wav=- p1,340.385,57.291,-71.951,39.999,20.0 +27.wav=ah ng1,2028.549,134.244,-211.487,110.0,55.0 +27.wav=ah s,1326.128,120.0,-187.243,110.0,55.0 +27.wav=ah w,850.985,129.763,-175.053,109.999,55.0 +27.wav=m ah1,1584.231,138.355,-320.185,60.0,30.0 +27.wav=r ah1,435.963,109.912,-355.172,39.999,20.0 +27.wav=w ah,990.038,150.463,-353.582,50.0,24.998 +27.wav=p r,287.652,151.528,-171.291,140.0,49.999 +27.wav=s m,1465.943,128.233,-166.844,119.998,59.998 +27.wav=ng -,2231.382,211.206,-268.848,80.0,40.0 +27.wav=ng5,2114.08,15.0,-126.301,15.0,9.999 +28.wav=- ch,384.368,90.869,-110.415,40.0,20.0 +28.wav=ah n1,1962.75,145.408,-270.575,110.0,54.999 +28.wav=ah ng2,643.47,137.627,-225.582,110.0,55.0 +28.wav=ah th,1454.638,138.822,-180.819,109.999,54.999 +28.wav=b ah1,1040.998,150,-370,60,30 +28.wav=ch ah,408.902,176.56,-363.019,99.999,49.999 +28.wav=th ah,1611.701,136.308,-430.559,59.999,30.0 +28.wav=ng b,995.766,72.628,-84.705,59.999,30.0 +28.wav=n -1,2239.724,316.335,-382.212,80.0,40.0 +28.wav=ah7,1709.309,40.0,-210.221,20.0,40.0 +28.wav=n8,2116.752,14.998,-126.1,14.998,9.999 +28.wav=ng6,874.343,15,-126.301,15,10 +28.wav=th,1563.381,15.0,-96.927,15.0,10.0 +29.wav=- g2,214.468,46.389,-57.29,39.999,19.999 +29.wav=ah dh,710.182,146.084,-178.786,110.0,55.0 +29.wav=ah jh,1293.326,149.056,-180.066,110.0,55.0 +29.wav=ah n2,1718.305,126.09,-214.609,110.0,55.0 +29.wav=dh ah,839.254,179.999,-416.049,60.0,30.0 +29.wav=g ah,192.565,227.401,-506.243,79.999,40.0 +29.wav=jh ah,1416.636,196.162,-332.323,120,60 +29.wav=n t1,1959.303,74.273,-91.291,59.999,30.0 +29.wav=t -3,2040.863,204.342,-281.748,80.0,40.0 +29.wav=n9,1835.0,14.998,-145.055,14.998,10.0 +3.wav=- ah,168.344,166.561,-345.854,60.0,29.999 +3.wav=ah iy1,639.563,340,-650,240,120 +3.wav=ih ow,2022.535,340,-650,240,120 +3.wav=iy ih,1284.968,340,-650,240,120 +3.wav=ow ay,2501.303,340,-650,240,120 +3.wav=ay -,3093.922,533.041,-655.737,299.999,120.0 +3.wav=ah2,334.501,40.0,-210.221,20.0,40.0 +3.wav=ay2,2818.804,40.0,-339.916,20.0,40.0 +3.wav=ih3,1606.054,40.0,-210.221,20.0,40.0 +3.wav=iy3,923.424,39.999,-483.9,20.0,39.999 +3.wav=ow2,2246.621,40.0,-210.221,20.0,40.0 +30.wav=- z1,320.465,64.556,-88.112,39.999,20.0 +30.wav=ah ch,1976.175,137.627,-181.642,109.999,55.0 +30.wav=ah d,1463.025,141.574,-169.29,109.999,54.999 +30.wav=ah m1,634.412,120.0,-187.806,110.0,55.0 +30.wav=d ah,1597.042,179.999,-387.294,60.0,30.0 +30.wav=y ah,1041.293,149.521,-421.265,40.0,20.0 +30.wav=z ah,374.085,142.227,-312.684,49.999,25.0 +30.wav=m n,873.831,81.41,-103.369,60.0,30.0 +30.wav=n y,961.13,81.41,-103.369,60.0,30.0 +30.wav=ch -,2114.937,296.862,-382.276,80,40 +31.wav=- dh,238.899,77.212,-119.686,40.0,19.999 +31.wav=ah l2,1793.937,158.584,-264.811,110.0,54.999 +31.wav=ah s1,722.526,137.626,-180.819,109.999,55.0 +31.wav=ah t,1249.584,127.293,-148.703,109.999,54.999 +31.wav=dh ah1,305.618,132.733,-337.508,60.0,30.0 +31.wav=n ah,1529.0,104.524,-352.676,40.0,20.0 +31.wav=s ah,832.997,200,-420,100,50 +31.wav=l z,2152.107,100.0,-150.581,60.0,29.999 +31.wav=t n,1425.339,91.528,-111.84,80.0,40.0 +31.wav=z -2,2264.428,316.335,-382.212,80.0,40.0 +31.wav=ah8,1633.961,40.0,-210.221,20.0,40.0 +32.wav=- k2,317.13,87.36,-127.453,40.0,20.0 +32.wav=ah b,1458.706,141.292,-189.053,110.0,54.999 +32.wav=ah p,632.765,136.351,-166.819,109.999,54.999 +32.wav=ah v,2224.534,141.573,-263.921,110.0,55.0 +32.wav=b ah,1610.817,150,-370,60,30 +32.wav=k ah1,318.082,177.508,-406.698,120.0,60.0 +32.wav=l ah4,1074.739,163.178,-421.123,59.999,30.0 +32.wav=f l,997.152,94.103,-110.742,79.999,40.0 +32.wav=p s,770.636,95.059,-138.429,59.999,29.999 +32.wav=s f,880,96.47,-145.329,80.0,40.0 +32.wav=v -,2358.196,316.335,-382.212,80.0,40.0 +33.wav=- sh,367.827,72.575,-130.711,40.0,20.0 +33.wav=ah f,839.487,179.171,-249.166,109.999,55.0 +33.wav=ah k,1393.013,134.808,-159.052,110.0,55.0 +33.wav=ah z,2233.941,123.532,-206.412,110.0,55.0 +33.wav=f ah,1054.001,163.17,-364.096,80.0,40.0 +33.wav=sh ah,442.664,157.642,-371.743,99.999,49.999 +33.wav=sh ah1,1662.471,200,-420,100,50 +33.wav=f f,955.404,100,-150,80.0,40.0 +33.wav=k sh,1513.993,119.838,-190.107,60.0,30.0 +33.wav=z -3,2393.275,316.335,-382.212,80.0,40.0 +34.wav=- v,327.982,50.775,-82.85,40.0,20.0 +34.wav=ah g,2043.449,138.755,-165.818,110.0,55.0 +34.wav=ah l1,595.709,120.0,-156.796,110.0,55.0 +34.wav=ah m2,1284.17,142.701,-215.997,110.0,55.0 +34.wav=hh ah,1583,199.999,-430.129,80.0,40.0 +34.wav=q ah,1029.228,45.0,-311.077,10.0,10.0 +34.wav=v ah,378.906,121.485,-356.448,60.0,29.999 +34.wav=dh q,889.576,106.899,-143.68,79.998,39.999 +34.wav=g z,2163.652,69.882,-130.818,60.0,30.0 +34.wav=l dh,815.675,100,-120,60,30 +34.wav=m hh,1489.381,81.409,-122.035,59.999,30.0 +34.wav=z -4,2282.544,153.991,-241.278,80.0,40.0 +35.wav=- s2,297.159,50.774,-106.906,40.0,20.0 +35.wav=ao l,1508.114,119.882,-152.285,110.0,54.999 +35.wav=ao ng,2095,163.0,-231.785,110.0,55.0 +35.wav=ao r9,618.766,161.306,-227.836,110.0,55.0 +35.wav=hh ao,1048.973,199.999,-476.643,80.0,40.0 +35.wav=p ao,476.074,105.292,-237.87,59.999,30.0 +35.wav=r ao,1695.872,141.286,-366.092,40.0,20.0 +35.wav=l r,1571.674,100,-120,60,30 +35.wav=ng d,2350.198,64.941,-71.529,60.0,29.999 +35.wav=r t1,827.969,71.292,-84.467,40.0,20.0 +35.wav=s hh,940.074,96.47,-145.329,80.0,40.0 +35.wav=s p,367.611,96.47,-122.822,80.0,39.999 +35.wav=t s,928.724,103.057,-142.584,80.0,40.0 +35.wav=d -,2400.467,191.99,-263.355,80.0,40.0 +35.wav=ng7,2205,15,-126.301,15,10 +36.wav=- s3,249.048,50.775,-99.64,40.0,20.0 +36.wav=ao f,1396.222,119.999,-195.64,109.999,54.999 +36.wav=ao r1,631.125,164.126,-210.359,110.0,55.0 +36.wav=ao r2,1806.359,141.574,-224.455,110.0,55.0 +36.wav=f ao,1545.642,159.052,-345.979,80.0,40.0 +36.wav=k ao,380.553,124.231,-323.509,60.0,29.999 +36.wav=l ao,963.602,156.346,-413.512,59.999,30.0 +36.wav=b z,2092.17,84.586,-141.13,50.0,25.0 +36.wav=r b,2006.645,90.506,-105.328,40.0,20.0 +36.wav=r l,910.842,67.997,-89.956,40.0,20.0 +36.wav=s k2,299.036,73.908,-100.258,60.0,29.999 +36.wav=z -5,2194,167.066,-287.513,80.0,40.0 +37.wav=- t1,328.733,59.171,-85.482,39.999,20.0 +37.wav=ao k,678.884,145.802,-187.772,110.0,55.0 +37.wav=ao l1,2013.902,119.999,-179.171,110.0,54.999 +37.wav=ao r3,1182.956,141.01,-233.475,110.0,55.0 +37.wav=f ao1,961.735,179.639,-413.503,80.0,40.0 +37.wav=t ao,373,254.618,-398.45,130.0,65.0 +37.wav=y ao,1604.622,170.108,-435.263,40.0,20.0 +37.wav=d y,1536.822,103.057,-123.369,79.999,40.0 +37.wav=k t2,786.549,69.882,-83.057,60.0,30.0 +37.wav=r d,1449.449,75.134,-108.073,39.999,20.0 +37.wav=t f,826.546,103.057,-142.584,80.0,40.0 +37.wav=l -1,2125.355,316.335,-382.212,80.0,40.0 +38.wav=- q,255.062,47.518,-54.283,39.999,19.999 +38.wav=ao r4,491.953,120,-192.278,110.0,55.0 +38.wav=ao r5,1113.797,148.339,-245.879,110.0,55.0 +38.wav=ao r6,1915.137,131.424,-206.975,110.0,55.0 +38.wav=d ao,1570.676,179.999,-457.49,60.0,30.0 +38.wav=n ao,973.757,137.17,-335.625,40.0,20.0 +38.wav=q ao,296.329,44.999,-316.997,10.0,10.0 +38.wav=p s1,771.525,83.294,-148.622,59.999,30.0 +38.wav=r d1,2152.828,57.567,-72.389,39.999,19.999 +38.wav=r p,732.448,54.273,-74.036,40.0,20.0 +38.wav=r th,1414.914,90.506,-105.328,40.0,20.0 +38.wav=s n,892.105,89.882,-106.351,79.999,40.0 +38.wav=th d,1471.85,73.41,-120.622,50.0,25.0 +38.wav=d -1,2180.096,191.99,-257.183,80.0,40.0 +38.wav=ao1,1133.674,40.0,-210.221,20.0,40.0 +39.wav=- th,238.899,74.957,-116.303,40.0,19.999 +39.wav=ao ng1,1123.716,119.998,-168.406,110.0,55.0 +39.wav=ao s,1831.988,120.0,-229.53,110.0,55.0 +39.wav=ao t,580,142.137,-176.53,110.0,55.0 +39.wav=l ao1,1494.121,160.463,-376.211,60.0,30.0 +39.wav=s ao,844.573,153.799,-314.923,99.998,49.999 +39.wav=th ao,303.971,120.936,-305.941,60.0,29.999 +39.wav=g l1,1430.114,75.372,-101.722,60.0,30.0 +39.wav=ng z,1291.748,72.078,-97.88,60.0,30.0 +39.wav=s t,2002.282,96.47,-109.279,80.0,40.0 +39.wav=t s1,712.411,103.057,-142.584,80.0,40.0 +39.wav=z g,1355.507,73.409,-90.075,50.0,24.998 +39.wav=t -4,2093.109,162.347,-229.322,80.0,40.0 +39.wav=ao2,404.908,40.0,-210.221,20.0,40.0 +39.wav=ng8,1243.433,14.999,-74.244,14.999,10.0 +39.wav=th1,285.719,15.0,-67.347,15.0,10.0 +4.wav=- uw,289.564,220,-500,60,30 +4.wav=ay ey,2470.803,451.376,-744.419,399.999,199.999 +4.wav=ih uw2,1391.581,340,-650,240,120 +4.wav=uw ay,2019.257,340,-650,240,120 +4.wav=uw ih,766.477,340,-650,240,120 +4.wav=ey -,3075.345,452.064,-518.49,299.998,119.997 +4.wav=ay3,2312.242,40.0,-210.221,20.0,40.0 +4.wav=ey,2926.849,40.0,-210.221,20.0,40.0 +4.wav=ih4,1107.301,40.0,-210.221,20.0,40.0 +4.wav=uw2,436.688,40.0,-210.221,20.0,40.0 +4.wav=uw3,1651.723,40.0,-364.92,20.0,40.0 +40.wav=- w,318.585,50.775,-68.065,40,20 +40.wav=ao l2,1163.237,130.586,-222.815,109.999,54.999 +40.wav=ao r7,438.427,139.882,-224.454,110.0,55.0 +40.wav=ao r8,1850.867,129.734,-203.03,110.0,55.0 +40.wav=b ao,946,150,-370,60,30 +40.wav=g ao,1480.679,200,-380.231,80.0,40.0 +40.wav=w ao,370.085,115.759,-281.275,39.999,19.998 +40.wav=l g,1408.657,100,-120,60,30 +40.wav=m th,750.884,85.802,-132.465,59.999,30.0 +40.wav=r m3,668.758,59.764,-105.327,40.0,20.0 +40.wav=th b,852.193,73.41,-120.622,50.0,25.0 +40.wav=r -1,2074.947,244.271,-278.033,80.0,40.0 +41.wav=- r,229.126,50.775,-68.065,40.0,20.0 +41.wav=ao n,1248.866,125.788,-176.532,110.0,55.0 +41.wav=ao ng2,526.538,131.423,-204.719,110.0,55.0 +41.wav=ao r,1676.334,147.212,-249.771,110.0,55.0 +41.wav=m ao,814.546,191.088,-436.347,59.999,30.0 +41.wav=r ao1,270.447,113.287,-305.155,39.999,20.0 +41.wav=w ao1,1423.479,129.758,-318.331,40.0,20.0 +41.wav=n d,2016.992,79.215,-120.389,60.0,29.998 +41.wav=n w1,1356.496,81.41,-103.369,60.0,30.0 +41.wav=ng m,719.579,81.41,-103.369,60.0,30.0 +41.wav=r n,1917.316,63.057,-105.328,40.0,20.0 +41.wav=d -2,2063.967,228.223,-294.1,80.0,40.0 +41.wav=n100,1355.601,14.998,-107.94,14.998,10.0 +41.wav=ng9,650.537,15,-126.301,15,10 +42.wav=- b,200.184,50.532,-56.546,40.0,19.999 +42.wav=aw dh,1030.168,271.878,-328.697,219.999,110.0 +42.wav=aw z,475.837,260.03,-303.17,220.0,110.0 +42.wav=b aw,201.038,150,-370,60,30 +42.wav=dh aw,1438.91,137.806,-378.836,60.0,30.0 +42.wav=m aw,865.958,151.05,-254.806,30.0,15.0 +42.wav=dh z,1249.744,100.0,-137.642,80.0,40.0 +42.wav=z dh,1363.879,73.409,-80.194,50.0,24.999 +42.wav=z m,739.476,98.664,-146.608,79.998,39.999 +42.wav=aw -1,1752.289,480,-600,300,120 +43.wav=- t2,292.649,60.798,-78.34,39.999,20.0 +43.wav=aw d,1961.545,260.031,-276.946,220,110.0 +43.wav=aw l,1224.517,239.734,-276.946,220,110.0 +43.wav=aw n5,581.249,251.292,-306.464,219.999,109.999 +43.wav=l aw,1558.269,120.113,-336.551,60.0,30.0 +43.wav=r aw,995.145,120.7,-329.86,40.0,20.0 +43.wav=t aw,252.087,232.109,-437.153,129.998,64.998 +43.wav=l l,1449.22,79.213,-116.544,60.0,30.0 +43.wav=n p,847.486,72.076,-79.762,59.999,30.0 +43.wav=p r1,892.562,112.079,-138.43,100,50.0 +43.wav=d -3,2186.84,191.99,-263.355,80.0,40.0 +43.wav=n11,760,15,-126.301,15,10 +44.wav=- f,219.729,89.616,-115.928,39.999,19.999 +44.wav=aw l1,492.297,260.031,-276.946,220,110.0 +44.wav=aw t,1797.702,260.031,-276.946,220,110.0 +44.wav=aw z1,1128.164,260.031,-309.758,219.999,110.0 +44.wav=f aw,265.855,150.196,-359.935,80.0,40.0 +44.wav=q aw,895.826,44.999,-281.476,10.0,10.0 +44.wav=th aw,1471.011,126.426,-365.779,59.999,30.0 +44.wav=k q2,748.675,112.702,-148.934,60.0,30.0 +44.wav=l k,657.534,100,-120,60,30 +44.wav=z th,1400.441,73.409,-109.839,50.0,24.998 +44.wav=t -5,2021.65,316.335,-382.212,80.0,40.0 +44.wav=aw3,1595,40.0,-210.221,20.0,40.0 +45.wav=- n1,325.727,47.016,-57.29,40.0,20.0 +45.wav=aw n1,571.38,260.031,-305.64,219.999,109.999 +45.wav=aw s,1203.079,245.528,-301.523,219.999,110.0 +45.wav=aw t1,1813.321,260.029,-312.228,219.999,110.0 +45.wav=d aw,1550.851,179.999,-342.471,60.0,30.0 +45.wav=hh aw,934.553,147.524,-272.691,80.0,40.0 +45.wav=n aw1,375,119.749,-297.35,40,20 +45.wav=n hh,808.511,97.881,-136.309,59.999,30.0 +45.wav=s d,1433.054,96.47,-145.329,80.0,40.0 +45.wav=t -6,2070.456,316.335,-382.212,80.0,40.0 +45.wav=aw4,464.197,40.0,-210.221,20.0,40.0 +45.wav=n12,360,15,-126.301,15,10 +45.wav=n13,825,15,-126.301,15,10 +46.wav=- z2,349.032,50.775,-78.339,39.999,20.0 +46.wav=ay g,739.403,230.705,-253.762,219.999,109.999 +46.wav=ay hh,1292.906,260.031,-276.946,220,110.0 +46.wav=ay n,1922.869,248.754,-287.094,220,110.0 +46.wav=g ay,945.279,175.522,-355.037,80.0,40.0 +46.wav=hh ay,1536.66,183.178,-336.253,80.0,40.0 +46.wav=z ay,387.261,151.285,-371.15,49.998,24.998 +46.wav=n d1,2175.599,81.41,-103.369,60.0,30.0 +46.wav=d -4,2217.634,191.99,-263.355,80.0,40.0 +46.wav=n14,2135,15,-126.301,15,10 +47.wav=- q1,310.316,57.29,-60.673,39.999,20.0 +47.wav=ay k,1898.863,260.031,-276.946,220,110.0 +47.wav=ay m,680.883,260.031,-301.19,220,110.0 +47.wav=ay t,1248.298,247.063,-261.721,220,110.0 +47.wav=m ay,965.822,137.642,-279.278,79.998,39.997 +47.wav=q ay,348.208,99.646,-260.333,9.999,9.999 +47.wav=r ay2,1645.7,73.266,-293.627,40.0,20.0 +47.wav=k s1,2158.154,85.802,-141.798,60.0,29.998 +47.wav=m m,901.33,81.41,-103.369,60.0,30.0 +47.wav=t r1,1485.364,103.057,-142.584,80.0,40.0 +47.wav=s -3,2337.991,182.407,-230.992,80.0,40.0 +48.wav=- f1,161.845,74.581,-111.416,40.0,19.999 +48.wav=ay f,1972.22,260.031,-340.226,219.999,109.999 +48.wav=ay s,574.656,260.031,-310.21,220,110.0 +48.wav=ay w,1306.827,242.553,-320.464,219.999,110.0 +48.wav=f ay,209.859,151.041,-356.551,80.0,40.0 +48.wav=l ay2,974.31,140.343,-336.551,60.0,30.0 +48.wav=w ay,1591.286,120.818,-296.216,50.0,24.998 +48.wav=s l,890.661,89.515,-101.227,79.999,40.0 +48.wav=s s,797.557,89.332,-112.938,60,30 +48.wav=f -,2204.904,316.335,-382.212,80.0,40.0 +49.wav=- d1,378.728,49.772,-58.042,39.999,20.0 +49.wav=ay d,641.396,229.021,-253.829,220,110.0 +49.wav=ay l,1386.795,260.03,-331.168,219.999,110.0 +49.wav=ay n1,2025.949,244.807,-276.945,220,110.0 +49.wav=d ay,378.082,109.899,-305.26,60.0,29.999 +49.wav=n ay,1646.235,133.28,-280.924,79.998,40.0 +49.wav=t ay,1023.652,153.993,-326.922,70.0,44.999 +49.wav=d s,850.234,100,-150,60,30.0 +49.wav=l n,1569.988,100,-120,60,30 +49.wav=n th,2310.062,81.409,-122.583,60.0,29.999 +49.wav=s t1,941.879,96.47,-124.468,79.999,40.0 +49.wav=th -,2398.765,252.928,-287.929,80.0,40.0 +49.wav=ay8,1765.099,40.0,-210.221,20.0,40.0 +49.wav=n15,2240,15,-126.301,15,10 +49.wav=th2,2380,15.0,-78.406,15.0,9.999 +5.wav=- ey,330.723,160.0,-389.831,60.0,30.0 +5.wav=aw er,2550.944,451.377,-650,400,200 +5.wav=er aw,2049.529,377.007,-675.757,240.0,120.0 +5.wav=ey ih,852.711,386.522,-649.999,240.0,120.0 +5.wav=ih er,1553.029,340,-650,240,120 +5.wav=er -,3197.363,480,-600,300,120 +5.wav=aw,2316.063,40.0,-210.221,20.0,40.0 +5.wav=er1,1812.766,40.0,-210.221,20.0,40.0 +5.wav=er2,3003.764,40.0,-210.221,20.0,40.0 +5.wav=ey1,449.909,40.0,-210.221,20.0,40.0 +5.wav=ih5,1142.155,40.0,-310.838,20.0,40.0 +50.wav=- k3,54.345,71.197,-113.295,40.0,19.999 +50.wav=ay b,382.776,241.425,-257.211,220,110.0 +50.wav=ay p,1606.473,255.522,-271.873,220,110.0 +50.wav=ay r,1111.567,245.935,-288.785,220,110.0 +50.wav=k ay,784.055,148.802,-330.632,60.0,30.0 +50.wav=r ay1,179.866,88.583,-221.161,39.999,19.998 +50.wav=r ay,1372.265,95.254,-279.621,40.0,20.0 +50.wav=b s1,596.701,84.586,-141.13,50.0,25.0 +50.wav=k r,53.475,133.177,-156.783,120.0,59.999 +50.wav=p s2,1829.627,111.603,-197.243,59.998,30.0 +50.wav=s k3,687.854,96.469,-126.663,79.999,40.0 +50.wav=s -4,1979.809,162.91,-230.434,80.0,40.0 +51.wav=- v1,285.132,50.775,-73.329,40.0,20.0 +51.wav=ay n2,1309.205,242.236,-297.408,219.999,110.0 +51.wav=ay v,619.94,260.031,-276.946,220,110.0 +51.wav=ay z,2056.107,273.562,-347.422,220,110.0 +51.wav=b ay,1604.26,120.892,-289.19,59.999,30.0 +51.wav=s ay,937.578,185.64,-359.391,99.998,49.999 +51.wav=v ay,329.498,107.212,-282.884,40,20 +51.wav=d s1,819.524,100,-150,60,30.0 +51.wav=n b,1559.078,70.431,-85.803,60.0,30.0 +51.wav=v d,813.728,66.468,-93.917,49.999,25.0 +51.wav=z -6,2339.585,316.335,-382.212,80.0,40.0 +51.wav=n16,1485,15,-126.301,15,10 +52.wav=- p2,283.253,57.666,-79.091,39.999,20.0 +52.wav=ay jh,624.902,260.031,-276.946,220,110.0 +52.wav=ay n3,1767.257,233.177,-289.996,219.999,109.999 +52.wav=ay sh,1166.082,237.478,-289.349,220,110.0 +52.wav=jh ay,863.958,149.646,-350.082,60.0,30.0 +52.wav=p ay,258.793,250.931,-417.271,120.0,60.0 +52.wav=sh ay,1395.609,190.582,-396.448,99.999,49.999 +52.wav=n -2,1996.444,171.405,-259.514,80.0,40.0 +52.wav=n17,1965,15,-126.301,15,10 +53.wav=- n2,214.468,50.775,-104.274,39.999,19.999 +53.wav=eh k,1081.57,142.701,-156.938,110.0,54.999 +53.wav=eh n10,529.006,140.471,-225.267,109.999,55.0 +53.wav=g eh,1367.679,200,-380.231,80.0,40.0 +53.wav=m eh,838.996,130.742,-308.098,79.999,40.0 +53.wav=n eh1,288.563,127.286,-260.688,39.999,19.999 +53.wav=k g,1205.971,143.994,-175.834,60.0,30.0 +53.wav=n m,767.319,81.409,-137.407,59.999,30.0 +53.wav=eh -,1602.801,464.693,-523.983,299.999,119.999 +53.wav=eh2,363.378,40.0,-210.221,20.0,40.0 +53.wav=n18,255,15,-126.301,15,10 +53.wav=n19,615,15,-126.301,15,10 +54.wav=- f2,221.609,68.943,-122.317,39.999,19.999 +54.wav=eh l,988.574,133.057,-229.402,109.999,55.0 +54.wav=eh r,1822.035,120,-163.266,110.0,55.0 +54.wav=eh sh,575,130.455,-198.113,110.0,55.0 +54.wav=k eh,1315.655,217.756,-360.215,100.0,50.0 +54.wav=l eh,358.0,98.904,-252.187,60.0,29.999 +54.wav=v eh,854.9,132.464,-336.683,60.0,30.0 +54.wav=f l1,275.187,86.039,-105.253,79.999,39.999 +54.wav=l k1,1268.583,100,-120,60,30 +54.wav=sh v,748.224,96.47,-145.329,80.0,40.0 +54.wav=r -2,1928.272,316.335,-382.212,80.0,40.0 +55.wav=- hh1,297.911,62.929,-100.517,39.999,20.0 +55.wav=eh g,1909.322,138.754,-158.585,109.999,54.999 +55.wav=eh l1,527.362,126.35,-237.637,109.999,55.0 +55.wav=eh l2,1141.743,120.0,-180.818,110.0,54.999 +55.wav=hh eh,359.73,124.467,-265.28,80.0,39.999 +55.wav=q eh,1570.376,44.999,-341.521,10.0,10.0 +55.wav=w eh,939.019,99.408,-225.398,49.999,24.999 +55.wav=d q,1487.408,80.549,-96.47,80.0,40.0 +55.wav=g z1,2023.482,80.312,-143.445,60.0,30.0 +55.wav=l m,1305.916,100,-120,60,30 +55.wav=l w,835.406,85.801,-136.856,59.999,30.0 +55.wav=m d1,1418,69.881,-79.763,60.0,30.0 +55.wav=z -7,2173.116,142.583,-274.338,80.0,40.0 +56.wav=- y,339.635,50.775,-68.065,40,20 +56.wav=eh d,1259.609,119.999,-150.595,110.0,55.0 +56.wav=eh l3,1648.355,119.999,-225.285,109.999,54.999 +56.wav=eh s,683.824,130.053,-195.456,110.0,55.0 +56.wav=b eh,1489.175,149.999,-334.859,60.0,30.0 +56.wav=t eh,932.243,139.994,-358.212,69.999,45.0 +56.wav=y eh,379.144,125.089,-287.862,39.999,20.0 +56.wav=d b,1375.523,100,-150,80.0,40.0 +56.wav=l t,1903.951,118.74,-145.64,59.998,30.0 +56.wav=s s1,800.624,89.882,-113.671,79.999,40.0 +56.wav=s t2,844.191,96.469,-122.086,79.998,39.999 +56.wav=t -7,1992.572,316.335,-382.212,80.0,40.0 +57.wav=- p3,232.884,53.533,-71.199,40.0,19.999 +57.wav=eh n1,1955,137.063,-183.296,110.0,55.0 +57.wav=eh r1,489.482,138.821,-212.11,109.999,55.0 +57.wav=eh t,1300.713,144.957,-179.994,110.0,54.999 +57.wav=p eh,196.209,215.523,-365.394,119.999,59.998 +57.wav=sh eh,838.78,200,-420,100,50 +57.wav=w eh1,1580.62,122.465,-360.446,49.997,24.998 +57.wav=r z,722.543,90.505,-144.306,40.0,20.0 +57.wav=t w,1454.105,129.336,-150.197,119.999,60.0 +57.wav=z sh,755.533,73.41,-120.622,50.0,25.0 +57.wav=n -3,2083.083,316.335,-382.212,80.0,40.0 +57.wav=n20,2065,15,-126.301,15,10 +58.wav=- s4,345.274,65.811,-125.701,40.0,20.0 +58.wav=eh m,1320.479,149.467,-192.347,110.0,54.999 +58.wav=eh p,781.834,181.603,-220.345,109.999,55.0 +58.wav=eh v,2058.369,137.627,-204.289,110.0,55.0 +58.wav=d eh,1591.212,179.999,-385.603,60.0,30.0 +58.wav=r eh1,1076.686,96.819,-277.158,40.0,20.0 +58.wav=s eh,411.371,165.878,-376.136,100.0,50.0 +58.wav=d r,974.944,114.273,-137.879,99.999,49.999 +58.wav=m t,1459,81.41,-103.369,60.0,30.0 +58.wav=p t,883.257,107.683,-125.8,99.998,49.999 +58.wav=t d,936.707,103.056,-133.8,80.0,40.0 +58.wav=t d1,1525.579,89.881,-97.567,80.0,40.0 +58.wav=v -1,2176.959,316.335,-382.212,80.0,40.0 +59.wav=- sh1,284.005,65.183,-94.126,39.999,20.0 +59.wav=eh f,680.53,138.755,-226.71,110.0,55.0 +59.wav=eh r2,1280.999,139.882,-184.935,110.0,54.999 +59.wav=dh eh,965.29,141.189,-399.794,60.0,30.0 +59.wav=f eh,1552.328,184.87,-397.991,80.0,40.0 +59.wav=sh eh1,335.263,174.113,-359.118,60,30 +59.wav=f s,800,100,-150,60,30 +59.wav=r f,1456.106,90.506,-105.328,40.0,20.0 +59.wav=s dh,795.848,96.469,-129.042,79.999,40.0 +59.wav=eh -1,1812.128,488.848,-551.275,299.999,120.0 +6.wav=- iy,465.192,220,-500,60,30 +6.wav=ay ow,2041.729,451.376,-738.713,399.999,199.999 +6.wav=ey ay,1542.869,340.0,-599.643,240.0,120.0 +6.wav=iy ey,905.992,340,-650,240,120 +6.wav=ow ah,2756.574,485.47,-732.843,240.0,120.0 +6.wav=ah -,3270.863,480,-600,300,120 +6.wav=ah3,3131.223,40.0,-210.221,20.0,40.0 +6.wav=ay4,1855.124,40.0,-332.505,20.0,40.0 +6.wav=ey2,1229.886,40.0,-210.221,20.0,40.0 +6.wav=iy4,609.75,40.0,-447.846,20.0,40.0 +6.wav=ow3,2530.249,40.0,-210.221,20.0,40.0 +60.wav=- p4,201.313,55.41,-88.487,40.0,19.999 +60.wav=eh k1,1168.915,165.172,-203.052,110.0,54.999 +60.wav=eh r3,517.481,183.288,-264.811,109.999,54.999 +60.wav=eh r4,1794.831,120,-165.3,110.0,55.0 +60.wav=ch eh,1341.529,217.556,-440.826,140,70 +60.wav=r eh,861.711,151.168,-355.662,40.0,20.0 +60.wav=w eh2,307.384,89.527,-269.041,49.999,24.998 +60.wav=k t3,1271.851,69.882,-106.663,59.999,30.0 +60.wav=p w,180.839,130.979,-150.743,119.999,59.999 +60.wav=r r,780.18,60.861,-81.723,40.0,20.0 +60.wav=r z1,1968.766,90.505,-153.639,40.0,20.0 +60.wav=t ch,1318.181,103.423,-133.068,79.999,39.999 +60.wav=z -8,2119.814,128.478,-187.768,79.999,40.0 +61.wav=- er1,251.225,219.999,-353.466,60.0,30.0 +61.wav=er th,2008.899,184.935,-269.277,109.999,55.0 +61.wav=er v,648.411,127.477,-179.994,109.999,55.0 +61.wav=er w,1343.491,149.527,-199.758,110.0,54.999 +61.wav=dh er,887.829,180,-440.277,60.0,30.0 +61.wav=w er,1508.909,201.518,-383.503,50.0,24.997 +61.wav=v dh,782.651,73.41,-120.622,50.0,25.0 +61.wav=th -1,2215.281,223.7,-330.75,80.0,40.0 +61.wav=er5,325,40.0,-210.221,20.0,40.0 +61.wav=th3,2132.241,15,-126.301,15,10 +62.wav=- m1,141.172,49.272,-68.566,40.0,19.999 +62.wav=er d,1151.548,120.0,-158.488,110,55.0 +62.wav=er dh,675.584,135.935,-164.69,110,55.0 +62.wav=dh er1,796.403,135.27,-360.231,60.0,30.0 +62.wav=m er,188.219,106.961,-350.327,29.999,14.999 +62.wav=sh er,1392.942,199.999,-468.089,100.0,50.0 +62.wav=d sh,1260.601,100,-150,80.0,40.0 +62.wav=er -1,1660.397,472.377,-547.86,299.998,119.998 +63.wav=- z3,220.106,64.808,-86.232,40.0,20.0 +63.wav=er hh,696.191,120,-156.278,110,55.0 +63.wav=er p,1885,138.755,-177.094,110,55.0 +63.wav=er t1,1241.434,133.116,-191.753,110,55.0 +63.wav=ch er,1425.597,176.561,-411.671,140,70 +63.wav=hh er,832.438,262.81,-434.914,79.999,40.0 +63.wav=z er,264.565,192.458,-417.264,49.999,25.0 +63.wav=s ch,1373.252,116.783,-159.603,80.0,40.0 +63.wav=t s2,1369.082,67.999,-101.487,40.0,20.0 +63.wav=p -2,2017.258,316.335,-382.212,80.0,40.0 +64.wav=- s5,192.667,50.774,-117.43,40.0,20.0 +64.wav=er d1,689.609,120.0,-156.797,110,55.0 +64.wav=er l,1109.65,165.996,-250.813,109.999,54.999 +64.wav=er s,1959.605,142.7,-229.402,110.0,54.999 +64.wav=s er,254.912,200,-420,100,50 +64.wav=v er,1544.324,158.267,-383.897,59.999,30.0 +64.wav=w er1,952.213,128.229,-269.865,50.0,25.0 +64.wav=d w1,798.665,75.372,-106.663,59.999,30.0 +64.wav=d z1,1403.398,69.645,-100.937,40.0,20.0 +64.wav=l d,1357.578,87.999,-105.018,60.0,30.0 +64.wav=z v,1457.579,73.41,-120.622,50.0,25.0 +64.wav=s -5,2165,180.669,-257.25,80.0,40.0 +65.wav=- g3,184.773,46.39,-60.674,40.0,19.999 +65.wav=er n2,1180.484,137.627,-178.222,110,55.0 +65.wav=er t,1865.0,179.053,-202.11,110.0,54.999 +65.wav=er z,574.299,131.989,-196.828,110,55.0 +65.wav=g er,173.627,200.0,-349.785,80.0,40.0 +65.wav=hh er1,1398.285,199.999,-472.794,80.0,40.0 +65.wav=q er,846.418,130.937,-370.276,10.0,10.0 +65.wav=d hh,1305.175,100,-150,80.0,40.0 +65.wav=n d2,1290.579,63.843,-78.665,60.0,30.0 +65.wav=t q,713.84,86.587,-101.226,79.999,40.0 +65.wav=z t,734.321,65.737,-77.815,50.0,25.0 +65.wav=t -8,2011.218,255.942,-276.529,80.0,40.0 +65.wav=n21,1285,15,-126.301,15,10 +66.wav=- n3,252.054,45.264,-62.303,40.0,20.0 +66.wav=er v1,734.89,120.0,-153.978,110,55.0 +66.wav=er y,1395.417,131.41,-184.987,110.0,54.999 +66.wav=er z1,1929.085,133.057,-197.288,110.0,54.999 +66.wav=n er,293.0,143.436,-402.828,39.999,19.999 +66.wav=t er,895.616,183.993,-415.387,99.999,50.0 +66.wav=y er,1558.486,142.109,-383.259,40.0,20.0 +66.wav=v t,831.658,73.409,-97.212,50.0,25.0 +66.wav=z -9,2200.016,150.669,-213.252,80.0,40.0 +66.wav=er6,392.222,40.0,-210.221,20.0,40.0 +66.wav=n22,275,15,-126.301,15,10 +67.wav=- s6,301.671,69.318,-132.214,40.0,20.0 +67.wav=er f,1565.787,137.063,-194.572,110,55.0 +67.wav=er g,2167,124.094,-139.881,110,55.0 +67.wav=er p1,827.109,143.828,-191.523,109.999,55.0 +67.wav=f er,1705.313,200,-500,80.0,40.0 +67.wav=l er1,492.0,179.124,-343.817,60.0,29.999 +67.wav=y er1,1130.16,131.404,-366.915,40.0,19.998 +67.wav=p y,1017.799,112.079,-138.43,100,50.0 +67.wav=s l1,404.563,96.47,-122.82,80.0,39.999 +67.wav=g -,2302.805,216.697,-266.928,80.0,40.0 +68.wav=- d2,245.665,52.028,-67.439,40.0,19.999 +68.wav=er m,1423.373,142.701,-217.125,110,55.0 +68.wav=er z2,725.0,131.41,-176.701,109.999,55.0 +68.wav=er z3,2155.0,141.767,-195.292,109.999,55.0 +68.wav=d er,257.034,144.572,-347.545,60.0,30.0 +68.wav=dh er2,1675.972,179.999,-518.381,60.0,30.0 +68.wav=f er1,958.417,162.881,-381.077,80.0,40.0 +68.wav=m dh,1636.894,86.899,-96.78,59.998,30.0 +68.wav=z f,856.951,73.41,-120.622,50.0,25.0 +68.wav=z -10,2393.978,233.988,-293.278,79.999,40.0 +69.wav=- p5,274.232,56.538,-100.14,40.0,20.0 +69.wav=er b,2076.423,119.999,-154.689,110,55.0 +69.wav=er k,653.351,138.822,-171.761,109.999,54.999 +69.wav=er n1,1362.431,119.999,-181.604,110,55.0 +69.wav=b er,936.413,150,-370,60,30 +69.wav=k er,1511.385,236.107,-542.436,119.999,60.0 +69.wav=p er,257.147,211.338,-458.289,120.0,60.0 +69.wav=k b,815.62,110.505,-149.483,59.999,30.0 +69.wav=n k,1471.651,73.175,-81.41,60.0,30.0 +69.wav=b -,2173.009,296.862,-382.276,80,40 +69.wav=n23,1475,15,-126.301,15,10 +7.wav=- ao,366.243,220,-500,60,30 +7.wav=ao aw,730.061,340,-650,240,120 +7.wav=aw ay,1196.805,451.377,-649.999,400,200 +7.wav=ay ae,2435.067,523.686,-849.077,399.999,200.0 +7.wav=ay ay,1860.765,506.56,-752.664,399.998,199.999 +7.wav=ae -,3218.773,480,-600,300,120 +7.wav=ae,2895,40.0,-210.221,20.0,40.0 +7.wav=ao,477.784,40.0,-210.221,20.0,40.0 +7.wav=aw1,647.007,40.0,-210.221,20.0,40.0 +7.wav=ay5,1659.987,40.0,-210.221,20.0,40.0 +7.wav=ay6,2301.246,40.0,-210.221,20.0,40.0 +70.wav=- hh2,364.07,61.3,-102.646,40.0,20.0 +70.wav=ey l,527.711,271.879,-357.519,219.999,109.999 +70.wav=ey p,2126.926,267.36,-312.228,219.999,109.999 +70.wav=ey sh,1469.791,271.307,-327.124,220,110.0 +70.wav=hh ey,412.431,136.82,-284.22,80.0,40.0 +70.wav=r ey1,1172.983,103.999,-339.742,39.999,20.0 +70.wav=sh ey,1736.369,200,-420,100,50 +70.wav=l s,958.415,80.863,-129.721,60.0,30.0 +70.wav=s r,1093.719,88.782,-105.252,79.998,39.999 +70.wav=p -3,2391.739,259.516,-285.044,79.999,39.999 +71.wav=- ch1,240.402,84.354,-120.814,39.999,20.0 +71.wav=ey d,2151.667,253.829,-280.328,220,110.0 +71.wav=ey n,569.712,240.297,-272.435,220,110.0 +71.wav=ey v,1404.762,240.297,-272.435,220,110.0 +71.wav=ch ey,227.265,176.561,-411.671,140,70 +71.wav=f ey,1720.169,182.07,-500.0,80.0,40.0 +71.wav=p ey,1000.645,161.285,-329.784,59.998,30.0 +71.wav=d f,1645.875,73.725,-114.898,60.0,30.0 +71.wav=d p,912.324,81.098,-111.841,60.0,30.0 +71.wav=d z2,2402,100,-150,80.0,40.0 +71.wav=jh d,911.766,87.998,-109.408,60.0,30.0 +71.wav=n jh,801.406,103.919,-160.463,59.999,30.0 +71.wav=v d1,1622.235,73.41,-120.622,50.0,25.0 +71.wav=z -11,2530.684,131.272,-167.505,79.997,39.997 +71.wav=n24,785,15,-126.301,15,10 +72.wav=- s7,167.107,50.774,-99.639,40.0,20.0 +72.wav=ey f,624.063,246.498,-326.227,219.999,109.999 +72.wav=ey m,2080.849,251.01,-293.859,220,110.0 +72.wav=ey z,1424.532,240.297,-272.435,220,110.0 +72.wav=s ey,207.153,208.696,-381.624,99.998,49.998 +72.wav=w ey,980.176,131.522,-340.683,49.999,24.998 +72.wav=z ey,1668.642,143.874,-421.382,49.997,24.998 +72.wav=f w,900.002,95.37,-117.329,79.998,39.999 +72.wav=m -2,2316.583,258.964,-362.172,79.997,39.997 +73.wav=- ey1,304.787,176.71,-394.06,60.0,30.0 +73.wav=ey dh,800.287,240.297,-272.435,220,110.0 +73.wav=ey y,1501.908,240.297,-272.435,220,110.0 +73.wav=dh ey,1029.458,158.949,-361.387,60.0,30.0 +73.wav=y ey,1746.136,103.407,-293.628,40.0,20.0 +73.wav=ey -1,2155.268,473.477,-561.862,299.999,119.997 +73.wav=ey3,460.725,40.0,-210.221,20.0,40.0 +74.wav=- n4,128.768,50.775,-68.065,40.0,20.0 +74.wav=ey jh,1847.083,240.296,-274.349,219.999,109.999 +74.wav=ey k,377.835,240.297,-272.435,220,110.0 +74.wav=ey v1,1111.662,240.297,-272.435,220,110.0 +74.wav=g ey,1435.555,200,-380.231,60,30.0 +74.wav=k ey,752.077,177.508,-406.698,120.0,60.0 +74.wav=n ey,173.278,112.752,-271.747,39.999,20.0 +74.wav=d g,1369.056,82.181,-105.787,60.0,30.0 +74.wav=k s2,622,69.882,-83.057,60.0,30.0 +74.wav=s k4,678.688,96.469,-133.25,79.999,40.0 +74.wav=v d2,1328.301,62.444,-83.671,50.0,24.998 +74.wav=jh -1,2079.241,303.159,-354.214,80.0,40.0 +74.wav=ey4,255.215,40.0,-210.221,20.0,40.0 +74.wav=n25,165,15,-126.301,15,10 +75.wav=- p6,201.687,55.036,-75.709,40.0,19.998 +75.wav=ey hh,1294.444,254.957,-289.171,219.999,110.0 +75.wav=ey n1,448.654,240.297,-272.435,220,110.0 +75.wav=ey v2,2025.712,259.527,-360.813,220.0,109.999 +75.wav=hh ey1,1521.731,149.171,-417.621,80.0,40.0 +75.wav=l ey,279,103.978,-266.356,60.0,30.0 +75.wav=r ey,939.123,109.172,-380.366,40.0,20.0 +75.wav=k r1,872.713,69.882,-83.057,60.0,30.0 +75.wav=n z,715.156,81.41,-103.369,60.0,30.0 +75.wav=p l,176.136,110.43,-130.741,99.999,49.999 +75.wav=z k,772.405,73.408,-101.603,50.0,25.0 +75.wav=v -2,2284.452,195.422,-257.182,80.0,40.0 +75.wav=n26,645,15,-126.301,15,10 +76.wav=- f3,209.205,68.567,-100.516,40.0,19.999 +76.wav=ey k1,1262.297,240.296,-259.526,219.999,110.0 +76.wav=ey th,578.771,248.755,-291.604,220,110.0 +76.wav=ey v3,2070.142,267.763,-347.639,219.999,109.999 +76.wav=b ey,940.526,150,-370,60,30 +76.wav=f ey1,234.563,257.045,-480.204,79.999,40.0 +76.wav=q ey,1622.989,249.629,-486.142,10.0,10.0 +76.wav=k q3,1506.958,97.879,-112.702,60.0,30.0 +76.wav=th b1,845.951,73.409,-108.741,50.0,25.0 +76.wav=v -3,2375.87,178.816,-260.064,80.0,40.0 +76.wav=th4,811.848,15.0,-70.124,15.0,10.0 +77.wav=- m2,239.274,55.411,-76.084,40.0,19.999 +77.wav=ey b,2070.107,247.174,-279.289,219.999,109.999 +77.wav=ey s,1309.209,240.296,-291.605,220,110.0 +77.wav=ey t,624.059,248.755,-283.148,220,110.0 +77.wav=d ey,1641.316,136.961,-353.466,60.0,30.0 +77.wav=m ey,283.0,92.5,-385.653,39.999,20.0 +77.wav=t ey,872.522,191.403,-380.8,99.998,49.999 +77.wav=s d1,1540.185,96.47,-134.35,80.0,40.0 +77.wav=b -1,2287.981,296.862,-382.276,80,40 +78.wav=- v2,327.982,50.775,-76.588,40.0,20.0 +78.wav=ey g,718.812,242.552,-278.073,220,110.0 +78.wav=ey v4,2272.13,240.296,-378.105,219.999,109.999 +78.wav=ey w,1524.334,240.296,-288.349,219.999,109.999 +78.wav=f ey2,1051.523,200,-500,80.0,40.0 +78.wav=v ey,376.556,119.719,-350.289,49.998,24.999 +78.wav=w ey1,1777.5,144.699,-332.449,49.999,24.998 +78.wav=g f,946.295,78.118,-124.781,59.999,30.0 +78.wav=v -4,2516.739,225.478,-305.628,80.0,40.0 +79.wav=- s8,397.526,65.309,-118.684,40.0,20.0 +79.wav=ih f1,956.451,150.03,-182.168,110.0,55.0 +79.wav=ih g,2327.744,119.999,-172.02,110.0,54.999 +79.wav=ih l,1381.445,172.018,-242.578,109.999,54.999 +79.wav=k ih1,1211.072,177.508,-317.053,100,50 +79.wav=q ih,1918.763,171.399,-392.088,10.0,10.0 +79.wav=w ih,583.244,138.934,-343.977,50.0,24.998 +79.wav=f t1,1021.255,109.095,-138.191,79.999,40.0 +79.wav=g z2,2448.843,88.547,-163.208,60.0,30.0 +79.wav=l q,1813.121,83.606,-111.603,60.0,30.0 +79.wav=s w,496.793,96.47,-125.565,80.0,39.999 +79.wav=t k,1123.001,103.056,-122.82,79.999,40.0 +79.wav=z -12,2613.848,316.335,-382.212,80.0,40.0 +8.wav=- eh,278.288,219.999,-407.592,60.0,30.0 +8.wav=ah uw,1968.323,432.191,-807.057,239.999,120.0 +8.wav=eh er,859.471,340,-650,240,120 +8.wav=er ah,1343.282,392.23,-723.33,240.0,119.998 +8.wav=uw aa,2565.478,340,-650,240,120 +8.wav=aa -,3212.996,480,-600,300,120 +8.wav=aa,2879.438,40.0,-385.62,20.0,40.0 +8.wav=ah4,1621.69,40.0,-210.221,20.0,40.0 +8.wav=eh,395.026,40.0,-210.221,20.0,40.0 +8.wav=er3,1113.31,40.0,-300.023,20.0,40.0 +8.wav=uw4,2230.997,40.0,-396.168,20.0,40.0 +80.wav=- z4,332.493,64.307,-105.904,40.0,20.0 +80.wav=ih n,2084.893,135.935,-271.814,110.0,55.0 +80.wav=ih p,735.0,142.832,-184.829,109.999,55.0 +80.wav=ih v,1622.807,119.998,-169.764,110.0,55.0 +80.wav=m ih,1074.005,178.578,-433.029,59.998,29.999 +80.wav=v ih,1753.533,130.818,-364.682,60.0,30.0 +80.wav=z ih,406.0,146.545,-340.882,49.998,24.999 +80.wav=n s1,2324.334,100.075,-192.852,60.0,29.999 +80.wav=p m,940.348,112.079,-158.741,99.999,50.0 +80.wav=s -6,2485.503,222.794,-313.375,80.0,40.0 +80.wav=n27,2195,15,-126.301,15,10 +81.wav=- n5,247.921,50.773,-86.232,39.999,20.0 +81.wav=ih ng,1211.762,137.627,-231.22,110.0,55.0 +81.wav=ih sh,500.0,148.89,-231.237,109.999,55.0 +81.wav=ih th,1995,142.137,-232.911,110.0,55.0 +81.wav=n ih1,298.443,81.996,-259.041,39.999,20.0 +81.wav=ng ih,916.07,155.285,-334.562,40.0,20.0 +81.wav=w ih1,1571.562,174.343,-399.149,50.0,24.998 +81.wav=ng w,1479.406,81.41,-103.369,60.0,30.0 +81.wav=sh t1,706.137,96.469,-119.526,79.999,39.999 +81.wav=t ng,787.02,114.036,-142.584,79.999,40.0 +81.wav=th -2,2151.157,316.335,-382.212,80.0,40.0 +81.wav=ih6,353.765,40.0,-210.221,20.0,40.0 +81.wav=ih7,1029.183,40.0,-210.221,20.0,40.0 +81.wav=n28,285,15,-126.301,15,10 +81.wav=ng,1337.975,15,-126.301,15,10 +81.wav=th5,2107.136,15,-126.301,15,10 +82.wav=- p7,377.227,61.425,-98.261,39.999,20.0 +82.wav=ih d,801.581,136.5,-170.113,109.999,55.0 +82.wav=ih dh,2069.761,161.055,-230.226,109.999,55.0 +82.wav=ih k,1368.971,150.594,-177.093,110.0,55.0 +82.wav=n ih,985.578,140.891,-394.562,79.999,39.999 +82.wav=p ih,380.904,185.64,-425.268,99.999,49.998 +82.wav=w ih2,1691.666,148.817,-375.27,50.0,24.999 +82.wav=d n,900.541,100,-150,80.0,40.0 +82.wav=k w,1499.479,195.598,-216.459,180,90 +82.wav=dh -,2181.476,194.462,-236.459,79.999,39.999 +82.wav=ih8,1142.154,40.0,-210.221,20.0,40.0 +83.wav=- d3,351.664,45.263,-56.163,39.999,20.0 +83.wav=ih k1,573.476,142.938,-184.935,109.999,55.0 +83.wav=ih m,1959.554,129.763,-221.167,110.0,54.999 +83.wav=ih s,1297.416,136.352,-201.406,110.0,54.999 +83.wav=d ih,353.379,106.114,-248.574,60.0,30.0 +83.wav=dh ih,955.386,142.881,-314.562,60.0,30.0 +83.wav=r ih2,1645.809,134.697,-355.386,39.999,20.0 +83.wav=b r,1569.675,83.998,-104.585,70.0,34.999 +83.wav=k t4,714.08,69.882,-108.31,59.999,29.999 +83.wav=s b,1434.702,122.82,-177.169,80.0,40.0 +83.wav=t dh,694.425,103.057,-142.584,80.0,40.0 +83.wav=m -3,2141.825,316.335,-382.212,80.0,40.0 +84.wav=- th1,226.496,88.488,-136.6,40.0,19.999 +84.wav=ih n1,574.299,137.628,-235.731,110.0,55.0 +84.wav=ih r2,1164.773,150.595,-209.231,110.0,55.0 +84.wav=ih z,2120.855,148.902,-216.39,110.0,55.0 +84.wav=f ih,935.348,169.758,-371.507,80.0,40.0 +84.wav=s ih,1548.643,200,-420,100,50 +84.wav=th ih,321.264,125.877,-272.818,60.0,30.0 +84.wav=n f,827.202,108.86,-136.858,59.999,30.0 +84.wav=r s,1456.683,68.547,-131.679,40.0,20.0 +84.wav=z -13,2269.919,121.171,-157.403,79.998,39.997 +84.wav=ih9,400.634,40.0,-210.221,20.0,40.0 +84.wav=n29,720,15,-126.301,15,10 +84.wav=th6,277.709,15.0,-72.642,15.0,10.0 +85.wav=- s9,196.426,50.774,-104.15,40.0,20.0 +85.wav=ih f,2075,129.734,-177.658,110.0,55.0 +85.wav=ih ng1,1364.95,151.159,-267.868,110.0,55.0 +85.wav=ih t,806.544,141.574,-177.659,110.0,55.0 +85.wav=l ih1,1070.685,140.343,-336.551,60.0,30.0 +85.wav=l ih,1737.81,157.259,-349.238,60.0,30.0 +85.wav=t ih,351.614,234.693,-488.32,70.0,44.999 +85.wav=f t2,2182.997,95.372,-120.075,80.0,40.0 +85.wav=ng l,1636.974,84.155,-113.251,60.0,30.0 +85.wav=s t3,275.372,96.47,-120.626,79.999,39.999 +85.wav=t l,964.652,113.726,-134.038,99.999,50.0 +85.wav=t -9,2246.132,243.869,-301.512,79.999,40.0 +85.wav=ng11,1457.088,15,-126.301,15,10 +86.wav=- b1,283.253,61.801,-70.446,39.999,20.0 +86.wav=ih f2,2146.654,134.244,-175.403,110.0,55.0 +86.wav=ih n2,1387.248,119.998,-219.521,109.999,54.999 +86.wav=ih ng2,655.822,150.031,-242.497,110.0,55.0 +86.wav=dh ih1,1054.24,168.252,-319.636,60.0,30.0 +86.wav=r ih1,383.262,149.519,-320.8,39.999,19.998 +86.wav=sh ih,1739.9,200,-420,100,50 +86.wav=b r1,285.736,82.352,-101.292,70.0,35.0 +86.wav=f t3,2240.108,99.998,-125.015,79.998,39.998 +86.wav=n sh,1656.183,98.429,-161.012,59.999,30.0 +86.wav=ng dh,1002.304,73.725,-87.449,59.999,30.0 +86.wav=t -10,2315.869,234.81,-357.781,79.999,40.0 +86.wav=n30,1505,15,-126.301,15,10 +86.wav=ng12,740.272,15,-126.301,15,10 +87.wav=- ch2,271.601,105.653,-129.959,40.0,20.0 +87.wav=ih ng3,641.0,148.34,-302.261,110.0,55.0 +87.wav=ih r1,1152.548,138.8,-235.146,110.0,54.999 +87.wav=ch ih,286.554,218.652,-411.67,140.0,70.0 +87.wav=dh ih2,1655,179.999,-448.186,60.0,30.0 +87.wav=g ih,1015.308,200,-380.231,80.0,40.0 +87.wav=ng g,955.642,69.333,-78.665,59.999,30.0 +87.wav=r dh,1591.087,90.506,-105.328,40.0,20.0 +87.wav=ih -,2072.264,570.92,-661.502,299.999,119.999 +87.wav=ng13,739.739,15,-126.301,15,10 +88.wav=- y1,404.294,50.775,-79.342,40.0,20.0 +88.wav=ih ch,1333.561,151.173,-177.524,110.0,54.999 +88.wav=ih g1,2150,133.369,-152.538,110.0,55.0 +88.wav=ih r,658.297,142.116,-248.343,109.999,54.999 +88.wav=hh ih,1043.22,145.966,-332.025,80.0,40.0 +88.wav=jh ih,1713.785,140,-400,60,30.0 +88.wav=y ih,459.02,95.172,-226.926,39.999,20.0 +88.wav=ch t,1531.478,147.999,-165.017,120.0,60.0 +88.wav=r hh,969.082,90.506,-105.328,40.0,20.0 +88.wav=t jh,1634.152,103.057,-142.584,60,30 +88.wav=g -1,2290.726,246.22,-295.628,80.0,40.0 +89.wav=- p8,372.337,54.658,-74.58,39.999,20.0 +89.wav=ih jh,2189.948,126.351,-153.414,110.0,55.0 +89.wav=ih m1,697.819,137.998,-203.875,109.999,55.0 +89.wav=ih n3,1463.648,137.627,-243.06,110.0,55.0 +89.wav=b ih,1059.091,150,-370,60,30 +89.wav=p ih1,337.024,163.498,-345.328,119.999,60.0 +89.wav=r ih,1744.456,157.755,-436.91,40.0,20.0 +89.wav=m p1,864.516,72.627,-85.802,59.999,30.0 +89.wav=n r,1583.209,81.41,-103.369,60.0,30.0 +89.wav=p b,822.336,112.079,-138.43,100,50.0 +89.wav=jh -2,2323.062,307.277,-354.215,79.999,40.0 +89.wav=n31,1575,15,-126.301,15,10 +9.wav=- er,270.957,220,-500,60,30 +9.wav=ah eh,1822.105,340,-650,240,120 +9.wav=ay ah,1124.149,451.377,-650,400,200 +9.wav=eh aw,2440.455,339.999,-590.128,240.0,120.0 +9.wav=er ay,687.796,491.179,-694.786,240.0,120.0 +9.wav=aw -,3004.463,522.335,-600.0,299.999,119.999 +9.wav=ah5,1579.59,40.0,-210.221,20.0,40.0 +9.wav=aw2,2723.411,40.0,-210.221,20.0,40.0 +9.wav=ay7,936.043,40.0,-210.221,20.0,40.0 +9.wav=eh1,2093.446,40.0,-438.733,20.0,40.0 +9.wav=er4,412.653,40.0,-337.278,20.0,40.0 +90.wav=- p9,257.691,50.526,-76.085,39.999,20.0 +90.wav=iy d,1433.204,140.446,-172.02,110.0,55.0 +90.wav=iy m,2193.282,128.94,-194.57,109.999,55.0 +90.wav=iy w,854.285,148.703,-191.523,109.999,55.0 +90.wav=k iy,1654.609,177.508,-406.698,120.0,60.0 +90.wav=p iy,222.561,303.633,-653.605,120.0,60.0 +90.wav=w iy,1018.87,126.856,-301.431,49.999,25.0 +90.wav=d k,1550.071,99.998,-120.623,79.998,39.997 +90.wav=m -4,2367.583,230.694,-265.279,80.0,40.0 +91.wav=- iy1,273.214,158.103,-378.836,60.0,30.0 +91.wav=iy m1,1273.463,119.998,-208.104,110.0,55.0 +91.wav=iy sh,1956.985,156.114,-233.52,109.999,55.0 +91.wav=iy z,655.822,165.172,-231.873,109.999,54.999 +91.wav=l iy,1552.167,140.343,-336.551,80,40.0 +91.wav=r iy,955.588,155.284,-375.149,39.999,20.0 +91.wav=m l,1438.318,81.409,-123.687,60.0,30.0 +91.wav=z r,852.682,112.443,-139.891,99.998,49.999 +91.wav=sh -1,2172.752,204.066,-249.631,79.997,40.0 +91.wav=iy5,391.02,39.999,-300.023,20.0,39.999 +92.wav=- p10,261.075,56.163,-80.219,39.999,20.0 +92.wav=iy d1,2005,120.0,-165.148,110.0,55.0 +92.wav=iy t,1308.077,126.469,-139.645,110.0,54.999 +92.wav=iy z1,648.411,161.055,-206.345,109.999,55.0 +92.wav=b iy,1542,150,-370,60,30 +92.wav=l iy1,348,140.343,-336.551,60.0,30.0 +92.wav=m iy,934.181,90.385,-302.661,39.999,20.0 +92.wav=d m,848.559,70.431,-97.33,59.999,30.0 +92.wav=d z3,2114.818,100,-150,80.0,40.0 +92.wav=p l1,251.345,112.079,-138.43,100,50.0 +92.wav=t b,1426.479,103.057,-142.584,80.0,40.0 +92.wav=z d,775.697,73.41,-120.622,50.0,25.0 +92.wav=z -14,2206.497,170.175,-243.463,80.0,40.0 +93.wav=- v3,250.552,50.775,-68.065,40.0,20.0 +93.wav=iy ch,1303.21,119.999,-142.137,110.0,55.0 +93.wav=iy jh,697.827,120.0,-168.466,109.999,55.0 +93.wav=iy v,1999.93,151.996,-219.242,110.0,54.999 +93.wav=ch iy,1442.889,215.269,-411.67,140.0,70.0 +93.wav=jh iy,857.957,164.817,-315.511,79.999,39.999 +93.wav=v iy,285.856,217.281,-449.498,59.999,29.999 +93.wav=v -5,2117.56,279.437,-329.943,80.0,40.0 +94.wav=- sh2,317.832,68.817,-144.995,40.0,20.0 +94.wav=iy b,836.18,127.753,-177.524,109.999,55.0 +94.wav=iy dh,1401.962,120,-183.784,110.0,55.0 +94.wav=dh iy,1585.381,179.999,-464.254,60.0,30.0 +94.wav=r iy1,1059.366,151.442,-377.784,40.0,20.0 +94.wav=sh iy,375.961,311.632,-479.619,99.999,49.999 +94.wav=b r2,978.3,83.999,-105.409,69.999,35.0 +94.wav=d dh1,1507.883,86.351,-123.682,59.999,29.999 +94.wav=dh d,1513.061,67.998,-108.622,40.0,20.0 +94.wav=iy -1,1966.186,515.748,-584.096,299.999,120.0 +95.wav=- iy2,292.383,220,-500,60,30 +95.wav=iy g,1567.435,127.293,-153.644,110.0,54.999 +95.wav=iy y,859.228,136.351,-197.287,109.999,55.0 +95.wav=g iy,1692.962,200,-380.231,80.0,40.0 +95.wav=y iy,1029.694,106.026,-383.259,40.0,20.0 +95.wav=iy -2,2171.738,506.949,-535.77,300.0,119.998 +95.wav=iy6,479.954,40.0,-393.764,20.0,40.0 +96.wav=- s10,485.11,82.098,-149.38,39.999,19.999 +96.wav=iy f,1697.734,139.319,-223.328,110.0,55.0 +96.wav=iy k,911.151,126.827,-169.113,110.0,55.0 +96.wav=iy s,2350.838,158.584,-217.05,109.999,55.0 +96.wav=f iy,1848.811,200,-500,80.0,40.0 +96.wav=l iy2,1347,140.343,-336.551,40,20.0 +96.wav=s iy,566.0,185.823,-385.468,99.998,49.999 +96.wav=k p,1081.897,130.27,-171.443,120,60 +96.wav=p l2,1241.185,112.078,-134.037,99.999,49.999 +96.wav=s t4,2507.964,96.47,-120.991,80.0,40.0 +96.wav=t -11,2599.633,184.306,-256.222,80.0,40.0 +97.wav=- z5,306.557,67.439,-96.382,39.999,19.999 +97.wav=iy hh,841.134,139.881,-187.406,109.999,54.999 +97.wav=iy t1,1347.632,120.0,-144.393,110.0,55.0 +97.wav=iy th,2122,137.627,-209.232,110.0,55.0 +97.wav=hh iy,953.496,208.459,-421.737,79.999,40.0 +97.wav=n iy,1624.35,135.817,-409.831,40.0,20.0 +97.wav=z iy,365.85,176.813,-418.363,49.999,24.999 +97.wav=t n1,1509.24,103.056,-130.506,79.999,40.0 +97.wav=th -3,2257.057,169.759,-260.346,80.0,40.0 +97.wav=iy7,1893.288,39.998,-265.17,19.998,39.998 +97.wav=th7,2240.137,15,-126.301,15,10 +98.wav=- hh3,279.87,58.794,-100.14,39.999,20.0 +98.wav=iy n,1470.235,132.234,-181.642,110.0,54.999 +98.wav=iy r,524.068,158.584,-257.4,109.999,55.0 +98.wav=iy v1,2200.653,138.821,-194.817,109.999,55.0 +98.wav=hh iy1,311.969,144.23,-337.745,80.0,39.999 +98.wav=q iy,1741.517,112.933,-378.733,10.0,10.0 +98.wav=t iy,1039.209,143.562,-471.852,69.999,44.999 +98.wav=k q4,1661.719,69.882,-83.057,60.0,30.0 +98.wav=n k1,1595.833,81.409,-92.39,60.0,30.0 +98.wav=r z2,854.32,74.585,-143.756,40.0,20.0 +98.wav=s t5,948.128,96.469,-115.135,79.999,40.0 +98.wav=v z,2308.246,73.409,-95.016,49.999,24.999 +98.wav=z s,921.026,73.409,-115.328,49.999,25.0 +98.wav=z -15,2487.206,316.335,-382.212,80.0,40.0 +98.wav=n32,1580,15,-126.301,15,10 +99.wav=- b2,265.963,45.512,-49.021,39.999,20.0 +99.wav=iy l,1158.224,150.03,-215.997,110.0,55.0 +99.wav=iy l1,1778.391,155.291,-276.34,109.999,54.999 +99.wav=iy p,633.589,152.286,-191.189,110.0,55.0 +99.wav=d iy,923.256,111.589,-225.761,60.0,30.0 +99.wav=l iy3,320,112.403,-231.649,60.0,29.999 +99.wav=w iy1,1621.797,71.485,-217.987,50.0,24.998 +99.wav=b l,262.092,63,-107.795,50,25 +99.wav=l z1,1417.916,78.117,-119.999,59.999,30.0 +99.wav=p d,744.355,106.039,-119.763,99.999,50.0 +99.wav=z w,1475.934,129.333,-146.352,100,50.0 +99.wav=l -2,2130.845,316.335,-382.212,80.0,40.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=aa r,1073.922,214.999,-242.271,200.0,80 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=aa dx,1944.037,225.237,-245.668,199.998,79.999 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=iy dx,2743.844,219.762,-237.856,199.999,79.999 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=er dx,3583.011,219.763,-258.053,199.999,80.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=dx aa,1302.062,199.341,-536.55,40.0,20.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=dx iy,2164.815,199.341,-536.55,40.0,20.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=dx er,2964.835,199.341,-536.55,40.0,20.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=dx ah,3820.226,199.341,-536.55,40.0,20.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=r dx,1264.864,45.053,-65.993,39.997,19.999 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=ah dx,872.286,214.999,-242.271,200.0,80 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=eh dx,1593.641,225.938,-246.319,199.999,80.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=ay dx,2412.477,207.41,-229.644,199.999,80.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=ey dx,3133.833,219.763,-258.053,199.999,80.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=dx eh,1098.084,199.341,-536.55,40.0,20.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=dx ay,1821.877,199.34,-469.85,40.0,20.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=dx ey,2604.157,199.341,-536.55,40.0,20.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=dx uw,3354.757,199.341,-536.55,40.0,20.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=oy dx,967.328,214.999,-242.271,200.0,80 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=ih dx,1800.786,216.674,-237.055,200.0,80.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=ow dx,2648.866,219.763,-258.053,200.0,80.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=ao dx,3448.206,219.762,-244.466,200.0,80.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=ao r,4223.284,255.583,-307.228,200.0,79.999 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=dx ih,1188.253,199.341,-536.55,40.0,20.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=dx ow,2041.208,308.657,-588.429,40.0,20.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=dx ao,2852.733,199.341,-536.55,40.0,20.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=dx ao,3666.695,199.341,-536.55,40.0,20.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=uw dx,796.738,214.999,-255.583,200.0,80.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=aw dx,1683.831,222.231,-246.317,200.0,80.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=uh dx,2529.475,219.763,-258.053,200.0,80.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=ae dx,3328.793,219.762,-248.172,200.0,80.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=dx aw,1027.412,199.341,-536.55,40.0,20.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=dx uh,1919.357,199.341,-536.55,40.0,20.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=dx ae,2760.126,199.341,-536.55,40.0,20.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=dx oy,3574.088,199.34,-503.032,40.0,20.0 diff --git a/OpenUtau.Test/Files/en_arpa/Whisper/oto.ini b/OpenUtau.Test/Files/en_arpa/Whisper/oto.ini new file mode 100644 index 000000000..f07581c0a --- /dev/null +++ b/OpenUtau.Test/Files/en_arpa/Whisper/oto.ini @@ -0,0 +1,2702 @@ +0.wav=- ay_W,675,190.241,-399.98,60.0,30.0 +0.wav=ah iy_W,3423.024,339.999,-506.903,240.0,120.0 +0.wav=ay er_W,1882.674,476.114,-712.071,400.0,199.999 +0.wav=er iy_W,2045.267,340,-650,240,120 +0.wav=iy ah_W,2712.083,340,-650,240,120 +0.wav=iy -_W,3721.199,446.65,-578.086,299.998,119.998 +0.wav=ah_W,2993.945,40.0,-210.221,20.0,40.0 +0.wav=ay_W,816.602,40.0,-210.221,20.0,40.0 +0.wav=er_W,1915.027,40.0,-210.221,20.0,40.0 +0.wav=iy_W,2328.656,40.0,-367.324,20.0,40.0 +0.wav=iy1_W,3705.959,40.0,-138.401,20.0,40.0 +1.wav=- ih_W,677.113,290.342,-598.145,59.999,30.0 +1.wav=ay ih_W,3104.164,451.377,-650,400,200 +1.wav=ih iy_W,1327.701,340,-650,240,120 +1.wav=ih uw_W,3197.764,340,-650,240,120 +1.wav=iy ay_W,2020.534,340.0,-590.128,240.0,119.998 +1.wav=uw -_W,3624.369,354.525,-481.495,299.998,119.999 +1.wav=ay1_W,2313.743,40.0,-210.221,20.0,40.0 +1.wav=ih_W,828.28,40.0,-319.251,20.0,40.0 +1.wav=ih1_W,2936.908,40.0,-328.868,20.0,40.0 +1.wav=iy2_W,1545,40.0,-360.112,20.0,40.0 +1.wav=uw_W,3522.681,40.0,-330.069,20.0,40.0 +10.wav=- p_W,490.625,48.677,-57.357,39.997,19.997 +10.wav=aa l_W,2155.421,159.895,-181.606,109.998,54.999 +10.wav=aa r_W,841.736,171.376,-212.769,110.0,55.0 +10.wav=aa r1_W,1552.609,139.605,-218.063,110.0,54.999 +10.wav=d aa_W,1193.79,180,-415.278,60,30 +10.wav=p aa_W,412.668,173.217,-516.234,139.999,70.0 +10.wav=y aa_W,1834.274,170.478,-319.106,59.998,30.0 +10.wav=k d_W,1097.542,79.731,-119.717,59.998,30.0 +10.wav=r k_W,1047.951,55.162,-76.351,39.999,20.0 +10.wav=r y_W,1779.917,78.116,-100.624,60.0,30.0 +10.wav=l -_W,2268.057,316.335,-382.212,80.0,40.0 +100.wav=- g4_W,277.1,66.04,-93.236,39.999,19.998 +100.wav=ow k_W,1303.717,240.0,-267.36,220,110.0 +100.wav=ow s_W,2162.52,274.153,-363.715,219.997,109.997 +100.wav=ow v_W,690.208,240.0,-307.287,219.999,109.999 +100.wav=m ow_W,1033.787,114.662,-373.003,40.0,20.0 +100.wav=m ow1_W,1729,94.0,-370.915,30.0,14.999 +100.wav=r ow_W,393.488,116.966,-310.48,39.999,20.0 +100.wav=g r1_W,287.918,112.983,-131.159,99.999,49.999 +100.wav=k m_W,1570.989,164.441,-178.561,149.999,74.999 +100.wav=v m_W,967.843,71.957,-101.927,49.997,24.997 +100.wav=s -7_W,2475,135.783,-217.306,80.0,40.0 +101.wav=- k4_W,333.231,56.045,-188.133,39.999,20.0 +101.wav=ow b_W,1530.405,258.991,-292.442,219.999,109.998 +101.wav=ow p_W,769.663,250.378,-292.441,219.999,109.999 +101.wav=b ow_W,1795,150,-370,60,30 +101.wav=dh ow_W,1137.657,149.76,-377.86,60.0,30.0 +101.wav=k ow_W,349.162,291.137,-523.381,199.999,99.999 +101.wav=p dh_W,1017.117,91.771,-144.646,59.998,30.0 +101.wav=ow -1_W,2141.438,570.097,-630.209,300.0,119.999 +102.wav=- k5_W,325.129,78.769,-141.263,39.999,20.0 +102.wav=ow d_W,2090.179,263.643,-331.167,220.0,110.0 +102.wav=ow dh_W,748.629,240.0,-279.29,219.999,109.999 +102.wav=ow m_W,1391.458,240.0,-273.747,219.998,109.998 +102.wav=hh ow_W,1087.294,174.593,-363.063,79.998,39.999 +102.wav=l ow_W,485.657,103.652,-276.58,60.0,30.0 +102.wav=q ow_W,1790.743,138.46,-343.003,10.0,10.0 +102.wav=d q1_W,1654.658,88.781,-111.158,80.0,40.0 +102.wav=dh z1_W,970,100,-150,80.0,40.0 +102.wav=k l_W,345.426,153.874,-174.735,150,75 +102.wav=m d2_W,1598.306,75.919,-92.26,60.0,30.0 +102.wav=z hh_W,988.169,73.41,-120.622,50.0,25.0 +102.wav=d -5_W,2342.841,188.274,-287.201,80.0,40.0 +103.wav=- t3_W,384.73,62.05,-116.381,39.999,19.999 +103.wav=ow k1_W,2183.562,263.324,-371.217,219.999,109.999 +103.wav=ow t_W,843.283,238.049,-248.04,219.997,109.998 +103.wav=ow w_W,1607.515,235.223,-276.381,220,110.0 +103.wav=p ow_W,1160,236.109,-466.679,120.0,59.998 +103.wav=t ow_W,384.762,306.948,-528.95,238.011,119.0 +103.wav=w ow_W,1914.222,116.973,-271.989,49.997,24.998 +103.wav=t p_W,1066.636,101.291,-131.41,79.998,40.0 +103.wav=k -_W,2484.493,233.164,-362.229,80.0,40.0 +104.wav=- s11_W,237.173,70.822,-115.927,40.0,20.0 +104.wav=ow l_W,2079.565,227.012,-263.233,219.999,109.999 +104.wav=ow sh_W,1369.152,249.643,-320.868,219.997,109.998 +104.wav=ow y_W,736.944,239.998,-296.583,220.0,109.999 +104.wav=s ow_W,278.572,195.522,-420.0,99.999,49.999 +104.wav=sh ow_W,1635,199.999,-381.626,99.999,50.0 +104.wav=y ow_W,1033.786,214.575,-392.442,40.0,20.0 +104.wav=l -3_W,2256.281,223.283,-280.926,79.999,39.999 +105.wav=- ng_W,314.714,56.78,-83.398,39.999,19.998 +105.wav=ow f_W,1427.577,240,-300,220,110.0 +105.wav=ow hh_W,755.646,240,-300,220,110.0 +105.wav=ow n_W,2163.692,240.0,-281.455,220,110.0 +105.wav=f ow_W,1710.13,167.287,-395.387,80.0,40.0 +105.wav=hh ow1_W,1012.489,170.492,-385.305,80.0,40.0 +105.wav=ng ow_W,363,245.042,-506.904,39.999,19.999 +105.wav=n -4_W,2378.574,217.112,-287.93,80.0,40.0 +105.wav=ow4_W,482.425,40.0,-210.221,20.0,40.0 +105.wav=n33_W,2325,15,-126.301,15,10 +105.wav=ng14_W,357.184,15.0,-40.273,15.0,10.0 +106.wav=- d4_W,295.618,51.572,-69.51,39.999,20.0 +106.wav=ow n1_W,581.544,239.999,-284.262,219.998,109.998 +106.wav=ow z_W,1342.396,240,-300,220,110.0 +106.wav=ow z1_W,2099.557,275.171,-363.716,219.999,109.999 +106.wav=d ow_W,309.223,180.0,-335.705,60.0,30.0 +106.wav=g ow_W,970.419,169.538,-456.234,79.999,39.999 +106.wav=n ow_W,1670.667,177.259,-411.524,60,30.0 +106.wav=n t2_W,811.425,69.331,-80.311,59.999,30.0 +106.wav=t g_W,858.94,88.664,-112.715,79.998,39.999 +106.wav=z n_W,1604.192,97.136,-112.715,79.998,40.0 +106.wav=z -16_W,2385.0,185.653,-308.728,80.0,40.0 +106.wav=ow5_W,1803.611,40.0,-210.221,20.0,40.0 +106.wav=n34_W,855,15,-126.301,15,10 +107.wav=- b3_W,252.219,47.142,-52.404,39.999,19.999 +107.wav=oy n_W,1279.252,240,-300,220,110.0 +107.wav=oy z_W,604.911,240,-300,220,110.0 +107.wav=b oy_W,263.655,149.999,-282.424,60.0,29.999 +107.wav=g oy_W,1581.663,200,-380.231,80.0,40.0 +107.wav=jh oy_W,933.166,169.52,-313.548,59.999,30.0 +107.wav=n g_W,1537.906,78.117,-96.782,60.0,30.0 +107.wav=z jh_W,836.453,77.449,-105.264,50.0,25.0 +107.wav=oy -_W,1887.428,401.81,-564.454,299.998,119.997 +107.wav=n35_W,1501,15,-126.301,15,10 +108.wav=- p11_W,231.388,58.291,-110.016,39.998,19.997 +108.wav=uh l_W,1952.344,161.411,-209.314,109.998,54.999 +108.wav=uh r_W,1213.897,156.933,-211.653,109.998,54.999 +108.wav=uh t_W,690.0,131.41,-176.975,109.998,55.0 +108.wav=p uh_W,242.213,191.189,-399.932,120.0,60.0 +108.wav=sh uh_W,908.356,227.649,-447.515,99.999,49.999 +108.wav=w uh_W,1595.0,202.108,-420.604,49.997,24.998 +108.wav=l f_W,2109.871,100,-120,60,30 +108.wav=r w_W,1522.223,77.88,-105.328,40.0,20.0 +108.wav=t sh_W,802.877,103.056,-161.529,79.999,40.0 +108.wav=f -1_W,2170.442,180.943,-277.288,80.0,40.0 +109.wav=- g5_W,273.629,55.41,-81.662,39.999,19.999 +109.wav=uh d_W,785,120,-160.783,110,55 +109.wav=uh ng_W,1351.831,143.829,-221.636,110.0,54.999 +109.wav=uh r1_W,1960.68,138.19,-223.326,110.0,54.999 +109.wav=g uh_W,282.212,200.0,-442.213,80.0,40.0 +109.wav=t uh_W,1604.825,245.991,-448.563,166,83 +109.wav=y uh1_W,1053.657,106.025,-293.629,39.999,20.0 +109.wav=d z4_W,894.252,100,-150,80.0,40.0 +109.wav=ng t_W,1540,71.528,-89.645,60.0,30.0 +109.wav=r z3_W,2244.534,77.39,-154.766,40.0,20.0 +109.wav=z y1_W,1003.709,58.052,-81.475,50.0,25.0 +109.wav=z -17_W,2370,120.136,-167.287,80.0,40.0 +109.wav=ng15_W,1479.573,14.999,-114.012,14.999,10.0 +11.wav=- k_W,364.478,53.532,-75.43,39.999,20.0 +11.wav=aa ch_W,1475.793,138.755,-175.121,110.0,54.999 +11.wav=aa r2_W,731.069,143.265,-202.465,110,55 +11.wav=aa r3_W,2083.813,160.547,-268.838,109.998,54.999 +11.wav=k aa_W,347.373,256.707,-457.677,119.999,60.0 +11.wav=l aa_W,1762.973,140.343,-364.96,60.0,30.0 +11.wav=w aa_W,1167,133.169,-308.567,50.0,25.0 +11.wav=ch l_W,1642.093,139.999,-183.874,119.999,60.0 +11.wav=r jh_W,2336.0,97.077,-131.351,60.0,29.999 +11.wav=r v_W,977.365,73.488,-105.327,40.0,20.0 +11.wav=v w_W,1065.119,89.881,-119.525,79.999,40.0 +11.wav=jh -_W,2377.705,220.759,-330.592,80.0,40.0 +110.wav=- b4_W,218.658,56.779,-87.448,39.998,19.998 +110.wav=uh d1_W,1425.0,125.221,-163.052,109.998,54.999 +110.wav=uh k_W,2075.0,143.221,-188.405,109.998,54.999 +110.wav=uh sh_W,720,133.681,-202.466,109.999,55.0 +110.wav=b uh_W,249.634,123.428,-388.328,59.998,29.999 +110.wav=k uh_W,955.092,193.578,-430.666,100.0,50.0 +110.wav=l uh_W,1622.695,178.012,-395.34,60.0,30.0 +110.wav=d l_W,1528.811,99.998,-122.064,80.0,40.0 +110.wav=sh k_W,847.48,96.47,-111.292,79.999,40.0 +110.wav=k -1_W,2204.016,236.458,-284.158,80.0,40.0 +111.wav=- f4_W,227.336,73.829,-119.936,40.0,20.0 +111.wav=uw d_W,844.609,125.188,-150.893,109.997,54.999 +111.wav=uw m_W,1424.227,145.409,-237.637,109.999,54.999 +111.wav=uw s_W,2059,143.266,-222.319,109.998,54.999 +111.wav=b uw_W,1654.165,150,-370,60,30 +111.wav=d uw_W,979.902,188.528,-332.245,60.0,30.0 +111.wav=y uw15_W,409.846,148.663,-337.949,39.999,20.0 +111.wav=f y_W,308.957,99.266,-131.605,80.0,39.999 +111.wav=m b_W,1602.382,72.996,-84.925,59.999,29.999 +111.wav=s t6_W,2269.974,96.47,-118.977,80.0,40.0 +111.wav=t -12_W,2350.545,105.223,-174.217,60,30 +112.wav=- v4_W,158.477,50.774,-74.33,40.0,20.0 +112.wav=uw b_W,2047.002,127.292,-162.701,109.998,54.999 +112.wav=uw k_W,1255.0,130.294,-203.249,109.998,54.999 +112.wav=uw z_W,655.0,127.479,-220.154,109.997,54.999 +112.wav=l uw_W,949.523,95.52,-269.738,60.0,30.0 +112.wav=y uw1_W,254.446,162.696,-315.037,39.999,20.0 +112.wav=y uw2_W,1633.271,165.021,-356.643,40.0,20.0 +112.wav=k k_W,1372.562,169.332,-211.396,119.998,30.0 +112.wav=k y1_W,1484.476,158.268,-175.286,140,70.0 +112.wav=v y_W,209.652,56.039,-78.547,49.999,25.0 +112.wav=z l_W,825,62.078,-89.892,50.0,25.0 +112.wav=b -2_W,2197.088,254.02,-298.67,80.0,40.0 +113.wav=- m3_W,247.59,55.035,-74.58,39.999,20.0 +113.wav=uw dh_W,705.0,154.964,-192.354,109.998,55.0 +113.wav=uw sh_W,1374.062,142.939,-231.05,110.0,54.999 +113.wav=uw t_W,2045.0,128.436,-151.804,109.998,54.999 +113.wav=m uw_W,291.32,139.146,-331.452,29.996,14.998 +113.wav=sh uw_W,1552.316,185.64,-419.999,100.0,50.0 +113.wav=y uw3_W,948.495,138.815,-331.506,40.0,20.0 +113.wav=dh m_W,851.115,94.823,-128.31,79.999,40.0 +113.wav=m y_W,927.199,81.41,-103.369,60.0,30.0 +113.wav=t -13_W,2153.132,142.868,-274.186,60,30 +114.wav=- p12_W,276.523,57.651,-83.398,39.999,19.996 +114.wav=uw f_W,2145.0,148.902,-292.445,109.998,54.997 +114.wav=uw r_W,734.777,139.208,-204.64,109.998,54.999 +114.wav=uw v_W,1475.0,140.999,-215.778,109.999,54.999 +114.wav=p uw_W,266.75,169.898,-390.631,120.0,60.0 +114.wav=r uw_W,1054.824,171.754,-379.267,39.999,19.999 +114.wav=r uw1_W,1741.941,222.26,-452.831,40.0,20.0 +114.wav=g r2_W,999.943,69.882,-83.057,60.0,30.0 +114.wav=r g_W,918.672,64.407,-85.698,39.999,19.999 +114.wav=v r_W,1673.261,90.98,-107.998,80.0,40.0 +114.wav=f -2_W,2265.818,220.813,-300.408,79.999,40.0 +115.wav=- th2_W,222.707,60.799,-110.289,40.0,19.999 +115.wav=uw g_W,785,136.499,-153.977,109.999,55.0 +115.wav=uw th_W,2089.208,143.884,-219.832,109.998,54.999 +115.wav=uw y_W,1426.682,132.553,-186.115,110.0,54.999 +115.wav=r uw2_W,356.097,76.0,-293.078,39.999,20.0 +115.wav=r uw3_W,1002.24,109.72,-292.804,40.0,20.0 +115.wav=y uw4_W,1633.414,147.496,-387.024,40.0,20.0 +115.wav=g r3_W,937.101,75.164,-95.311,59.999,30.0 +115.wav=th r_W,308.839,61.346,-80.011,49.998,24.999 +115.wav=th -4_W,2244.506,159.298,-296.791,79.999,39.999 +115.wav=th8_W,260.749,15.0,-76.423,15.0,10.0 +115.wav=th9_W,2202.903,15,-126.301,15,10 +116.wav=- f5_W,201.298,70.447,-133.218,39.999,19.999 +116.wav=uw l_W,1319,119.998,-1506.785,110.0,54.999 +116.wav=uw n_W,2149,133.057,-163.525,109.998,54.999 +116.wav=uw t1_W,682.197,131.03,-153.23,109.997,54.998 +116.wav=q uw_W,992.513,155.465,-355.901,10.0,10.0 +116.wav=r uw4_W,371.289,82.82,-218.691,39.998,19.999 +116.wav=t uw_W,1553.386,311.621,-609.57,119.998,60.0 +116.wav=d t_W,1493.645,124.168,-149.999,79.999,40.0 +116.wav=f r_W,288.704,92.078,-120.625,80.0,39.999 +116.wav=l d1_W,1410.81,100,-120,60,30 +116.wav=t q_W,817.936,109.605,-168.281,79.999,40.0 +116.wav=n -5_W,2253.261,168.591,-249.291,80.0,40.0 +116.wav=n36_W,2259,15,-126.301,15,10 +117.wav=- b5_W,283.468,74.138,-137.211,39.997,19.998 +117.wav=uw l1_W,1970.0,140.326,-212.82,109.997,54.998 +117.wav=uw p_W,1341.348,126.358,-145.053,110.0,54.999 +117.wav=uw w_W,845.0,120.0,-178.544,109.998,55.0 +117.wav=f uw_W,1560.668,182.934,-405.269,80.0,40.0 +117.wav=w uw_W,998.082,176.19,-374.823,49.999,25.0 +117.wav=y uw5_W,455.141,116.581,-347.151,80,40 +117.wav=b y_W,285.0,178.737,-196.393,162.638,24.998 +117.wav=l d2_W,2151.436,99.999,-113.251,59.999,30.0 +117.wav=p f_W,1460.668,122.508,-173.563,99.999,50.0 +117.wav=d -6_W,2211.975,204.634,-334.719,80.0,40.0 +118.wav=- s12_W,185.673,64.057,-117.933,40.0,20.0 +118.wav=uw dh1_W,695.0,137.997,-195.343,109.997,54.998 +118.wav=uw z1_W,1345.0,143.719,-196.298,110.0,54.999 +118.wav=n uw2_W,1593.657,119.999,-348.45,40.0,20.0 +118.wav=s uw_W,270.0,156.817,-440.405,99.997,49.997 +118.wav=y uw6_W,954.334,170.102,-357.303,40.0,20.0 +118.wav=dh y_W,858.444,99.999,-131.054,79.999,39.999 +118.wav=z n1_W,1505.586,84.392,-100.861,80.0,40.0 +118.wav=uw -1_W,1924.988,489.398,-583.822,299.999,119.997 +118.wav=uw5_W,1675.225,40.0,-210.221,20.0,40.0 +119.wav=- k6_W,248.169,67.92,-149.364,39.998,19.999 +119.wav=uw hh_W,894.851,125.071,-165.875,109.999,55.0 +119.wav=uw m1_W,1400,133.881,-211.287,110.0,54.999 +119.wav=uw p1_W,2145,154.466,-210.462,109.998,55.0 +119.wav=hh uw_W,991.45,147.153,-423.52,80.0,40.0 +119.wav=k uw_W,247.782,241.309,-602.835,159.999,80.0 +119.wav=r uw5_W,1728.057,84.467,-347.976,40.0,20.0 +119.wav=g r4_W,1659.51,69.882,-83.057,60.0,30.0 +119.wav=m g_W,1583.682,71.528,-82.508,60.0,30.0 +119.wav=p -4_W,2282.673,229.87,-304.806,80.0,40.0 +12.wav=- z_W,478.471,50.775,-81.096,40.0,20.0 +12.wav=aa n_W,982.0,120.994,-189.768,109.998,54.999 +12.wav=aa r4_W,1552.847,133.105,-211.553,109.999,54.999 +12.wav=aa r5_W,2331.429,133.106,-223.27,109.999,55.0 +12.wav=ch aa_W,1196.987,176.56,-390.938,99.998,49.998 +12.wav=f aa_W,1866.704,200.0,-467.919,80.0,40.0 +12.wav=z aa_W,549.0,179.558,-389.249,49.999,24.999 +12.wav=m f_W,1776.363,92.938,-125.877,60.0,30.0 +12.wav=n ch_W,1132.893,81.409,-129.586,59.998,30.0 +12.wav=r m_W,1711.714,60.861,-95.996,39.999,20.0 +12.wav=r -_W,2405.251,316.335,-382.212,80.0,40.0 +12.wav=n_W,1092.0,14.999,-75.746,14.999,10.0 +120.wav=- k7_W,234.28,58.793,-105.387,39.998,19.999 +120.wav=aa n2_W,1345,117.331,-152.287,110,55 +120.wav=aa r9_W,1975.782,148.992,-221.967,109.997,54.998 +120.wav=aa s1_W,682.896,143.216,-186.816,109.998,54.999 +120.wav=k aa1_W,243.381,187.658,-333.968,120.0,60.0 +120.wav=t aa1_W,1604.424,144.936,-363.977,69.999,44.999 +120.wav=w aa2_W,1008.599,164.505,-328.085,49.997,24.996 +120.wav=n t3_W,1455.48,85.965,-126.471,59.999,29.999 +120.wav=r t2_W,2103.107,151.603,-211.442,100.0,49.999 +120.wav=s t7_W,795.605,96.469,-112.391,79.999,39.999 +120.wav=s t8_W,1516.511,96.47,-106.485,80.0,40.0 +120.wav=t s3_W,1484.316,55.371,-97.122,40.0,20.0 +120.wav=t w1_W,890.12,123.116,-135.06,119.998,59.999 +120.wav=t -14_W,2188.359,174.698,-241.4,80.0,40.0 +120.wav=n37_W,1455,15,-126.301,15,10 +121.wav=- p13_W,267.263,57.008,-141.843,39.999,19.998 +121.wav=aa m_W,831.321,128.606,-201.137,109.998,54.999 +121.wav=aa m2_W,2115,120.0,-187.805,109.999,54.999 +121.wav=aa n3_W,1496.626,145.519,-204.721,109.999,54.999 +121.wav=m aa1_W,1009.902,120,-355.773,30.0,15.0 +121.wav=m aa_W,1627.172,141.737,-358.469,80.0,40.0 +121.wav=r aa1_W,429.709,168.46,-398.207,39.999,19.999 +121.wav=m z1_W,2251.671,128.547,-201.249,111.929,29.999 +121.wav=n m1_W,1607.65,72.078,-92.39,60.0,30.0 +121.wav=p r2_W,277.904,161.425,-182.197,149.999,75 +121.wav=z -18_W,2415.0,162.341,-319.324,79.997,40.0 +121.wav=n38_W,1610,15,-126.301,15,10 +122.wav=- w1_W,353.482,50.775,-68.065,40,20 +122.wav=aa p1_W,1368,127.479,-174.839,110,55 +122.wav=aa r10_W,2047.358,136.717,-202.989,109.998,54.999 +122.wav=aa z1_W,738.881,146.084,-209.231,110,55 +122.wav=k aa2_W,1620.629,331.486,-505.582,200,100 +122.wav=t aa2_W,987.433,146.858,-365.624,69.999,45.0 +122.wav=w aa3_W,357.783,162.958,-372.118,49.999,25.0 +122.wav=d z5_W,2269.469,100,-150,80.0,40.0 +122.wav=p k_W,1499.29,91.216,-131.93,80.0,40.0 +122.wav=r d2_W,2232.0,68.16,-94.096,39.999,19.999 +122.wav=s t9_W,880.751,96.469,-126.736,79.999,40.0 +122.wav=z s1_W,845.83,64.822,-101.055,49.999,24.999 +122.wav=z -19_W,2405.747,146.431,-305.76,80.0,40.0 +123.wav=- s13_W,195.511,67.564,-126.702,40.0,20.0 +123.wav=aa d1_W,1442.09,131.988,-169.2,109.999,54.999 +123.wav=aa n4_W,2115,131.144,-181.887,109.999,54.999 +123.wav=aa r11_W,711.542,149.467,-201.211,109.998,55.0 +123.wav=b aa_W,962.376,150,-370,60,30 +123.wav=d aa1_W,1605.101,179.999,-429.736,60.0,30.0 +123.wav=s aa2_W,293.762,200.0,-383.272,99.999,49.999 +123.wav=n t4_W,2251.443,70.441,-86.314,60.0,29.999 +123.wav=r b1_W,902,90.506,-105.328,40.0,20.0 +123.wav=t -15_W,2270.902,316.335,-382.212,80.0,40.0 +123.wav=n39_W,2225,15,-126.301,15,10 +124.wav=- n6_W,229.072,50.773,-78.77,39.999,19.998 +124.wav=aa n5_W,1210.231,135.935,-215.459,109.999,54.999 +124.wav=aa r12_W,1975.813,175.707,-272.448,109.998,54.997 +124.wav=aa t1_W,636.026,117.811,-145.153,109.999,55.0 +124.wav=g aa1_W,882.786,200,-380.231,80.0,40.0 +124.wav=k aa3_W,1536.231,177.508,-406.698,60,30.0 +124.wav=n aa1_W,281,101.989,-283.819,39.999,20.0 +124.wav=n s2_W,1376.4,86.9,-121.485,60.0,30.0 +124.wav=r d3_W,2200.808,62.384,-96.966,40.0,20.0 +124.wav=s k5_W,1424.431,96.47,-120.624,80.0,40.0 +124.wav=t g1_W,764.91,103.056,-123.37,79.999,40.0 +124.wav=d -7_W,2280.353,191.99,-263.355,80.0,40.0 +124.wav=aa3_W,421.666,40.0,-210.221,20.0,40.0 +124.wav=n40_W,265,15,-126.301,15,10 +124.wav=n41_W,1295,15,-126.301,15,10 +125.wav=- k8_W,122.022,64.882,-103.651,39.998,20.0 +125.wav=ae n3_W,260,131.661,-2013.938,109.998,55.0 +125.wav=ae n4_W,1195.0,138.16,-187.687,109.999,54.999 +125.wav=ae t1_W,1975,136.829,-178.826,109.999,55.0 +125.wav=dh ae1_W,1496.54,174.463,-380.329,60.0,30.0 +125.wav=hh ae1_W,817.354,169.969,-341.328,79.999,39.999 +125.wav=k ae2_W,119.528,210.982,-451.552,120.0,60.0 +125.wav=d z6_W,1358.877,70.979,-113.251,60,30 +125.wav=n d3_W,1323.032,70.43,-81.959,60.0,30.0 +125.wav=n t5_W,676.403,67.137,-73.176,59.999,30.0 +125.wav=t hh1_W,709.136,95.92,-148.934,60.0,30.0 +125.wav=t s4_W,2104.431,113.755,-167.253,80.0,40.0 +125.wav=z dh1_W,1433.276,64.272,-84.585,50.0,24.998 +125.wav=s -8_W,2234.569,144.45,-269.199,79.997,39.999 +125.wav=n42_W,295,15,-126.301,15,10 +125.wav=n43_W,1305,15,-126.301,15,10 +126.wav=- y2_W,297.932,50.775,-68.065,40.0,20.0 +126.wav=ae n5_W,1391.166,126.606,-221.968,109.998,54.999 +126.wav=ae y_W,797.47,137.984,-173.796,109.998,54.999 +126.wav=y ae3_W,320,186.577,-408.913,39.999,20.0 +126.wav=y ae4_W,1030.294,147.492,-382.346,39.997,20.0 +126.wav=y ae5_W,1640.911,122.442,-390.013,50.0,24.999 +126.wav=n y1_W,1584.277,84.803,-103.369,60.0,30.0 +126.wav=ae -1_W,1956.144,510.809,-545.394,300.0,119.998 +126.wav=n44_W,1236,15,-126.301,15,10 +127.wav=- f6_W,217.5,59.897,-133.162,39.998,19.998 +127.wav=ae n6_W,1345.0,133.107,-174.393,110.0,54.999 +127.wav=ae s1_W,685,130.862,-183.296,110.0,55.0 +127.wav=f ae1_W,285.719,160.873,-393.139,79.998,39.999 +127.wav=k ae3_W,954.061,177.508,-418.844,79.998,39.999 +127.wav=s ae1_W,1593.277,200,-420,100,50 +127.wav=n t6_W,1464.755,72.627,-89.096,60.0,30.0 +127.wav=s t10_W,839.199,96.47,-110.194,79.999,40.0 +127.wav=t k1_W,848.552,94.274,-127.776,79.999,40.0 +127.wav=t s5_W,1479.037,103.057,-142.584,80.0,40.0 +127.wav=ae -2_W,1938.819,480,-600,300,120 +127.wav=n45_W,1455,15,-126.301,15,10 +128.wav=- dh1_W,279.995,45.638,-65.459,39.999,20.0 +128.wav=ae m2_W,1432.862,152.817,-242.799,109.997,54.999 +128.wav=ae t_W,725.863,130.83,-145.151,109.997,54.998 +128.wav=ae t3_W,2070,141.01,-173.711,110.0,55.0 +128.wav=dh ae2_W,295.202,154.721,-330.096,60.0,29.999 +128.wav=m ae1_W,1606.107,206.19,-413.003,80.0,40.0 +128.wav=y ae6_W,1036.999,109.231,-293.843,39.998,20.0 +128.wav=m m1_W,1547.928,81.41,-103.369,60.0,30.0 +128.wav=t y_W,887.264,156.098,-172.716,139.999,69.998 +128.wav=t -16_W,2182.127,177.109,-273.454,80.0,40.0 +129.wav=- z6_W,206.505,48.138,-101.337,40.0,19.998 +129.wav=ae k2_W,710,177.153,-1546.344,109.999,54.998 +129.wav=ae ng4_W,1857.332,130.297,-183.296,110.0,55.0 +129.wav=ae t4_W,1405.0,147.005,-174.346,109.998,54.999 +129.wav=b ae1_W,1571.283,150,-370,60,30 +129.wav=dh ae3_W,933.165,148.801,-339.088,60.0,30.0 +129.wav=z ae_W,287.676,123.014,-326.135,50.0,24.999 +129.wav=k dh_W,817.108,83.058,-113.801,59.999,30.0 +129.wav=ng k_W,2152.765,78.116,-106.114,60.0,30.0 +129.wav=t b1_W,1514.791,103.056,-121.719,79.999,39.999 +129.wav=k -2_W,2193.889,268.298,-320.697,80.0,40.0 +129.wav=ng16_W,2128.354,14.998,-85.912,14.998,10.0 +13.wav=- g_W,366.791,48.269,-83.399,39.999,20.0 +13.wav=aa n1_W,2124.172,129.733,-182.168,110,55 +13.wav=aa r6_W,1396.373,130.86,-218.816,110,55 +13.wav=aa t_W,840.434,133.114,-164.683,109.998,54.999 +13.wav=g aa_W,376.857,165.64,-449.223,79.998,39.999 +13.wav=hh aa1_W,1035,164.817,-275.161,79.999,40.0 +13.wav=t aa_W,1687.892,207.873,-443.384,99.998,50.0 +13.wav=r t4_W,1587.654,77.548,-112.181,40.0,20.0 +13.wav=t hh_W,962.065,103.057,-142.584,60,30 +13.wav=t t_W,1640,127.761,-149.72,80.0,40.0 +13.wav=n -_W,2254.039,316.335,-382.212,80.0,40.0 +13.wav=n1_W,2251.271,15.0,-57.842,15.0,9.999 +130.wav=- b6_W,344.804,47.702,-66.617,39.999,19.998 +130.wav=ae n7_W,1385.0,131.663,-196.887,109.998,54.999 +130.wav=ae n8_W,2121.567,139.605,-245.404,110.0,54.999 +130.wav=ae s2_W,775,145.521,-197.955,110.0,55.0 +130.wav=l ae2_W,430.74,142.959,-321.729,60.0,29.999 +130.wav=r ae1_W,1740.765,83.644,-315.861,40.0,20.0 +130.wav=t ae_W,1050,134.23,-312.922,69.999,45.0 +130.wav=b l1_W,334.404,86.588,-106.9,79.999,40.0 +130.wav=b r3_W,1648.991,83.998,-97.998,70.0,34.999 +130.wav=d z7_W,1540.064,67.136,-93.487,60.0,30.0 +130.wav=n d4_W,1506.302,66.588,-78.666,60.0,30.0 +130.wav=n d5_W,2305.0,68.697,-77.17,60.0,29.999 +130.wav=s t11_W,897,96.47,-121.722,79.999,40.0 +130.wav=s t12_W,899.97,96.47,-118.063,79.999,40.0 +130.wav=t s6_W,861.029,50.905,-99.215,40.0,20.0 +130.wav=z b1_W,1589.534,73.409,-90.505,50.0,24.999 +130.wav=d -8_W,2305.364,237.348,-282.527,80.0,40.0 +130.wav=n46_W,1495,15,-126.301,15,10 +130.wav=n47_W,2255,15,-126.301,15,10 +131.wav=- hh4_W,167.737,56.366,-131.425,39.998,19.999 +131.wav=ae d1_W,715.445,155.569,-186.816,109.999,55.0 +131.wav=ae n9_W,2001.936,126.348,-163.379,109.998,54.999 +131.wav=ae t5_W,1362.648,173.612,-216.462,110.0,55.0 +131.wav=dh ae4_W,877.081,144.571,-370.379,60.0,30.0 +131.wav=dh ae5_W,1570.049,149.758,-325.979,60.0,30.0 +131.wav=hh ae2_W,230.0,199.999,-433.668,79.999,40.0 +131.wav=d dh_W,818.146,79.999,-87.523,60.0,30.0 +131.wav=t dh1_W,1423.398,103.056,-142.835,79.998,39.997 +131.wav=n -6_W,2123.68,316.335,-382.212,80.0,40.0 +131.wav=n48_W,2125,15,-126.301,15,10 +132.wav=- s14_W,214.606,77.838,-144.493,40.0,20.0 +132.wav=ah l_W,1320.967,143.078,-239.754,109.998,54.999 +132.wav=ah m3_W,669,126.915,-200.775,110.0,55.0 +132.wav=ah s2_W,2097.734,152.465,-273.453,109.998,54.999 +132.wav=dh ah2_W,1003.273,165.715,-410.974,60.0,30.0 +132.wav=l ah1_W,399.194,126.813,-254.517,60.0,30.0 +132.wav=l ah2_W,1719.597,118.467,-302.923,60.0,30.0 +132.wav=m z2_W,835.828,81.408,-135.298,59.999,30.0 +132.wav=s l2_W,308.959,97.507,-128.812,79.998,39.997 +132.wav=s t13_W,2281.917,96.47,-125.18,80.0,40.0 +132.wav=z dh2_W,920.097,73.409,-91.174,50.0,25.0 +132.wav=t -17_W,2341.017,174.223,-231.295,79.998,39.998 +133.wav=- k9_W,207.662,56.037,-127.955,40.0,20.0 +133.wav=ah m4_W,618.165,146.789,-221.635,109.998,54.999 +133.wav=ah m5_W,1993.381,119.999,-160.743,109.998,54.996 +133.wav=ah s3_W,1321.361,142.448,-201.337,109.998,54.999 +133.wav=dh ah3_W,947.186,118.355,-267.202,60.0,30.0 +133.wav=hh ah2_W,1545.442,151.642,-327.04,80.0,40.0 +133.wav=r ah2_W,357,65.936,-222.809,39.999,20.0 +133.wav=k r2_W,204.816,149.867,-166.485,140.0,70.0 +133.wav=m dh1_W,851.381,75.059,-94.273,59.998,29.999 +133.wav=m p_W,2110.702,70.386,-84.926,60.0,29.999 +133.wav=s hh1_W,1453.512,96.47,-145.329,80.0,40.0 +133.wav=p -5_W,2130.015,316.335,-382.212,80.0,40.0 +134.wav=- b7_W,197.826,44.512,-49.399,39.999,20.0 +134.wav=ah m6_W,595,147.056,-209.639,109.999,55.0 +134.wav=ah n3_W,1245.646,119.022,-176.531,110.0,55.0 +134.wav=ah n4_W,1890,129.733,-193.444,110.0,55.0 +134.wav=b ah2_W,215.749,150.0,-350.928,60.0,30.0 +134.wav=d ah1_W,1497.58,224.07,-378.837,60.0,30.0 +134.wav=sh ah2_W,851.103,228.46,-392.329,99.999,50.0 +134.wav=m sh_W,758.988,91.841,-154.424,59.999,30.0 +134.wav=n d6_W,1385,64.938,-74.272,60.0,30.0 +134.wav=n t7_W,2060,75.371,-89.096,59.999,30.0 +134.wav=t -18_W,2119.433,272.348,-348.107,50,25 +134.wav=n49_W,1275,15,-126.301,15,10 +134.wav=n50_W,2000,15,-126.301,15,10 +135.wav=- z7_W,233.703,57.118,-98.887,39.999,20.0 +135.wav=ah f1_W,1425.031,145.38,-222.902,109.998,54.999 +135.wav=ah n5_W,748.096,137.866,-201.337,109.998,54.999 +135.wav=ah n6_W,2016.01,139.318,-200.21,110.0,55.0 +135.wav=dh ah4_W,970.555,179.18,-416.371,59.999,29.999 +135.wav=r ah3_W,1707,158.579,-415.162,40.0,20.0 +135.wav=z ah1_W,309.877,170.347,-407.539,49.998,24.998 +135.wav=d dh2_W,841.84,87.685,-146.989,79.998,39.999 +135.wav=f r1_W,1620.884,94.821,-125.565,80.0,40.0 +135.wav=n d7_W,919.465,70.979,-79.762,59.999,30.0 +135.wav=n -7_W,2142.652,105.01,-262.546,79.997,39.998 +135.wav=n51_W,805,15,-126.301,15,10 +135.wav=n52_W,2165,15,-126.301,15,10 +136.wav=- t4_W,182.202,67.439,-101.644,40.0,19.999 +136.wav=ah ch1_W,535.774,138.754,-172.583,110.0,55.0 +136.wav=ah k1_W,1289.317,144.25,-200.067,109.998,54.999 +136.wav=ah p1_W,1978.752,140.446,-173.711,110.0,55.0 +136.wav=s ah1_W,833.577,202.932,-367.625,99.998,50.0 +136.wav=t ah1_W,188.981,191.76,-346.571,130.0,65.0 +136.wav=t ah2_W,1438.705,227.632,-467.16,139.999,70.0 +136.wav=ch t1_W,638.972,125.446,-171.145,99.998,49.999 +136.wav=k t5_W,1388.864,81.66,-106.738,59.999,29.999 +136.wav=t s7_W,639.239,115.683,-178.816,79.999,40.0 +136.wav=p -6_W,2100.416,316.335,-370.523,79.999,40.0 +137.wav=- b8_W,249.325,56.781,-79.927,40.0,19.999 +137.wav=ah m7_W,1402.222,143.265,-191.523,110.0,54.999 +137.wav=ah n7_W,709.637,130.862,-241.37,110.0,55.0 +137.wav=ah n8_W,1967.937,147.775,-205.083,109.999,54.999 +137.wav=dh ah5_W,941.344,152.184,-415.203,60.0,30.0 +137.wav=l ah3_W,341.941,140.343,-339.253,60.0,29.999 +137.wav=m ah_W,1536.095,123.978,-354.859,80.0,40.0 +137.wav=b l2_W,284.431,57.414,-78.824,49.999,25.0 +137.wav=n dh1_W,877.345,74.822,-89.095,60.0,30.0 +137.wav=n z1_W,2169.383,117.642,-153.994,60.0,29.999 +137.wav=z -20_W,2275,166.264,-265.629,79.999,39.999 +137.wav=n53_W,810,15,-126.301,15,10 +137.wav=n54_W,2085,15,-126.301,15,10 +138.wav=- m4_W,308.348,46.263,-57.359,39.999,19.998 +138.wav=ah d1_W,2070,151.88,-1619.037,110.0,54.999 +138.wav=ah n9_W,685.0,128.603,-200.736,109.998,54.999 +138.wav=ah v1_W,1304.536,141.008,-193.17,109.999,54.999 +138.wav=l ah_W,960.041,176.843,-350.939,59.998,29.997 +138.wav=m ah2_W,348.572,89.739,-337.296,30.0,15.0 +138.wav=m ah3_W,1575.0,205.88,-432.555,40.0,20.0 +138.wav=n l_W,844.165,81.41,-103.369,60.0,30.0 +138.wav=v m1_W,1431.951,161.944,-174.407,150.0,74.999 +138.wav=d -9_W,2178.483,228.027,-342.978,79.998,40.0 +138.wav=n55_W,795,15,-126.301,15,10 +139.wav=- s15_W,149.797,72.326,-124.948,40.0,20.0 +139.wav=ah l3_W,2041.615,141.173,-197.531,109.998,54.999 +139.wav=ah n_W,575.034,125.223,-201.901,110.0,55.0 +139.wav=ah n11_W,1296.891,125.787,-204.157,110.0,55.0 +139.wav=m ah4_W,983.545,112.464,-285.392,39.999,19.999 +139.wav=s ah2_W,227.163,154.347,-343.225,99.997,49.999 +139.wav=t ah3_W,1569.774,303.75,-498.911,130.0,65.0 +139.wav=d t1_W,1528.298,94.274,-109.097,80.0,40.0 +139.wav=l d3_W,2186.011,86.9,-111.604,60.0,30.0 +139.wav=n d8_W,1487.018,72.076,-88.547,60.0,30.0 +139.wav=n t8_W,839.956,71.529,-79.763,60.0,30.0 +139.wav=t m1_W,848.521,89.881,-129.774,79.999,40.0 +139.wav=d -10_W,2226.505,205.109,-314.368,79.997,39.997 +139.wav=n56_W,681,15,-126.301,15,10 +139.wav=n57_W,1316,15,-126.301,15,10 +14.wav=- aa_W,399.661,118.489,-454.227,60.0,29.999 +14.wav=aa k_W,1527.873,142.7,-168.355,109.999,54.999 +14.wav=aa r7_W,770.129,141.771,-193.489,109.999,55.0 +14.wav=aa s_W,2336.392,141.011,-222.764,110,55 +14.wav=hh aa_W,1749.98,199.998,-460.182,79.999,39.999 +14.wav=jh aa_W,1137.679,129.169,-334.58,59.998,30.0 +14.wav=d jh_W,1071.392,95.37,-121.721,79.998,39.999 +14.wav=k hh_W,1672,95.683,-160.462,60.0,30.0 +14.wav=m d_W,1051.394,70.431,-87.998,60.0,30.0 +14.wav=r m1_W,959.733,71.292,-119.602,40.0,20.0 +14.wav=s -_W,2479.722,224.107,-382.212,79.999,39.999 +14.wav=aa1_W,490.214,39.998,-313.666,19.999,39.998 +140.wav=- d5_W,267.264,75.876,-123.325,39.999,20.0 +140.wav=ah n12_W,694.28,144.394,-243.625,110.0,55.0 +140.wav=ah s4_W,1325,137.175,-203.052,110.0,54.999 +140.wav=ah t1_W,2131.383,131.425,-171.456,110.0,55.0 +140.wav=d ah2_W,287.022,194.37,-416.372,120,60 +140.wav=n ah1_W,933.03,150.194,-318.804,79.999,39.999 +140.wav=w ah1_W,1695.713,134.126,-296.538,50.0,24.999 +140.wav=d n1_W,873.481,99.999,-141.485,80.0,40.0 +140.wav=n d9_W,825,68.235,-85.802,59.999,30.0 +140.wav=s t14_W,1446.318,88.784,-103.057,79.999,39.999 +140.wav=t w2_W,1541.841,159.494,-194.287,150,75 +140.wav=t -19_W,2236.818,207.427,-247.154,79.997,40.0 +140.wav=ah9_W,1086.171,40.0,-210.221,20.0,40.0 +140.wav=n58_W,715,15,-126.301,15,10 +141.wav=- b9_W,319.921,60.831,-93.235,39.999,19.999 +141.wav=ah b1_W,2175.0,125.224,-171.141,109.999,54.999 +141.wav=ah m8_W,1365,148.702,-209.795,110.0,54.999 +141.wav=ah t2_W,732.472,132.553,-155.668,109.998,54.999 +141.wav=b ah3_W,340.771,150,-370,60,30 +141.wav=dh ah6_W,1004.44,179.999,-363.791,60.0,30.0 +141.wav=l ah5_W,1776.471,140.343,-336.551,30,15 +141.wav=k l1_W,1645.345,120.905,-136.544,109.999,54.999 +141.wav=m k1_W,1535.384,81.409,-97.331,60.0,30.0 +141.wav=s dh1_W,906.717,96.47,-121.024,79.999,40.0 +141.wav=t s8_W,822.065,103.057,-142.584,80.0,40.0 +141.wav=b -3_W,2316.268,207.808,-225.607,80.0,40.0 +142.wav=- m5_W,160.213,52.151,-57.938,40.0,19.998 +142.wav=ah n13_W,580.0,134.55,-169.731,109.998,54.999 +142.wav=ah n14_W,1081.199,125.785,-165.816,109.998,54.996 +142.wav=ah n15_W,1761.205,127.476,-220.344,109.999,54.999 +142.wav=k ah2_W,1290.433,193.609,-379.389,90,45 +142.wav=m ah5_W,206.539,133.051,-338.918,39.999,20.0 +142.wav=n ah2_W,686.491,151.642,-331.157,79.999,40.0 +142.wav=d k1_W,1205.397,100.0,-116.781,80.0,40.0 +142.wav=d z8_W,1940.839,100,-150,80.0,40.0 +142.wav=n d10_W,1140.211,86.716,-102.622,60.0,30.0 +142.wav=n d11_W,1918.235,72.463,-88.042,60.0,29.997 +142.wav=z -21_W,2029.701,316.335,-382.212,80.0,40.0 +142.wav=ah10_W,841.605,40.0,-210.221,20.0,40.0 +142.wav=n59_W,690,15,-126.301,15,10 +142.wav=n60_W,700.173,14.999,-56.284,14.999,10.0 +142.wav=n61_W,1705,15,-126.301,15,10 +143.wav=- m6_W,293.88,49.773,-92.08,39.999,20.0 +143.wav=ah n16_W,1239.813,130.298,-173.692,109.999,54.999 +143.wav=ah s5_W,625.0,120.0,-175.408,109.999,55.0 +143.wav=ah s6_W,1941.496,147.21,-221.769,110.0,54.999 +143.wav=m ah6_W,341.56,71.543,-258.447,30.0,15.0 +143.wav=r ah4_W,964.85,96.945,-271.727,40.0,20.0 +143.wav=t ah4_W,1442.104,207.518,-488.32,70.0,44.999 +143.wav=f r2_W,883.313,86.587,-104.154,79.998,40.0 +143.wav=n t9_W,1362.899,71.528,-83.606,60.0,30.0 +143.wav=s t15_W,722.327,85.489,-99.214,79.999,39.999 +143.wav=s t16_W,2102.647,96.469,-116.599,79.999,40.0 +143.wav=t f1_W,750.37,103.057,-142.584,80.0,40.0 +143.wav=t -20_W,2177.532,223.158,-336.796,80.0,40.0 +143.wav=n62_W,1295,15,-126.301,15,10 +144.wav=- f7_W,193.197,89.1,-159.201,39.998,19.999 +144.wav=ah m9_W,590.257,146.232,-217.05,109.999,55.0 +144.wav=ah n17_W,1167.473,128.604,-183.294,110.0,55.0 +144.wav=ah t3_W,1942.698,146.054,-189.32,109.999,54.999 +144.wav=b ah4_W,1494.168,150,-370,60,30 +144.wav=r ah5_W,370.12,93.525,-269.746,39.999,19.998 +144.wav=w ah2_W,888.25,126.581,-287.19,49.999,25.0 +144.wav=f r3_W,288.187,104.154,-110.741,79.998,39.999 +144.wav=m w1_W,823.857,81.41,-103.369,60.0,30.0 +144.wav=n s3_W,1316.16,81.41,-120.388,60.0,30.0 +144.wav=s b1_W,1289.932,96.47,-145.329,80.0,40.0 +144.wav=t s9_W,2080.317,127.656,-197.429,79.999,39.999 +144.wav=s -9_W,2222.712,151.24,-199.825,79.999,39.999 +144.wav=n63_W,1215,15,-126.301,15,10 +145.wav=- t5_W,90.776,66.311,-115.802,39.999,19.999 +145.wav=ah m10_W,1860.0,149.713,-200.176,109.998,54.998 +145.wav=ah s7_W,534.175,138.84,-210.598,109.997,54.997 +145.wav=ah v2_W,1151.904,137.064,-179.308,110.0,54.999 +145.wav=dh ah7_W,1335.147,167.781,-401.646,60.0,30.0 +145.wav=r ah6_W,249.771,81.996,-260.688,39.999,19.998 +145.wav=t ah5_W,778.282,181.921,-316.682,69.998,44.999 +145.wav=s t17_W,672.991,96.469,-121.723,79.999,40.0 +145.wav=t r_W,130.823,133.176,-149.096,120.0,60.0 +145.wav=v dh1_W,1239.952,73.409,-105.046,50.0,24.998 +145.wav=m -5_W,1996.12,177.128,-256.866,79.998,39.998 +146.wav=- p14_W,137.643,50.773,-141.844,40.0,19.998 +146.wav=ah l4_W,1733.251,148.704,-241.171,109.997,54.998 +146.wav=ah n18_W,579.843,133.679,-172.492,109.998,54.997 +146.wav=ah n19_W,1236.0,122.967,-190.553,110.0,54.999 +146.wav=p ah1_W,163.928,212.734,-416.002,120.0,60.0 +146.wav=w ah3_W,1411.724,172.683,-402.863,49.997,24.996 +146.wav=y ah1_W,869.038,114.935,-317.507,40.0,20.0 +146.wav=d y1_W,789.345,98.665,-125.565,79.999,39.999 +146.wav=n d12_W,689.372,108.814,-148.801,59.999,30.0 +146.wav=n w_W,1383.735,81.41,-103.369,60.0,30.0 +146.wav=l -4_W,1847.195,151.121,-151.121,79.999,40.0 +146.wav=n64_W,606,15,-126.301,15,10 +146.wav=n65_W,1346,15,-126.301,15,10 +147.wav=- z8_W,162.527,64.056,-105.151,40.0,20.0 +147.wav=ah g1_W,1877.869,126.608,-170.89,109.998,54.999 +147.wav=ah n20_W,375,124.095,-178.785,110.0,55.0 +147.wav=ah s8_W,1113.446,143.572,-217.995,110.0,55.0 +147.wav=jh ah1_W,782.438,139.999,-310.333,60.0,30.0 +147.wav=l ah6_W,1448,98.902,-336.34,60.0,30.0 +147.wav=z ah2_W,226.918,115.327,-298.875,49.999,24.999 +147.wav=n t10_W,599.525,59.999,-75.059,59.999,30.0 +147.wav=s jh_W,684.44,116.868,-144.911,79.998,39.999 +147.wav=s l3_W,1339.85,87.686,-115.135,80.0,40.0 +147.wav=s t18_W,1255.711,98.754,-110.743,80.0,40.0 +147.wav=t s10_W,653.287,63.593,-80.144,40.0,20.0 +147.wav=t s11_W,1266.627,88.783,-110.375,79.998,39.997 +147.wav=g -2_W,1980.394,186.717,-224.107,80.0,39.998 +147.wav=n66_W,485,15,-126.301,15,10 +148.wav=- s16_W,69.943,64.056,-117.681,40.0,20.0 +148.wav=ah d2_W,562.0,120.0,-147.137,109.998,54.999 +148.wav=ah n21_W,1127,125.788,-1957.622,109.999,54.999 +148.wav=ah t4_W,1917,126.916,-171.457,110.0,55.0 +148.wav=l ah7_W,867.735,109.072,-277.326,59.998,29.999 +148.wav=t ah6_W,203.412,163.052,-349.979,70.0,44.999 +148.wav=w ah4_W,1429.274,138.11,-405.203,49.997,24.998 +148.wav=d w_W,1317.45,127.255,-139.199,112,56 +148.wav=d z9_W,652.484,71.528,-98.457,60.0,30.0 +148.wav=g l2_W,797.37,69.882,-83.057,60.0,30.0 +148.wav=n d13_W,1262.0,81.409,-154.662,60.0,30.0 +148.wav=s t19_W,120.97,86.75,-106.484,79.999,39.999 +148.wav=t s12_W,2031.492,124.769,-183.798,80.0,40.0 +148.wav=z g1_W,693.124,73.409,-105.995,49.999,25.0 +148.wav=s -10_W,2134.771,101.503,-170.182,80.0,40.0 +148.wav=n67_W,1237,15,-126.301,15,10 +149.wav=- s17_W,164.263,64.557,-117.539,39.999,19.999 +149.wav=ah d3_W,1955.0,133.88,-158.456,109.998,54.999 +149.wav=ah m11_W,1145.0,131.41,-184.473,109.999,54.999 +149.wav=ah n22_W,611.088,126.915,-184.424,110.0,55.0 +149.wav=l ah8_W,1497.56,112.433,-372.951,59.999,29.999 +149.wav=s ah3_W,235.34,165.052,-323.158,99.999,49.999 +149.wav=s ah4_W,830.071,172.465,-315.748,99.999,50.0 +149.wav=d s2_W,764.388,100,-150,80.0,40.0 +149.wav=d z10_W,2043.436,100,-150,80.0,40.0 +149.wav=f l2_W,1409.884,93.175,-100.312,80.0,40.0 +149.wav=m f1_W,1294.865,81.409,-129.169,60.0,30.0 +149.wav=n d14_W,751.154,104.466,-156.619,59.998,29.999 +149.wav=z -22_W,2104.395,152.289,-236.566,79.995,39.995 +149.wav=n68_W,575,15,-126.301,15,10 +15.wav=- m_W,486.573,50.275,-75.875,39.998,19.999 +15.wav=aa b_W,941.988,142.138,-176.812,109.999,55.0 +15.wav=aa f_W,2419.719,138.093,-214.156,109.998,54.996 +15.wav=aa l1_W,1376.844,141.292,-195.418,110.0,54.999 +15.wav=m aa2_W,533,91,-363.784,30.0,15.0 +15.wav=s aa_W,1185,179.053,-372.567,99.999,49.999 +15.wav=s aa1_W,1860.874,169.171,-368.449,100.0,50.0 +15.wav=b s_W,1039.028,84.659,-211.503,50.0,24.999 +15.wav=f t_W,2568.615,99.733,-112.196,79.998,39.998 +15.wav=l v_W,1718.716,96.351,-159.187,60.0,30.0 +15.wav=v s_W,1792.594,73.409,-107.641,49.998,24.998 +15.wav=t -_W,2630.259,148.545,-221.767,79.997,39.997 +150.wav=- w2_W,370.842,50.775,-68.065,40,20 +150.wav=ah ng3_W,1340.591,128.042,-194.474,109.998,54.999 +150.wav=ah ng4_W,2042.449,129.734,-195.479,109.999,54.999 +150.wav=ah t5_W,735,119.02,-129.168,110.0,55.0 +150.wav=r ah7_W,1616.99,67.998,-195.635,40.0,20.0 +150.wav=w ah5_W,408.025,146.979,-342.107,49.998,24.999 +150.wav=y ah2_W,1038,115.759,-294.451,39.999,20.0 +150.wav=d r2_W,1530.889,89.881,-106.9,80.0,40.0 +150.wav=ng d1_W,1472.473,68.664,-95.832,59.998,30.0 +150.wav=ng k2_W,2187.039,81.409,-98.43,60.0,29.999 +150.wav=t y1_W,878.744,162.895,-183.207,150,75 +150.wav=k -3_W,2211.807,235.91,-290.259,80.0,40.0 +150.wav=ng17_W,1442.175,14.999,-87.466,14.999,10.0 +150.wav=ng18_W,2135.625,14.999,-112.168,14.999,10.0 +151.wav=- jh1_W,335.544,55.788,-100.758,39.999,20.0 +151.wav=ah n23_W,1363.424,146.082,-182.108,110.0,54.999 +151.wav=ah s9_W,750.0,120.0,-186.213,109.998,54.999 +151.wav=ah v3_W,2036.439,120.0,-171.456,110.0,55.0 +151.wav=jh ah2_W,366.34,139.999,-394.308,80.0,39.999 +151.wav=l ah9_W,1578.295,140.342,-377.812,59.998,30.0 +151.wav=t ah7_W,954.715,175.402,-374.68,69.998,44.999 +151.wav=d l1_W,1531.42,70.119,-94.527,40.0,10.0 +151.wav=n d15_W,1475.068,72.996,-93.236,60.0,30.0 +151.wav=s t20_W,860.982,96.469,-123.918,79.999,40.0 +151.wav=v d3_W,2200.676,65.004,-86.231,49.998,24.998 +151.wav=d -11_W,2227.386,241.398,-298.106,80.0,40.0 +151.wav=n69_W,1085,15,-126.301,15,10 +152.wav=- ah1_W,341.039,123.541,-336.483,60.0,29.999 +152.wav=ah n24_W,662.766,131.988,-170.091,109.999,54.999 +152.wav=ah t6_W,2005,135.936,-168.637,110.0,55.0 +152.wav=ah w1_W,1395,136.499,-169.764,110.0,55.0 +152.wav=dh ah8_W,951.86,180,-423.807,60.0,30.0 +152.wav=w ah6_W,1548.568,119.998,-329.978,50.0,24.998 +152.wav=n t11_W,782.833,67.941,-80.251,59.998,29.999 +152.wav=t dh2_W,849.304,81.663,-99.986,59.999,30.0 +152.wav=t -21_W,2178.313,213.199,-279.585,79.997,40.0 +152.wav=ah11_W,462.172,40.0,-210.221,20.0,40.0 +152.wav=n70_W,675,14.999,-1782.892,14.999,10.0 +153.wav=- m7_W,357.534,47.767,-70.089,39.999,19.999 +153.wav=ao l3_W,841.836,120.0,-164.691,110.0,55.0 +153.wav=ao l4_W,2022.019,132.234,-205.522,109.999,55.0 +153.wav=ao r10_W,1250.453,143.828,-195.699,110.0,55.0 +153.wav=m ao1_W,405,100.036,-370.915,29.999,15.0 +153.wav=t ao1_W,1635.97,175.159,-435.719,70.0,44.999 +153.wav=y ao1_W,1022.105,134.697,-328.76,39.999,20.0 +153.wav=l d4_W,2181.536,73.176,-93.488,60.0,30.0 +153.wav=l y1_W,959.462,69.879,-106.217,59.998,29.999 +153.wav=r s_W,1466.645,65.253,-105.328,40.0,20.0 +153.wav=s t21_W,1530.529,96.47,-119.526,80.0,40.0 +153.wav=d -12_W,2284.17,136.864,-185.938,80.0,40.0 +154.wav=- m8_W,330.916,50.023,-68.353,39.999,19.998 +154.wav=ao r11_W,614.694,139.881,-213.758,109.999,55.0 +154.wav=ao r12_W,1147.097,143.829,-197.956,110.0,55.0 +154.wav=ao r13_W,1910.249,136.5,-210.359,110.0,55.0 +154.wav=l ao2_W,1615.641,105.29,-316.921,60.0,30.0 +154.wav=m ao2_W,375,100.036,-278.479,30.0,15.0 +154.wav=y ao2_W,967.186,106.024,-297.055,39.999,20.0 +154.wav=f l3_W,1527.328,88.783,-109.095,79.999,40.0 +154.wav=k f_W,1409.185,87.449,-143.994,60.0,30.0 +154.wav=n y2_W,909.054,81.41,-103.369,60.0,30.0 +154.wav=r k1_W,1348.687,73.938,-90.754,40.0,20.0 +154.wav=r n1_W,839.208,71.841,-112.465,40.0,20.0 +154.wav=r -3_W,2101.356,239.753,-257.045,80.0,40.0 +155.wav=- sh3_W,301.982,64.557,-116.678,40.0,20.0 +155.wav=ao l5_W,1434.33,142.938,-196.531,109.998,54.998 +155.wav=ao ng_W,2086.916,131.411,-193.994,110.0,54.999 +155.wav=ao r14_W,659.16,120.0,-179.349,110.0,55.0 +155.wav=l ao3_W,1742.966,132.465,-406.678,60.0,30.0 +155.wav=s ao1_W,1085.977,200.0,-375.86,99.999,50.0 +155.wav=sh ao_W,376.72,179.877,-351.981,99.999,49.999 +155.wav=l t1_W,1491.238,100,-120,60,30 +155.wav=r t3_W,868.808,65.994,-71.676,39.999,19.998 +155.wav=t l1_W,1647.031,113.726,-134.038,99.999,50.0 +155.wav=t s13_W,903.6,103.057,-142.584,80.0,40.0 +155.wav=ng -1_W,2251.616,112.271,-167.443,79.999,39.999 +155.wav=ng19_W,2245.164,14.997,-71.617,14.997,9.999 +156.wav=- p15_W,265.527,58.419,-167.303,39.999,19.998 +156.wav=ao r15_W,716,126.35,-188.934,110.0,55.0 +156.wav=ao r16_W,1246.848,120,-177.3,110.0,55.0 +156.wav=ao r17_W,1924.672,166.944,-245.872,109.999,54.999 +156.wav=f ao2_W,1611.964,149.319,-508.814,79.999,39.997 +156.wav=p ao1_W,293.487,275.126,-545.034,140,39.999 +156.wav=y ao3_W,1066.504,106.025,-270.506,40.0,20.0 +156.wav=r f1_W,1434.898,90.506,-105.328,40.0,20.0 +156.wav=r m4_W,2183.263,72.938,-106.99,40.0,20.0 +156.wav=r y1_W,967.483,66.351,-87.761,40.0,20.0 +156.wav=m -6_W,2214.225,241.948,-299.591,80.0,40.0 +157.wav=- hh5_W,398.037,64.431,-146.473,39.999,19.998 +157.wav=ao n_W,798.571,119.998,-171.455,110.0,55.0 +157.wav=ao r18_W,1377.845,132.17,-237.04,110.0,55.0 +157.wav=ao r19_W,2045,119.999,-212.109,109.999,54.999 +157.wav=hh ao1_W,467.0,160.149,-384.785,79.997,39.998 +157.wav=hh ao2_W,1687.0,164.482,-445.607,79.998,40.0 +157.wav=y ao4_W,1184.555,106.026,-274.688,40.0,20.0 +157.wav=n t12_W,938.108,65.051,-75.059,59.999,30.0 +157.wav=n z2_W,2318.961,80.772,-146.204,60.0,29.999 +157.wav=r hh1_W,1610,90.506,-105.328,40.0,20.0 +157.wav=r n2_W,2218.214,62.746,-105.328,60.0,29.999 +157.wav=t y2_W,1034.023,158.784,-180.743,150.0,74.999 +157.wav=z -23_W,2409.826,163.17,-274.338,80.0,40.0 +157.wav=n71_W,615,15,-126.301,15,10 +158.wav=- f8_W,186,78.19,-1803.657,40.0,19.999 +158.wav=ao k1_W,1986,155.669,-199.794,110.0,55.0 +158.wav=ao l6_W,716,124.822,-184.112,109.999,54.999 +158.wav=ao l7_W,1334.58,120,-169.794,110.0,55.0 +158.wav=f ao3_W,335.0,176.036,-413.963,79.999,39.999 +158.wav=w ao2_W,1621,120.818,-336.017,50.0,24.998 +158.wav=z ao_W,946.672,174.342,-417.265,49.999,25.0 +158.wav=k t6_W,2098.248,90.194,-119.29,60.0,29.999 +158.wav=l w1_W,1524.929,79.496,-98.427,59.998,30.0 +158.wav=l z2_W,796.337,109.333,-155.432,59.999,30.0 +158.wav=t -22_W,2164.094,187.78,-364.189,71.524,40.0 +159.wav=- g6_W,283.467,60.219,-98.279,39.999,19.999 +159.wav=aw n2_W,591.226,237.329,-298.116,219.997,109.998 +159.wav=aw n3_W,1764.197,260.029,-322.933,219.999,110.0 +159.wav=aw t2_W,1216.17,227.211,-251.247,219.998,109.999 +159.wav=b aw1_W,917.976,174.506,-377.813,59.999,30.0 +159.wav=b aw2_W,1501.086,149.999,-342.472,60.0,30.0 +159.wav=r aw1_W,393.488,71.01,-244.218,39.999,20.0 +159.wav=d b1_W,826.776,99.999,-123.917,79.999,40.0 +159.wav=g r5_W,322.725,69.882,-83.057,60.0,30.0 +159.wav=n d16_W,818.712,93.936,-119.199,59.998,29.999 +159.wav=n s4_W,2078.193,103.369,-158.149,59.999,29.999 +159.wav=t b2_W,1456.772,86.231,-101.81,79.999,39.997 +159.wav=s -11_W,2164.211,163.348,-248.254,80.0,40.0 +159.wav=n72_W,655,15,-126.301,15,10 +159.wav=n73_W,2015,15,-126.301,15,10 +16.wav=- l_W,484.258,57.666,-82.85,39.999,20.0 +16.wav=aa d_W,1757.019,148.848,-164.681,109.999,54.998 +16.wav=aa p_W,2488.722,156.233,-188.934,110,55 +16.wav=aa r8_W,880.796,135.994,-198.533,109.998,54.999 +16.wav=l aa1_W,507.857,140.341,-424.55,59.999,29.999 +16.wav=r aa_W,2020.208,118.229,-273.864,40.0,20.0 +16.wav=w aa1_W,1254.048,170.348,-421.561,50.0,24.999 +16.wav=d d_W,1830.46,70.832,-92.196,60.0,30.0 +16.wav=d r1_W,1942.893,93.725,-124.468,79.999,39.999 +16.wav=m w_W,1146.971,85.995,-124.913,59.998,30.0 +16.wav=r m2_W,1075.045,75.134,-128.383,40.0,20.0 +16.wav=p -_W,2605.913,294.457,-352.747,80.0,40.0 +160.wav=- k10_W,254.533,60.253,-112.331,39.999,20.0 +160.wav=aw n4_W,522.722,234.42,-271.677,219.998,109.998 +160.wav=aw n_W,1189.729,240.937,-307.493,219.998,109.997 +160.wav=aw n6_W,1769.003,235.646,-276.946,219.999,109.999 +160.wav=d aw1_W,1480.069,179.999,-392.368,60.0,30.0 +160.wav=k aw_W,281.94,221.653,-378.223,120.0,59.998 +160.wav=n aw_W,952.028,116.363,-250.588,39.999,19.998 +160.wav=n d17_W,1425.291,72.627,-86.351,60.0,30.0 +160.wav=n t13_W,752.214,69.384,-89.599,59.998,29.999 +160.wav=t n2_W,849.845,110.612,-136.231,99.998,50.0 +160.wav=n -8_W,2029.613,238.105,-355.861,80.0,40.0 +160.wav=aw5_W,1064.413,40.0,-210.221,20.0,40.0 +160.wav=n74_W,495,15,-126.301,15,10 +160.wav=n75_W,1395,15,-126.301,15,10 +160.wav=n76_W,2005,15,-126.301,15,10 +161.wav=- ay1_W,295.204,135.27,-294.265,59.998,30.0 +161.wav=ay d1_W,1850.726,237.329,-253.65,219.997,109.997 +161.wav=ay m1_W,565.987,242.233,-295.758,219.999,109.999 +161.wav=ay z1_W,1128.435,250.446,-301.753,220,110.0 +161.wav=l ay1_W,863.06,95.409,-210.695,59.999,30.0 +161.wav=r ay3_W,1536.275,81.158,-219.855,40.0,20.0 +161.wav=d f1_W,1338.37,118.427,-149.999,80.0,40.0 +161.wav=f r4_W,1448.987,92.078,-118.429,80.0,40.0 +161.wav=m l1_W,816.646,81.41,-103.368,59.999,29.999 +161.wav=z d1_W,1377.182,60.103,-92.062,49.997,24.998 +161.wav=d -13_W,2075.409,188.276,-244.874,80.0,40.0 +161.wav=ay9_W,435.687,40.0,-210.221,20.0,40.0 +162.wav=- th3_W,162.527,50.774,-90.369,40.0,19.999 +162.wav=ay n4_W,1083.969,242.833,-264.466,219.999,110.0 +162.wav=ay s1_W,1890.385,260.029,-352.497,220,110.0 +162.wav=ay v1_W,556.371,252.701,-322.155,219.999,109.999 +162.wav=f ay1_W,836.05,139.932,-342.896,79.999,40.0 +162.wav=m ay1_W,1470.84,119.998,-402.325,40.0,20.0 +162.wav=r ay4_W,311.698,107.524,-301.861,39.999,19.998 +162.wav=d m1_W,1399.571,100.0,-126.663,80.0,40.0 +162.wav=n d18_W,1294.926,67.22,-74.54,59.998,30.0 +162.wav=th r1_W,263.66,59.865,-75.444,49.999,24.998 +162.wav=v f_W,774.676,67.568,-108.193,49.999,25.0 +162.wav=s -12_W,2195,159.053,-294.101,79.999,40.0 +162.wav=n77_W,975,15,-126.301,15,10 +162.wav=th10_W,219.853,15.0,-54.526,15.0,9.998 +163.wav=- m9_W,305.455,48.644,-66.617,39.999,19.998 +163.wav=ay l1_W,709.001,248.844,-284.899,219.999,109.999 +163.wav=ay m2_W,1996.147,234.657,-268.07,219.998,109.997 +163.wav=ay n5_W,1312.312,260.031,-280.091,219.999,110.0 +163.wav=d ay1_W,1559.692,186.813,-374.563,59.999,30.0 +163.wav=m ay2_W,339.0,77.448,-377.247,39.998,19.998 +163.wav=m ay3_W,937,111.053,-245.755,59.998,30.0 +163.wav=d m2_W,864.102,99.999,-126.664,79.999,40.0 +163.wav=l d5_W,871.117,77.018,-96.781,59.999,30.0 +163.wav=n d19_W,2193.806,72.076,-94.274,60.0,29.999 +163.wav=m -7_W,2186.267,316.335,-382.212,80.0,40.0 +163.wav=n78_W,1512,15,-126.301,15,10 +164.wav=- w3_W,447.224,50.775,-68.065,40,20 +164.wav=ay l2_W,1128.435,240.861,-300.062,220,110.0 +164.wav=ay t1_W,1277.461,234.822,-257.055,219.999,109.999 +164.wav=ay t2_W,1975.715,251.049,-289.704,219.999,109.998 +164.wav=l ay_W,1031.336,104.823,-242.808,59.999,30.0 +164.wav=n ay1_W,1650.912,81.44,-267.499,39.999,19.999 +164.wav=w ay1_W,503.836,92.207,-265.958,49.999,24.999 +164.wav=l l1_W,951.694,100,-120,60,30 +164.wav=s n1_W,1581.938,85.192,-98.174,79.998,39.998 +164.wav=t s14_W,1495.734,70.12,-101.278,40.0,20.0 +164.wav=t -23_W,2207.303,227.221,-316.801,79.998,40.0 +164.wav=ay10_W,1763.303,40.0,-210.221,20.0,40.0 +165.wav=- d6_W,361.582,51.527,-68.355,39.999,19.998 +165.wav=ay f1_W,1986.53,260.029,-342.912,220,110.0 +165.wav=ay l3_W,1308.706,247.627,-291.642,220.0,110.0 +165.wav=ay s2_W,671.747,249.882,-295.713,219.998,109.998 +165.wav=d ay2_W,382.835,164.024,-351.774,60.0,30.0 +165.wav=l ay3_W,1551.456,140.343,-336.551,60.0,30.0 +165.wav=m ay4_W,1025,106.235,-318.39,40.0,20.0 +165.wav=s m1_W,912,88.783,-140.388,79.999,40.0 +165.wav=f -3_W,2194.839,250.591,-340.17,80.0,40.0 +166.wav=- r1_W,348.853,50.775,-68.065,40.0,20.0 +166.wav=ay k1_W,1895.193,248.821,-287.524,219.999,109.999 +166.wav=ay m3_W,1144.059,243.116,-282.494,219.999,110.0 +166.wav=ay t3_W,652.518,236.824,-265.667,219.998,109.998 +166.wav=l ay4_W,1581.802,105.49,-324.076,59.998,29.997 +166.wav=r ay5_W,396,100.936,-305.978,39.999,20.0 +166.wav=t ay1_W,891.208,182.579,-320.454,129.999,64.998 +166.wav=k t7_W,2100.318,84.704,-112.153,59.998,29.999 +166.wav=m z3_W,1387,81.409,-133.563,59.999,30.0 +166.wav=z l1_W,1529.729,66.47,-85.501,50.0,24.998 +166.wav=t -24_W,2168.963,205.533,-267.071,80.0,40.0 +167.wav=- k11_W,296.776,70.089,-108.281,39.999,19.998 +167.wav=ay l4_W,1797.845,260.031,-313.028,220,110.0 +167.wav=ay n6_W,1212.563,244.807,-278.888,219.998,109.999 +167.wav=ay s3_W,575.601,260.031,-348.594,219.998,109.998 +167.wav=l ay5_W,956.536,126.812,-260.435,59.999,30.0 +167.wav=m ay5_W,1421.496,159.049,-469.086,79.998,39.999 +167.wav=r ay6_W,407.509,65.802,-251.905,39.999,19.999 +167.wav=k r3_W,307,112.626,-126.9,99.999,49.999 +167.wav=l d6_W,2076.637,90.194,-113.8,60.0,29.999 +167.wav=n m2_W,1386.918,81.41,-103.369,60.0,30.0 +167.wav=s t22_W,835.591,87.135,-118.766,79.999,40.0 +167.wav=t l2_W,897.145,74.641,-93.672,59.999,30.0 +167.wav=d -14_W,2147.074,191.99,-263.355,80.0,40.0 +167.wav=n79_W,1065,15,-126.301,15,10 +168.wav=- k12_W,273.63,52.402,-122.167,39.997,19.998 +168.wav=ay m4_W,1313.515,250.445,-292.108,219.999,109.998 +168.wav=ay n7_W,1314.716,260.029,-295.551,220,110.0 +168.wav=ay t4_W,606.848,241.631,-259.658,219.999,109.998 +168.wav=k ay1_W,245.72,195.947,-389.907,119.998,60.0 +168.wav=m ay6_W,1046.648,102.583,-286.216,40.0,20.0 +168.wav=m ay7_W,1540.676,156.582,-371.507,79.999,39.999 +168.wav=n d20_W,2087.022,72.997,-123.18,60.0,29.996 +168.wav=t m2_W,849.11,204.632,-224.366,200,100 +168.wav=d -15_W,2211.728,146.989,-220.99,80.0,40.0 +168.wav=n80_W,1535.938,14.998,-61.737,14.998,10.0 +169.wav=- ay2_W,345.948,134.371,-317.72,59.998,29.999 +169.wav=ay d2_W,1896.394,252.449,-281.293,220.0,109.999 +169.wav=ay l5_W,569.592,249.289,-329.364,219.998,109.998 +169.wav=ay n8_W,1210.16,241.985,-275.282,219.998,109.998 +169.wav=m ay8_W,420.09,132.435,-262.676,79.999,40.0 +169.wav=s ay1_W,1499.737,172.464,-379.977,100.0,50.0 +169.wav=d z11_W,2113.551,100,-150,80.0,40.0 +169.wav=l m1_W,871.63,87.438,-108.814,59.999,30.0 +169.wav=n s5_W,1424.178,94.584,-136.855,60.0,30.0 +169.wav=z -24_W,2202.46,192.814,-286.689,79.998,39.998 +169.wav=ay11_W,452.824,40.0,-210.221,20.0,40.0 +169.wav=n81_W,932.209,15.0,-46.937,15.0,10.0 +17.wav=- n_W,444.909,50.91,-77.613,39.999,19.998 +17.wav=aa k1_W,943.29,141.009,-170.892,109.999,54.999 +17.wav=aa m1_W,2193.176,142.701,-220.667,109.999,55.0 +17.wav=aa z_W,1594.272,151.663,-203.741,110.0,54.999 +17.wav=b aa1_W,1836.584,150,-370,60,30 +17.wav=n aa_W,493,114.585,-330.333,40.0,20.0 +17.wav=q aa_W,1144.431,90.151,-454.004,10.0,10.0 +17.wav=k q2_W,1013.175,147.997,-1357.702,120.0,60.0 +17.wav=z b_W,1747.41,73.41,-120.622,50.0,25.0 +17.wav=m -_W,2274.884,316.335,-382.212,80.0,40.0 +17.wav=aa2_W,614.847,40.0,-210.221,20.0,40.0 +17.wav=n2_W,488.983,14.999,-33.694,14.999,9.998 +170.wav=- b10_W,363.899,51.777,-76.454,39.999,20.0 +170.wav=eh n2_W,1127.868,133.68,-194.572,110.0,55.0 +170.wav=eh r5_W,1989.746,146.647,-183.611,109.999,55.0 +170.wav=eh t1_W,681.028,126.913,-157.901,109.999,54.999 +170.wav=b eh1_W,381.666,136.116,-295.111,60.0,29.999 +170.wav=g eh1_W,948.218,200,-380.231,80.0,40.0 +170.wav=t eh1_W,1549.522,170.187,-437.289,70,45 +170.wav=n s6_W,1380.098,81.409,-116.544,59.999,30.0 +170.wav=r z4_W,2151.587,113.22,-171.382,39.998,19.998 +170.wav=s g1_W,832.971,96.469,-132.449,79.998,40.0 +170.wav=s t23_W,1447.352,89.347,-112.716,80.0,40.0 +170.wav=t s15_W,778.438,103.056,-135.264,79.999,40.0 +170.wav=z -25_W,2265.637,238.105,-321.275,79.999,40.0 +170.wav=n82_W,1085,15,-126.301,15,10 +171.wav=- f9_W,322.235,64.056,-110.665,40.0,20.0 +171.wav=eh l4_W,1927.073,143.651,-197.733,110.0,54.999 +171.wav=eh n3_W,691.609,130.214,-177.301,109.998,54.999 +171.wav=eh t2_W,1275.0,133.677,-171.568,110.0,54.999 +171.wav=g eh2_W,968.084,154.424,-359.86,79.999,39.999 +171.wav=r eh2_W,477.615,86.113,-243.395,39.999,19.998 +171.wav=s eh1_W,1520.69,239.989,-455.737,100.0,50.0 +171.wav=d z12_W,867.258,52.625,-90.505,40.0,20.0 +171.wav=f r5_W,387.891,90.43,-109.095,80.0,39.999 +171.wav=l f1_W,2096.274,100,-120,60,30 +171.wav=n d21_W,834.27,78.772,-124.084,59.999,29.999 +171.wav=s s2_W,1481.628,96.47,-122.82,80.0,40.0 +171.wav=t s16_W,1391.782,103.057,-142.584,80.0,40.0 +171.wav=z g2_W,909.196,73.408,-90.503,49.999,25.0 +171.wav=f -4_W,2107.509,290.317,-379.897,79.998,39.998 +171.wav=n83_W,785,15,-126.301,15,10 +172.wav=- d7_W,267.265,55.622,-73.56,39.997,19.998 +172.wav=eh n4_W,575.034,132.552,-195.136,110.0,55.0 +172.wav=eh n5_W,1904.24,148.339,-261.428,110.0,54.999 +172.wav=eh t3_W,1230.295,121.842,-139.178,109.999,54.998 +172.wav=d eh1_W,278,154.721,-280.733,60.0,30.0 +172.wav=l eh1_W,995.094,107.904,-276.158,59.997,29.999 +172.wav=m eh1_W,1559,89.2,-279.29,40,20 +172.wav=n d22_W,2142.379,82.507,-108.815,60.0,29.999 +172.wav=n t14_W,712.726,67.135,-83.051,59.998,29.999 +172.wav=t l3_W,882.526,113.726,-134.038,99.999,50.0 +172.wav=t m3_W,1358.479,103.057,-142.584,80.0,40.0 +172.wav=d -16_W,2203.358,192.048,-266.049,49.5,29.998 +172.wav=n84_W,585,15,-126.301,15,10 +172.wav=n85_W,1815,15,-126.301,15,10 +173.wav=- dh2_W,225,54.442,-1722.937,39.998,19.999 +173.wav=eh g1_W,1220,130.86,-170.328,110.0,55.0 +173.wav=eh k2_W,1875.0,146.451,-180.102,110.0,54.999 +173.wav=eh m1_W,635,150.055,-248.699,109.999,54.999 +173.wav=b eh2_W,907.46,150,-370,60,30 +173.wav=dh eh1_W,329.086,138.286,-304.203,60.0,30.0 +173.wav=s eh2_W,1455.348,239.165,-455.737,100.0,50.0 +173.wav=d s3_W,1331.541,100,-150,80.0,40.0 +173.wav=g d_W,1349.978,69.882,-83.057,60.0,30.0 +173.wav=k s3_W,2032.914,84.155,-136.308,60.0,29.999 +173.wav=m b1_W,851.406,65.776,-93.234,59.998,29.999 +173.wav=s -13_W,2175,198.58,-275.162,80.0,40.0 +174.wav=- l2_W,277.099,50.996,-72.406,39.999,19.998 +174.wav=eh f1_W,545.0,126.606,-265.022,109.999,54.998 +174.wav=eh n6_W,980,133.116,-180.818,110.0,54.999 +174.wav=eh s1_W,1958.184,146.882,-244.986,110.0,55.0 +174.wav=l eh2_W,320,89.601,-209.047,60.0,29.999 +174.wav=r eh3_W,1540.0,115.728,-280.476,40.0,20.0 +174.wav=t eh2_W,861.62,196.977,-373.41,99.997,49.995 +174.wav=f t4_W,683.933,87.941,-177.109,79.999,40.0 +174.wav=n t15_W,1265.903,81.409,-109.408,60.0,30.0 +174.wav=s t24_W,755.614,96.47,-125.566,79.999,40.0 +174.wav=t r2_W,1412.623,126.039,-142.584,120.0,60.0 +174.wav=t s17_W,683.939,103.057,-142.584,80.0,40.0 +174.wav=t t1_W,1346.669,144.23,-169.483,80.0,40.0 +174.wav=s -14_W,2115.137,143.005,-175.12,80.0,40.0 +174.wav=n86_W,1015,15,-126.301,15,10 +175.wav=- s18_W,201.297,57.29,-115.803,40.0,19.999 +175.wav=eh n7_W,1118.253,131.989,-223.327,110.0,55.0 +175.wav=eh n8_W,1816.507,129.169,-216.561,110.0,55.0 +175.wav=eh p1_W,555,153.977,-183.277,110.0,55.0 +175.wav=dh eh2_W,1408.829,179.999,-369.534,60.0,30.0 +175.wav=p eh1_W,872.408,131.858,-284.934,59.999,30.0 +175.wav=w eh3_W,362.456,96.737,-233.443,49.999,24.998 +175.wav=d dh3_W,1324.273,99.999,-123.918,79.999,40.0 +175.wav=n d23_W,1330.761,88.88,-115.107,59.998,29.997 +175.wav=p t1_W,715.858,83.887,-124.912,59.999,29.999 +175.wav=s p1_W,768.571,96.469,-132.449,79.999,40.0 +175.wav=s w1_W,239.357,128.235,-145.328,120.0,60.0 +175.wav=t s18_W,707.288,103.057,-142.584,80.0,40.0 +175.wav=n -9_W,2034.366,191.168,-266.169,79.998,39.998 +175.wav=n87_W,1235,15,-126.301,15,10 +175.wav=n88_W,1765,15,-126.301,15,10 +176.wav=- s19_W,266.685,59.796,-129.458,40.0,20.0 +176.wav=eh n9_W,760.0,140.468,-202.653,109.998,54.999 +176.wav=eh s2_W,1976.93,167.764,-256.052,109.998,54.998 +176.wav=eh v1_W,1320.271,133.68,-192.317,110.0,55.0 +176.wav=n eh_W,889.798,169.968,-341.727,79.999,39.999 +176.wav=r eh4_W,1571.377,133.877,-347.154,40.0,20.0 +176.wav=s eh3_W,350,200,-420,100,50 +176.wav=v r1_W,1487.336,86.588,-101.959,79.999,39.999 +176.wav=s -15_W,2147.406,209.213,-227.129,80.0,40.0 +176.wav=eh3_W,1037.118,40.0,-210.221,20.0,40.0 +176.wav=n89_W,870,15,-126.301,15,10 +177.wav=- w4_W,308.348,50.775,-68.065,40,20 +177.wav=eh r6_W,1059.688,150.595,-208.144,109.999,54.999 +177.wav=eh s3_W,619.0,141.771,-205.911,109.999,54.999 +177.wav=eh s4_W,1874.0,230.455,-349.635,109.998,54.998 +177.wav=b eh3_W,1435.703,150,-370,60,30 +177.wav=dh eh3_W,873.575,179.999,-345.008,60.0,30.0 +177.wav=w eh4_W,351,117.152,-1916.245,49.998,24.997 +177.wav=r z5_W,1301,69.096,-105.328,40.0,20.0 +177.wav=s t25_W,765,96.47,-145.329,80.0,40.0 +177.wav=s t26_W,2145.845,96.47,-115.135,80.0,40.0 +177.wav=t dh3_W,775.073,84.886,-126.47,59.999,30.0 +177.wav=z b2_W,1347,73.41,-120.622,50.0,25.0 +177.wav=t -25_W,2251.696,123.323,-153.998,79.997,40.0 +178.wav=- d8_W,221.552,61.801,-97.863,39.998,19.998 +178.wav=eh d1_W,1975.0,165.43,-275.997,109.999,54.999 +178.wav=eh l5_W,1070.182,150.436,-237.121,109.998,55.0 +178.wav=eh s5_W,615.0,132.386,-191.216,109.998,55.0 +178.wav=r eh5_W,338.572,87.905,-225.779,39.999,20.0 +178.wav=s eh4_W,1373.453,172.465,-398.918,100.0,50.0 +178.wav=t eh3_W,826.566,162.034,-313.278,99.999,50.0 +178.wav=d r3_W,240.41,99.999,-127.761,79.999,39.999 +178.wav=l s1_W,1270.064,99.999,-132.183,59.999,30.0 +178.wav=s t27_W,737.954,87.27,-104.926,79.999,39.999 +178.wav=t t2_W,765.492,103.056,-117.878,79.999,40.0 +178.wav=d -17_W,2091.771,246.693,-330.041,79.997,39.997 +179.wav=- m10_W,301.405,51.777,-67.816,39.999,20.0 +179.wav=eh l6_W,1820.113,119.999,-219.38,110.0,55.0 +179.wav=eh n_W,595.464,153.978,-231.22,110.0,55.0 +179.wav=eh n11_W,1249.251,151.173,-183.311,110.0,54.999 +179.wav=m eh2_W,340.393,76.514,-268.493,29.999,15.0 +179.wav=w eh5_W,986,141.404,-290.452,49.999,25.0 +179.wav=y eh1_W,1466.172,107.766,-301.725,39.997,19.998 +179.wav=d w2_W,907.529,70.905,-88.562,59.999,29.999 +179.wav=n d24_W,792.224,89.08,-123.354,59.998,29.999 +179.wav=n y3_W,1275,81.41,-103.369,60.0,30.0 +179.wav=l -5_W,1959.348,222.249,-336.413,79.999,39.999 +179.wav=n90_W,729.679,15.0,-112.001,15.0,10.0 +179.wav=n91_W,1215,15,-126.301,15,10 +18.wav=- s_W,336.702,60.539,-128.533,39.999,20.0 +18.wav=ae n_W,1001.88,141.291,-217.05,109.999,55.0 +18.wav=ae n1_W,2104.642,119.999,-179.349,110.0,55.0 +18.wav=ae t2_W,2247.86,138.82,-211.492,109.999,54.999 +18.wav=dh ae_W,1179.725,151.338,-349.237,60.0,30.0 +18.wav=k ae_W,487.993,165.404,-381.975,60.0,29.999 +18.wav=m ae_W,1896.829,147.658,-367.389,30.0,15.0 +18.wav=n dh_W,1144.799,71.528,-85.802,60.0,30.0 +18.wav=n s_W,2418.156,110.506,-157.629,60.0,29.999 +18.wav=s k_W,398.798,90.385,-109.599,79.998,39.999 +18.wav=t m_W,1788.483,103.057,-142.584,80.0,40.0 +18.wav=s -1_W,2538.241,124.4,-187.495,79.998,39.999 +18.wav=n3_W,1123.878,14.998,-99.127,14.998,9.999 +18.wav=n4_W,1840.645,14.998,-90.314,14.998,10.0 +180.wav=- y3_W,270.735,50.774,-75.834,40.0,20.0 +180.wav=er d2_W,1915.0,163.653,-262.969,109.999,54.999 +180.wav=er n_W,649.481,150.35,-178.936,109.998,55.0 +180.wav=er s1_W,1165,135.527,-211.286,110.0,54.999 +180.wav=d er1_W,835.017,149.646,-303.034,59.999,30.0 +180.wav=hh er2_W,1430,257.868,-485.945,80.0,40.0 +180.wav=y er2_W,325.718,113.611,-283.034,39.999,19.998 +180.wav=n d25_W,785.968,62.078,-67.271,59.999,30.0 +180.wav=s t28_W,1315.435,87.686,-97.018,80.0,40.0 +180.wav=t hh2_W,1297.784,103.057,-142.584,80.0,40.0 +180.wav=d -18_W,2027.912,164.01,-200.508,79.998,39.999 +180.wav=n92_W,475,15,-126.301,15,10 +181.wav=- f10_W,182.78,74.581,-133.969,40.0,19.999 +181.wav=er l1_W,1739.667,173.407,-249.165,110.0,54.999 +181.wav=er s2_W,1225.0,145.38,-193.516,109.999,54.999 +181.wav=er t2_W,644.807,163.746,-246.705,109.997,54.999 +181.wav=f er2_W,869.933,159.498,-334.562,80.0,40.0 +181.wav=g er1_W,1450.686,144.986,-348.738,79.998,39.997 +181.wav=l er_W,362.971,145.205,-318.342,60.0,29.999 +181.wav=f l4_W,266.894,95.92,-122.82,79.999,39.999 +181.wav=s t29_W,1344.453,96.469,-113.919,79.999,39.999 +181.wav=t f2_W,739.98,103.057,-142.584,80.0,40.0 +181.wav=t g2_W,1340.298,103.056,-138.162,80.0,40.0 +181.wav=l -6_W,1938.476,230.192,-268.298,79.999,40.0 +182.wav=- b11_W,255.112,48.018,-55.035,40.0,20.0 +182.wav=ey b1_W,564.016,253.938,-276.084,219.999,109.998 +182.wav=ey k2_W,1700.963,238.051,-272.578,219.997,109.998 +182.wav=ey t1_W,1017.417,236.469,-264.399,219.997,109.998 +182.wav=b ey1_W,273.004,150.0,-297.647,59.998,30.0 +182.wav=b ey2_W,796.46,149.999,-299.34,59.999,29.999 +182.wav=m ey1_W,1410,105.371,-336.253,30.0,14.998 +182.wav=k s4_W,1945.0,111.267,-222.274,59.999,29.997 +182.wav=t m4_W,1247.986,164.646,-183.861,80.0,40.0 +182.wav=s -16_W,2150.0,122.838,-227.412,79.997,39.998 +183.wav=- b12_W,269.0,47.381,-67.196,39.999,19.997 +183.wav=ey k3_W,1824.865,240.295,-264.4,219.999,109.998 +183.wav=ey n2_W,457.689,240.296,-273.748,219.999,109.999 +183.wav=ey s1_W,1119.134,240.295,-300.621,219.998,109.997 +183.wav=l ey1_W,956.0,120.047,-302.399,59.998,30.0 +183.wav=r ey2_W,367.783,113.288,-263.159,39.999,19.998 +183.wav=r ey3_W,1549.178,119.998,-354.565,40.0,20.0 +183.wav=b r4_W,269.623,83.999,-104.22,70.0,35.0 +183.wav=b r5_W,1454.235,83.999,-114.467,70,35 +183.wav=n z3_W,696.126,81.41,-103.369,60.0,30.0 +183.wav=p l3_W,833.225,112.079,-135.134,99.999,50.0 +183.wav=s t30_W,1364.0,96.469,-124.915,79.999,39.999 +183.wav=t b3_W,1411.514,89.349,-108.563,80.0,40.0 +183.wav=z p1_W,754.947,73.409,-99.408,49.999,24.999 +183.wav=k -4_W,2042.936,245.583,-360.102,79.998,40.0 +183.wav=n93_W,691,15,-126.301,15,10 +184.wav=- s20_W,211.713,58.543,-102.145,40.0,20.0 +184.wav=ey k4_W,1162.365,234.021,-253.885,219.999,109.999 +184.wav=ey n3_W,580.375,240.295,-284.263,219.998,109.998 +184.wav=ey n4_W,1826.035,240.294,-334.505,219.999,109.997 +184.wav=r ey4_W,1608.767,84,-255.739,40.0,20.0 +184.wav=t ey1_W,322.592,141.369,-364.801,70.0,44.999 +184.wav=t ey2_W,890.828,170.187,-365.156,100.0,50.0 +184.wav=d t2_W,863.094,95.921,-114.586,79.999,40.0 +184.wav=k s5_W,1413.338,80.859,-115.672,60.0,30.0 +184.wav=n d26_W,827.001,72.078,-90.743,60.0,30.0 +184.wav=n t16_W,2126.38,72.626,-116.083,59.997,29.996 +184.wav=s t31_W,243.525,96.47,-107.449,80.0,39.999 +184.wav=s t32_W,1426.581,96.47,-117.79,80.0,40.0 +184.wav=t r3_W,1516.946,89.332,-109.645,80.0,40.0 +184.wav=t -26_W,2167.566,186.501,-219.217,80.0,40.0 +184.wav=n94_W,810,15,-126.301,15,10 +184.wav=n95_W,2090,15,-126.301,15,10 +185.wav=- t6_W,300.825,70.167,-136.055,39.999,19.999 +185.wav=ih n4_W,700.89,155.105,-287.038,110.0,55.0 +185.wav=ih s1_W,1365,135.934,-194.817,110.0,54.999 +185.wav=ih z1_W,2105.0,152.563,-241.364,109.999,55.0 +185.wav=dh ih3_W,981.072,156.979,-352.107,59.999,29.999 +185.wav=s ih_W,1525,200,-420,100,50 +185.wav=t ih1_W,316.339,226.191,-385.097,130.0,65.0 +185.wav=n dh2_W,913.178,67.686,-95.684,60.0,30.0 +185.wav=z -26_W,2272.566,180.416,-213.354,79.999,40.0 +185.wav=n96_W,535,15,-126.301,15,10 +186.wav=- l3_W,425.235,51.026,-70.321,40.0,20.0 +186.wav=ih l1_W,1116.875,149.527,-235.99,110.0,54.999 +186.wav=ih n5_W,1995,139.318,-210.359,110.0,55.0 +186.wav=ih t1_W,725.428,120.515,-128.694,109.998,55.0 +186.wav=k ih_W,1516.292,148.093,-476.63,59.998,30.0 +186.wav=l ih2_W,486.446,123.711,-256.795,30.0,14.998 +186.wav=r ih3_W,1033.791,76.823,-234.769,39.995,19.998 +186.wav=l s2_W,1359.844,89.644,-131.661,59.998,29.997 +186.wav=s k6_W,1421.385,96.47,-112.716,80.0,40.0 +186.wav=s t33_W,840.248,96.469,-111.841,79.999,40.0 +186.wav=t r4_W,910.346,124.154,-129.866,120.0,59.999 +186.wav=t s19_W,898.932,59.764,-94.349,40.0,20.0 +186.wav=n -10_W,2169.825,136.67,-278.238,80.0,40.0 +186.wav=n97_W,2105,15,-126.301,15,10 +187.wav=- d9_W,294.46,54.763,-109.437,39.999,19.998 +187.wav=ih n6_W,1260.0,119.998,-225.187,109.998,54.999 +187.wav=ih ng4_W,674.018,149.467,-264.231,109.998,54.999 +187.wav=ih s2_W,1898.644,142.115,-215.403,110.0,54.999 +187.wav=l ih3_W,1445.049,117.045,-350.94,60.0,30.0 +187.wav=m ih1_W,900.45,139.051,-349.787,59.999,30.905 +187.wav=r ih4_W,423.867,94.898,-215.124,39.999,20.0 +187.wav=d r4_W,336.48,93.176,-114.037,80.0,39.999 +187.wav=n l1_W,1878.144,81.41,-103.369,60.0,30.0 +187.wav=ng m1_W,821.287,81.409,-132.702,59.999,30.0 +187.wav=s -17_W,2055.065,246.249,-317.913,80.0,40.0 +187.wav=n98_W,1370,15,-126.301,15,10 +187.wav=ng20_W,780.228,15,-126.301,15,10 +188.wav=- k13_W,413.663,72.982,-127.375,39.999,20.0 +188.wav=ih n7_W,1335.0,149.467,-213.219,110.0,54.999 +188.wav=ih ng5_W,835.26,143.761,-217.495,109.998,55.0 +188.wav=ih ng6_W,2104.271,137.628,-259.975,110.0,55.0 +188.wav=k ih2_W,432.666,211.704,-490.393,120.0,59.999 +188.wav=ng ih1_W,995,141.761,-276.809,79.999,40.0 +188.wav=t ih2_W,1573.631,209.033,-496.914,99.998,50.0 +188.wav=n t17_W,1499.612,75.92,-90.194,60.0,30.0 +188.wav=ng z1_W,2329.049,92.493,-137.376,60.0,29.996 +188.wav=z -27_W,2410.512,229.558,-371.328,79.998,39.998 +188.wav=ih10_W,1118.885,40.0,-210.221,20.0,40.0 +188.wav=n99_W,1445,15,-126.301,15,10 +188.wav=ng21_W,978.314,15.0,-88.048,15.0,10.0 +188.wav=ng22_W,2211.992,15,-126.301,15,10 +189.wav=- s21_W,206.505,70.571,-110.017,40.0,19.999 +189.wav=ih ng7_W,1141.388,126.914,-199.082,110.0,55.0 +189.wav=ih p1_W,605.0,120.0,-154.479,109.998,54.999 +189.wav=ih t2_W,1950.0,125.21,-132.22,110.0,54.999 +189.wav=d ih1_W,887.598,149.648,-338.243,59.999,30.0 +189.wav=l ih4_W,385.172,128.137,-279.647,59.999,30.0 +189.wav=t ih3_W,1421.374,170.187,-402.212,100.0,50.0 +189.wav=ng t1_W,1341.669,68.664,-90.117,59.998,30.0 +189.wav=p s3_W,722.094,79.213,-116.603,59.999,29.999 +189.wav=s d2_W,768.572,96.469,-129.407,79.999,40.0 +189.wav=s l4_W,300.129,92.626,-116.232,80.0,39.999 +189.wav=t -27_W,2099.0,155.816,-301.163,79.997,39.999 +189.wav=ng23_W,1259.411,15,-126.301,15,10 +19.wav=- hh_W,426.392,56.045,-145.894,39.999,20.0 +19.wav=ae d_W,2478.308,136.412,-154.265,109.998,54.999 +19.wav=ae k_W,1673.692,159.408,-209.639,110.0,54.999 +19.wav=ae v_W,1079.996,130.298,-170.892,110.0,55.0 +19.wav=b ae_W,1213.642,150.0,-316.254,59.999,30.0 +19.wav=hh ae_W,614.048,157.262,-453.081,79.999,39.999 +19.wav=t ae1_W,1889.712,212.547,-464.928,69.998,44.999 +19.wav=d z1_W,2585.747,105.995,-159.557,80.0,40.0 +19.wav=k t_W,1793.501,83.057,-95.683,59.999,29.999 +19.wav=v b_W,1129.912,73.409,-106.084,50.0,24.999 +19.wav=z -_W,2685.562,212.501,-295.945,80.0,40.0 +190.wav=- s22_W,131.859,63.805,-138.98,40.0,20.0 +190.wav=ih n8_W,517.448,134.12,-223.336,109.998,54.999 +190.wav=ih p2_W,1856,129.733,-159.615,110.0,55.0 +190.wav=ih t3_W,1126.0,127.785,-147.648,110.0,54.999 +190.wav=r ih5_W,884.228,91.055,-294.451,40.0,20.0 +190.wav=r ih6_W,1474,94.349,-306.803,40.0,20.0 +190.wav=s ih2_W,208.466,192.778,-384.371,99.999,49.999 +190.wav=k r4_W,1333.022,127.942,-144.924,119.996,59.998 +190.wav=n p1_W,683.126,75.882,-100.503,59.998,29.999 +190.wav=p r3_W,769.569,134.021,-151.158,120.0,60.0 +190.wav=p s4_W,1977.242,112.078,-177.48,59.999,29.998 +190.wav=t k2_W,1243.711,103.056,-127.776,80.0,40.0 +190.wav=s -18_W,2106,142.704,-212.699,80.0,40.0 +190.wav=n10_W,633.867,15.0,-92.896,15.0,10.0 +191.wav=- ng1_W,281.73,50.774,-76.084,40.0,20.0 +191.wav=ih ch1_W,1825,135.371,-171.455,110.0,55.0 +191.wav=ih ng8_W,559.51,131.425,-213.741,110.0,55.0 +191.wav=ih t4_W,1120.0,125.574,-153.616,109.999,54.998 +191.wav=b ih1_W,1345,150,-370,60,30 +191.wav=hh ih1_W,826.702,168.814,-361.591,79.998,39.999 +191.wav=ng ih2_W,777.901,170.864,-318.439,40.0,20.0 +191.wav=ng hh_W,766.794,81.409,-129.72,59.999,29.999 +191.wav=t b4_W,1247.98,103.056,-130.892,79.999,39.999 +191.wav=ch -1_W,1931.305,339.947,-401.466,80.0,40.0 +191.wav=ih11_W,930.327,40.0,-210.221,20.0,40.0 +191.wav=ng24_W,673.594,15.0,-102.763,15.0,10.0 +191.wav=ng25_W,673.132,15.0,-110.55,15.0,10.0 +192.wav=- v5_W,243.539,50.775,-68.065,40,20 +192.wav=ih ng9_W,605.079,129.169,-229.529,110.0,55.0 +192.wav=ih r3_W,1038.598,158.488,-223.326,110.0,55.0 +192.wav=ih t5_W,1841,135.936,-164.126,110.0,55.0 +192.wav=s ih3_W,1399.159,213.638,-391.507,99.999,50.0 +192.wav=v ih1_W,270.664,168.664,-377.813,60.0,29.999 +192.wav=y ih1_W,853.852,150.344,-311.073,39.996,19.996 +192.wav=ng y1_W,783.403,81.41,-103.369,60.0,30.0 +192.wav=r z6_W,1243.834,90.505,-154.188,40.0,20.0 +192.wav=z s2_W,1313.822,73.756,-120.622,50.0,24.998 +192.wav=t -28_W,1958.567,298.107,-428.972,80.0,40.0 +192.wav=ng26_W,756.684,14.997,-81.47,14.997,10.0 +193.wav=- s23_W,230.808,60.298,-112.419,40.0,20.0 +193.wav=ih m2_W,1238.471,144.58,-201.137,109.999,54.999 +193.wav=ih n9_W,671.68,134.595,-194.125,109.998,54.999 +193.wav=ih ng10_W,1246.74,143.213,-192.958,109.998,54.999 +193.wav=p ih2_W,374.656,98.0,-267.203,60.0,29.999 +193.wav=s ih4_W,924.715,177.406,-336.971,99.998,49.999 +193.wav=th ih1_W,1493.026,197.875,-407.024,60.0,30.0 +193.wav=m th1_W,1398.0,90.979,-130.965,59.998,29.998 +193.wav=n s7_W,818.191,94.037,-137.406,59.999,29.999 +193.wav=ng z2_W,2105.0,153.167,-203.54,59.998,29.999 +193.wav=s p2_W,275.723,96.469,-129.407,79.999,40.0 +193.wav=z -28_W,2265.724,219.165,-354.214,80.0,40.0 +193.wav=ih12_W,1630.027,40.0,-210.221,20.0,40.0 +193.wav=n101_W,485,15,-126.301,15,10 +193.wav=ng27_W,2028.626,15,-126.301,15,10 +194.wav=- n7_W,301.983,47.518,-69.511,39.999,20.0 +194.wav=ih sh1_W,1871,156.938,-243.402,110.0,54.999 +194.wav=ih t6_W,596,134.808,-161.307,110.0,55.0 +194.wav=ih t7_W,1156,128.606,-162.434,110.0,55.0 +194.wav=n ih2_W,347,104.328,-303.073,39.999,20.0 +194.wav=w ih3_W,925.639,125.758,-269.999,50.0,24.997 +194.wav=w ih4_W,1478.383,124.373,-347.984,49.999,24.997 +194.wav=s w2_W,1361.136,138.693,-163.619,119.998,60.0 +194.wav=sh t2_W,2048.748,96.47,-111.842,80.0,40.0 +194.wav=t s20_W,1276.499,68.16,-118.707,40.0,20.0 +194.wav=t w3_W,805.953,123.842,-142.583,119.998,59.999 +194.wav=t -29_W,2116.857,244.358,-309.791,80.0,40.0 +194.wav=ih13_W,397.52,40.0,-210.22,19.999,39.999 +194.wav=n102_W,331,15,-126.301,15,10 +195.wav=- g7_W,350.01,50.59,-77.034,39.999,19.998 +195.wav=ih k2_W,1236.0,130.938,-232.767,109.998,54.999 +195.wav=ih t8_W,1996,126.351,-166.382,110.0,55.0 +195.wav=ih v1_W,749.966,146.22,-210.483,109.997,54.999 +195.wav=g ih1_W,353.489,179.646,-418.29,79.998,39.999 +195.wav=p ih3_W,1512.495,191.189,-525.249,100,50 +195.wav=z ih1_W,890.694,183.093,-370.042,119.997,59.999 +195.wav=k s6_W,1342.776,69.882,-97.975,59.998,29.998 +195.wav=s p3_W,1392.376,96.47,-133.25,80.0,40.0 +195.wav=v z1_W,833.395,74.47,-134.126,49.999,24.998 +195.wav=t -30_W,2108.904,258.382,-319.14,80.0,40.0 +196.wav=- w5_W,606.356,50.775,-68.065,40,20 +196.wav=ih l2_W,940.442,135.527,-179.994,109.999,54.999 +196.wav=ih n10_W,1582.094,130.297,-218.252,110.0,55.0 +196.wav=ih s3_W,2227.0,157.922,-278.336,109.999,54.999 +196.wav=l ih5_W,1187.937,109.408,-267.513,60.0,30.0 +196.wav=m ih2_W,1733.626,134.126,-415.973,80.0,40.0 +196.wav=w ih5_W,647.553,154.602,-398.347,49.999,24.998 +196.wav=n m3_W,1696.901,81.41,-103.369,60.0,30.0 +196.wav=s t34_W,2444.474,96.47,-122.82,80.0,40.0 +196.wav=t -31_W,2541.811,137.117,-225.918,60.0,29.999 +196.wav=n103_W,1677,15,-126.301,15,10 +197.wav=- s24_W,351.747,63.554,-103.482,39.999,20.0 +197.wav=ih l3_W,768.66,159.408,-220.345,109.999,54.999 +197.wav=ih n11_W,1416.022,145.053,-233.853,110.0,54.999 +197.wav=ih t9_W,2105,131.425,-193.444,110.0,55.0 +197.wav=d ih2_W,1658.84,150.491,-421.122,60.0,30.0 +197.wav=t ih4_W,492.015,129.288,-286.297,69.999,45.0 +197.wav=w ih6_W,1110.258,120.818,-303.55,50.0,24.998 +197.wav=l w2_W,1057.053,114.538,-138.426,99.998,50.0 +197.wav=n d27_W,1613.802,69.334,-78.666,60.0,30.0 +197.wav=s t35_W,407.628,96.469,-106.482,79.998,39.999 +197.wav=t s21_W,2240.39,126.935,-199.501,79.998,40.0 +197.wav=s -19_W,2392.787,217.096,-321.475,79.999,39.999 +197.wav=n104_W,1520,15,-126.301,15,10 +198.wav=- th4_W,247.59,71.198,-114.047,39.999,20.0 +198.wav=ih ng11_W,648.312,123.999,-195.641,109.999,55.0 +198.wav=ih ng12_W,1849.535,125.224,-203.594,110.0,55.0 +198.wav=ih t10_W,1245.0,119.997,-175.857,109.997,54.998 +198.wav=k ih3_W,866.05,151.652,-337.433,68.0,34.0 +198.wav=s ih5_W,1426.047,181.523,-398.918,100.0,50.0 +198.wav=th ih2_W,332.592,121.377,-370.803,60.0,29.999 +198.wav=ng k3_W,774.405,69.879,-89.74,59.999,30.0 +198.wav=t s22_W,1352.314,86.222,-111.475,80.0,40.0 +198.wav=ng -2_W,2015.0,322.847,-415.542,79.997,40.0 +198.wav=ih14_W,444.256,40.0,-210.221,20.0,40.0 +198.wav=ng28_W,757.202,15.0,-101.531,15.0,10.0 +198.wav=ng29_W,1974.016,14.999,-82.509,14.999,10.0 +198.wav=th11_W,291.129,14.999,-69.348,14.999,10.0 +199.wav=- p16_W,334.387,52.404,-104.23,39.999,19.998 +199.wav=ih ng13_W,674.016,135.372,-267.304,110.0,55.0 +199.wav=ih ng14_W,1185.809,131.425,-195.136,110.0,55.0 +199.wav=ih r4_W,1829.786,120,-243.278,110.0,55.0 +199.wav=n ih3_W,929.524,130.229,-321.274,79.999,39.999 +199.wav=p ih4_W,328.678,191.189,-441.375,120.0,60.0 +199.wav=t ih5_W,1571.836,105.683,-257.201,70.0,44.999 +199.wav=ng n_W,895.579,81.41,-103.369,60.0,30.0 +199.wav=ng s1_W,1410.279,79.214,-118.161,59.999,30.0 +199.wav=s t36_W,1465.601,96.47,-104.926,80.0,40.0 +199.wav=r -4_W,2116.165,323.033,-407.939,80.0,40.0 +199.wav=ih15_W,1069.051,40.0,-210.221,20.0,40.0 +199.wav=n105_W,975,15,-126.301,15,10 +199.wav=ng30_W,812.255,15,-126.301,15,10 +199.wav=ng31_W,1353.448,14.998,-92.374,14.998,10.0 +2.wav=- ow_W,559.735,160,-450,60,30 +2.wav=ah ow_W,2473.295,340,-650,240,120 +2.wav=ih uw1_W,1771.536,365.589,-612.963,240.0,119.999 +2.wav=ow ih_W,1160.914,340,-650,240,120 +2.wav=uw ah_W,2402.989,340,-650,240,120 +2.wav=ow -_W,3311.272,555.276,-677.972,299.999,120.0 +2.wav=ah1_W,2654.177,40.0,-210.221,20.0,40.0 +2.wav=ih2_W,1340.061,40.0,-366.123,20.0,40.0 +2.wav=ow_W,683.395,40.0,-210.221,20.0,40.0 +2.wav=ow1_W,2668,40.0,-417.8,20.0,40.0 +2.wav=uw1_W,2010.751,40.0,-210.221,20.0,40.0 +20.wav=- l1_W,442.017,47.773,-78.769,39.999,20.0 +20.wav=ae f_W,860,136.5,-192.881,110.0,55.0 +20.wav=ae m_W,2197.229,119.999,-208.627,110.0,55.0 +20.wav=ae s_W,1600.0,141.77,-234.616,109.999,54.999 +20.wav=l ae_W,460,107.36,-275.659,60.0,29.999 +20.wav=r ae_W,1200.897,80.501,-313.541,40.0,20.0 +20.wav=y ae_W,1889.167,106.026,-383.259,40.0,20.0 +20.wav=f s1_W,972.117,88.235,-126.663,79.999,40.0 +20.wav=g r_W,1141.677,69.882,-83.057,60.0,30.0 +20.wav=s g_W,1025.606,96.468,-128.294,79.998,39.998 +20.wav=s y_W,1783.266,133.724,-158.977,119.999,60.0 +20.wav=m -1_W,2316.861,138.466,-238.929,80.0,40.0 +200.wav=- ih1_W,330.589,120.892,-291.728,60.0,30.0 +200.wav=ih k3_W,1835.0,137.062,-177.149,109.998,54.999 +200.wav=ih l4_W,1021.078,165.815,-247.874,109.999,54.999 +200.wav=ih t11_W,585.0,132.383,-147.605,109.998,54.999 +200.wav=b ih2_W,859.554,150,-370,60,30 +200.wav=b ih3_W,1404.155,150,-370,60,30 +200.wav=d b2_W,1306.087,100.0,-117.909,80.0,40.0 +200.wav=l d7_W,1258.051,126.989,-145.684,59.998,29.998 +200.wav=s b2_W,618.491,121.024,-170.358,79.999,40.0 +200.wav=t s23_W,710,93.176,-125.016,79.999,39.999 +200.wav=k -5_W,1945.565,319.137,-358.864,79.998,39.998 +200.wav=ih16_W,418.55,40.0,-210.221,20.0,40.0 +201.wav=- f11_W,237.752,70.447,-142.991,40.0,19.999 +201.wav=iy k1_W,595.0,164.876,-201.869,109.998,54.999 +201.wav=iy r1_W,1137.903,119.881,-219.831,109.998,54.999 +201.wav=iy t2_W,1875,119.999,-164.168,110.0,55.0 +201.wav=m iy1_W,1392.284,133.281,-395.454,80.0,40.0 +201.wav=r iy2_W,413.351,97.999,-229.397,39.999,20.0 +201.wav=w iy2_W,940.828,132.348,-334.097,50.0,25.0 +201.wav=f r6_W,327.652,92.626,-115.134,80.0,39.999 +201.wav=k t8_W,712.747,75.921,-95.684,59.999,30.0 +201.wav=r m5_W,1352.309,61.959,-117.955,40.0,20.0 +201.wav=t s24_W,1992.665,135.599,-175.716,79.997,39.997 +201.wav=t w4_W,793.226,146.588,-161.96,140.0,70.0 +201.wav=s -20_W,2110.0,151.509,-336.121,80.0,40.0 +202.wav=- f12_W,236.016,80.219,-121.941,40.0,20.0 +202.wav=iy l2_W,515.0,166.194,-264.343,109.998,54.997 +202.wav=iy n1_W,2005.0,123.441,-210.499,110.0,54.999 +202.wav=iy s1_W,1235,139.605,-1875.371,109.999,54.999 +202.wav=b iy1_W,961,128.502,-290.882,59.999,30.0 +202.wav=f iy1_W,332.457,147.767,-307.842,79.998,39.999 +202.wav=m iy2_W,1562,134.972,-401.151,40.0,20.0 +202.wav=d b3_W,835.017,89.334,-109.098,79.999,40.0 +202.wav=l d8_W,766.214,70.904,-84.926,59.999,30.0 +202.wav=s t37_W,1405.216,96.468,-126.217,79.998,39.997 +202.wav=t m5_W,1461.821,91.553,-113.33,80.0,40.0 +202.wav=n -11_W,2154.166,134.878,-266.564,79.997,39.997 +202.wav=n106_W,2115,15,-126.301,15,10 +203.wav=- k14_W,260.899,71.197,-171.932,39.999,19.998 +203.wav=iy d2_W,2044.0,126.608,-198.373,109.999,54.999 +203.wav=iy m2_W,1315,137.627,-227.29,110.0,55.0 +203.wav=iy p1_W,670.513,145.051,-169.588,109.997,54.999 +203.wav=k iy1_W,285.172,230.106,-408.876,159.999,80.0 +203.wav=n iy1_W,1480.011,155.759,-384.682,80.0,40.0 +203.wav=r iy3_W,1057,120.151,-304.607,40.0,20.0 +203.wav=d r5_W,917.574,127.787,-136.616,119.997,60.0 +203.wav=d z13_W,2122.393,54.021,-86.218,39.999,20.0 +203.wav=m n1_W,1441.315,81.41,-103.369,60.0,30.0 +203.wav=p d1_W,770.875,112.079,-129.6,99.999,50.0 +203.wav=z -29_W,2153.384,258.38,-329.265,79.998,39.998 +203.wav=iy8_W,1653.317,40.0,-210.221,20.0,40.0 +204.wav=- s25_W,284.906,44.925,-98.739,9.626,3.209 +204.wav=iy l3_W,1078.328,185.095,-332.001,109.998,54.998 +204.wav=iy v2_W,731.271,138.159,-183.609,109.998,54.999 +204.wav=iy z2_W,2055,147.67,-255.544,109.999,55.0 +204.wav=l iy4_W,443.593,118.489,-310.044,59.999,29.999 +204.wav=m iy3_W,943,73.216,-1765.108,40.0,20.0 +204.wav=m iy4_W,1460.283,116.663,-397.442,60.0,30.0 +204.wav=l m2_W,1397.691,76.098,-107.257,60.0,30.0 +204.wav=s l5_W,365.043,88.418,-116.233,79.999,39.998 +204.wav=v m2_W,843.326,87.687,-116.783,79.999,40.0 +204.wav=z -30_W,2225.0,135.663,-284.134,79.997,40.0 +205.wav=- w6_W,384.729,50.775,-68.065,40,20 +205.wav=iy k2_W,705,120,-156.278,110.0,55.0 +205.wav=iy m3_W,1355.0,132.39,-162.842,109.998,54.999 +205.wav=iy t3_W,2151.009,147.389,-167.252,109.998,54.999 +205.wav=r iy4_W,1096.89,90.999,-275.51,39.999,20.0 +205.wav=w iy3_W,407,127.405,-287.157,49.999,24.999 +205.wav=w iy4_W,1742.466,143.052,-392.562,50.0,24.998 +205.wav=k r5_W,985.429,107.687,-121.411,99.999,50.0 +205.wav=k s7_W,830.0,73.718,-116.225,59.999,29.999 +205.wav=m z4_W,1460.665,81.409,-144.542,59.999,29.999 +205.wav=s k7_W,872.988,96.469,-115.831,79.999,40.0 +205.wav=s w3_W,1629.192,128.785,-146.901,119.998,60.0 +205.wav=z s3_W,1579.726,67.019,-103.252,50.0,24.998 +205.wav=t -32_W,2261.731,316.335,-382.212,80.0,40.0 +206.wav=- k15_W,325.128,66.956,-147.051,39.999,19.998 +206.wav=iy n2_W,740.617,134.807,-195.295,109.999,55.0 +206.wav=iy t4_W,1358.845,119.999,-142.701,110.0,55.0 +206.wav=l iy5_W,491.499,98.704,-269.985,60.0,30.0 +206.wav=m iy5_W,1591.32,103.769,-380.091,40.0,20.0 +206.wav=r iy5_W,1074.693,85.291,-258.218,40.0,20.0 +206.wav=k l2_W,332.298,170.905,-186.485,160.0,60.0 +206.wav=n t18_W,886.723,59.999,-73.501,59.999,30.0 +206.wav=s m2_W,1516.945,96.469,-125.565,79.999,40.0 +206.wav=t r5_W,952.928,129.332,-146.9,120.0,59.999 +206.wav=t s25_W,1476.0,51.869,-83.546,40.0,20.0 +206.wav=iy -3_W,1861.735,581.17,-716.708,281.274,119.996 +206.wav=n107_W,835,15,-126.301,15,10 +207.wav=- f13_W,321.658,73.828,-118.182,39.999,19.999 +207.wav=ow l1_W,2035.318,240.0,-289.35,220,110.0 +207.wav=ow n2_W,714.745,240,-300,220,110.0 +207.wav=ow n3_W,1238.359,257.055,-336.108,219.999,110.0 +207.wav=l ow1_W,487.0,140.343,-302.858,59.999,30.0 +207.wav=l ow2_W,1019.635,120.935,-250.454,59.999,30.0 +207.wav=r ow1_W,1694.159,85.015,-347.976,40.0,20.0 +207.wav=f l5_W,400.874,93.175,-117.879,79.999,40.0 +207.wav=l d9_W,2293.515,77.567,-95.683,60.0,29.999 +207.wav=n l2_W,924.089,81.41,-103.369,60.0,30.0 +207.wav=n t19_W,1503.121,66.589,-90.722,60.0,30.0 +207.wav=t r6_W,1599.701,112.276,-128.562,99.999,50.0 +207.wav=d -19_W,2353.742,217.096,-312.128,80.0,40.0 +207.wav=n108_W,965,15,-126.301,15,10 +207.wav=n109_W,1460,15,-126.301,15,10 +208.wav=- w7_W,429.864,50.775,-68.065,40,20 +208.wav=ow l2_W,2215,240.0,-275.994,219.998,109.998 +208.wav=ow n4_W,589.723,240.0,-336.108,219.999,109.999 +208.wav=ow n5_W,1202.04,240.0,-299.453,219.999,109.998 +208.wav=s ow1_W,1614.176,200,-420,100,50 +208.wav=w ow1_W,461.773,86.999,-237.749,49.999,25.0 +208.wav=w ow2_W,1099.0,103.523,-296.113,49.997,24.996 +208.wav=l d10_W,2337.0,78.114,-98.273,59.998,29.997 +208.wav=n t20_W,859.743,71.528,-81.41,59.999,30.0 +208.wav=n t21_W,1452,70.977,-78.663,59.998,30.0 +208.wav=t s26_W,1515.983,56.469,-120.15,40.0,20.0 +208.wav=t w5_W,947.51,154.747,-182.927,139.999,69.999 +208.wav=d -20_W,2376.238,191.99,-263.355,80.0,40.0 +208.wav=n110_W,780,15,-126.301,15,10 +208.wav=n111_W,1420,15,-126.301,15,10 +209.wav=- hh6_W,387.044,63.555,-93.375,40.0,19.999 +209.wav=ow n6_W,1300.294,240,-300,220,110.0 +209.wav=ow s1_W,711.24,252.716,-309.968,219.998,109.998 +209.wav=ow t1_W,2094.907,240.0,-275.254,220,110.0 +209.wav=b ow1_W,1639.109,149.999,-334.581,60.0,30.0 +209.wav=d ow1_W,1057.039,159.795,-290.882,60.0,30.0 +209.wav=hh ow2_W,449.301,136.818,-342.374,79.997,39.999 +209.wav=n t22_W,1609.062,64.671,-77.654,59.998,29.997 +209.wav=s t38_W,950.308,96.469,-119.466,79.999,39.999 +209.wav=t b5_W,1603.096,57.137,-82.064,39.999,20.0 +209.wav=t d2_W,967.714,69.15,-98.426,59.998,30.0 +209.wav=t -33_W,2306.226,192.815,-252.928,80.0,40.0 +209.wav=n112_W,1490,15,-126.301,15,10 +21.wav=- jh_W,286.36,67.196,-111.752,39.999,20.0 +21.wav=ae k1_W,1568.233,133.435,-164.682,110.0,54.999 +21.wav=ae ng_W,740.184,133.106,-257.121,109.998,55.0 +21.wav=ae ng1_W,2073.395,119.997,-240.197,109.999,54.999 +21.wav=f ae_W,1075.594,166.263,-500.635,80.0,40.0 +21.wav=jh ae_W,327.918,139.998,-423.382,60.0,29.999 +21.wav=th ae_W,1778.2,115.995,-339.277,60.0,30 +21.wav=k s_W,2393.97,77.569,-152.445,60.0,29.999 +21.wav=k t1_W,1698.532,88.563,-114.009,60.0,30.0 +21.wav=ng f_W,988.027,85.802,-137.955,60.0,30.0 +21.wav=ng k2_W,2280.755,89.6,-151.397,60.0,29.999 +21.wav=t th_W,1677.511,107.449,-134.348,80.0,40.0 +21.wav=s -2_W,2518.671,180.484,-301.504,79.998,40.0 +21.wav=ae1_W,1915,40.0,-210.221,20.0,40.0 +21.wav=ng1_W,894.831,15.0,-73.416,15.0,10.0 +21.wav=ng10_W,2231.586,14.997,-85.942,14.997,9.999 +210.wav=- d10_W,252.798,45.454,-65.46,39.998,19.998 +210.wav=ow l3_W,1775.871,229.882,-276.819,220.0,109.999 +210.wav=ow n7_W,436.657,240,-300,220,110.0 +210.wav=ow n8_W,1000.003,240.0,-298.23,219.999,110.0 +210.wav=d ow2_W,264.823,123.408,-249.398,60.0,30.0 +210.wav=hh ow3_W,1405.226,219.043,-496.094,79.999,39.999 +210.wav=n ow1_W,871.376,139.639,-310.034,39.999,20.0 +210.wav=n hh1_W,1351.089,80.942,-118.678,59.998,29.997 +210.wav=n t23_W,683.162,69.333,-75.921,59.999,30.0 +210.wav=t n3_W,780.542,95.371,-122.454,79.998,39.999 +210.wav=l -7_W,2000.104,317.156,-379.191,79.998,39.998 +210.wav=ow6_W,974.774,40.0,-210.221,20.0,40.0 +210.wav=n113_W,680,15,-126.301,15,10 +210.wav=n114_W,1405,15,-126.301,15,10 +211.wav=- y4_W,334.387,50.775,-68.065,40.0,20.0 +211.wav=uh d2_W,1405,120.0,-157.924,110.0,54.999 +211.wav=uh r2_W,588.723,130.859,-211.285,109.998,54.999 +211.wav=uh r3_W,1999.107,139.605,-220.999,109.998,54.999 +211.wav=w uh1_W,1001.587,143.874,-406.371,50.0,24.996 +211.wav=y uh2_W,367.783,99.209,-323.927,39.998,19.997 +211.wav=y uh_W,1586,154.462,-383.259,40.0,20.0 +211.wav=d y2_W,1499.736,100.0,-126.115,80.0,40.0 +211.wav=r t_W,840.223,67.998,-86.663,40.0,20.0 +211.wav=r z7_W,2265,90.505,-150.894,40.0,20.0 +211.wav=t w6_W,879.399,149.882,-163.057,140.0,69.999 +211.wav=z -31_W,2443.051,224.105,-257.6,80.0,40.0 +212.wav=- y5_W,185,50.775,-68.065,40.0,20.0 +212.wav=uw m2_W,1151.937,128.114,-182.44,109.998,54.999 +212.wav=uw p2_W,1935,146.825,-1886.927,109.998,54.999 +212.wav=uw z2_W,625.0,135.372,-185.89,109.998,54.999 +212.wav=t uw1_W,803.06,241.516,-429.634,120.0,59.999 +212.wav=t uw2_W,1450.192,252.273,-471.938,69.998,44.999 +212.wav=y uw7_W,333.76,132.228,-307.352,60,30.0 +212.wav=d t3_W,745.232,86.751,-95.06,79.999,39.999 +212.wav=m s_W,1291.87,97.88,-153.327,60.0,30.0 +212.wav=s t39_W,1352.898,96.47,-104.409,80.0,40.0 +212.wav=z d2_W,756.0,73.408,-83.759,50.0,25.0 +212.wav=p -7_W,2054.38,251.368,-409.496,79.997,40.0 +213.wav=- t7_W,320.501,65.183,-122.745,39.997,19.998 +213.wav=uw d1_W,796.702,123.174,-147.389,109.997,54.999 +213.wav=uw g1_W,1440.0,130.606,-166.741,109.998,54.999 +213.wav=uw m3_W,2144.149,119.998,-163.747,109.999,54.999 +213.wav=r uw6_W,1667.284,121.522,-318.33,40.0,20.0 +213.wav=t uw3_W,321.53,201.377,-451.97,139.998,69.998 +213.wav=y uw8_W,1069.917,92.714,-257.463,59.998,29.998 +213.wav=d k2_W,842.81,90.43,-109.095,79.999,40.0 +213.wav=g r6_W,1602.829,69.882,-83.057,60.0,30.0 +213.wav=k y_W,928.736,158.268,-175.286,140,70.0 +213.wav=m -8_W,2254.814,359.644,-423.518,80.0,40.0 +214.wav=- f14_W,231.967,80.844,-130.847,39.998,19.999 +214.wav=uw l2_W,749.964,130.586,-193.994,109.999,54.999 +214.wav=uw n1_W,1345.0,136.714,-164.74,109.998,54.999 +214.wav=uw z3_W,2041.303,135.703,-201.954,109.998,54.998 +214.wav=f uw1_W,300.907,200.0,-465.583,80.0,39.999 +214.wav=n uw1_W,1447.362,148.348,-276.808,79.999,40.0 +214.wav=y uw9_W,932.134,106.026,-383.259,40.0,20.0 +214.wav=l y2_W,883.606,100,-120,60,30 +214.wav=z -32_W,2183.748,236.567,-320.694,79.997,40.0 +214.wav=uw6_W,1824.664,40.0,-210.221,20.0,40.0 +214.wav=n115_W,1455,15,-126.301,15,10 +215.wav=- n8_W,309.505,50.775,-81.084,39.999,20.0 +215.wav=uw m4_W,1345,133.058,-181.642,110.0,54.999 +215.wav=uw n2_W,740.619,133.116,-186.58,109.998,55.0 +215.wav=n uw_W,358.435,186.578,-414.677,39.999,20.0 +215.wav=y uw10_W,934.061,188.112,-376.918,100.0,50.0 +215.wav=y uw11_W,1620.291,186.814,-411.698,60.0,30.0 +215.wav=m p2_W,1456.899,67.137,-77.018,60.0,30.0 +215.wav=n y4_W,879.425,81.41,-103.369,60.0,30.0 +215.wav=p y1_W,1508.839,120.654,-152.691,113.999,56.999 +215.wav=uw -2_W,1951.977,569.516,-624.043,299.997,119.998 +215.wav=uw7_W,491.772,39.999,-312.108,19.998,39.999 +215.wav=n116_W,345,15,-126.301,15,10 +215.wav=n117_W,895,15,-126.301,15,10 +216.wav=- p17_W,232.544,58.613,-123.905,39.998,19.997 +216.wav=uw d2_W,1164.787,119.998,-145.409,110.0,54.999 +216.wav=uw k1_W,668.176,130.586,-162.701,109.998,54.999 +216.wav=uw s1_W,1954.706,149.854,-214.907,109.999,54.999 +216.wav=y uw12_W,370.121,83.229,-195.399,39.997,20.0 +216.wav=y uw13_W,909.933,100.759,-236.297,40.0,20.0 +216.wav=y uw14_W,1440.205,185.753,-465.582,80.0,40.0 +216.wav=d y3_W,826.71,92.627,-121.723,79.999,40.0 +216.wav=d z14_W,1297.737,61.411,-98.192,39.999,20.0 +216.wav=k d1_W,740.771,77.33,-105.698,59.999,30.0 +216.wav=p y2_W,242.994,130.979,-152.938,119.998,59.999 +216.wav=z y_W,1369.907,91.528,-120.622,80.0,40.0 +216.wav=s -21_W,2230.397,316.335,-382.212,80.0,40.0 +217.wav=- l4_W,289.831,46.267,-89.764,39.999,19.998 +217.wav=uw n3_W,601.574,120.0,-173.711,109.999,55.0 +217.wav=uw s2_W,1229.086,137.174,-195.294,109.998,54.999 +217.wav=l uw1_W,333,117.509,-295.111,30.0,15.0 +217.wav=t uw4_W,826.293,214.778,-416.916,139.997,69.998 +217.wav=t uw5_W,1470.071,199.972,-491.801,69.998,44.999 +217.wav=n t24_W,800.511,68.234,-103.62,59.999,30.0 +217.wav=s t40_W,1382.441,96.468,-105.444,79.998,39.997 +217.wav=uw -3_W,1895.299,569.517,-644.297,299.999,120.0 +217.wav=n118_W,555,15,-126.301,15,10 +218.wav=- y6_W,295.039,56.288,-78.339,40.0,20.0 +218.wav=uw l3_W,1941.955,137.061,-215.159,109.998,54.998 +218.wav=uw t2_W,740.617,120.0,-161.871,109.999,54.999 +218.wav=uw t3_W,1315.0,155.012,-185.391,110.0,54.999 +218.wav=t uw6_W,872.377,261.922,-442.716,149.999,74.998 +218.wav=t uw7_W,1479.637,270.106,-542.673,139.999,69.998 +218.wav=y uw_W,340.909,182.547,-360.149,39.999,19.999 +218.wav=l z3_W,2138.455,85.252,-135.313,59.998,29.999 +218.wav=t t3_W,1435.993,103.057,-142.584,80.0,40.0 +218.wav=z -33_W,2240,200.226,-257.045,80.0,40.0 +219.wav=- m11_W,367.95,53.8,-90.92,39.999,20.0 +219.wav=uw b1_W,2221.115,137.383,-158.793,109.999,54.999 +219.wav=uw n4_W,1306.191,119.998,-184.111,109.998,54.999 +219.wav=uw v1_W,832.924,124.02,-156.736,109.998,54.999 +219.wav=g uw_W,968.082,178.148,-368.602,79.999,39.999 +219.wav=m uw1_W,414.003,58.881,-261.348,29.999,15.0 +219.wav=t uw8_W,1655,236.473,-1774.316,100.0,50.0 +219.wav=n z4_W,1475.205,81.409,-128.073,60.0,30.0 +219.wav=v g_W,924.8,83.753,-111.484,49.999,25.0 +219.wav=z t1_W,1554,58.783,-82.938,50.0,24.998 +219.wav=b -4_W,2343.523,265.573,-345.588,79.999,39.999 +219.wav=n119_W,1465,15,-126.301,15,10 +22.wav=- s1_W,182.202,65.811,-106.155,40.0,20.0 +22.wav=ae m1_W,1296.124,132.803,-184.21,109.998,54.999 +22.wav=ae ng2_W,695.916,134.245,-196.264,110.0,55.0 +22.wav=ae sh_W,2057.773,141.01,-205.849,110.0,55.0 +22.wav=q ae_W,1586.0,81.04,-403.914,10.0,10.0 +22.wav=s ae_W,242.35,168.622,-319.042,100.0,50.0 +22.wav=y ae1_W,977.704,96.544,-340.842,39.999,19.998 +22.wav=k q1_W,1495.396,81.291,-107.254,59.998,29.997 +22.wav=m k_W,1424.244,78.665,-101.722,60.0,30.0 +22.wav=ng y_W,885,81.41,-103.369,60.0,30.0 +22.wav=sh t_W,2105.356,96.469,-139.838,79.999,40.0 +22.wav=t -1_W,2294.46,176.304,-276.596,79.998,40.0 +22.wav=ng2_W,784.766,15,-126.301,15,10 +23.wav=- d_W,366.791,52.731,-71.826,39.999,20.0 +23.wav=ae l_W,958.913,133.68,-177.093,110.0,55.0 +23.wav=ae l1_W,2210.102,120,-159.795,110.0,55.0 +23.wav=ae ng3_W,1372.938,130.297,-181.04,110.0,55.0 +23.wav=d ae_W,380.498,180.0,-371.226,60.0,29.999 +23.wav=k ae1_W,1787.536,160.462,-351.506,59.999,30.0 +23.wav=y ae2_W,1124.964,137.169,-280.452,40.0,20.0 +23.wav=l p_W,2285.21,186.189,-263.565,59.999,29.999 +23.wav=l y_W,1075.21,87.448,-115.994,59.999,29.999 +23.wav=ng s_W,1547.783,153.995,-208.521,60.0,30.0 +23.wav=s k1_W,1674.749,96.47,-124.467,80.0,40.0 +23.wav=p -1_W,2487.723,189.032,-274.737,79.998,40.0 +23.wav=ng3_W,1489.963,15.823,-79.23,14.999,10.0 +24.wav=- g1_W,271.894,55.411,-76.454,39.998,19.998 +24.wav=ae n2_W,917.0,137.437,-217.011,109.998,54.998 +24.wav=ae p_W,1512.0,143.215,-170.286,110.0,54.999 +24.wav=ae z_W,2248.005,176.401,-245.405,109.999,54.999 +24.wav=l ae1_W,369.982,140.622,-444.413,60.0,29.999 +24.wav=n ae_W,1080.267,161.189,-365.854,79.999,39.999 +24.wav=p ae_W,1667.027,245.904,-500.0,60.0,30.0 +24.wav=g l_W,299.357,69.882,-96.234,60.0,30.0 +24.wav=n n_W,1033.925,49.387,-105.434,40.0,20.0 +24.wav=z -1_W,2436.822,119.711,-208.22,79.997,39.997 +24.wav=ae2_W,1217.764,40.0,-210.221,20.0,40.0 +24.wav=n5_W,1005.436,39.145,-125.609,14.998,10.0 +24.wav=n6_W,1032.697,14.999,-106.917,14.999,9.999 +25.wav=- k1_W,415.978,52.404,-81.662,39.999,19.998 +25.wav=ah m_W,807.184,136.5,-208.104,110.0,55.0 +25.wav=ah r_W,1731.179,131.423,-201.337,109.998,54.999 +25.wav=ah sh_W,2487.12,151.158,-227.776,109.999,55.0 +25.wav=k ah_W,376.582,177.508,-464.687,119.999,59.999 +25.wav=p ah_W,1140.888,201.09,-583.729,99.998,49.997 +25.wav=r ah_W,1912.526,103.999,-381.671,39.999,19.999 +25.wav=m z_W,1025.412,81.41,-103.369,60.0,30.0 +25.wav=z p_W,1083.719,73.409,-106.728,49.999,24.999 +25.wav=sh -_W,2625.0,107.438,-190.518,80.0,40.0 +26.wav=- t_W,320.501,62.566,-79.925,39.997,19.998 +26.wav=ah hh_W,1586.179,134.967,-211.485,110.0,54.999 +26.wav=ah n10_W,2096.152,142.138,-210.923,110.0,55.0 +26.wav=ah ng_W,936.781,130.216,-208.547,109.999,55.0 +26.wav=hh ah1_W,1771.037,138.214,-362.76,80.0,40.0 +26.wav=ng ah_W,1100.15,297.395,-523.49,79.999,39.999 +26.wav=t ah_W,276.613,228.148,-444.308,130.0,64.998 +26.wav=n t_W,2353,69.384,-1482.41,59.997,29.999 +26.wav=t -2_W,2467.469,164.127,-213.98,80.0,40.0 +26.wav=ah6_W,1267.702,40.0,-210.221,20.0,40.0 +26.wav=n7_W,2295.67,14.997,-139.7,14.997,9.999 +26.wav=ng4_W,783.04,15.0,-221.81,15.0,10.0 +27.wav=- p1_W,385.887,57.29,-89.764,39.999,20.0 +27.wav=ah ng1_W,2331,134.244,-211.487,110.0,55.0 +27.wav=ah s_W,1608.595,138.883,-196.529,109.998,54.999 +27.wav=ah w_W,969.23,129.763,-175.053,109.999,55.0 +27.wav=m ah1_W,1862.164,138.355,-320.185,60.0,30.0 +27.wav=r ah1_W,489.299,109.912,-355.172,39.999,20.0 +27.wav=w ah_W,1138.299,131.594,-440.254,50.0,24.998 +27.wav=p r_W,358,151.528,-171.291,140.0,49.999 +27.wav=s m_W,1783.438,128.233,-166.844,119.998,59.998 +27.wav=ng -_W,2403.501,211.206,-268.848,80.0,40.0 +27.wav=ng5_W,2368.693,15.0,-126.301,15.0,9.999 +28.wav=- ch_W,331.495,66.316,-110.015,39.999,20.0 +28.wav=ah n1_W,2209.133,145.408,-270.575,110.0,54.999 +28.wav=ah ng2_W,837.029,137.627,-225.582,110.0,55.0 +28.wav=ah th_W,1606,138.822,-180.819,109.999,54.999 +28.wav=b ah1_W,1096.756,150,-370,60,30 +28.wav=ch ah_W,359.194,176.56,-363.019,99.999,49.999 +28.wav=th ah_W,1803.743,136.308,-430.559,59.999,30.0 +28.wav=ng b_W,1048.239,72.627,-92.714,59.998,29.997 +28.wav=n -1_W,2341.377,316.335,-382.212,80.0,40.0 +28.wav=ah7_W,1926,40.0,-210.221,20.0,40.0 +28.wav=n8_W,2412.611,14.998,-126.1,14.998,9.999 +28.wav=ng6_W,946,15,-126.301,15,10 +28.wav=th_W,1731.805,14.998,-106.135,14.998,10.0 +29.wav=- g2_W,336.123,51.572,-82.819,39.999,19.998 +29.wav=ah dh_W,960.0,135.995,-172.843,109.998,54.999 +29.wav=ah jh_W,1645.884,140.444,-178.502,109.998,54.999 +29.wav=ah n2_W,2203.492,126.09,-214.609,110.0,55.0 +29.wav=dh ah_W,1107,179.999,-416.049,60.0,30.0 +29.wav=g ah_W,335,227.401,-506.243,79.999,40.0 +29.wav=jh ah_W,1792.943,196.162,-332.323,120,60 +29.wav=n t1_W,2313.359,151.908,-172.686,59.997,29.997 +29.wav=t -3_W,2422.883,204.342,-281.748,80.0,40.0 +29.wav=n9_W,2305,14.998,-145.055,14.998,10.0 +3.wav=- ah_W,510.895,278.789,-648.888,59.999,29.999 +3.wav=ah iy1_W,1077.588,340,-650,240,120 +3.wav=ih ow_W,2400.385,340,-650,240,120 +3.wav=iy ih_W,1792.367,340,-650,240,120 +3.wav=ow ay_W,3125.58,339.999,-505.601,239.999,120.0 +3.wav=ay -_W,3487.55,533.041,-655.737,299.999,120.0 +3.wav=ah2_W,693.521,40.0,-210.221,20.0,40.0 +3.wav=ay2_W,3416.241,40.0,-339.916,20.0,40.0 +3.wav=ih3_W,2039.68,40.0,-210.221,20.0,40.0 +3.wav=iy3_W,1368.932,39.999,-483.9,20.0,39.999 +3.wav=ow2_W,2465.823,40.0,-210.221,20.0,40.0 +30.wav=- z1_W,342.489,64.556,-88.112,39.999,20.0 +30.wav=ah ch_W,2280.735,134.735,-203.739,109.998,54.999 +30.wav=ah d_W,1625.732,143.849,-175.096,109.998,54.999 +30.wav=ah m1_W,832.558,141.712,-224.17,109.997,54.999 +30.wav=d ah_W,1792.031,142.959,-326.403,60.0,30.0 +30.wav=y ah_W,1169.337,149.521,-421.265,40.0,20.0 +30.wav=z ah_W,409.194,142.227,-312.684,49.999,25.0 +30.wav=m n_W,1015.034,81.41,-103.369,60.0,30.0 +30.wav=n y_W,1072.173,81.41,-103.369,60.0,30.0 +30.wav=ch -_W,2434.062,296.862,-382.276,80,40 +31.wav=- dh_W,373.736,69.525,-115.802,39.999,19.997 +31.wav=ah l2_W,2186.298,158.584,-264.811,110.0,54.999 +31.wav=ah s1_W,870.681,137.626,-208.548,109.998,54.999 +31.wav=ah t_W,1455.733,160.706,-211.183,109.998,54.999 +31.wav=dh ah1_W,436.582,132.733,-337.508,60.0,30.0 +31.wav=n ah_W,1810,104.524,-352.676,40.0,20.0 +31.wav=s ah_W,1025,200,-420,100,50 +31.wav=l z_W,2354.901,100.0,-150.581,60.0,29.999 +31.wav=t n_W,1642.582,206.232,-225.446,199.999,100.0 +31.wav=z -2_W,2455.0,164.512,-258.202,80.0,40.0 +31.wav=ah8_W,1907.22,40.0,-210.221,20.0,40.0 +32.wav=- k2_W,340.753,50.415,-62.566,39.999,20.0 +32.wav=ah b_W,1665.882,141.29,-163.379,109.997,54.996 +32.wav=ah p_W,775,136.351,-166.819,109.999,54.999 +32.wav=ah v_W,2315,141.573,-263.921,110.0,55.0 +32.wav=b ah_W,1800.363,150,-370,60,30 +32.wav=k ah1_W,290.119,268.39,-541.803,120.0,60.0 +32.wav=l ah4_W,1173.904,163.178,-473.623,59.998,30.0 +32.wav=f l_W,1099.908,94.103,-110.742,79.999,40.0 +32.wav=p s2_W,914.255,82.33,-135.818,60,30 +32.wav=s f_W,1004.351,75.323,-158.931,75.323,40.0 +32.wav=v -_W,2515.0,145.233,-230.918,80.0,40.0 +33.wav=- sh_W,410.19,72.575,-130.711,40.0,20.0 +33.wav=ah f_W,1013.965,159.1,-224.17,109.998,54.999 +33.wav=ah k_W,1635,134.808,-159.052,110.0,55.0 +33.wav=ah z_W,2405,123.532,-206.412,110.0,55.0 +33.wav=f ah_W,1204.131,163.17,-364.096,80.0,40.0 +33.wav=sh ah_W,521.605,157.642,-371.743,99.999,49.999 +33.wav=sh ah1_W,1865,200,-420,100,50 +33.wav=f f_W,1117.568,100,-150,80.0,40.0 +33.wav=k sh_W,1760.26,94.659,-136.338,60.0,30.0 +33.wav=z -3_W,2562,316.335,-382.212,80.0,40.0 +34.wav=- v_W,269.0,59.673,-100.179,39.999,19.999 +34.wav=ah g_W,2005,138.755,-165.818,110.0,55.0 +34.wav=ah l1_W,814.797,132.833,-170.89,109.998,55.0 +34.wav=ah m2_W,1285.472,142.7,-197.856,110.0,54.999 +34.wav=hh ah_W,1594.424,199.999,-430.129,80.0,40.0 +34.wav=q ah_W,987.839,125.533,-282.5,10.0,10.0 +34.wav=v ah_W,322.076,121.485,-356.448,60.0,29.999 +34.wav=dh q_W,911.948,89.865,-101.289,79.998,39.999 +34.wav=g z_W,2128.046,69.882,-130.818,60.0,30.0 +34.wav=l dh_W,875.33,100,-120,60,30 +34.wav=m hh_W,1483.004,81.409,-122.035,59.999,30.0 +34.wav=z -4_W,2245,153.991,-241.278,80.0,40.0 +35.wav=- s2_W,211.714,50.774,-106.906,40.0,20.0 +35.wav=ao l_W,1552.109,119.882,-186.915,109.998,54.999 +35.wav=ao ng1_W,2137.392,163.0,-231.785,110.0,55.0 +35.wav=ao r9_W,609.887,152.603,-209.75,109.998,55.0 +35.wav=hh ao_W,1007.808,199.999,-413.003,80.0,40.0 +35.wav=p ao_W,375.825,105.292,-237.87,59.999,30.0 +35.wav=r ao_W,1748.942,141.286,-366.092,40.0,20.0 +35.wav=l r_W,1697.349,80.94,-1143.757,60.0,30.0 +35.wav=ng d_W,2376.094,74.44,-134.78,60.0,29.998 +35.wav=r t1_W,803.355,71.292,-84.467,40.0,20.0 +35.wav=s hh_W,902.532,96.47,-145.329,80.0,40.0 +35.wav=s p_W,260.661,96.47,-122.822,80.0,39.999 +35.wav=t s_W,893.702,103.057,-142.584,80.0,40.0 +35.wav=d -_W,2470.472,191.99,-263.355,80.0,40.0 +35.wav=ng7_W,2327.802,15,-126.301,15,10 +36.wav=- s3_W,367.37,50.775,-99.64,40.0,20.0 +36.wav=ao f_W,1628,119.999,-195.64,109.999,54.999 +36.wav=ao r1_W,855.055,164.126,-210.359,110.0,55.0 +36.wav=ao r2_W,2140.998,141.574,-224.455,110.0,55.0 +36.wav=f ao_W,1815.277,159.052,-345.979,80.0,40.0 +36.wav=k ao_W,519.543,168.666,-449.089,59.999,29.999 +36.wav=l ao_W,1163,156.346,-413.512,59.999,30.0 +36.wav=b z_W,2453.085,84.586,-141.13,50.0,25.0 +36.wav=r b_W,2375.84,65.274,-117.989,40.0,20.0 +36.wav=r l_W,1094.691,67.995,-110.625,39.999,20.0 +36.wav=s k2_W,433.337,68.309,-82.849,60.0,29.999 +36.wav=z -5_W,2550.706,167.065,-351.969,79.998,39.998 +37.wav=- t1_W,252.798,67.196,-108.859,39.998,19.999 +37.wav=ao k_W,715,145.802,-187.772,110.0,55.0 +37.wav=ao l1_W,2149.41,119.999,-179.171,110.0,54.999 +37.wav=ao r3_W,1305.736,141.01,-233.475,110.0,55.0 +37.wav=f ao1_W,998.463,142.099,-368.601,79.999,39.999 +37.wav=t ao_W,280.119,297.085,-472.35,130.0,65.0 +37.wav=y ao_W,1707,170.108,-435.263,40.0,20.0 +37.wav=d y_W,1634.312,92.981,-108.041,79.998,40.0 +37.wav=k t2_W,864.39,88.044,-123.876,60.0,30.0 +37.wav=r d_W,1519.55,63.369,-92.969,39.997,20.0 +37.wav=t f_W,849.074,103.057,-142.584,80.0,40.0 +37.wav=l -1_W,2207.215,223.208,-239.702,80.0,40.0 +38.wav=- q_W,361.584,47.518,-54.283,39.999,19.999 +38.wav=ao r4_W,748.095,120,-192.278,110.0,55.0 +38.wav=ao r5_W,1512.448,148.339,-245.879,110.0,55.0 +38.wav=ao r6_W,2352.517,131.424,-206.975,110.0,55.0 +38.wav=d ao_W,1864.505,139.426,-529.708,59.998,29.998 +38.wav=n ao_W,1183,137.17,-335.625,40.0,20.0 +38.wav=q ao_W,443.351,160.727,-381.56,9.998,9.998 +38.wav=p s1_W,994.749,79.731,-137.374,59.996,29.999 +38.wav=r d1_W,2531.227,57.567,-72.389,39.999,19.999 +38.wav=r p_W,917.63,54.273,-74.036,40.0,20.0 +38.wav=r th_W,1697.167,64.408,-106.991,39.999,20.0 +38.wav=s n_W,1083,89.882,-106.351,79.999,40.0 +38.wav=th d_W,1762.472,73.409,-104.008,50.0,24.999 +38.wav=d -1_W,2640.494,180.306,-239.506,80.0,40.0 +38.wav=ao1_W,1323.827,40.0,-210.221,20.0,40.0 +39.wav=- th_W,359.269,74.957,-116.303,40.0,19.999 +39.wav=ao ng3_W,1451.156,119.998,-168.406,110.0,55.0 +39.wav=ao s_W,2328.48,143.651,-229.53,109.999,55.0 +39.wav=ao t_W,858.662,123.22,-137.641,109.999,54.999 +39.wav=l ao1_W,1848.142,160.463,-376.211,60.0,30.0 +39.wav=s ao_W,1061,153.799,-314.923,99.998,49.999 +39.wav=th ao_W,443.594,120.936,-305.941,60.0,29.999 +39.wav=g l1_W,1756.0,114.712,-141.716,100,50.0 +39.wav=ng z_W,1605.054,80.772,-111.93,60.0,30.0 +39.wav=s t_W,2512.622,96.47,-122.064,80.0,40.0 +39.wav=t s1_W,949.852,103.057,-142.584,80.0,40.0 +39.wav=z g_W,1672.182,73.409,-90.075,50.0,24.998 +39.wav=t -4_W,2569.418,162.347,-229.322,80.0,40.0 +39.wav=ao2_W,541.625,40.684,-295.75,20.0,39.999 +39.wav=ng8_W,1571.809,14.999,-74.244,14.999,10.0 +39.wav=th1_W,397.455,15.0,-67.347,15.0,10.0 +4.wav=- uw_W,544.111,220,-500,60,30 +4.wav=ay ey_W,2686.179,451.376,-744.419,399.999,199.999 +4.wav=ih uw2_W,1684.553,340,-650,240,120 +4.wav=uw ay_W,2290.186,340,-650,240,120 +4.wav=uw ih_W,1060.663,340,-650,240,120 +4.wav=ey -_W,3356.837,452.064,-518.49,299.998,119.997 +4.wav=ay3_W,2639.65,40.0,-210.221,20.0,40.0 +4.wav=ey_W,3105,40.0,-210.221,20.0,40.0 +4.wav=ih4_W,616.405,40.0,-210.221,20.0,40.0 +4.wav=uw2_W,621.857,40.0,-210.221,20.0,40.0 +4.wav=uw3_W,1894.078,40.0,-234.992,20.0,40.0 +40.wav=- w_W,225.022,50.775,-68.065,40,20 +40.wav=ao l2_W,1300.93,130.586,-222.815,109.999,54.999 +40.wav=ao r7_W,453.65,139.882,-224.454,110.0,55.0 +40.wav=ao r8_W,2036.439,129.734,-203.03,110.0,55.0 +40.wav=b ao_W,881.754,150,-370,60,30 +40.wav=g ao_W,1538.216,199.999,-456.371,100.0,50.0 +40.wav=w ao_W,356.098,115.759,-256.159,39.998,19.997 +40.wav=l g_W,1417.5,85.995,-126.578,60.0,30.0 +40.wav=m th_W,735.078,82.382,-124.912,59.999,30.0 +40.wav=r m3_W,687.041,59.764,-105.327,40.0,20.0 +40.wav=th b_W,805.32,73.409,-109.201,49.999,24.999 +40.wav=r -1_W,2144.12,244.27,-357.307,80.0,40.0 +41.wav=- r_W,422.343,51.875,-84.555,39.998,19.999 +41.wav=ao n1_W,1601.383,125.788,-176.532,110.0,55.0 +41.wav=ao ng2_W,751.701,131.423,-204.719,110.0,55.0 +41.wav=ao r_W,2239.546,147.212,-249.771,110.0,55.0 +41.wav=m ao_W,1109.613,142.316,-478.298,59.998,30.0 +41.wav=r ao1_W,473,113.287,-305.155,39.999,20.0 +41.wav=w ao1_W,1792.194,129.758,-318.331,40.0,20.0 +41.wav=n d_W,2507,79.215,-120.389,60.0,29.998 +41.wav=n w1_W,1726.068,81.41,-103.369,60.0,30.0 +41.wav=ng m_W,1064.891,81.409,-96.871,60.0,30.0 +41.wav=r n_W,2402.012,63.057,-105.328,40.0,20.0 +41.wav=d -2_W,2569.419,177.696,-247.366,79.999,39.999 +41.wav=n100_W,976.709,14.997,-87.44,14.997,10.0 +41.wav=ng9_W,922.082,15.0,-178.579,15.0,10.0 +42.wav=- b_W,402.668,63.724,-80.505,39.999,19.998 +42.wav=aw dh_W,1533.447,271.878,-328.697,219.999,110.0 +42.wav=aw z_W,796.734,260.029,-303.17,220.0,110.0 +42.wav=b aw_W,413.214,150,-370,60,30 +42.wav=dh aw_W,1909.052,137.806,-378.836,60.0,30.0 +42.wav=m aw_W,1177.018,151.05,-254.806,30.0,15.0 +42.wav=dh z_W,1826.386,100.0,-137.642,80.0,40.0 +42.wav=z dh_W,1763.431,73.409,-80.194,50.0,24.999 +42.wav=z m_W,1051.0,92.997,-148.082,79.998,39.997 +42.wav=aw -1_W,2291.091,480,-600,300,120 +43.wav=- t2_W,343.068,60.798,-78.34,39.999,20.0 +43.wav=aw d_W,2230.499,260.031,-276.946,220,110.0 +43.wav=aw l_W,1519.024,238.028,-276.946,219.999,110.0 +43.wav=aw n5_W,702.994,251.292,-306.464,219.999,109.999 +43.wav=l aw_W,1910.22,120.113,-336.551,60.0,30.0 +43.wav=r aw_W,1177.0,120.698,-423.79,39.998,19.998 +43.wav=t aw_W,297.648,218.812,-426.778,129.996,64.996 +43.wav=l l_W,1780.438,79.213,-116.544,60.0,30.0 +43.wav=n p_W,1031.585,72.076,-79.762,59.999,30.0 +43.wav=p r1_W,1119.349,112.079,-138.43,60,30 +43.wav=d -3_W,2595.997,191.989,-256.377,79.999,40.0 +43.wav=n11_W,945,15,-126.301,15,10 +44.wav=- f_W,249.326,89.615,-141.263,39.999,19.998 +44.wav=aw l1_W,598.434,260.031,-310.137,219.999,109.999 +44.wav=aw t_W,2125.942,260.03,-282.493,219.998,109.998 +44.wav=aw z1_W,1367.597,260.031,-309.758,219.999,110.0 +44.wav=f aw_W,331.288,150.196,-318.478,79.999,39.999 +44.wav=q aw_W,1056.794,44.999,-361.697,10.0,10.0 +44.wav=th aw_W,1719.712,126.426,-365.779,59.999,30.0 +44.wav=k q_W,969.337,78.176,-97.39,59.999,30.0 +44.wav=l k_W,871.687,100,-120,60,30 +44.wav=z th_W,1638.43,73.409,-109.839,50.0,24.998 +44.wav=t -5_W,2407.493,185.566,-277.483,80.0,40.0 +44.wav=aw3_W,1835,40.0,-210.221,20.0,40.0 +45.wav=- n1_W,302.562,47.016,-67.196,39.999,20.0 +45.wav=aw n1_W,628.481,260.031,-305.64,219.999,109.999 +45.wav=aw s_W,1295.49,245.527,-317.227,219.997,109.998 +45.wav=aw t1_W,2074.263,260.028,-288.502,219.999,109.999 +45.wav=d aw_W,1667.094,179.999,-394.173,59.999,30.0 +45.wav=hh aw_W,899.144,147.522,-380.287,79.999,39.999 +45.wav=n aw1_W,336,119.749,-297.35,40.0,20.0 +45.wav=n hh_W,835.282,97.881,-136.309,59.999,30.0 +45.wav=s d_W,1552.181,96.47,-122.582,80.0,40.0 +45.wav=t -6_W,2286.585,178.927,-228.78,80.0,40.0 +45.wav=aw4_W,385,40.0,-210.221,20.0,40.0 +45.wav=n12_W,315,15,-126.301,15,10 +45.wav=n13_W,885,15,-126.301,15,10 +46.wav=- z2_W,264.371,50.775,-78.339,39.999,20.0 +46.wav=ay g_W,729.434,230.705,-253.762,219.999,109.999 +46.wav=ay hh_W,1925.238,260.031,-276.946,220,110.0 +46.wav=ay n_W,1883.175,245.237,-288.503,219.999,109.998 +46.wav=g ay_W,969.25,175.522,-355.037,80.0,40.0 +46.wav=hh ay_W,1574.559,183.178,-336.253,80.0,40.0 +46.wav=z ay_W,346.099,151.285,-371.15,49.998,24.998 +46.wav=n d1_W,2091.177,112.968,-205.404,60.0,29.999 +46.wav=d -4_W,2269.37,149.327,-199.18,80.0,40.0 +46.wav=n14_W,2065,15,-126.301,15,10 +47.wav=- q1_W,125.0,53.803,-60.673,39.999,19.999 +47.wav=ay k_W,1788.231,260.031,-276.946,220,110.0 +47.wav=ay m_W,594.829,260.031,-340.181,219.999,109.998 +47.wav=ay t_W,1159.683,247.063,-271.677,219.999,109.998 +47.wav=m ay_W,881.62,137.642,-279.278,79.998,39.997 +47.wav=q ay_W,245.887,115.157,-320.801,9.999,9.999 +47.wav=r ay2_W,1633,73.266,-293.627,40.0,20.0 +47.wav=k s1_W,2080.59,102.602,-184.113,60.0,29.996 +47.wav=m m_W,819.704,81.41,-103.369,60.0,30.0 +47.wav=t r1_W,1450.275,186.866,-216.185,167.37,40.0 +47.wav=s -3_W,2215,182.407,-230.992,80.0,40.0 +48.wav=- f1_W,256.848,74.58,-144.735,39.999,19.998 +48.wav=ay f_W,2040.612,260.031,-340.226,219.999,109.999 +48.wav=ay s_W,674.15,260.031,-342.584,219.998,109.998 +48.wav=ay w_W,1418.072,242.553,-361.814,219.999,110.0 +48.wav=f ay_W,347.0,151.04,-413.648,80.0,39.999 +48.wav=l ay2_W,1096.783,102.302,-362.622,59.999,29.997 +48.wav=w ay_W,1777.617,89.726,-238.117,50.0,24.998 +48.wav=s l_W,1017.38,91.553,-125.697,79.998,39.997 +48.wav=s s_W,957.386,89.332,-112.938,60,30 +48.wav=f -_W,2268.061,316.335,-382.212,80.0,40.0 +49.wav=- d1_W,426.973,46.095,-90.919,39.997,19.998 +49.wav=ay d_W,770.295,248.844,-271.677,219.999,109.998 +49.wav=ay l_W,1568.3,260.029,-331.168,219.999,110.0 +49.wav=ay n1_W,2242.517,244.807,-276.945,220,110.0 +49.wav=d ay_W,443.593,109.899,-305.26,60.0,29.999 +49.wav=n ay_W,1859,133.28,-280.924,79.998,40.0 +49.wav=t ay_W,1191.933,120.543,-351.591,69.998,44.999 +49.wav=d s_W,995.823,81.662,-136.856,59.999,29.999 +49.wav=l n_W,1767.096,100.0,-137.376,60.0,30.0 +49.wav=n th_W,2507.176,81.409,-122.583,60.0,29.999 +49.wav=s t1_W,1070.353,96.468,-127.254,79.997,39.998 +49.wav=th -_W,2586.81,156.082,-219.957,80.0,40.0 +49.wav=ay8_W,2014.798,40.0,-210.221,20.0,40.0 +49.wav=n15_W,2405,15,-126.301,15,10 +49.wav=th2_W,2566.158,15.0,-78.406,15.0,9.999 +5.wav=- ey_W,447.432,160.0,-389.831,60.0,30.0 +5.wav=aw er_W,2796.833,451.377,-650,400,200 +5.wav=er aw_W,2370.946,377.007,-675.757,240.0,120.0 +5.wav=ey ih_W,987.754,386.522,-649.999,240.0,120.0 +5.wav=ih er_W,981.296,340,-650,240,120 +5.wav=er -_W,3234.423,480,-600,300,120 +5.wav=aw_W,2645,40.0,-210.221,20.0,40.0 +5.wav=er1_W,1284.035,40.0,-210.221,20.0,40.0 +5.wav=er2_W,3273.727,40.0,-210.221,20.0,40.0 +5.wav=ey1_W,616.405,40.0,-210.221,20.0,40.0 +5.wav=ih5_W,580.574,40.0,-310.838,20.0,40.0 +50.wav=- k3_W,311.241,71.197,-113.295,40.0,19.999 +50.wav=ay b_W,699.387,241.425,-257.211,220,110.0 +50.wav=ay p_W,2186.033,247.64,-281.291,219.996,109.996 +50.wav=ay r_W,1439.706,245.935,-288.785,220,110.0 +50.wav=k ay_W,1112.0,148.801,-489.943,59.998,29.999 +50.wav=r ay1_W,486.963,88.583,-221.161,39.999,19.998 +50.wav=r ay_W,1898.672,95.254,-279.621,40.0,20.0 +50.wav=b s1_W,924.22,87.39,-128.934,49.999,24.999 +50.wav=k r_W,300.356,186.23,-202.848,180.0,90 +50.wav=p s_W,2431.134,111.603,-197.243,59.998,30.0 +50.wav=s k3_W,986.0,96.468,-133.108,79.998,39.997 +50.wav=s -4_W,2565,162.91,-230.434,80.0,40.0 +51.wav=- v1_W,381.836,50.775,-73.329,40.0,20.0 +51.wav=ay n2_W,1525.034,242.234,-323.355,219.999,110.0 +51.wav=ay v_W,761.882,268.072,-301.723,219.999,109.998 +51.wav=ay z_W,2333.854,273.562,-347.422,220,110.0 +51.wav=b ay_W,1899.558,120.892,-289.19,59.999,30.0 +51.wav=s ay_W,1118.69,185.64,-359.391,99.998,49.999 +51.wav=v ay_W,456.582,107.211,-403.381,39.999,19.998 +51.wav=d s1_W,1024.87,100,-150,60,30.0 +51.wav=n b_W,1839.721,70.431,-85.803,60.0,30.0 +51.wav=v d_W,992.285,58.307,-76.483,49.999,25.0 +51.wav=z -6_W,2659.967,144.695,-273.96,80.0,40.0 +51.wav=n16_W,1845,15,-126.301,15,10 +52.wav=- p2_W,384.153,50.992,-67.773,39.997,19.998 +52.wav=ay jh_W,835.192,260.031,-276.946,220,110.0 +52.wav=ay n3_W,2224.49,233.176,-304.126,219.999,109.998 +52.wav=ay sh_W,1515.42,256.102,-328.162,219.999,109.998 +52.wav=jh ay_W,1116.617,149.646,-350.082,60.0,30.0 +52.wav=p ay_W,339,250.931,-417.271,120.0,60.0 +52.wav=sh ay_W,1761.406,190.582,-396.448,99.999,49.999 +52.wav=n -2_W,2395.125,171.405,-259.514,80.0,40.0 +52.wav=n17_W,2472,15,-126.301,15,10 +53.wav=- n2_W,501.619,50.775,-77.032,39.999,19.997 +53.wav=eh k_W,1490.0,130.94,-193.741,109.998,54.999 +53.wav=eh n10_W,881.498,140.469,-319.114,109.998,55.0 +53.wav=g eh_W,1802.563,200,-380.231,80.0,40.0 +53.wav=m eh_W,1155.079,130.741,-308.098,79.999,40.0 +53.wav=n eh1_W,551.227,127.286,-260.688,39.999,19.999 +53.wav=k g_W,1660.018,120.252,-152.968,99.998,50.0 +53.wav=n m_W,1019.678,81.407,-192.42,59.998,30.0 +53.wav=eh -_W,2149.138,464.693,-523.982,299.999,119.999 +53.wav=eh2_W,639.779,40.0,-210.221,20.0,40.0 +53.wav=n18_W,555,15,-126.301,15,10 +53.wav=n19_W,985,15,-126.301,15,10 +54.wav=- f2_W,364.478,68.943,-122.317,39.999,19.999 +54.wav=eh l_W,1484.808,133.057,-178.502,109.998,54.999 +54.wav=eh r_W,2184.264,120,-163.266,110.0,55.0 +54.wav=eh sh_W,877.324,142.134,-198.113,109.999,55.0 +54.wav=k eh_W,1701.941,217.756,-430.665,100.0,50.0 +54.wav=l eh_W,509.024,98.904,-312.382,59.999,29.999 +54.wav=v eh_W,1118.974,132.464,-336.683,60.0,30.0 +54.wav=f l1_W,433,86.039,-105.253,79.999,39.999 +54.wav=l k1_W,1602.382,100,-120,60,30 +54.wav=sh v_W,1000.719,96.47,-145.329,80.0,40.0 +54.wav=r -2_W,2282.674,316.335,-382.212,80.0,40.0 +55.wav=- hh1_W,217.501,62.927,-97.285,39.997,19.998 +55.wav=eh g_W,1905,138.754,-158.585,109.999,54.999 +55.wav=eh l1_W,708.437,126.349,-236.492,109.998,55.0 +55.wav=eh l2_W,1050.953,194.126,-291.473,109.999,54.999 +55.wav=hh eh_W,289.361,124.467,-265.28,60,30 +55.wav=q eh_W,1583.894,120.479,-364.035,10.0,10.0 +55.wav=w eh_W,947.84,99.408,-225.398,49.999,24.999 +55.wav=d q_W,1466.494,89.868,-116.872,80.0,40.0 +55.wav=g z1_W,2068.639,80.312,-143.445,60.0,30.0 +55.wav=l m_W,1333.818,99.998,-161.263,59.998,29.999 +55.wav=l w_W,923.043,85.801,-136.856,59.999,30.0 +55.wav=m d1_W,1438.199,69.881,-79.763,60.0,30.0 +55.wav=z -7_W,2187,142.583,-274.338,80.0,40.0 +56.wav=- y_W,340.174,50.775,-79.926,39.999,20.0 +56.wav=eh d_W,1390.0,119.998,-236.054,110.0,54.999 +56.wav=eh l3_W,1905,119.999,-225.285,109.999,54.999 +56.wav=eh s_W,760.482,147.548,-210.483,109.998,55.0 +56.wav=b eh_W,1618.071,149.999,-334.859,60.0,30.0 +56.wav=t eh_W,1001.459,139.994,-358.212,69.999,45.0 +56.wav=y eh_W,367.783,125.089,-287.862,39.999,20.0 +56.wav=d b_W,1483.707,100,-150,80.0,40.0 +56.wav=l t_W,2081.214,82.328,-106.216,59.997,29.999 +56.wav=s s1_W,890.094,89.882,-113.671,79.999,40.0 +56.wav=s t2_W,890.624,96.469,-122.086,79.998,39.999 +56.wav=t -7_W,2265.536,316.335,-382.212,80.0,40.0 +57.wav=- p3_W,242.96,70.668,-111.753,39.999,19.998 +57.wav=eh n1_W,1982.358,137.062,-241.512,110.0,54.999 +57.wav=eh r1_W,614.694,138.821,-212.11,109.999,55.0 +57.wav=eh t_W,1387.99,144.957,-169.59,109.999,54.999 +57.wav=p eh_W,258.572,215.523,-365.394,119.999,59.998 +57.wav=sh eh_W,922.377,200,-420,100,50 +57.wav=w eh1_W,1690,122.465,-360.446,49.997,24.998 +57.wav=r z_W,797.168,90.505,-144.306,40.0,20.0 +57.wav=t w_W,1554.93,129.336,-150.197,119.999,60.0 +57.wav=z sh_W,865.592,73.41,-120.622,50.0,25.0 +57.wav=n -3_W,2150.968,255.956,-319.052,80.0,40.0 +57.wav=n20_W,2120,15,-126.301,15,10 +58.wav=- s4_W,247.589,88.028,-156.309,39.999,20.0 +58.wav=eh m_W,1381.451,149.467,-192.347,110.0,54.999 +58.wav=eh p_W,745,181.603,-220.345,109.999,55.0 +58.wav=eh v_W,2165,137.627,-204.289,110.0,55.0 +58.wav=d eh_W,1652.598,179.999,-385.603,120,60 +58.wav=r eh1_W,1119.086,96.818,-262.0,40.0,20.0 +58.wav=s eh_W,344.003,191.137,-394.443,99.999,49.999 +58.wav=d r_W,1009.24,114.273,-137.879,99.999,49.999 +58.wav=m t_W,1552.451,93.938,-144.171,60.0,30.0 +58.wav=p t_W,931.343,115.161,-152.447,99.998,49.999 +58.wav=t d_W,877.082,103.056,-133.8,80.0,40.0 +58.wav=t d1_W,1546.995,102.848,-141.276,80.0,40.0 +58.wav=v -1_W,2375.0,199.462,-284.368,80.0,40.0 +59.wav=- sh1_W,275.365,77.612,-116.381,39.998,19.999 +59.wav=eh f_W,710,138.755,-226.71,110.0,55.0 +59.wav=eh r2_W,1318.956,139.882,-184.935,110.0,54.999 +59.wav=dh eh_W,1025.481,141.189,-399.794,60.0,30.0 +59.wav=f eh_W,1652.894,228.391,-398.982,79.999,39.999 +59.wav=sh eh1_W,388.677,140.621,-317.054,60.0,29.999 +59.wav=f s_W,849.33,85.965,-122.836,59.999,30.0 +59.wav=r f_W,1520.585,90.506,-105.328,40.0,20.0 +59.wav=s dh_W,901.525,96.469,-129.042,79.999,40.0 +59.wav=eh -1_W,1886.004,488.848,-551.275,299.999,120.0 +6.wav=- iy_W,533.696,220,-500,60,30 +6.wav=ay ow_W,2153.156,533.221,-735.904,399.998,199.997 +6.wav=ey ay_W,1725,340.0,-599.643,240.0,120.0 +6.wav=iy ey_W,983.847,311.486,-604.073,240.0,120.0 +6.wav=ow ah_W,2831.336,322.023,-588.926,239.999,120.0 +6.wav=ah -_W,3293.355,480,-600,300,120 +6.wav=ah3_W,3133.245,40.0,-210.221,20.0,40.0 +6.wav=ay4_W,1944.539,40.0,-332.505,20.0,40.0 +6.wav=ey2_W,1292.545,40.0,-210.221,20.0,40.0 +6.wav=iy4_W,647.563,40.0,-447.846,20.0,40.0 +6.wav=ow3_W,2634.704,40.0,-210.221,20.0,40.0 +60.wav=- p4_W,196.089,55.41,-88.487,40.0,19.999 +60.wav=eh k1_W,1196.371,165.172,-203.052,110.0,54.999 +60.wav=eh r3_W,700.025,135.271,-177.466,109.997,54.999 +60.wav=eh r4_W,1775.847,120,-165.3,110.0,55.0 +60.wav=ch eh_W,1429.202,217.556,-440.826,140,70 +60.wav=r eh_W,906.428,151.167,-302.897,40.0,20.0 +60.wav=w eh2_W,316.888,125.093,-312.894,49.997,24.996 +60.wav=k t3_W,1310.439,69.882,-106.663,59.999,30.0 +60.wav=p w_W,194.178,130.979,-150.743,119.999,59.999 +60.wav=r r_W,847.487,60.861,-81.723,40.0,20.0 +60.wav=r z1_W,2023.188,90.504,-144.38,39.999,19.999 +60.wav=t ch_W,1365.738,103.423,-133.068,79.999,39.999 +60.wav=z -8_W,2097,128.478,-187.768,79.999,40.0 +61.wav=- er1_W,303.214,219.999,-353.466,60.0,30.0 +61.wav=er th_W,2000,184.935,-269.277,109.999,55.0 +61.wav=er v_W,692.712,127.476,-169.589,109.998,54.999 +61.wav=er w_W,1418.369,149.527,-199.758,110.0,54.999 +61.wav=dh er_W,953.029,180,-440.277,60.0,30.0 +61.wav=w er_W,1584.695,189.044,-350.288,50.0,24.996 +61.wav=v dh_W,844.811,73.41,-120.622,50.0,25.0 +61.wav=th -1_W,2203.937,183.697,-244.455,80.0,40.0 +61.wav=er5_W,425.561,40.0,-210.221,20.0,40.0 +61.wav=th3_W,2151.332,15,-126.301,15,10 +62.wav=- m1_W,378.944,52.516,-81.083,39.999,19.998 +62.wav=er d_W,1435,120.0,-158.488,110,55.0 +62.wav=er dh_W,895,135.935,-164.69,110,55.0 +62.wav=dh er1_W,1038,135.27,-360.231,60.0,30.0 +62.wav=m er_W,432,106.961,-350.327,29.999,14.999 +62.wav=sh er_W,1653.89,199.999,-468.089,100.0,50.0 +62.wav=d sh_W,1546.546,100,-150,80.0,40.0 +62.wav=er -1_W,1952.943,472.377,-547.86,299.998,119.998 +63.wav=- z3_W,331.494,64.808,-86.232,40.0,20.0 +63.wav=er hh_W,860.0,161.208,-237.156,109.998,54.999 +63.wav=er p_W,2125,138.755,-177.094,110,55.0 +63.wav=er t1_W,1415.0,120.109,-188.198,109.998,54.999 +63.wav=ch er_W,1655.988,176.561,-411.671,140,70 +63.wav=hh er_W,1033.516,164.125,-340.209,79.997,39.997 +63.wav=z er_W,396,192.458,-417.264,49.999,25.0 +63.wav=s ch_W,1445.803,94.44,-147.51,80.0,40.0 +63.wav=t s2_W,1500.338,48.308,-91.41,40.0,20.0 +63.wav=p -2_W,2227.785,158.082,-199.72,79.997,40.0 +64.wav=- s5_W,205.926,65.352,-147.629,40.0,19.999 +64.wav=er d1_W,764.0,120.0,-173.081,109.998,54.999 +64.wav=er l_W,1201.019,165.996,-250.813,109.999,54.999 +64.wav=er s_W,2119,142.7,-229.402,110.0,54.999 +64.wav=s er_W,282.076,200,-420,100,50 +64.wav=v er_W,1682.194,158.266,-343.927,59.998,30.0 +64.wav=w er1_W,1038.975,88.27,-203.065,50.0,24.998 +64.wav=d w1_W,1006.198,75.372,-106.663,59.999,30.0 +64.wav=d z_W,1529.494,64.407,-101.278,40.0,20.0 +64.wav=l d_W,1465.337,87.999,-105.018,60.0,30.0 +64.wav=z v_W,1568.838,73.41,-120.622,50.0,25.0 +64.wav=s -5_W,2331.686,99.75,-134.024,80.0,40.0 +65.wav=- g3_W,303.14,46.39,-60.674,40.0,19.999 +65.wav=er n2_W,1420,137.627,-178.222,110,55.0 +65.wav=er t_W,2150.0,128.534,-174.103,109.999,54.999 +65.wav=er z_W,755.0,131.989,-247.513,109.998,55.0 +65.wav=g er_W,297.402,200.0,-349.785,80.0,40.0 +65.wav=hh er1_W,1658.717,199.999,-472.794,80.0,40.0 +65.wav=q er_W,1053.271,171.745,-408.435,10.0,10.0 +65.wav=d hh_W,1539.873,100,-150,80.0,40.0 +65.wav=n d2_W,1525.067,63.843,-78.665,60.0,30.0 +65.wav=t q1_W,975.292,86.587,-101.226,79.999,40.0 +65.wav=z t_W,901,65.737,-77.815,50.0,25.0 +65.wav=t -8_W,2265.626,255.941,-334.718,80.0,40.0 +65.wav=n21_W,1530,15,-126.301,15,10 +66.wav=- n3_W,348.275,47.381,-74.14,39.999,20.0 +66.wav=er v1_W,770,120.0,-153.978,110,55.0 +66.wav=er y_W,1566.889,131.41,-184.987,110.0,54.999 +66.wav=er z1_W,2186.158,187.116,-247.874,109.998,54.999 +66.wav=n er_W,380.635,143.436,-402.828,39.999,19.999 +66.wav=t er_W,1020.553,183.993,-415.387,99.999,50.0 +66.wav=y er_W,1763.08,142.109,-256.159,40.0,20.0 +66.wav=v t_W,923.762,73.409,-97.212,50.0,25.0 +66.wav=z -9_W,2385,150.669,-213.252,80.0,40.0 +66.wav=er6_W,474.635,40.0,-210.221,20.0,40.0 +66.wav=n22_W,345,15,-126.301,15,10 +67.wav=- s6_W,187.988,69.316,-136.055,39.999,19.999 +67.wav=er f_W,1600.0,137.062,-235.796,109.998,54.999 +67.wav=er g_W,2305.0,148.895,-244.707,109.998,54.999 +67.wav=er p1_W,817.735,126.356,-163.746,109.998,55.0 +67.wav=f er_W,1824.733,199.999,-448.056,80.0,40.0 +67.wav=l er1_W,395.687,179.123,-405.856,60.0,29.999 +67.wav=y er1_W,1130.801,131.404,-366.915,40.0,19.998 +67.wav=p y_W,1028.015,112.079,-138.43,100,50.0 +67.wav=s l1_W,299.61,96.47,-122.82,80.0,39.999 +67.wav=g -_W,2401.125,166.951,-273.317,80.0,40.0 +68.wav=- d2_W,240.067,52.027,-88.606,40.0,19.999 +68.wav=er m_W,1368.216,142.701,-217.125,110,55.0 +68.wav=er z2_W,796.702,131.41,-176.701,109.999,55.0 +68.wav=er z3_W,2089.999,141.766,-233.032,109.998,54.999 +68.wav=d er_W,228.192,197.116,-392.244,120.0,60.0 +68.wav=dh er2_W,1612.215,137.117,-419.877,60.0,30.0 +68.wav=f er1_W,954,162.881,-381.077,80.0,40.0 +68.wav=m dh_W,1549.479,86.899,-96.78,59.998,30.0 +68.wav=z f_W,845,73.41,-120.622,50.0,25.0 +68.wav=z -10_W,2258.714,233.988,-293.278,79.999,40.0 +69.wav=- p5_W,316.45,56.537,-79.926,39.999,20.0 +69.wav=er b_W,2185,119.999,-154.689,110,55.0 +69.wav=er k_W,753.472,138.822,-164.914,109.997,54.999 +69.wav=er n1_W,1459.383,119.999,-181.604,110,55.0 +69.wav=b er_W,1024.303,150,-370,60,30 +69.wav=k er_W,1645.691,236.107,-492.728,119.998,60.0 +69.wav=p er_W,276.097,211.338,-458.289,120.0,60.0 +69.wav=k b_W,924.147,84.551,-123.354,59.998,29.999 +69.wav=n k_W,1570.257,73.175,-81.41,60.0,30.0 +69.wav=b -_W,2397.367,145.124,-242.493,80.0,40.0 +69.wav=n23_W,1565,15,-126.301,15,10 +7.wav=- ao_W,456.012,220,-500,60,30 +7.wav=ao aw_W,1129.667,340,-650,240,120 +7.wav=aw ay_W,1438.51,451.377,-649.999,400,200 +7.wav=ay ae_W,2576.813,523.686,-745.02,399.998,200.0 +7.wav=ay ay_W,2050.67,506.56,-752.664,399.998,199.999 +7.wav=ae -_W,3120.813,480,-600,300,120 +7.wav=ae_W,3025,40.0,-210.221,20.0,40.0 +7.wav=ao_W,562.657,40.0,-210.221,20.0,40.0 +7.wav=aw1_W,567.33,40.0,-210.221,20.0,40.0 +7.wav=ay5_W,1414.937,40.0,-210.221,20.0,40.0 +7.wav=ay6_W,1971.232,40.0,-210.221,20.0,40.0 +70.wav=- hh2_W,170.63,61.298,-112.33,39.999,19.998 +70.wav=ey l_W,513.775,252.715,-269.073,219.998,109.998 +70.wav=ey p_W,1961.682,243.826,-286.6,219.998,109.997 +70.wav=ey sh_W,1246.551,249.605,-359.043,219.999,109.998 +70.wav=hh ey_W,225.0,94.44,-234.193,59.999,29.997 +70.wav=r ey1_W,966.019,103.999,-339.742,39.999,20.0 +70.wav=sh ey_W,1517.3,200,-420,100,50 +70.wav=l s_W,712.74,80.863,-129.721,60.0,30.0 +70.wav=s r_W,880.227,88.782,-105.252,79.998,39.999 +70.wav=p -3_W,2189.2,306.731,-527.402,79.998,39.997 +71.wav=- ch1_W,205.927,74.338,-160.937,39.999,19.999 +71.wav=ey d_W,2050.348,253.829,-280.328,220,110.0 +71.wav=ey n_W,599.069,240.297,-272.435,220,110.0 +71.wav=ey v_W,1346.954,240.296,-370.727,219.999,109.998 +71.wav=ch ey_W,221.045,176.561,-411.671,140,70 +71.wav=f ey_W,1657.543,182.069,-398.982,80.0,40.0 +71.wav=p ey_W,989.251,187.358,-438.57,59.998,29.999 +71.wav=d f_W,1545.184,99.985,-152.435,60.0,30.0 +71.wav=d p_W,903.833,81.098,-95.313,59.999,30.0 +71.wav=d z2_W,2284.931,115.381,-160.174,80.0,40.0 +71.wav=jh d_W,890.85,87.998,-109.408,60.0,30.0 +71.wav=n jh_W,836.843,83.106,-114.526,59.999,30.0 +71.wav=v d1_W,1567.645,73.41,-120.622,50.0,25.0 +71.wav=z -11_W,2387.748,171.914,-250.588,79.996,39.996 +71.wav=n24_W,845,15,-126.301,15,10 +72.wav=- s7_W,224.442,75.877,-123.327,40.0,19.999 +72.wav=ey f_W,738.113,246.498,-339.179,219.998,109.997 +72.wav=ey m_W,2198.897,251.01,-293.859,220,110.0 +72.wav=ey z_W,1456.925,240.296,-345.022,219.999,109.999 +72.wav=s ey_W,293.763,208.696,-381.624,99.998,49.998 +72.wav=w ey_W,1128.975,164.087,-378.134,49.998,24.996 +72.wav=z ey_W,1705.311,189.358,-553.988,120,60 +72.wav=f w_W,1012.626,100.216,-140.756,79.996,39.997 +72.wav=m -2_W,2430.861,258.964,-362.172,79.997,39.997 +73.wav=- ey1_W,245.793,176.71,-394.06,60.0,30.0 +73.wav=ey dh_W,755.64,240.295,-285.431,219.998,109.998 +73.wav=ey y_W,1455.722,240.296,-286.599,219.999,109.998 +73.wav=dh ey_W,1002,158.949,-361.387,60.0,30.0 +73.wav=y ey_W,1729.0,103.406,-254.018,39.999,20.0 +73.wav=ey -1_W,2014.567,473.477,-561.862,299.999,119.997 +73.wav=ey3_W,401.413,40.0,-210.221,20.0,40.0 +74.wav=- n4_W,300.825,50.775,-77.611,39.999,20.0 +74.wav=ey jh_W,2073.719,240.294,-266.735,219.996,109.996 +74.wav=ey k_W,625.944,240.296,-276.208,219.999,109.999 +74.wav=ey v1_W,1371.49,240.297,-272.435,220,110.0 +74.wav=g ey_W,1720.776,153.474,-350.939,59.999,30.0 +74.wav=k ey_W,967.809,291.758,-481.044,120.0,59.999 +74.wav=n ey_W,352,112.752,-271.747,39.999,20.0 +74.wav=d g_W,1617.368,82.181,-105.787,60.0,30.0 +74.wav=k s2_W,859.692,72.982,-105.179,59.999,30.0 +74.wav=s k4_W,886.951,96.469,-133.25,79.999,40.0 +74.wav=v d2_W,1622.691,62.444,-83.671,50.0,24.998 +74.wav=jh -1_W,2281.808,303.159,-354.214,80.0,40.0 +74.wav=ey4_W,390,40.0,-210.221,20.0,40.0 +74.wav=n25_W,335,15,-126.301,15,10 +75.wav=- p6_W,230.807,55.036,-107.703,40.0,19.997 +75.wav=ey hh_W,1386.67,254.955,-374.232,219.997,109.998 +75.wav=ey n1_W,569.859,240.295,-300.621,219.998,109.998 +75.wav=ey v2_W,2156.665,259.527,-360.813,220.0,109.999 +75.wav=hh ey1_W,1717.123,149.17,-360.423,80.0,40.0 +75.wav=l ey_W,346.613,136.077,-290.31,60.0,30.0 +75.wav=r ey_W,1065.34,109.172,-380.366,40.0,20.0 +75.wav=k r1_W,985.653,88.31,-111.159,79.999,39.999 +75.wav=n z_W,826.479,81.41,-103.369,60.0,30.0 +75.wav=p l_W,252.088,110.43,-130.741,99.999,49.999 +75.wav=z k_W,904.514,73.407,-92.063,49.998,24.999 +75.wav=v -2_W,2444.016,128.5,-157.117,79.998,40.0 +75.wav=n26_W,792,15,-126.301,15,10 +76.wav=- f3_W,240.645,68.567,-100.516,40.0,19.999 +76.wav=ey k1_W,1396.028,240.295,-259.726,219.999,109.999 +76.wav=ey th_W,690.207,248.755,-291.604,220,110.0 +76.wav=ey v3_W,2160.183,267.763,-347.639,219.999,109.999 +76.wav=b ey_W,1025.473,150,-370,60,30 +76.wav=f ey1_W,311.425,162.957,-428.191,79.998,39.999 +76.wav=q ey_W,1714.691,131.31,-370.031,10.0,10.0 +76.wav=k q3_W,1592.162,130.83,-159.883,119.998,60.0 +76.wav=th b1_W,946.03,73.409,-108.741,50.0,25.0 +76.wav=v -3_W,2510.041,131.411,-219.42,79.999,39.999 +76.wav=th4_W,925,15.0,-70.124,15.0,10.0 +77.wav=- m2_W,413.662,49.258,-60.253,39.999,19.998 +77.wav=ey b_W,2337.796,247.174,-291.271,219.997,109.998 +77.wav=ey s_W,1589.996,240.296,-291.605,220,110.0 +77.wav=ey t_W,885.346,248.754,-284.262,219.999,109.998 +77.wav=d ey_W,1945.125,136.961,-353.466,60.0,30.0 +77.wav=m ey_W,454,92.5,-385.653,39.999,20.0 +77.wav=t ey_W,1130,191.403,-380.8,99.998,49.999 +77.wav=s d1_W,1817.125,96.469,-129.853,79.999,39.999 +77.wav=b -1_W,2584.409,296.862,-382.276,80,40 +78.wav=- v2_W,243.538,56.781,-93.815,40.0,19.999 +78.wav=ey g_W,666.837,242.552,-307.633,219.999,109.999 +78.wav=ey v4_W,2245.49,240.294,-429.662,219.998,109.998 +78.wav=ey w_W,1532.729,240.296,-288.349,219.999,109.999 +78.wav=f ey2_W,1014.823,200,-500,80.0,40.0 +78.wav=v ey_W,312.215,119.719,-350.289,49.998,24.999 +78.wav=w ey1_W,1807.887,173.475,-494.001,49.997,24.998 +78.wav=g f_W,923.571,78.118,-124.781,59.999,30.0 +78.wav=v -4_W,2544.472,175.811,-249.811,80.0,40.0 +79.wav=- s8_W,106.977,65.309,-118.684,40.0,20.0 +79.wav=ih f1_W,670.0,133.105,-193.47,109.998,54.999 +79.wav=ih g_W,2029.474,119.997,-148.557,109.998,54.999 +79.wav=ih l_W,1240.733,172.018,-242.578,109.999,54.999 +79.wav=k ih1_W,887.323,275.265,-476.235,99.999,50.0 +79.wav=q ih_W,1645.743,139.251,-387.403,10.0,10.0 +79.wav=w ih_W,288.844,138.934,-343.977,50.0,24.998 +79.wav=f t1_W,788.305,92.462,-118.947,79.999,40.0 +79.wav=g z2_W,2147.165,121.797,-180.998,59.999,29.999 +79.wav=l q_W,1499.024,83.606,-111.603,60.0,30.0 +79.wav=s w_W,204.058,87.27,-108.562,79.999,39.999 +79.wav=t k_W,787.274,103.056,-122.82,79.999,40.0 +79.wav=z -12_W,2285.0,185.269,-281.08,80.0,40.0 +8.wav=- eh_W,414.048,219.999,-407.592,60.0,30.0 +8.wav=ah uw_W,2132.641,432.191,-807.057,239.999,120.0 +8.wav=eh er_W,938.278,340,-650,240,120 +8.wav=er ah_W,2169.054,392.23,-723.33,240.0,119.998 +8.wav=uw aa_W,2799.295,307.702,-493.883,240.0,120.0 +8.wav=aa -_W,3118.938,480,-600,300,120 +8.wav=aa_W,2489.259,40.0,-385.62,20.0,40.0 +8.wav=ah4_W,2428.454,40.0,-210.221,20.0,40.0 +8.wav=eh_W,593.036,40.0,-210.221,20.0,40.0 +8.wav=er3_W,1292.577,40.0,-300.023,20.0,40.0 +8.wav=uw4_W,2425,40.0,-396.168,20.0,40.0 +80.wav=- z4_W,199.561,64.307,-105.904,40.0,20.0 +80.wav=ih n_W,2081.052,135.933,-212.823,109.999,54.999 +80.wav=ih p_W,675,142.832,-184.829,109.999,55.0 +80.wav=ih v_W,1501.447,135.272,-171.926,109.998,54.999 +80.wav=m ih_W,964.715,178.578,-433.029,59.998,29.999 +80.wav=v ih_W,1622.746,130.818,-414.17,60.0,30.0 +80.wav=z ih_W,222.35,191.274,-427.297,120.0,60.0 +80.wav=n s1_W,2320.518,100.075,-192.852,60.0,29.999 +80.wav=p m_W,861.238,112.079,-156.603,99.998,50.0 +80.wav=s -6_W,2455,222.794,-313.375,80.0,40.0 +80.wav=n27_W,2225,15,-126.301,15,10 +81.wav=- n5_W,422.921,50.773,-73.561,39.999,20.0 +81.wav=ih ng_W,1525.0,137.626,-199.781,110.0,54.999 +81.wav=ih sh_W,866.808,148.89,-231.237,109.999,55.0 +81.wav=ih th_W,2293.708,169.59,-232.911,109.999,54.999 +81.wav=n ih1_W,462.426,81.996,-259.041,39.999,20.0 +81.wav=ng ih_W,1147.159,155.285,-334.562,40.0,20.0 +81.wav=w ih1_W,1822.072,174.343,-399.149,50.0,24.998 +81.wav=ng w_W,1687.084,101.88,-124.788,60.0,30.0 +81.wav=sh t1_W,1022.491,96.469,-119.526,79.999,39.999 +81.wav=t ng_W,1065.076,90.829,-104.925,79.998,39.997 +81.wav=th -2_W,2500.964,226.029,-322.619,80.0,40.0 +81.wav=ih6_W,522.15,40.0,-210.221,20.0,40.0 +81.wav=ih7_W,1185,40.0,-210.221,20.0,40.0 +81.wav=n28_W,425,15,-126.301,15,10 +81.wav=ng_W,1635.0,14.998,-92.121,14.998,10.0 +81.wav=th5_W,2458.813,14.999,-102.633,14.999,9.999 +82.wav=- p7_W,333.808,52.515,-173.669,39.999,20.0 +82.wav=ih d_W,915.0,136.5,-170.471,109.998,54.999 +82.wav=ih dh_W,2215.0,209.581,-258.655,109.999,55.0 +82.wav=ih k_W,1495.0,143.214,-213.325,109.999,54.998 +82.wav=n ih_W,1095.458,140.89,-373.276,79.998,39.998 +82.wav=p ih_W,322.698,276.706,-530.256,200,100 +82.wav=w ih2_W,1806.724,178.527,-435.664,50.0,24.998 +82.wav=d n_W,1013.141,100,-150,80.0,40.0 +82.wav=k w_W,1627.715,195.598,-216.459,180,90 +82.wav=dh -_W,2336.335,217.095,-301.222,79.998,39.998 +82.wav=ih8_W,1221.659,40.0,-210.221,20.0,40.0 +83.wav=- d3_W,227.336,74.719,-104.809,39.998,19.999 +83.wav=ih k1_W,715.0,160.154,-240.776,109.998,55.0 +83.wav=ih m_W,2132.44,129.763,-221.167,110.0,54.999 +83.wav=ih s_W,1392.745,136.352,-201.406,110.0,54.999 +83.wav=d ih_W,255.066,223.99,-468.192,120.0,60.0 +83.wav=dh ih_W,969.387,169.832,-381.318,60.0,30.0 +83.wav=r ih2_W,1705.858,134.697,-355.386,39.999,20.0 +83.wav=b r_W,1642,83.998,-104.585,70.0,34.999 +83.wav=k t4_W,839.985,69.882,-108.31,59.999,29.999 +83.wav=s b_W,1404.774,122.82,-177.169,80.0,40.0 +83.wav=t dh_W,774.814,103.056,-163.088,79.999,40.0 +83.wav=m -3_W,2328.631,316.335,-382.212,80.0,40.0 +84.wav=- th1_W,124.336,68.354,-110.596,40.0,19.998 +84.wav=ih n1_W,1357.548,137.628,-235.731,110.0,55.0 +84.wav=ih r2_W,1276.998,150.595,-209.231,110.0,55.0 +84.wav=ih z_W,2061,148.902,-216.39,110.0,55.0 +84.wav=f ih_W,945,169.758,-371.507,80.0,40.0 +84.wav=s ih1_W,1538.228,200,-420,100,50 +84.wav=th ih_W,265.992,202.548,-395.339,60.0,29.999 +84.wav=n f_W,847.748,108.86,-136.858,59.999,30.0 +84.wav=r s1_W,1579.722,68.547,-131.679,40.0,20.0 +84.wav=z -13_W,2301.284,178.923,-326.504,79.997,39.997 +84.wav=ih9_W,386,40.0,-210.221,20.0,40.0 +84.wav=n29_W,836,15,-126.301,15,10 +84.wav=th6_W,166.107,15.0,-72.642,15.0,10.0 +85.wav=- s9_W,155.006,50.774,-104.15,40.0,20.0 +85.wav=ih f_W,2135.0,146.104,-180.917,109.999,54.999 +85.wav=ih ng1_W,1379.811,151.159,-267.868,110.0,55.0 +85.wav=ih t_W,735,141.574,-177.659,110.0,55.0 +85.wav=l ih1_W,1043.01,140.343,-336.551,60.0,30.0 +85.wav=l ih_W,1689.227,157.259,-349.238,60.0,30.0 +85.wav=t ih_W,289.876,185.533,-393.226,70.0,44.999 +85.wav=f t2_W,2238.713,95.372,-120.075,80.0,40.0 +85.wav=ng l_W,1507.272,94.275,-150.879,60.0,30.0 +85.wav=s t3_W,205.098,96.47,-120.626,79.999,39.999 +85.wav=t l_W,894.474,150.371,-168.027,140,70 +85.wav=t -9_W,2319.98,195.729,-255.031,79.996,40.0 +85.wav=ng11_W,1495,15,-126.301,15,10 +86.wav=- b1_W,245.276,61.801,-70.446,39.999,20.0 +86.wav=ih f2_W,2110.0,134.632,-175.403,109.999,55.0 +86.wav=ih n2_W,1361.126,119.998,-209.315,109.998,54.999 +86.wav=ih ng2_W,681.027,150.031,-242.497,110.0,55.0 +86.wav=dh ih1_W,967.05,168.252,-364.96,60.0,30.0 +86.wav=r ih1_W,324.551,149.519,-320.8,39.999,19.998 +86.wav=sh ih_W,1630,200,-420,100,50 +86.wav=b r1_W,255.602,82.352,-101.292,70.0,35.0 +86.wav=f t3_W,2252.319,99.998,-125.015,79.998,39.998 +86.wav=n sh_W,1522,98.429,-161.012,59.999,30.0 +86.wav=ng dh_W,918.402,73.724,-98.428,59.998,29.999 +86.wav=t -10_W,2324.061,125.817,-168.543,79.997,40.0 +86.wav=n30_W,1495,15,-126.301,15,10 +86.wav=ng12_W,805.238,15,-126.301,15,10 +87.wav=- ch2_W,234.86,84.555,-174.825,39.999,19.999 +87.wav=ih ng3_W,698.553,148.34,-302.261,110.0,55.0 +87.wav=ih r1_W,1355,138.8,-235.146,110.0,54.999 +87.wav=ch ih_W,256.096,218.652,-411.67,140.0,70.0 +87.wav=dh ih2_W,1660.008,179.999,-448.186,60.0,30.0 +87.wav=g ih_W,985.611,171.139,-375.614,80.0,40.0 +87.wav=ng g_W,910.0,69.331,-96.446,59.998,29.999 +87.wav=r dh_W,1584.466,54.44,-83.741,40.0,20.0 +87.wav=ih -_W,2009.027,500.362,-559.39,299.998,119.998 +87.wav=ng13_W,837.175,15,-126.301,15,10 +88.wav=- y1_W,296,50.775,-79.342,40.0,20.0 +88.wav=ih ch_W,1409.028,133.105,-160.242,109.998,54.999 +88.wav=ih g1_W,2206.0,133.369,-198.718,109.999,55.0 +88.wav=ih r_W,724.26,142.116,-248.343,109.999,54.999 +88.wav=hh ih_W,1014.819,145.966,-332.025,80.0,40.0 +88.wav=jh ih_W,1713.765,140,-400,60,30.0 +88.wav=y ih_W,437.889,95.172,-226.926,39.999,20.0 +88.wav=ch t_W,1530.364,146.482,-189.065,119.998,59.998 +88.wav=r hh_W,946.163,90.506,-125.165,40.0,20.0 +88.wav=t jh_W,1596.074,80.772,-131.145,60.0,30.0 +88.wav=g -1_W,2323.87,246.22,-295.628,80.0,40.0 +89.wav=- p8_W,361.584,54.657,-90.342,39.999,19.998 +89.wav=ih jh_W,2240.0,132.16,-156.697,109.998,54.998 +89.wav=ih m1_W,713.744,137.998,-203.875,109.999,55.0 +89.wav=ih n3_W,1425,137.627,-243.06,110.0,55.0 +89.wav=b ih_W,1048.84,150,-370,60,30 +89.wav=p ih1_W,343.869,202.956,-417.947,119.997,60.0 +89.wav=r ih_W,1752.619,157.755,-436.91,40.0,20.0 +89.wav=m p1_W,846.192,74.02,-92.196,59.998,29.999 +89.wav=n r_W,1644.375,81.41,-103.369,60.0,30.0 +89.wav=p b_W,910.574,127.437,-162.315,99.998,49.999 +89.wav=jh -2_W,2359.195,307.277,-354.215,79.999,40.0 +89.wav=n31_W,1535,15,-126.301,15,10 +9.wav=- er_W,368.647,220,-500,60,30 +9.wav=ah eh_W,2070.987,339.999,-470.449,239.999,119.999 +9.wav=ay ah_W,2125,544.054,70.729,400.0,199.999 +9.wav=eh aw_W,2616.511,339.999,-590.128,240.0,120.0 +9.wav=er ay_W,1466.876,491.179,-694.786,240.0,120.0 +9.wav=aw -_W,2999.767,522.335,-600.0,299.999,119.999 +9.wav=ah5_W,1969.538,40.0,-210.221,20.0,40.0 +9.wav=aw2_W,2931.574,40.0,-210.221,20.0,40.0 +9.wav=ay7_W,1232.607,40.0,-210.221,20.0,40.0 +9.wav=eh1_W,2344.21,40.0,-283.286,20.0,40.0 +9.wav=er4_W,515.14,40.0,-337.278,20.0,40.0 +90.wav=- p9_W,240.067,67.196,-117.539,39.998,19.999 +90.wav=iy d_W,1345.0,140.444,-189.299,109.998,54.999 +90.wav=iy m_W,2100.0,128.94,-309.459,109.998,54.999 +90.wav=iy w_W,823.577,156.736,-191.788,109.998,55.0 +90.wav=k iy_W,1556.853,235.675,-527.782,160,80 +90.wav=p iy_W,253.896,284.633,-542.973,120.0,60.0 +90.wav=w iy_W,1002.757,126.856,-301.431,49.999,25.0 +90.wav=d k_W,1454.553,99.998,-120.623,79.998,39.997 +90.wav=m -4_W,2245.301,230.694,-265.279,80.0,40.0 +91.wav=- iy1_W,357.93,158.103,-378.836,60.0,30.0 +91.wav=iy m1_W,1474.563,119.998,-208.104,110.0,55.0 +91.wav=iy sh_W,2224.717,156.114,-233.52,109.999,55.0 +91.wav=iy z_W,750.0,181.238,-267.702,109.998,54.999 +91.wav=l iy_W,1713.732,166.464,-443.382,80.0,40.0 +91.wav=r iy_W,1077.028,155.284,-375.149,39.999,20.0 +91.wav=m l_W,1624.782,81.409,-123.687,60.0,30.0 +91.wav=z r_W,989.059,112.443,-139.891,99.998,49.999 +91.wav=sh -1_W,2405.0,130.542,-192.326,79.995,39.998 +91.wav=iy5_W,430,39.999,-300.023,20.0,39.999 +92.wav=- p10_W,157.321,56.162,-116.959,39.999,19.998 +92.wav=iy d1_W,2036.0,171.227,-257.691,109.999,54.999 +92.wav=iy t_W,1306,126.469,-139.645,110.0,54.999 +92.wav=iy z1_W,676,161.055,-206.345,109.999,55.0 +92.wav=b iy_W,1534.969,150,-370,60,30 +92.wav=l iy1_W,281.18,140.343,-380.151,60.0,30.0 +92.wav=m iy_W,920,90.385,-302.661,39.999,20.0 +92.wav=d m_W,833.266,70.431,-97.33,59.999,30.0 +92.wav=d z3_W,2125.703,100,-150,80.0,40.0 +92.wav=p l1_W,185.616,112.079,-138.43,100,50.0 +92.wav=t b_W,1428.727,103.057,-142.584,80.0,40.0 +92.wav=z d_W,834.946,73.41,-120.622,50.0,25.0 +92.wav=z -14_W,2204.717,170.175,-243.463,80.0,40.0 +93.wav=- v3_W,423.498,64.304,-110.597,39.999,20.0 +93.wav=iy ch_W,1650,119.999,-142.137,110.0,55.0 +93.wav=iy jh_W,950,120.0,-168.466,109.999,55.0 +93.wav=iy v_W,2419.74,151.996,-219.242,110.0,54.999 +93.wav=ch iy_W,1835,215.269,-411.67,140.0,70.0 +93.wav=jh iy_W,1164.403,164.816,-383.791,79.998,39.997 +93.wav=v iy_W,490.331,187.358,-404.686,59.998,29.998 +93.wav=v -5_W,2619.094,99.146,-120.506,80.0,40.0 +94.wav=- sh2_W,332.072,68.817,-144.995,40.0,20.0 +94.wav=iy b_W,955.0,139.624,-187.724,109.997,55.0 +94.wav=iy dh_W,1570.286,149.713,-225.673,109.998,54.999 +94.wav=dh iy_W,1853.984,179.999,-464.254,60.0,30.0 +94.wav=r iy1_W,1200.898,151.442,-377.784,40.0,20.0 +94.wav=sh iy_W,414.111,247.303,-445.806,99.999,49.999 +94.wav=b r2_W,1129.167,83.999,-105.409,69.999,35.0 +94.wav=d dh1_W,1721.396,86.351,-123.682,59.999,29.999 +94.wav=dh d_W,1693.606,67.998,-108.622,40.0,20.0 +94.wav=iy -1_W,2166.365,451.895,-542.253,299.999,120.0 +95.wav=- iy2_W,359.232,220,-500,60,30 +95.wav=iy g_W,1626.492,127.292,-167.253,109.999,54.999 +95.wav=iy y_W,1000.037,136.35,-190.621,109.998,54.999 +95.wav=g iy_W,1837.641,200,-380.231,80.0,40.0 +95.wav=y iy_W,1148.337,106.026,-383.259,40.0,20.0 +95.wav=iy -2_W,2117.384,506.949,-535.77,300.0,119.998 +95.wav=iy6_W,489.435,40.0,-393.764,20.0,40.0 +96.wav=- s10_W,242.961,82.098,-149.38,39.999,19.999 +96.wav=iy f_W,1491.979,139.319,-223.328,110.0,55.0 +96.wav=iy k_W,711.406,217.496,-231.517,109.999,55.0 +96.wav=iy s_W,2236.308,158.584,-217.05,109.999,55.0 +96.wav=f iy_W,1659.87,183.99,-449.224,80.0,40.0 +96.wav=l iy2_W,1079.356,140.341,-378.845,40.0,20.0 +96.wav=s iy_W,320,185.823,-385.468,99.998,49.999 +96.wav=k p_W,809.59,130.27,-153.754,120.0,59.999 +96.wav=p l2_W,956.044,131.552,-152.716,120.0,59.999 +96.wav=s t4_W,2440.334,97.604,-119.466,79.997,39.998 +96.wav=t -11_W,2526.768,184.305,-317.169,80.0,40.0 +97.wav=- z5_W,310.663,67.439,-96.382,39.999,19.999 +97.wav=iy hh_W,904.198,139.881,-205.81,109.999,54.999 +97.wav=iy t1_W,1450,120.0,-144.393,110.0,55.0 +97.wav=iy th_W,2336.942,228.009,-280.588,109.998,54.999 +97.wav=hh iy_W,1037,208.459,-421.737,79.999,40.0 +97.wav=n iy_W,1736.236,135.817,-409.831,40.0,20.0 +97.wav=z iy_W,392.836,157.494,-418.363,49.998,24.998 +97.wav=t n1_W,1618.663,103.056,-130.506,79.999,40.0 +97.wav=th -3_W,2535,169.759,-260.346,80.0,40.0 +97.wav=iy7_W,1785,39.998,-265.17,19.998,39.998 +97.wav=th7_W,2450.634,15,-126.301,15,10 +98.wav=- hh3_W,179.888,58.794,-100.14,39.999,20.0 +98.wav=iy n_W,1386.804,132.234,-181.642,110.0,54.999 +98.wav=iy r_W,566.522,158.584,-257.399,109.999,55.0 +98.wav=iy v1_W,2262.014,122.852,-199.968,109.997,54.999 +98.wav=hh iy1_W,242.0,97.327,-369.089,79.998,39.997 +98.wav=q iy_W,1771.928,112.933,-378.733,10.0,10.0 +98.wav=t iy_W,985.094,131.376,-381.969,69.997,44.997 +98.wav=k q4_W,1593.487,82.384,-175.285,59.999,29.999 +98.wav=n k1_W,1539.997,67.27,-78.175,59.999,30.0 +98.wav=r z2_W,805.951,74.585,-127.242,40.0,20.0 +98.wav=s t5_W,876.569,96.469,-115.135,79.999,40.0 +98.wav=v z_W,2333.124,73.409,-95.016,49.999,24.999 +98.wav=z s_W,854.117,71.81,-100.891,49.999,25.0 +98.wav=z -15_W,2482.156,225.664,-349.518,80.0,40.0 +98.wav=n32_W,1521,15,-126.301,15,10 +99.wav=- b2_W,304.298,58.516,-74.718,39.999,19.999 +99.wav=iy l_W,1205.0,173.543,-295.303,109.999,54.999 +99.wav=iy l1_W,1865.0,177.151,-308.358,109.998,54.999 +99.wav=iy p_W,735.0,128.47,-160.017,109.998,55.0 +99.wav=d iy_W,961.966,146.874,-284.749,120.0,59.999 +99.wav=l iy3_W,398.024,133.611,-346.266,60.0,29.999 +99.wav=w iy1_W,1757.639,71.485,-217.987,50.0,24.998 +99.wav=b l_W,337.918,87.39,-120.106,49.999,24.998 +99.wav=l z1_W,1504.221,74.539,-132.181,59.998,30.0 +99.wav=p d_W,860.232,106.037,-123.886,99.998,50.0 +99.wav=z w_W,1660.533,129.333,-146.352,100,50.0 +99.wav=l -2_W,2135,316.335,-382.212,80.0,40.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=aa r_W,853.924,214.999,-242.271,200.0,80 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=aa dx_W,1554.4,225.237,-245.668,199.998,79.999 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=iy dx_W,2209.888,219.762,-237.856,199.999,79.999 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=er dx_W,2895.172,219.763,-258.053,199.999,80.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=dx aa_W,1092.208,199.341,-536.55,40.0,20.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=dx iy_W,1788.009,199.341,-536.55,40.0,20.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=dx er_W,2443.498,199.341,-536.55,40.0,20.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=dx ah_W,3165.588,199.341,-536.55,40.0,20.0 +aa_r_dx_aa_dx_iy_dx_er_dx_ah.wav=r dx_W,1034.373,45.053,-65.993,39.997,19.999 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=ah dx_W,834.06,214.999,-242.271,200.0,80 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=eh dx_W,1552.646,225.938,-246.319,199.999,80.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=ay dx_W,2323.81,207.31,-252.578,199.999,80.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=ey dx_W,3000.395,219.763,-258.053,199.999,80.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=dx eh_W,1099.219,199.341,-536.55,40.0,20.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=dx ay_W,1816.05,199.34,-395.788,40.0,20.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=dx ey_W,2595.978,199.34,-374.756,40.0,20.0 +ah_dx_eh_dx_ay_dx_ey_dx_uw.wav=dx uw_W,3249.812,225.781,-401.045,120,60.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=oy dx_W,814.782,217.059,-254.331,199.998,79.999 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=ih dx_W,1542.129,216.674,-237.055,200.0,80.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=ow dx_W,2211.64,219.763,-258.053,200.0,80.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=ao dx_W,2928.472,219.762,-244.466,200.0,80.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=ao r_W,3256.229,255.583,-307.228,200.0,79.999 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=dx ih_W,1058.908,199.341,-536.55,40.0,20.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=dx ow_W,1765.224,308.657,-588.429,40.0,20.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=dx ao_W,2466.283,199.341,-536.55,40.0,20.0 +oy_dx_ih_dx_ow_dx_ao_dx_ao_r.wav=dx ao_W,3211.157,110.124,-250.335,40.0,20.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=uw dx_W,914.682,214.998,-240.311,199.999,79.999 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=aw dx_W,1692.857,222.231,-246.317,200.0,80.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=uh dx_W,2506.084,219.763,-258.053,200.0,80.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=ae dx_W,2972.288,219.762,-248.172,200.0,80.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=dx aw_W,1148.293,199.341,-536.55,40.0,20.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=dx uh_W,1942.242,199.341,-536.55,40.0,20.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=dx ae_W,2762.48,125.879,-313.412,40.0,20.0 +uw_dx_aw_dx_uh_dx_ae_dx_oy.wav=dx oy_W,3596.848,199.34,-503.032,40.0,20.0 diff --git a/OpenUtau.Test/Files/en_arpa/character.txt b/OpenUtau.Test/Files/en_arpa/character.txt new file mode 100644 index 000000000..4e34aa074 --- /dev/null +++ b/OpenUtau.Test/Files/en_arpa/character.txt @@ -0,0 +1 @@ +name=en_arpa diff --git a/OpenUtau.Test/Files/en_arpa/character.yaml b/OpenUtau.Test/Files/en_arpa/character.yaml new file mode 100644 index 000000000..0a86097a2 --- /dev/null +++ b/OpenUtau.Test/Files/en_arpa/character.yaml @@ -0,0 +1,24 @@ +portrait_opacity: 0.67000001668930054 +subbanks: +- color: '' + prefix: '' + suffix: '' + tone_ranges: + - C1-A#2 + - D4-D5 + - F6-B7 +- color: '' + prefix: '' + suffix: _1 + tone_ranges: + - D#5-E6 +- color: '' + prefix: '' + suffix: _3 + tone_ranges: + - B2-C#4 +- color: Whisper + prefix: '' + suffix: _W + tone_ranges: + - C1-B7 diff --git a/OpenUtau.Test/Files/ja_cvvc/A3/oto.ini b/OpenUtau.Test/Files/ja_cvvc/A3/oto.ini new file mode 100644 index 000000000..48e86846b --- /dev/null +++ b/OpenUtau.Test/Files/ja_cvvc/A3/oto.ini @@ -0,0 +1,416 @@ +_EEEEE.wav=E _A3,698.404,124.841,-301.699,48.548,34.678 +_EEEEE.wav=a E_A3,830.318,319.357,-378.31,249.999,83.333 +_EEEEE.wav=E _A3,1207.429,107.502,-315.57,58.952,31.21 +_EEEEE.wav=i E_A3,1341.995,305.485,-357.502,250.0,83.333 +_EEEEE.wav=E _A3,1681.797,149.115,-319.038,65.887,45.081 +_EEEEE.wav=u E_A3,1825.246,281.211,-360.971,250.0,83.333 +_EEEEE.wav=E _A3,2172.984,156.051,-315.57,72.823,31.21 +_EEEEE.wav=e E_A3,2355.015,308.952,-381.776,250.0,83.333 +_EEEEE.wav=E _A3,2688.948,201.29,-297.087,76.29,45.081 +_EEEEE.wav=n E_A3,4014.503,333.229,-419.924,250.0,83.332 +_.wav=- _A3,240.744,128.467,-841.09,3.467,3.467 +_.wav=a _A3,436.114,375.0,-680.008,250.0,83.332 +_.wav=a _A3,1056.33,375.0,-598.871,250.0,83.331 +_.wav=i _A3,1502.109,375.0,-610.501,250.0,83.333 +_.wav=a _A3,1971.148,327.104,-673.074,250.0,83.333 +_.wav=u _A3,2482.827,351.636,-691.592,250.0,83.333 +_.wav=e _A3,2994.505,351.636,-1045.567,250.0,83.332 +_.wav=a _A3,4231.06,463.2,-854.711,250.0,82.999 +_.wav=a k_A3,424.577,283.596,-322.359,250.0,82.999 +_.wav=_A3,722.725,138.843,-351.504,55.172,0.0 +_.wav=a s_A3,925.918,250.0,-330.184,250.0,83.331 +_.wav=_A3,1195.915,157.306,-439.693,80.607,42.056 +_.wav=a t_A3,1432.428,273.258,-304.269,250.0,83.331 +_.wav=_A3,1715.139,146.699,-385.902,52.569,0.0 +_.wav=a g_A3,1967.365,250.0,-285.855,250.0,83.333 +_.wav=_A3,2248.376,136.256,-408.184,49.099,23.258 +_.wav=a z_A3,2473.875,250.0,-332.694,250.0,83.333 +_.wav=_A3,2730.092,160.655,-413.803,80.471,46.877 +_.wav=a d_A3,3019.574,249.998,-279.784,249.998,83.333 +_.wav=_A3,3285.079,107.586,-710.708,41.347,20.673 +_ႵႿႬႶĂ.wav=a ky_A3,408.979,271.028,-317.19,250.0,83.333 +_ႵႿႬႶĂ.wav=_A3,714.77,143.694,-375.776,63.083,0.0 +_ႵႿႬႶĂ.wav=a sh_A3,884.48,249.998,-353.366,249.998,83.33 +_ႵႿႬႶĂ.wav=_A3,1142.231,214.987,-467.711,134.378,69.774 +_ႵႿႬႶĂ.wav=a ch_A3,1380.648,264.56,-303.306,250.0,83.332 +_ႵႿႬႶĂ.wav=_A3,1657.13,179.092,-428.311,94.978,53.631 +_ႵႿႬႶĂ.wav=a gy_A3,1907.836,249.997,-286.178,249.997,83.33 +_ႵႿႬႶĂ.wav=_A3,2181.094,107.014,-377.264,43.931,12.39 +_ႵႿႬႶĂ.wav=a j_A3,2372.997,250.0,-358.537,250.0,83.333 +_ႵႿႬႶĂ.wav=_A3,2661.541,158.78,-396.029,78.17,46.628 +_ႵႿႬႶĂ.wav=a ty_A3,2851.503,269.028,-309.437,250.0,83.33 +_ႵႿႬႶĂ.wav=Ă_A3,3141.566,184.437,-697.294,59.437,0.0 +_Ȃ͂܂΂ς.wav=a n_A3,463.25,249.999,-299.098,249.999,83.333 +_Ȃ͂܂΂ς.wav=_A3,726.169,168.932,-377.264,43.932,23.127 +_Ȃ͂܂΂ς.wav=a h_A3,915.491,249.997,-319.771,249.997,83.33 +_Ȃ͂܂΂ς.wav=_A3,1186.788,127.91,-395.354,62.02,28.426 +_Ȃ͂܂΂ς.wav=a m_A3,1396.156,250.0,-322.359,250.0,83.333 +_Ȃ͂܂΂ς.wav=_A3,1666.83,187.021,-395.355,62.021,31.01 +_Ȃ͂܂΂ς.wav=a b_A3,1881.992,275.853,-319.774,249.999,83.33 +_Ȃ͂܂΂ς.wav=_A3,2165.587,140.964,-387.601,54.268,26.526 +_Ȃ͂܂΂ς.wav=a p_A3,2357.491,281.011,-337.864,250.0,83.333 +_Ȃ͂܂΂ς.wav=_A3,2677.265,174.1,-437.126,49.1,0.0 +_Ȃ͂܂΂ς.wav=a r_A3,2923.829,260.403,-275.842,249.998,83.333 +_Ȃ͂܂΂ς.wav=_A3,3184.166,153.425,-614.486,28.425,10.336 +_ɂЂ݂т҂.wav=a ny_A3,463.248,250.0,-296.516,250.0,83.331 +_ɂЂ݂т҂.wav=ɂ_A3,723.585,163.0,-405.689,72.357,31.01 +_ɂЂ݂т҂.wav=a hy_A3,936.163,250.0,-343.032,250.0,83.332 +_ɂЂ݂т҂.wav=Ђ_A3,1201.668,211.982,-441.869,108.535,41.347 +_ɂЂ݂т҂.wav=a my_A3,1442.672,250.0,-330.111,250.0,83.333 +_ɂЂ݂т҂.wav=݂_A3,1703.009,154.224,-431.567,77.526,33.595 +_ɂЂ݂т҂.wav=a by_A3,1946.598,271.028,-304.269,249.999,83.332 +_ɂЂ݂т҂.wav=т_A3,2232.777,142.449,-385.05,41.347,20.624 +_ɂЂ݂т҂.wav=a py_A3,2419.513,281.541,-324.943,250.0,83.333 +_ɂЂ݂т҂.wav=҂_A3,2726.492,155.37,-418.645,54.267,0.0 +_ɂЂ݂т҂.wav=a ry_A3,2954.964,260.335,-275.841,249.998,83.331 +_ɂЂ݂т҂.wav=_A3,3228.221,218.031,-938.076,93.031,33.595 +_킿‚ӂ.wav=a y_A3,481.337,250.0,-303.123,250.0,83.33 +_킿‚ӂ.wav=_A3,764.933,184.435,-406.511,59.435,31.01 +_킿‚ӂ.wav=a w_A3,959.423,249.998,-309.435,249.998,83.33 +_킿‚ӂ.wav=_A3,1245.6,125.386,-377.262,43.931,23.258 +_킿‚ӂ.wav=a ts_A3,1923.339,267.291,-304.269,250.0,83.33 +_킿‚ӂ.wav=‚_A3,2222.44,173.61,-413.477,71.972,0.0 +_킿‚ӂ.wav=a f_A3,2440.744,250.0,-343.033,250.0,83.33 +_킿‚ӂ.wav=ӂ_A3,2716.589,187.985,-457.146,85.278,36.179 +_킿‚ӂ.wav=a v_A3,2944.672,250.0,-335.28,250.0,83.329 +_킿‚ӂ.wav=_A3,3215.346,207.694,-702.474,82.694,46.516 +_.wav=- _A3,250.671,125.0,-791.379,0.0,0.0 +_.wav=i _A3,535.607,375.0,-661.379,250.0,83.333 +_.wav=i _A3,1021.442,375.0,-625.298,250.0,83.333 +_.wav=u _A3,1543.457,375.0,-647.433,250.0,83.332 +_.wav=a _A3,2027.242,375.0,-643.116,250.0,83.331 +_.wav=e _A3,2515.662,375.0,-636.973,250.0,83.333 +_.wav=i _A3,3022.172,375.0,-928.461,250.0,83.333 +_‚ӂ.wav=_A3,677.545,171.04,-379.373,46.04,14.166 +_‚ӂ.wav=i w_A3,967.174,250.0,-340.446,250.0,83.333 +_‚ӂ.wav=_A3,1258.521,192.188,-385.05,67.188,31.01 +_‚ӂ.wav=i ch_A3,1427.168,271.688,-310.434,250.0,83.333 +_‚ӂ.wav=_A3,1707.797,217.95,-429.361,137.342,63.742 +_‚ӂ.wav=i ts_A3,1907.834,267.706,-319.775,249.999,83.332 +_‚ӂ.wav=‚_A3,2193.611,182.465,-431.687,98.354,0.0 +_‚ӂ.wav=i f_A3,2453.107,250.0,-337.863,250.0,83.332 +_‚ӂ.wav=ӂ_A3,2739.743,152.224,-397.938,64.605,29.188 +_‚ӂ.wav=i v_A3,2947.152,250.0,-332.695,250.0,83.33 +_‚ӂ.wav=_A3,3242.108,179.269,-751.704,54.269,31.01 +_.wav=i k_A3,401.226,281.011,-332.696,249.999,83.332 +_.wav=i s_A3,1421.999,250.0,-384.379,250.0,83.331 +_.wav=i t_A3,2409.681,278.426,-330.111,250.0,83.333 +_.wav=i g_A3,458.08,250.0,-293.931,250.0,83.332 +_.wav=i z_A3,1421.999,250.0,-343.032,250.0,83.331 +_.wav=i d_A3,2458.611,250.0,-275.841,250.0,83.333 +_Ăł.wav=i ky_A3,411.563,270.674,-319.775,250.0,83.332 +_Ăł.wav=_A3,682.523,238.255,-431.116,113.255,0.0 +_Ăł.wav=i sh_A3,905.15,249.998,-386.966,249.998,83.331 +_Ăł.wav=_A3,1157.736,277.47,-462.577,152.47,67.19 +_Ăł.wav=i ty_A3,1390.987,275.842,-327.527,250.0,83.333 +_Ăł.wav=Ă_A3,1686.506,199.94,-408.275,74.94,0.0 +_Ăł.wav=i gy_A3,1913.003,249.999,-309.437,249.999,83.331 +_Ăł.wav=_A3,2169.131,218.031,-426.364,93.031,54.268 +_Ăł.wav=i j_A3,2407.054,250.0,-350.785,250.0,83.333 +_Ăł.wav=_A3,2664.807,241.288,-449.621,116.288,59.437 +_Ăł.wav=i dy_A3,2921.319,249.998,-288.761,249.998,83.333 +_Ăł.wav=i _A3,4048.265,260.999,-696.442,250.0,83.0 +_Ăł.wav=ł_A3,3189.604,181.852,-752.011,56.852,32.322 +_Ȃ₢.wav=i n_A3,411.563,250.0,-314.605,250.0,83.331 +_Ȃ₢.wav=i y_A3,1416.83,250.0,-304.268,250.0,83.331 +_Ȃ₢.wav=i m_A3,2484.441,250.0,-324.942,250.0,83.333 +_ɂЂ݂т҂.wav=i ny_A3,458.079,250.0,-306.854,250.0,83.33 +_ɂЂ݂т҂.wav=_A3,713.248,179.268,-434.151,54.268,26.232 +_ɂЂ݂т҂.wav=i hy_A3,923.242,249.998,-371.457,249.998,83.332 +_ɂЂ݂т҂.wav=_A3,1193.915,187.412,-439.287,105.953,33.595 +_ɂЂ݂т҂.wav=i my_A3,1429.751,250.0,-314.605,250.0,83.333 +_ɂЂ݂т҂.wav=_A3,1687.504,178.316,-454.825,82.693,41.347 +_ɂЂ݂т҂.wav=i by_A3,1933.678,275.536,-314.604,249.998,83.33 +_ɂЂ݂т҂.wav=_A3,2201.017,155.167,-396.418,63.085,32.074 +_ɂЂ݂т҂.wav=i py_A3,2406.905,271.027,-332.696,250.0,83.333 +_ɂЂ݂т҂.wav=_A3,2682.405,150.007,-443.265,68.549,0.0 +_ɂЂ݂т҂.wav=i ry_A3,2962.927,249.997,-273.841,249.997,83.333 +_ɂЂ݂т҂.wav=_A3,3215.888,130.845,-798.528,38.763,15.505 +_΂ς.wav=i b_A3,473.585,271.249,-306.853,249.999,83.333 +_΂ς.wav=_A3,736.506,179.268,-387.601,54.268,28.426 +_΂ς.wav=i p_A3,1419.414,274.788,-335.28,250.0,83.331 +_΂ς.wav=i r_A3,2489.895,250.0,-274.791,250.0,83.332 +_͂͂.wav=i h_A3,473.585,249.999,-293.932,249.999,83.332 +_͂͂.wav=u h_A3,1496.941,250.0,-306.854,250.0,83.331 +_͂͂.wav=n h_A3,2505.1,250.0,-296.516,250.0,83.333 +_.wav=- _A3,280.162,124.999,-843.672,0.0,0.0 +_.wav=u _A3,514.933,375.0,-583.333,250.0,83.333 +_.wav=u _A3,1060.206,375.0,-593.703,250.0,83.333 +_.wav=i _A3,1543.458,375.0,-637.635,250.0,83.333 +_.wav=o _A3,1995.963,375.0,-697.073,250.0,83.333 +_.wav=a _A3,2561.911,375.0,-616.057,250.0,83.333 +_.wav=o _A3,3022.255,375.0,-1219.088,250.0,83.33 +_サタガザĂ.wav=ky_A3,717.187,21.965,-52.977,21.965,0.0 +_サタガザĂ.wav=u ky_A3,411.563,265.506,-309.438,250.0,83.332 +_サタガザĂ.wav=_A3,675.321,233.537,-441.87,108.537,0.0 +_サタガザĂ.wav=sh_A3,1134.359,49.219,-139.668,10.456,0.0 +_サタガザĂ.wav=u sh_A3,879.309,249.998,-389.546,249.998,83.331 +_サタガザĂ.wav=_A3,1135.551,268.061,-476.393,143.061,77.491 +_サタガザĂ.wav=ch_A3,1684.92,46.516,-103.369,20.673,0.0 +_サタガザĂ.wav=u ch_A3,1389.246,263.954,-294.707,250.0,83.333 +_サタガザĂ.wav=_A3,1648.188,255.571,-478.805,160.944,83.452 +_サタガザĂ.wav=gy_A3,2232.777,19.009,-33.028,15.505,0.0 +_サタガザĂ.wav=u gy_A3,1944.014,250.0,-306.853,250.0,83.332 +_サタガザĂ.wav=_A3,2209.874,192.189,-400.522,67.189,25.842 +_サタガザĂ.wav=j_A3,2708.277,33.594,-74.942,0.0,0.0 +_サタガザĂ.wav=u j_A3,2440.414,250.0,-340.447,250.0,83.333 +_サタガザĂ.wav=_A3,2713.672,199.942,-408.275,74.942,25.842 +_サタガザĂ.wav=u ty_A3,2913.328,275.843,-314.606,250.0,83.333 +_サタガザĂ.wav=u _A3,3812.933,397.301,-596.883,249.999,82.999 +_サタガザĂ.wav=ty_A3,3220.473,26.864,-59.437,12.92,2.584 +_サタガザĂ.wav=Ă_A3,3173.732,238.705,-744.551,113.705,0.0 +_Ƃǂ.wav=k_A3,744.259,5.168,-19.54,5.168,5.168 +_Ƃǂ.wav=u k_A3,427.068,268.09,-322.359,250.0,83.332 +_Ƃǂ.wav=_A3,692.574,205.11,-413.443,80.11,0.0 +_Ƃǂ.wav=s_A3,1157.736,54.269,-139.549,0.0,0.0 +_Ƃǂ.wav=u s_A3,894.876,249.999,-394.655,249.999,83.331 +_Ƃǂ.wav=_A3,1152.568,292.974,-485.835,167.974,72.358 +_Ƃǂ.wav=t_A3,1749.525,0.0,-41.347,0.0,0.0 +_Ƃǂ.wav=u t_A3,1406.493,275.843,-335.28,250.0,83.331 +_Ƃǂ.wav=Ƃ_A3,1690.088,225.784,-434.117,100.784,0.0 +_Ƃǂ.wav=g_A3,2235.362,11.257,-38.763,7.751,0.0 +_Ƃǂ.wav=u g_A3,1954.351,250.0,-288.762,250.0,83.333 +_Ƃǂ.wav=_A3,2214.688,179.268,-387.601,54.268,28.426 +_Ƃǂ.wav=z_A3,2682.435,0.177,-93.031,0.0,0.0 +_Ƃǂ.wav=u z_A3,2422.096,250.0,-340.447,250.0,83.33 +_Ƃǂ.wav=_A3,2677.265,230.953,-491.004,105.953,49.1 +_Ƃǂ.wav=d_A3,3230.707,26.018,-40.037,15.504,0.0 +_Ƃǂ.wav=u d_A3,2957.449,250.0,-288.762,250.0,83.333 +_Ƃǂ.wav=ǂ_A3,3212.617,197.357,-752.27,72.357,41.501 +_ɂЂ݂т҂.wav=ny_A3,754.597,12.252,-51.683,5.167,0.0 +_ɂЂ݂т҂.wav=u ny_A3,496.842,249.998,-312.022,249.998,83.33 +_ɂЂ݂т҂.wav=ɂ_A3,749.427,189.604,-397.937,64.604,39.815 +_ɂЂ݂т҂.wav=hy_A3,1212.005,36.605,-114.131,0.0,0.0 +_ɂЂ݂т҂.wav=u hy_A3,956.836,250.0,-353.369,250.0,83.331 +_ɂЂ݂т҂.wav=Ђ_A3,1222.342,230.953,-439.286,105.953,46.113 +_ɂЂ݂т҂.wav=my_A3,1709.319,19.533,-71.216,3.538,0.0 +_ɂЂ݂т҂.wav=u my_A3,1447.841,250.0,-324.943,250.0,83.333 +_ɂЂ݂т҂.wav=݂_A3,1718.187,187.349,-395.682,62.349,28.332 +_ɂЂ݂т҂.wav=by_A3,2266.467,28.331,-49.006,28.331,10.622 +_ɂЂ݂т҂.wav=u by_A3,1972.441,281.01,-319.774,249.999,83.331 +_ɂЂ݂т҂.wav=т_A3,2256.037,187.02,-395.353,62.02,37.229 +_ɂЂ݂т҂.wav=py_A3,2755.209,20.672,-62.02,12.919,0.0 +_ɂЂ݂т҂.wav=u py_A3,2438.018,267.707,-324.942,250.0,83.333 +_ɂЂ݂т҂.wav=҂_A3,2708.691,238.705,-485.835,113.705,0.0 +_ɂЂ݂т҂.wav=ry_A3,3251.382,0.0,-25.841,-0.001,-0.001 +_ɂЂ݂т҂.wav=u ry_A3,3003.964,250.0,-278.427,250.0,83.33 +_ɂЂ݂т҂.wav=_A3,3259.133,166.347,-868.573,41.347,18.089 +_ʂӂނԂՂ.wav=n_A3,668.396,24.531,-60.357,3.503,0.0 +_ʂӂނԂՂ.wav=u n_A3,411.563,250.0,-322.358,250.0,83.331 +_ʂӂނԂՂ.wav=_A3,671.582,195.093,-403.426,70.093,31.543 +_ʂӂނԂՂ.wav=f_A3,1180.993,35.044,-87.865,0.0,0.0 +_ʂӂނԂՂ.wav=u f_A3,907.736,249.998,-355.954,249.998,83.331 +_ʂӂނԂՂ.wav=_A3,1173.242,223.197,-431.532,98.197,54.617 +_ʂӂނԂՂ.wav=m_A3,1666.83,10.513,-56.853,0.0,0.0 +_ʂӂނԂՂ.wav=u m_A3,1409.077,250.0,-319.774,250.0,83.331 +_ʂӂނԂՂ.wav=_A3,1677.167,181.852,-465.162,56.852,38.463 +_ʂӂނԂՂ.wav=b_A3,2219.856,27.683,-62.021,20.673,0.0 +_ʂӂނԂՂ.wav=u b_A3,1936.262,268.089,-295.561,250.0,83.332 +_ʂӂނԂՂ.wav=_A3,2215.29,191.587,-392.201,66.587,24.322 +_ʂӂނԂՂ.wav=p_A3,2703.684,19.929,-62.021,12.92,0.0 +_ʂӂނԂՂ.wav=u p_A3,2378.741,278.036,-337.864,250.0,83.332 +_ʂӂނԂՂ.wav=_A3,2693.347,207.694,-467.746,82.694,0.0 +_ʂӂނԂՂ.wav=r_A3,3215.363,10.511,-46.516,0.0,0.0 +_ʂӂނԂՂ.wav=u r_A3,2970.531,250.0,-291.348,250.0,83.333 +_ʂӂނԂՂ.wav=_A3,3225.699,161.179,-709.082,36.179,20.673 +_䂤‚Ӄ.wav=y_A3,716.613,9.556,-32.814,6.971,0.0 +_䂤‚Ӄ.wav=u y_A3,458.079,250.0,-306.854,250.0,83.331 +_䂤‚Ӄ.wav=_A3,721.001,220.613,-428.946,95.613,41.347 +_䂤‚Ӄ.wav=w_A3,1217.955,22.04,-58.219,6.971,0.0 +_䂤‚Ӄ.wav=u w_A3,977.511,250.0,-340.643,250.0,83.331 +_䂤‚Ӄ.wav=_A3,1218.318,178.124,-386.457,53.124,24.791 +_䂤‚Ӄ.wav=ts_A3,2174.779,45.319,-135.525,24.401,0.0 +_䂤‚Ӄ.wav=u ts_A3,1887.161,270.917,-301.684,249.999,83.332 +_䂤‚Ӄ.wav=_A3,2170.756,267.131,-475.466,142.131,0.0 +_䂤‚Ӄ.wav=v_A3,3238.4,20.916,-46.516,0.0,0.0 +_䂤‚Ӄ.wav=u v_A3,2923.794,250.0,-355.954,250.0,83.333 +_䂤‚Ӄ.wav=_A3,3194.468,223.2,-728.603,98.2,59.437 +_‚ӂ.wav=e y_A3,481.337,250.0,-304.27,250.0,83.331 +_‚ӂ.wav=_A3,747.415,199.371,-407.704,74.371,35.415 +_‚ӂ.wav=e w_A3,967.176,249.997,-317.188,249.997,83.331 +_‚ӂ.wav=_A3,1263.69,157.76,-366.714,54.267,23.258 +_‚ӂ.wav=e ch_A3,1427.166,265.729,-313.416,250.0,83.333 +_‚ӂ.wav=_A3,1686.934,209.615,-461.492,128.158,58.385 +_‚ӂ.wav=e ts_A3,1925.924,274.79,-317.19,250.0,83.332 +_‚ӂ.wav=‚_A3,2212.932,159.37,-418.362,84.995,0.0 +_‚ӂ.wav=e f_A3,2445.953,250.0,-335.28,250.0,83.333 +_‚ӂ.wav=ӂ_A3,2704.705,180.62,-418.329,84.996,31.874 +_‚ӂ.wav=e v_A3,2936.958,250.0,-343.032,250.0,83.329 +_‚ӂ.wav=_A3,3210.216,207.695,-764.933,82.695,41.347 +_.wav=- _A3,235.166,124.999,-841.127,0.0,0.0 +_.wav=e _A3,455.495,375.0,-694.488,250.0,83.332 +_.wav=e _A3,990.435,374.998,-713.948,249.998,83.331 +_.wav=u _A3,1587.39,375.0,-596.756,250.0,83.332 +_.wav=o _A3,2006.505,375.0,-642.803,250.0,83.332 +_.wav=e _A3,2544.024,375.0,-1280.603,250.0,83.333 +_.wav=o _A3,3040.416,374.998,-1188.075,249.998,83.333 +_Ă.wav=e ky_A3,403.811,263.945,-327.527,249.999,83.332 +_Ă.wav=_A3,666.732,236.12,-444.454,111.12,0.0 +_Ă.wav=e sh_A3,902.568,250.0,-361.121,250.0,83.331 +_Ă.wav=_A3,1157.736,259.378,-449.656,134.378,46.516 +_Ă.wav=e ch_A3,1370.314,268.933,-310.659,250.0,83.331 +_Ă.wav=e gy_A3,1910.418,250.0,-301.685,250.0,83.333 +_Ă.wav=_A3,2171.153,189.677,-467.746,77.526,43.931 +_Ă.wav=e j_A3,2409.573,250.0,-345.616,250.0,83.333 +_Ă.wav=_A3,2669.91,225.784,-434.116,100.784,36.179 +_Ă.wav=e ty_A3,2882.486,277.889,-337.864,250.0,83.333 +_Ă.wav=e _A3,3764.0,399.886,-790.105,249.999,83.0 +_Ă.wav=Ă_A3,3158.619,236.121,-706.921,111.121,0.0 +_Ă.wav=e k_A3,427.068,271.25,-306.854,250.0,83.332 +_Ă.wav=_A3,695.158,194.774,-403.107,69.774,0.0 +_Ă.wav=e s_A3,910.319,249.998,-345.616,249.998,83.331 +_Ă.wav=_A3,1168.073,215.447,-423.78,90.447,43.931 +_Ă.wav=e t_A3,1390.987,274.791,-314.606,250.0,83.331 +_Ă.wav=_A3,1674.483,192.288,-400.621,67.288,0.0 +_Ă.wav=e g_A3,1925.925,249.999,-301.684,249.999,83.331 +_Ă.wav=_A3,2202.323,181.664,-410.704,56.664,30.822 +_Ă.wav=e z_A3,2419.88,250.0,-345.616,250.0,83.333 +_Ă.wav=_A3,2677.633,218.032,-498.757,93.032,46.516 +_Ă.wav=e d_A3,2957.401,260.625,-296.516,250.0,83.331 +_Ă.wav=_A3,3209.985,197.358,-659.297,72.358,38.763 +_ɂЂ݂т҂肥.wav=e ny_A3,455.495,250.0,-306.666,250.0,83.331 +_ɂЂ݂т҂肥.wav=ɂ_A3,717.937,174.581,-382.913,49.581,24.791 +_ɂЂ݂т҂肥.wav=e hy_A3,946.502,249.997,-327.524,249.997,83.331 +_ɂЂ݂т҂肥.wav=Ђ_A3,1204.252,194.774,-403.107,69.774,41.442 +_ɂЂ݂т҂肥.wav=e my_A3,1434.919,250.0,-319.774,250.0,83.331 +_ɂЂ݂т҂肥.wav=݂_A3,1702.908,192.291,-400.624,67.291,28.332 +_ɂЂ݂т҂肥.wav=e by_A3,1910.419,278.331,-314.605,250.0,83.331 +_ɂЂ݂т҂肥.wav=т_A3,2181.492,194.773,-403.106,69.773,44.984 +_ɂЂ݂т҂肥.wav=e py_A3,2401.822,281.011,-322.359,250.0,83.332 +_ɂЂ݂т҂肥.wav=҂_A3,2688.001,210.279,-418.611,85.279,0.0 +_ɂЂ݂т҂肥.wav=e ry_A3,2978.106,250.0,-273.257,250.0,83.33 +_ɂЂ݂т҂肥.wav=肥_A3,3235.264,153.33,-708.318,28.329,14.166 +_˂ւ߂ׂ؂.wav=e n_A3,460.663,250.0,-306.854,250.0,83.333 +_˂ւ߂ׂ؂.wav=_A3,718.605,181.664,-389.997,56.664,28.238 +_˂ւ߂ׂ؂.wav=e h_A3,936.164,249.999,-301.682,249.999,83.331 +_˂ւ߂ׂ؂.wav=_A3,1214.589,176.684,-385.018,51.684,18.089 +_˂ւ߂ׂ؂.wav=e m_A3,1440.088,250.0,-309.437,250.0,83.331 +_˂ւ߂ׂ؂.wav=_A3,1705.594,181.852,-390.185,56.852,25.311 +_˂ւ߂ׂ؂.wav=e b_A3,1923.339,271.027,-314.607,250.0,83.333 +_˂ւ߂ׂ؂.wav=_A3,2199.182,181.852,-390.185,56.852,25.842 +_˂ւ߂ׂ؂.wav=e p_A3,2396.714,288.552,-324.944,250.0,83.333 +_˂ւ߂ׂ؂.wav=_A3,2680.31,192.189,-488.42,67.189,0.0 +_˂ւ߂ׂ؂.wav=e r_A3,2962.663,250.0,-275.841,250.0,83.333 +_˂ւ߂ׂ؂.wav=_A3,3220.415,171.515,-602.546,46.515,20.673 +_EEE.wav=E _A3,678.505,110.967,-355.188,45.08,0.0 +_EEE.wav=o E_A3,819.871,308.953,-397.303,250.0,83.332 +_EEE.wav=E _A3,1188.747,120.158,-325.613,54.268,0.0 +_EEE.wav=N E_A3,1407.477,201.131,-290.364,145.646,79.758 +_񂠂.wav=- _A3,258.423,121.532,-329.865,0.0,0.0 +_񂠂.wav=o _A3,530.438,375.0,-624.714,250.0,83.332 +_񂠂.wav=u _A3,1011.106,374.999,-655.733,249.999,83.333 +_񂠂.wav=n _A3,1502.11,375.0,-669.606,250.0,83.333 +_񂠂.wav=a _A3,1987.946,375.0,-1089.209,250.0,83.333 +_񂠂.wav=n _A3,2463.779,375.0,-660.893,250.0,83.331 +_񂠂.wav=n _A3,2965.121,375.0,-880.656,250.0,83.332 +_.wav=u _A3,990.433,374.999,-655.733,249.999,83.333 +_.wav=N _A3,1468.513,375.0,-668.648,250.0,83.333 +_.wav=a _A3,1987.946,375.0,-643.198,250.0,83.333 +_.wav=N _A3,2450.919,375.0,-655.724,250.0,83.33 +_.wav=N _A3,2970.349,375.0,-1133.808,250.0,83.33 +_債傿催傶Ă.wav=o ky_A3,411.563,267.524,-324.943,250.0,83.332 +_債傿催傶Ă.wav=_A3,702.911,215.446,-423.779,90.446,0.0 +_債傿催傶Ă.wav=o sh_A3,910.322,249.998,-345.614,249.998,83.331 +_債傿催傶Ă.wav=_A3,1165.489,236.121,-444.454,111.121,41.347 +_債傿催傶Ă.wav=o ch_A3,1406.493,265.539,-301.304,250.0,83.333 +_債傿催傶Ă.wav=_A3,1669.414,228.369,-483.372,103.369,51.077 +_債傿催傶Ă.wav=o gy_A3,1910.418,250.0,-312.021,250.0,83.333 +_債傿催傶Ă.wav=_A3,2183.677,202.526,-410.859,77.526,36.179 +_債傿催傶Ă.wav=o j_A3,2424.681,250.0,-314.769,250.0,83.333 +_債傿催傶Ă.wav=_A3,2680.012,202.527,-410.86,77.527,31.01 +_債傿催傶Ă.wav=o ty_A3,2905.513,265.504,-304.267,249.998,83.331 +_債傿催傶Ă.wav=o _A3,4066.188,392.133,-710.343,249.998,82.999 +_債傿催傶Ă.wav=Ă_A3,3184.294,199.941,-629.257,74.941,0.0 +_Ƃ.wav=o k_A3,437.406,273.258,-313.75,249.999,83.332 +_Ƃ.wav=_A3,748.66,185.206,-393.539,60.205,0.0 +_Ƃ.wav=o s_A3,925.825,249.998,-335.279,249.998,83.332 +_Ƃ.wav=_A3,1183.578,236.121,-444.455,111.121,36.179 +_Ƃ.wav=o t_A3,1401.324,271.249,-322.358,250.0,83.331 +_Ƃ.wav=_A3,1700.425,192.189,-400.522,67.189,0.0 +_Ƃ.wav=o g_A3,1944.014,249.999,-283.595,249.999,83.332 +_Ƃ.wav=_A3,2206.935,189.605,-410.893,64.605,39.814 +_Ƃ.wav=o z_A3,2445.68,250.0,-322.358,250.0,83.333 +_Ƃ.wav=_A3,2703.432,202.526,-457.409,77.526,41.347 +_Ƃ.wav=o d_A3,2947.023,249.997,-301.682,249.997,83.331 +_Ƃ.wav=_A3,3207.358,181.852,-946.19,56.852,28.426 +_ɂЂ݂т҂.wav=o ny_A3,458.08,250.0,-299.099,250.0,83.332 +_ɂЂ݂т҂.wav=ɂ_A3,721.001,189.606,-397.938,64.605,29.561 +_ɂЂ݂т҂.wav=o hy_A3,918.074,249.998,-337.862,249.998,83.332 +_ɂЂ݂т҂.wav=Ђ_A3,1191.331,215.447,-436.735,90.447,28.426 +_ɂЂ݂т҂.wav=o my_A3,1403.908,250.0,-317.191,250.0,83.331 +_ɂЂ݂т҂.wav=݂_A3,1679.751,199.942,-431.567,74.942,44.589 +_ɂЂ݂т҂.wav=o by_A3,1918.171,267.522,-324.942,250.0,83.33 +_ɂЂ݂т҂.wav=т_A3,2202.127,192.189,-400.521,67.188,49.664 +_ɂЂ݂т҂.wav=o py_A3,2409.536,278.038,-319.774,250.0,83.332 +_ɂЂ݂т҂.wav=҂_A3,2703.468,202.525,-428.982,77.525,0.0 +_ɂЂ݂т҂.wav=o ry_A3,2957.393,250.0,-270.673,250.0,83.33 +_ɂЂ݂т҂.wav=_A3,3201.003,157.784,-649.612,32.784,20.863 +_̂قڂۂ.wav=o n_A3,445.158,250.0,-306.853,250.0,83.333 +_̂قڂۂ.wav=_A3,702.911,187.021,-395.354,62.021,23.258 +_̂قڂۂ.wav=o h_A3,910.32,249.999,-304.268,249.999,83.33 +_̂قڂۂ.wav=_A3,1175.826,160.415,-387.022,69.772,23.258 +_̂قڂۂ.wav=o m_A3,1409.077,250.0,-312.022,250.0,83.331 +_̂قڂۂ.wav=_A3,1684.92,192.189,-431.567,67.189,28.231 +_̂قڂۂ.wav=o b_A3,1915.587,278.331,-314.606,250.0,83.333 +_̂قڂۂ.wav=_A3,2202.257,112.754,-379.847,46.515,18.181 +_̂قڂۂ.wav=o p_A3,2391.578,293.931,-340.447,250.0,83.333 +_̂قڂۂ.wav=_A3,2687.995,192.288,-464.719,67.288,0.0 +_̂قڂۂ.wav=o r_A3,2936.849,250.0,-299.102,250.0,83.33 +_̂قڂۂ.wav=_A3,3197.187,174.099,-648.734,49.099,23.258 +_悤‚ӂ.wav=o y_A3,450.327,249.999,-319.773,249.999,83.329 +_悤‚ӂ.wav=_A3,705.495,210.28,-418.613,85.28,36.179 +_悤‚ӂ.wav=o w_A3,920.655,250.0,-304.27,250.0,83.333 +_悤‚ӂ.wav=_A3,1193.915,176.684,-385.017,51.684,31.01 +_悤‚ӂ.wav=o ts_A3,1853.566,267.522,-304.269,249.999,83.332 +_悤‚ӂ.wav=‚_A3,2133.904,216.12,-424.455,91.12,0.0 +_悤‚ӂ.wav=o f_A3,2385.918,250.0,-337.863,250.0,83.331 +_悤‚ӂ.wav=ӂ_A3,2667.531,191.588,-399.921,66.588,35.046 +_悤‚ӂ.wav=o v_A3,2905.697,250.0,-332.695,250.0,83.33 +_悤‚ӂ.wav=_A3,3193.578,177.569,-588.789,52.569,28.038 +_񂢂񂦂񂨂.wav=- _A3,232.582,74.899,-386.476,0.0,0.0 +_񂢂񂦂񂨂.wav=n _A3,463.248,375.0,-694.488,250.0,83.332 +_񂢂񂦂񂨂.wav=i _A3,995.6,375.0,-691.904,250.0,83.331 +_񂢂񂦂񂨂.wav=n _A3,1478.852,375.0,-684.151,250.0,83.331 +_񂢂񂦂񂨂.wav=e _A3,1977.956,375.0,-673.074,250.0,83.333 +_񂢂񂦂񂨂.wav=n _A3,2577.499,375.0,-660.893,250.0,83.333 +_񂢂񂦂񂨂.wav=o _A3,3027.476,375.0,-1263.02,250.0,83.331 +_񂢂񂦂񂨂.wav=n _A3,4125.776,441.233,-624.713,250.0,83.0 +_.wav=- _A3,253.255,74.899,-386.476,0.0,0.0 +_.wav=N _A3,520.101,375.0,-658.309,250.0,83.332 +_.wav=i _A3,974.925,375.0,-645.388,250.0,83.331 +_.wav=N _A3,1525.367,375.0,-640.22,250.0,83.331 +_.wav=e _A3,2047.383,375.0,-624.714,250.0,83.333 +_.wav=N _A3,2509.96,375.0,-733.796,250.0,83.333 +_.wav=o _A3,3073.867,375.0,-940.647,250.0,83.332 +_̓.wav=N v_A3,458.08,250.0,-332.695,250.0,83.329 +_̓.wav=N h_A3,1465.931,250.0,-324.941,250.0,83.331 +_̓.wav=N hy_A3,2435.35,250.0,-324.942,250.0,83.33 +_񂩂񂳂.wav=n k_A3,424.484,260.514,-314.606,250.0,83.332 +_񂩂񂳂.wav=n s_A3,1396.156,250.0,-350.785,250.0,83.331 +_񂩂񂳂.wav=n t_A3,2442.771,278.038,-309.58,250.0,83.332 +_񂪂񂴂.wav=n g_A3,481.337,250.0,-281.011,250.0,83.331 +_񂪂񂴂.wav=n z_A3,1486.604,250.0,-332.695,250.0,83.331 +_񂪂񂴂.wav=n d_A3,2517.714,263.294,-281.543,250.0,83.333 +_񂫂񂵂񂿂.wav=n ky_A3,447.743,267.522,-299.1,250.0,83.332 +_񂫂񂵂񂿂.wav=n sh_A3,1403.909,250.0,-368.874,250.0,83.331 +_񂫂񂵂񂿂.wav=n ch_A3,2458.275,259.895,-289.699,250.0,83.333 +_񂬂񂶂‚.wav=n gy_A3,481.371,250.0,-275.843,250.0,83.331 +_񂬂񂶂‚.wav=n j_A3,1468.548,250.0,-306.854,250.0,83.331 +_񂬂񂶂‚.wav=n ts_A3,2440.221,267.338,-306.853,250.0,83.332 +_Ȃς.wav=n n_A3,455.529,249.999,-306.853,249.999,83.332 +_Ȃς.wav=n p_A3,1440.123,264.017,-324.942,250.0,83.332 +_Ȃς.wav=n m_A3,2450.557,250.0,-323.598,250.0,83.333 +_ɂ҂݂.wav=n ny_A3,434.855,250.0,-327.914,250.0,83.332 +_ɂ҂݂.wav=n py_A3,1447.875,281.875,-310.207,250.0,83.333 +_ɂ҂݂.wav=n my_A3,2432.991,250.0,-332.695,250.0,83.333 +_Ђтӂ.wav=n hy_A3,439.99,250.0,-327.527,250.0,83.331 +_Ђтӂ.wav=n by_A3,1434.92,278.038,-299.1,250.0,83.333 +_Ђтӂ.wav=n f_A3,2370.412,250.0,-330.112,250.0,83.333 +_Ӄ⃓.wav=N f_A3,491.674,250.0,-332.695,250.0,83.33 +_Ӄ⃓.wav=N y_A3,1458.178,250.0,-330.111,250.0,83.331 +_Ӄ⃓.wav=N w_A3,2494.704,250.0,-306.852,250.0,83.333 +_΂.wav=n y_A3,445.158,250.0,-332.696,250.0,83.333 +_΂.wav=n b_A3,1484.02,281.011,-304.269,250.0,83.333 +_΂.wav=n r_A3,2491.87,250.0,-275.843,250.0,83.333 +_.wav=n ry_A3,486.67,249.999,-317.19,249.999,83.329 +_.wav=n v_A3,1476.433,250.0,-317.189,250.0,83.329 diff --git a/OpenUtau.Test/Files/ja_cvvc/B4/oto.ini b/OpenUtau.Test/Files/ja_cvvc/B4/oto.ini new file mode 100644 index 000000000..7ac70eb13 --- /dev/null +++ b/OpenUtau.Test/Files/ja_cvvc/B4/oto.ini @@ -0,0 +1,416 @@ +_EEEEE.wav=E _B4,724.925,124.841,-301.699,48.548,34.678 +_EEEEE.wav=a E_B4,814.484,319.357,-378.31,249.999,83.333 +_EEEEE.wav=E _B4,1204.643,107.502,-315.57,58.952,31.21 +_EEEEE.wav=i E_B4,1316.092,326.582,-376.36,250.0,83.332 +_EEEEE.wav=E _B4,1672.514,149.115,-319.038,65.887,45.081 +_EEEEE.wav=u E_B4,1810.042,326.583,-387.848,250.0,83.333 +_EEEEE.wav=E _B4,2182.503,156.051,-315.57,72.823,31.21 +_EEEEE.wav=e E_B4,2300.165,308.952,-381.776,250.0,83.333 +_EEEEE.wav=E _B4,2692.133,201.29,-297.087,76.29,45.081 +_EEEEE.wav=n E_B4,3782.018,445.283,-544.839,250.0,83.331 +_.wav=- _B4,272.228,128.467,-841.09,3.467,3.467 +_.wav=a _B4,436.114,375.0,-680.008,250.0,83.332 +_.wav=a _B4,1051.886,375.0,-598.871,250.0,83.331 +_.wav=i _B4,1568.812,375.0,-610.501,250.0,83.333 +_.wav=a _B4,2058.933,327.104,-673.074,250.0,83.333 +_.wav=u _B4,2610.321,351.636,-691.592,250.0,83.333 +_.wav=e _B4,3108.101,351.636,-1045.567,250.0,83.332 +_.wav=a _B4,4413.816,463.199,-648.224,250.0,82.999 +_.wav=a k_B4,416.259,283.596,-341.898,249.999,82.999 +_.wav=_B4,745.106,138.843,-351.504,55.172,0.0 +_.wav=a s_B4,956.159,250.0,-338.068,250.0,83.331 +_.wav=_B4,1225.108,157.306,-439.693,80.607,42.056 +_.wav=a t_B4,1446.281,273.258,-304.269,250.0,83.331 +_.wav=_B4,1739.439,146.699,-385.902,52.569,0.0 +_.wav=a g_B4,1986.181,250.0,-296.515,250.0,83.332 +_.wav=_B4,2278.981,136.256,-408.184,49.099,23.258 +_.wav=a z_B4,2510.764,250.0,-334.241,250.0,83.333 +_.wav=_B4,2791.982,137.035,-390.183,56.851,23.258 +_.wav=a d_B4,3062.154,249.998,-286.178,249.998,83.333 +_.wav=_B4,3324.412,107.586,-710.708,41.347,20.673 +_ႵႿႬႶĂ.wav=a ky_B4,450.721,271.028,-317.19,250.0,83.333 +_ႵႿႬႶĂ.wav=_B4,763.997,143.694,-375.776,63.083,0.0 +_ႵႿႬႶĂ.wav=a sh_B4,975.306,249.997,-345.725,249.997,83.328 +_ႵႿႬႶĂ.wav=_B4,1236.792,172.504,-425.228,91.895,44.801 +_ႵႿႬႶĂ.wav=a ch_B4,1473.084,267.498,-306.244,250.0,83.331 +_ႵႿႬႶĂ.wav=_B4,1740.582,173.829,-423.048,89.715,59.083 +_ႵႿႬႶĂ.wav=a gy_B4,1993.841,249.997,-276.802,249.997,83.331 +_ႵႿႬႶĂ.wav=_B4,2269.044,107.014,-377.264,43.931,12.39 +_ႵႿႬႶĂ.wav=a j_B4,2486.725,250.0,-331.687,250.0,83.333 +_ႵႿႬႶĂ.wav=_B4,2687.143,133.179,-370.428,52.569,21.027 +_ႵႿႬႶĂ.wav=a ty_B4,2962.596,267.522,-311.265,250.0,83.33 +_ႵႿႬႶĂ.wav=Ă_B4,3248.886,184.437,-697.294,59.437,0.0 +_Ȃ͂܂΂ς.wav=a n_B4,504.329,249.998,-299.097,249.998,83.332 +_Ȃ͂܂΂ς.wav=_B4,769.644,182.434,-390.766,57.434,30.632 +_Ȃ͂܂΂ς.wav=a h_B4,959.991,249.997,-311.261,249.997,83.331 +_Ȃ͂܂΂ς.wav=_B4,1267.424,111.838,-379.282,45.948,30.632 +_Ȃ͂܂΂ς.wav=a m_B4,1473.084,250.0,-322.358,250.0,83.332 +_Ȃ͂܂΂ς.wav=_B4,1745.303,187.021,-395.355,62.021,31.01 +_Ȃ͂܂΂ς.wav=a b_B4,1959.378,275.843,-319.774,249.999,83.331 +_Ȃ͂܂΂ς.wav=_B4,2235.52,140.964,-387.601,54.268,26.526 +_Ȃ͂܂΂ς.wav=a p_B4,2464.817,283.157,-337.864,250.0,83.333 +_Ȃ͂܂΂ς.wav=_B4,2772.93,174.1,-437.126,49.1,0.0 +_Ȃ͂܂΂ς.wav=a r_B4,3031.521,249.997,-275.841,249.997,83.332 +_Ȃ͂܂΂ς.wav=_B4,3303.02,153.424,-981.732,28.424,10.336 +_ɂЂ݂т҂.wav=a ny_B4,511.985,250.0,-292.121,250.0,83.33 +_ɂЂ݂т҂.wav=ɂ_B4,770.04,163.0,-405.689,72.357,31.01 +_ɂЂ݂т҂.wav=a hy_B4,979.133,250.0,-318.923,250.0,83.331 +_ɂЂ݂т҂.wav=Ђ_B4,1254.616,211.98,-441.869,108.535,39.612 +_ɂЂ݂т҂.wav=a my_B4,1461.597,250.0,-307.436,250.0,83.331 +_ɂЂ݂т҂.wav=݂_B4,1765.204,130.304,-407.647,53.606,30.632 +_ɂЂ݂т҂.wav=a by_B4,1944.062,271.028,-304.269,249.999,83.332 +_ɂЂ݂т҂.wav=т_B4,2217.808,142.449,-385.05,41.347,20.624 +_ɂЂ݂т҂.wav=a py_B4,2422.696,283.815,-324.942,250.0,83.333 +_ɂЂ݂т҂.wav=҂_B4,2717.986,155.37,-418.645,54.267,0.0 +_ɂЂ݂т҂.wav=a ry_B4,2966.427,249.998,-275.841,249.998,83.33 +_ɂЂ݂т҂.wav=_B4,3221.866,160.764,-880.809,35.764,17.882 +_킿‚ӂ.wav=a y_B4,466.037,250.0,-303.124,250.0,83.33 +_킿‚ӂ.wav=_B4,742.841,174.777,-396.853,49.777,21.351 +_킿‚ӂ.wav=a w_B4,940.844,249.997,-318.921,249.997,83.328 +_킿‚ӂ.wav=_B4,1221.475,138.89,-386.736,57.436,34.461 +_킿‚ӂ.wav=a ts_B4,1859.821,270.675,-311.266,250.0,83.328 +_킿‚ӂ.wav=‚_B4,2156.551,173.61,-413.477,71.972,0.0 +_킿‚ӂ.wav=a f_B4,2380.576,250.0,-338.068,250.0,83.33 +_킿‚ӂ.wav=ӂ_B4,2663.999,187.985,-457.146,85.278,36.179 +_킿‚ӂ.wav=a v_B4,2901.329,250.0,-330.411,250.0,83.33 +_킿‚ӂ.wav=_B4,3185.792,190.093,-1052.996,65.093,30.632 +_.wav=- _B4,222.086,125.0,-791.379,0.0,0.0 +_.wav=i _B4,489.012,375.0,-661.379,250.0,83.333 +_.wav=i _B4,982.963,375.0,-625.298,250.0,83.333 +_.wav=u _B4,1515.204,375.0,-647.433,250.0,83.332 +_.wav=a _B4,1947.89,375.0,-643.116,250.0,83.331 +_.wav=e _B4,2514.593,375.0,-636.973,250.0,83.333 +_.wav=i _B4,2974.082,375.0,-928.461,250.0,83.333 +_‚ӂ.wav=_B4,650.852,171.039,-451.922,46.039,14.166 +_‚ӂ.wav=i w_B4,921.697,250.0,-340.446,250.0,83.333 +_‚ӂ.wav=_B4,1211.722,192.188,-423.294,67.188,31.009 +_‚ӂ.wav=i ch_B4,1427.136,280.661,-322.388,250.0,83.333 +_‚ӂ.wav=_B4,1707.692,191.728,-409.788,111.12,46.025 +_‚ӂ.wav=i ts_B4,1913.429,267.705,-334.239,249.999,83.331 +_‚ӂ.wav=‚_B4,2223.65,165.566,-429.9,81.455,0.0 +_‚ӂ.wav=i f_B4,2460.985,250.0,-330.41,250.0,83.333 +_‚ӂ.wav=ӂ_B4,2714.816,171.856,-417.57,84.237,48.821 +_‚ӂ.wav=i v_B4,2958.767,250.0,-341.898,250.0,83.33 +_‚ӂ.wav=_B4,3254.716,174.777,-972.585,49.777,26.518 +_.wav=i k_B4,443.064,281.011,-326.58,249.998,83.331 +_.wav=i s_B4,1450.11,250.0,-345.726,250.0,83.331 +_.wav=i t_B4,2460.986,278.426,-311.265,250.0,83.333 +_.wav=i g_B4,443.063,264.019,-292.119,250.0,83.331 +_.wav=i z_B4,1473.084,250.0,-334.239,250.0,83.331 +_.wav=i d_B4,2453.328,250.0,-288.291,250.0,83.333 +_Ăł.wav=i ky_B4,431.575,281.5,-319.775,250.0,83.331 +_Ăł.wav=_B4,731.807,212.615,-405.476,87.615,0.0 +_Ăł.wav=i sh_B4,956.16,249.998,-386.966,249.998,83.332 +_Ăł.wav=_B4,1213.817,259.018,-444.125,134.018,48.738 +_Ăł.wav=i ty_B4,1461.597,275.841,-315.095,250.0,83.332 +_Ăł.wav=Ă_B4,1732.384,199.94,-408.275,74.94,0.0 +_Ăł.wav=i gy_B4,1982.351,249.999,-309.437,249.999,83.331 +_Ăł.wav=_B4,2243.839,190.094,-398.427,65.094,26.331 +_Ăł.wav=i j_B4,2464.816,250.0,-334.239,250.0,83.333 +_Ăł.wav=_B4,2730.132,216.897,-425.23,91.897,35.046 +_Ăł.wav=i dy_B4,3004.718,249.998,-280.629,249.998,83.333 +_Ăł.wav=i _B4,4329.576,387.846,-669.969,250.0,82.999 +_Ăł.wav=ł_B4,3266.787,181.852,-752.011,56.852,32.322 +_Ȃ₢.wav=i n_B4,450.72,250.0,-299.779,250.0,83.331 +_Ȃ₢.wav=i y_B4,1434.793,250.0,-288.289,250.0,83.331 +_Ȃ₢.wav=i m_B4,2472.474,250.0,-318.922,250.0,83.333 +_ɂЂ݂т҂.wav=i ny_B4,477.524,249.999,-299.778,249.999,83.329 +_ɂЂ݂т҂.wav=_B4,734.522,179.267,-402.714,54.267,26.232 +_ɂЂ݂т҂.wav=i hy_B4,917.869,249.997,-345.726,249.997,83.331 +_ɂЂ݂т҂.wav=_B4,1202.33,169.527,-421.402,88.068,34.461 +_ɂЂ݂т҂.wav=i my_B4,1446.281,250.0,-311.265,250.0,83.333 +_ɂЂ݂т҂.wav=_B4,1711.597,172.202,-448.712,76.579,35.234 +_ɂЂ݂т҂.wav=i by_B4,1924.918,284.459,-322.75,249.998,83.33 +_ɂЂ݂т҂.wav=_B4,2211.386,155.167,-396.418,63.085,32.074 +_ɂЂ݂т҂.wav=i py_B4,2415.038,284.461,-330.41,250.0,83.333 +_ɂЂ݂т҂.wav=_B4,2699.499,154.209,-447.467,72.751,0.0 +_ɂЂ݂т҂.wav=i ry_B4,3020.034,249.998,-280.631,249.998,83.333 +_ɂЂ݂т҂.wav=_B4,3281.519,122.712,-790.394,30.63,11.487 +_΂ς.wav=i b_B4,443.064,271.248,-295.948,249.998,83.332 +_΂ς.wav=_B4,716.037,167.119,-490.121,42.119,19.145 +_΂ς.wav=i p_B4,1396.502,274.788,-334.241,250.0,83.331 +_΂ς.wav=i r_B4,2516.386,250.0,-274.791,250.0,83.333 +_͂͂.wav=i h_B4,442.07,249.998,-287.816,249.998,83.33 +_͂͂.wav=u h_B4,1448.03,250.0,-298.513,250.0,83.331 +_͂͂.wav=n h_B4,2450.208,250.0,-299.164,250.0,83.333 +_.wav=- _B4,223.126,124.999,-941.67,0.0,0.0 +_.wav=u _B4,442.07,374.999,-737.853,249.999,83.332 +_.wav=u _B4,1081.195,375.0,-605.49,250.0,83.333 +_.wav=i _B4,1587.956,375.0,-628.181,250.0,83.333 +_.wav=o _B4,2030.429,375.0,-697.073,250.0,83.333 +_.wav=a _B4,2518.281,375.0,-681.126,250.0,83.333 +_.wav=o _B4,3138.497,375.0,-1219.088,250.0,83.33 +_サタガザĂ.wav=ky_B4,779.777,33.309,-48.438,21.964,0.0 +_サタガザĂ.wav=u ky_B4,479.888,265.506,-309.438,250.0,83.332 +_サタガザĂ.wav=_B4,760.142,204.417,-412.75,79.417,0.0 +_サタガザĂ.wav=sh_B4,1218.63,49.218,-116.347,10.455,0.0 +_サタガザĂ.wav=u sh_B4,971.524,249.997,-367.234,249.997,83.331 +_サタガザĂ.wav=_B4,1232.868,246.017,-438.689,121.017,37.818 +_サタガザĂ.wav=ch_B4,1734.083,46.516,-96.31,20.672,0.0 +_サタガザĂ.wav=u ch_B4,1436.685,271.112,-309.858,250.0,83.333 +_サタガザĂ.wav=_B4,1716.939,219.426,-480.289,124.799,71.854 +_サタガザĂ.wav=gy_B4,2266.17,24.246,-33.027,15.505,0.0 +_サタガザĂ.wav=u gy_B4,1981.265,250.0,-295.38,250.0,83.33 +_サタガザĂ.wav=_B4,2261.519,177.943,-386.276,52.943,11.596 +_サタガザĂ.wav=j_B4,2753.154,33.593,-56.727,0.0,0.0 +_サタガザĂ.wav=u j_B4,2484.245,250.0,-318.071,250.0,83.333 +_サタガザĂ.wav=_B4,2749.372,196.853,-405.186,71.853,34.036 +_サタガザĂ.wav=u ty_B4,2968.315,275.843,-302.946,250.0,83.333 +_サタガザĂ.wav=u _B4,4178.492,397.3,-700.035,249.998,82.999 +_サタガザĂ.wav=ty_B4,3262.124,26.864,-59.437,12.92,2.584 +_サタガザĂ.wav=Ă_B4,3252.352,204.417,-1047.56,79.417,0.0 +_Ƃǂ.wav=k_B4,741.179,5.168,-32.06,5.168,5.168 +_Ƃǂ.wav=u k_B4,420.64,268.089,-320.593,250.0,83.331 +_Ƃǂ.wav=_B4,696.42,205.11,-413.443,80.11,0.0 +_Ƃǂ.wav=s_B4,1179.924,37.817,-108.41,0.0,0.0 +_Ƃǂ.wav=u s_B4,924.881,249.998,-363.452,249.998,83.332 +_Ƃǂ.wav=_B4,1174.88,246.017,-438.878,121.017,47.902 +_Ƃǂ.wav=t_B4,1734.586,0.0,-25.214,0.0,0.0 +_Ƃǂ.wav=u t_B4,1413.994,275.843,-318.072,250.0,83.331 +_Ƃǂ.wav=Ƃ_B4,1699.291,193.072,-401.405,68.072,0.0 +_Ƃǂ.wav=g_B4,2193.259,11.257,-27.921,7.75,0.0 +_Ƃǂ.wav=u g_B4,1898.064,249.999,-302.945,249.999,83.333 +_Ƃǂ.wav=_B4,2173.216,179.267,-447.575,54.267,28.426 +_Ƃǂ.wav=z_B4,2685.082,0.176,-49.163,0.0,0.0 +_Ƃǂ.wav=u z_B4,2427.518,250.0,-314.289,250.0,83.33 +_Ƃǂ.wav=_B4,2692.645,181.725,-461.38,56.725,18.909 +_Ƃǂ.wav=d_B4,3198.492,26.018,-40.037,15.504,0.0 +_Ƃǂ.wav=u d_B4,2938.784,250.0,-288.762,250.0,83.333 +_Ƃǂ.wav=ǂ_B4,3198.868,173.743,-1010.28,48.743,17.886 +_ɂЂ݂т҂.wav=ny_B4,716.016,12.251,-42.146,5.167,0.0 +_ɂЂ݂т҂.wav=u ny_B4,461.099,249.999,-297.06,249.999,83.329 +_ɂЂ݂т҂.wav=ɂ_B4,740.618,189.604,-397.937,64.604,39.815 +_ɂЂ݂т҂.wav=hy_B4,1208.615,36.605,-99.167,0.0,0.0 +_ɂЂ݂т҂.wav=u hy_B4,953.572,249.998,-354.21,249.998,83.332 +_ɂЂ݂т҂.wav=Ђ_B4,1211.913,230.953,-439.286,105.953,46.113 +_ɂЂ݂т҂.wav=my_B4,1719.402,19.532,-57.324,3.537,0.0 +_ɂЂ݂т҂.wav=u my_B4,1461.174,250.0,-317.232,250.0,83.333 +_ɂЂ݂т҂.wav=݂_B4,1731.344,177.103,-385.436,52.103,18.488 +_ɂЂ݂т҂.wav=by_B4,2238.909,10.083,-22.411,10.083,0.0 +_ɂЂ݂т҂.wav=u by_B4,1940.726,274.652,-304.907,249.999,83.331 +_ɂЂ݂т҂.wav=т_B4,2220.562,172.06,-398.35,47.06,22.269 +_ɂЂ݂т҂.wav=py_B4,2729.003,20.671,-41.494,12.919,0.0 +_ɂЂ݂т҂.wav=u py_B4,2434.776,267.707,-307.147,250.0,83.333 +_ɂЂ݂т҂.wav=҂_B4,2698.222,205.678,-489.113,80.678,0.0 +_ɂЂ݂т҂.wav=ry_B4,3247.846,0.0,-26.891,-0.001,-0.001 +_ɂЂ݂т҂.wav=u ry_B4,2992.802,250.0,-283.615,250.0,83.329 +_ɂЂ݂т҂.wav=_B4,3249.525,153.573,-1057.196,28.573,10.084 +_ʂӂނԂՂ.wav=n_B4,732.688,26.194,-58.969,3.503,0.0 +_ʂӂނԂՂ.wav=u n_B4,483.668,250.0,-307.987,250.0,83.331 +_ʂӂނԂՂ.wav=_B4,741.233,185.508,-393.841,60.508,25.212 +_ʂӂނԂՂ.wav=f_B4,1212.698,20.17,-42.861,0.0,0.0 +_ʂӂނԂՂ.wav=u f_B4,942.53,249.998,-320.592,249.998,83.33 +_ʂӂނԂՂ.wav=_B4,1250.516,203.157,-411.492,78.157,37.818 +_ʂӂނԂՂ.wav=m_B4,1704.331,25.213,-52.946,0.0,0.0 +_ʂӂނԂՂ.wav=u m_B4,1454.33,250.0,-307.988,250.0,83.331 +_ʂӂނԂՂ.wav=_B4,1711.897,182.986,-446.253,57.986,27.733 +_ʂӂނԂՂ.wav=b_B4,2216.137,22.137,-37.818,15.127,0.0 +_ʂӂނԂՂ.wav=u b_B4,1928.32,268.089,-305.466,249.999,83.332 +_ʂӂނԂՂ.wav=_B4,2204.792,177.944,-378.558,52.944,18.909 +_ʂӂނԂՂ.wav=p_B4,2713.762,12.919,-35.61,12.919,0.0 +_ʂӂނԂՂ.wav=u p_B4,2404.827,278.036,-325.636,250.0,83.331 +_ʂӂނԂՂ.wav=_B4,2692.645,189.289,-461.38,64.289,0.0 +_ʂӂނԂՂ.wav=r_B4,3230.807,10.51,-28.574,0.0,0.0 +_ʂӂނԂՂ.wav=u r_B4,2975.765,250.0,-281.934,250.0,83.333 +_ʂӂނԂՂ.wav=_B4,3239.211,153.573,-901.865,28.573,13.067 +_䂤‚Ӄ.wav=y_B4,730.973,6.97,-43.946,6.97,0.0 +_䂤‚Ӄ.wav=u y_B4,466.09,250.0,-306.854,250.0,83.332 +_䂤‚Ӄ.wav=_B4,771.558,180.464,-388.797,55.464,26.892 +_䂤‚Ӄ.wav=w_B4,1213.36,22.04,-47.31,6.971,0.0 +_䂤‚Ӄ.wav=u w_B4,951.843,250.0,-303.786,250.0,83.331 +_䂤‚Ӄ.wav=_B4,1242.182,160.296,-368.629,35.296,13.446 +_䂤‚Ӄ.wav=ts_B4,2180.881,45.319,-110.122,24.401,0.0 +_䂤‚Ӄ.wav=u ts_B4,1893.092,270.916,-312.189,249.999,83.331 +_䂤‚Ӄ.wav=_B4,2183.432,242.655,-444.922,117.655,0.0 +_䂤‚Ӄ.wav=v_B4,3249.938,20.916,-46.516,0.0,0.0 +_䂤‚Ӄ.wav=u v_B4,2977.14,250.0,-313.029,250.0,83.333 +_䂤‚Ӄ.wav=_B4,3247.31,177.944,-683.348,52.944,22.69 +_‚ӂ.wav=e y_B4,438.288,250.0,-304.27,250.0,83.331 +_‚ӂ.wav=_B4,803.006,199.371,-365.571,74.37,35.414 +_‚ӂ.wav=e w_B4,933.708,249.997,-295.377,249.997,83.331 +_‚ӂ.wav=_B4,1221.523,133.746,-342.7,30.253,15.127 +_‚ӂ.wav=e ch_B4,1398.866,267.205,-302.97,250.0,83.333 +_‚ӂ.wav=_B4,1666.903,176.001,-427.877,94.543,45.381 +_‚ӂ.wav=e ts_B4,1886.719,274.79,-295.382,249.999,83.331 +_‚ӂ.wav=‚_B4,2165.179,159.37,-418.362,84.995,0.0 +_‚ӂ.wav=e f_B4,2408.609,250.0,-333.198,250.0,83.331 +_‚ӂ.wav=ӂ_B4,2681.299,163.695,-401.404,68.071,14.949 +_‚ӂ.wav=e v_B4,2941.843,250.0,-325.635,250.0,83.33 +_‚ӂ.wav=_B4,3199.911,207.694,-1001.674,82.694,41.347 +_.wav=- _B4,287.418,124.999,-841.127,0.0,0.0 +_.wav=e _B4,570.651,375.0,-694.488,250.0,83.332 +_.wav=e _B4,1088.76,344.544,-601.706,249.997,83.331 +_.wav=u _B4,1587.957,375.0,-596.756,250.0,83.332 +_.wav=o _B4,2037.992,375.0,-642.803,250.0,83.332 +_.wav=e _B4,2612.826,375.0,-1280.603,250.0,83.333 +_.wav=o _B4,3255.735,374.998,-1188.075,249.998,83.333 +_Ă.wav=e ky_B4,438.289,263.945,-327.527,249.999,83.332 +_Ă.wav=_B4,726.106,189.289,-397.623,64.289,0.0 +_Ă.wav=e sh_B4,933.705,250.0,-352.108,250.0,83.331 +_Ă.wav=_B4,1195.05,230.888,-421.166,105.888,26.472 +_Ă.wav=e ch_B4,1444.248,269.51,-308.256,250.0,83.331 +_Ă.wav=e gy_B4,1966.137,249.999,-295.381,249.999,83.332 +_Ă.wav=_B4,2246.392,161.313,-439.382,49.162,15.567 +_Ă.wav=e j_B4,2488.025,250.0,-306.728,250.0,83.333 +_Ă.wav=_B4,2753.154,185.508,-393.84,60.508,26.472 +_Ă.wav=e ty_B4,2953.189,277.889,-306.727,250.0,83.333 +_Ă.wav=e _B4,4201.183,399.886,-605.49,249.998,83.0 +_Ă.wav=Ă_B4,3237.225,200.633,-671.434,75.633,0.0 +_Ă.wav=e k_B4,445.851,271.25,-321.855,250.0,83.331 +_Ă.wav=_B4,728.185,194.774,-403.107,69.774,0.0 +_Ă.wav=e s_B4,948.834,249.997,-352.106,249.997,83.331 +_Ă.wav=_B4,1218.057,215.447,-423.78,90.447,43.931 +_Ă.wav=e t_B4,1444.248,274.791,-314.606,250.0,83.331 +_Ă.wav=_B4,1721.504,192.288,-400.621,67.288,0.0 +_Ă.wav=e g_B4,1969.918,249.998,-301.683,249.998,83.331 +_Ă.wav=_B4,2231.328,181.664,-410.704,56.664,30.822 +_Ă.wav=e z_B4,2469.116,250.0,-336.983,250.0,83.333 +_Ă.wav=_B4,2734.245,208.197,-488.922,83.197,36.681 +_Ă.wav=e d_B4,3017.479,250.0,-291.599,250.0,83.33 +_Ă.wav=_B4,3278.825,185.507,-918.978,60.507,26.912 +_ɂЂ݂т҂肥.wav=e ny_B4,498.796,249.998,-295.382,249.998,83.33 +_ɂЂ݂т҂肥.wav=ɂ_B4,763.924,170.381,-378.713,45.381,20.591 +_ɂЂ݂т҂肥.wav=e hy_B4,941.271,249.997,-336.979,249.997,83.331 +_ɂЂ݂т҂肥.wav=Ђ_B4,1231.166,194.774,-403.107,69.774,41.442 +_ɂЂ݂т҂肥.wav=e my_B4,1448.03,250.0,-321.853,250.0,83.331 +_ɂЂ݂т҂肥.wav=݂_B4,1709.375,200.637,-434.907,75.637,36.678 +_ɂЂ݂т҂肥.wav=e by_B4,1951.011,278.33,-310.508,249.999,83.331 +_ɂЂ݂т҂肥.wav=т_B4,2223.701,170.381,-378.714,45.381,22.69 +_ɂЂ݂т҂肥.wav=e py_B4,2412.39,281.01,-329.418,250.0,83.332 +_ɂЂ݂т҂肥.wav=҂_B4,2711.554,177.944,-386.276,52.944,0.0 +_ɂЂ݂т҂肥.wav=e ry_B4,2987.491,250.0,-275.774,250.0,83.33 +_ɂЂ݂т҂肥.wav=肥_B4,3249.908,153.33,-708.318,28.329,14.166 +_˂ւ߂ׂ؂.wav=e n_B4,497.946,249.998,-303.606,249.998,83.331 +_˂ւ߂ׂ؂.wav=_B4,763.262,168.396,-376.729,43.396,20.421 +_˂ւ߂ׂ؂.wav=e h_B4,939.567,249.997,-303.606,249.997,83.331 +_˂ւ߂ׂ؂.wav=_B4,1222.752,201.579,-409.913,76.579,38.29 +_˂ւ߂ׂ؂.wav=e m_B4,1429.689,250.0,-331.685,250.0,83.331 +_˂ւ߂ׂ؂.wav=_B4,1692.452,204.133,-412.465,79.132,33.185 +_˂ւ߂ׂ؂.wav=e b_B4,1942.785,271.027,-314.607,250.0,83.333 +_˂ւ߂ׂ؂.wav=_B4,2209.962,181.852,-390.185,56.852,25.842 +_˂ւ߂ׂ؂.wav=e p_B4,2422.696,288.552,-324.944,250.0,83.333 +_˂ւ߂ׂ؂.wav=_B4,2707.157,190.094,-532.241,65.094,0.0 +_˂ւ߂ׂ؂.wav=e r_B4,3017.78,250.0,-275.841,250.0,83.332 +_˂ւ߂ׂ؂.wav=_B4,3272.32,171.515,-602.546,46.515,20.673 +_EEE.wav=E _B4,720.735,110.967,-355.188,45.08,0.0 +_EEE.wav=o E_B4,856.603,338.069,-406.992,250.0,83.331 +_EEE.wav=E _B4,1220.814,120.158,-325.613,54.268,0.0 +_EEE.wav=N E_B4,1443.421,206.911,-290.363,145.645,79.758 +_񂠂.wav=- _B4,275.693,121.532,-329.865,0.0,0.0 +_񂠂.wav=o _B4,561.763,375.0,-624.714,250.0,83.332 +_񂠂.wav=u _B4,1067.203,374.999,-655.733,249.999,83.333 +_񂠂.wav=n _B4,1515.205,375.0,-669.606,250.0,83.333 +_񂠂.wav=a _B4,1986.18,375.0,-1089.209,250.0,83.333 +_񂠂.wav=n _B4,2495.447,375.0,-686.516,250.0,83.33 +_񂠂.wav=n _B4,3054.495,375.0,-880.656,250.0,83.332 +_.wav=u _B4,1086.349,374.999,-655.733,249.999,83.333 +_.wav=N _B4,1515.204,375.0,-668.648,250.0,83.333 +_.wav=a _B4,2024.472,375.0,-643.198,250.0,83.333 +_.wav=N _B4,2533.739,375.0,-678.857,250.0,83.329 +_.wav=N _B4,3081.298,375.0,-1133.808,250.0,83.33 +_債傿催傶Ă.wav=o ky_B4,474.972,267.524,-324.943,250.0,83.332 +_債傿催傶Ă.wav=_B4,746.845,215.446,-423.779,90.446,0.0 +_債傿催傶Ă.wav=o sh_B4,937.016,249.998,-372.528,249.998,83.33 +_債傿催傶Ă.wav=_B4,1212.541,229.66,-437.993,104.66,34.886 +_債傿催傶Ă.wav=o ch_B4,1427.136,271.72,-310.466,250.0,83.333 +_債傿催傶Ă.wav=_B4,1715.426,211.792,-466.795,86.792,34.5 +_債傿催傶Ă.wav=o gy_B4,1963.206,250.0,-306.16,250.0,83.333 +_債傿催傶Ă.wav=_B4,2246.392,176.053,-384.386,51.053,22.974 +_債傿催傶Ă.wav=o j_B4,2499.277,250.0,-313.817,250.0,83.331 +_債傿催傶Ă.wav=_B4,2772.252,181.158,-389.491,56.158,22.974 +_債傿催傶Ă.wav=o ty_B4,2966.427,265.503,-316.369,249.998,83.33 +_債傿催傶Ă.wav=o _B4,4122.808,392.133,-766.924,249.997,82.999 +_債傿催傶Ă.wav=Ă_B4,3245.71,199.51,-628.826,74.51,0.0 +_Ƃ.wav=o k_B4,426.471,280.632,-324.028,249.999,83.332 +_Ƃ.wav=_B4,746.454,185.206,-393.539,60.205,0.0 +_Ƃ.wav=o s_B4,988.069,249.998,-341.897,249.998,83.332 +_Ƃ.wav=_B4,1243.174,227.108,-436.514,102.108,43.396 +_Ƃ.wav=o t_B4,1475.636,271.249,-321.477,250.0,83.331 +_Ƃ.wav=_B4,1765.663,192.188,-416.911,67.188,0.0 +_Ƃ.wav=o g_B4,1988.735,249.999,-298.5,249.999,83.332 +_Ƃ.wav=_B4,2271.919,178.605,-441.62,53.605,28.814 +_Ƃ.wav=o z_B4,2496.725,250.0,-321.476,250.0,83.333 +_Ƃ.wav=_B4,2767.146,188.817,-467.147,63.817,20.421 +_Ƃ.wav=o d_B4,3022.587,249.997,-285.736,249.997,83.33 +_Ƃ.wav=_B4,3290.454,170.948,-935.286,45.948,25.527 +_ɂЂ݂т҂.wav=o ny_B4,469.866,250.0,-301.054,250.0,83.331 +_ɂЂ݂т҂.wav=ɂ_B4,730.077,173.5,-381.833,48.5,22.974 +_ɂЂ݂т҂.wav=o hy_B4,921.698,249.998,-326.579,249.998,83.33 +_ɂЂ݂т҂.wav=Ђ_B4,1192.18,199.509,-420.798,74.509,31.115 +_ɂЂ݂т҂.wav=o my_B4,1434.793,250.0,-313.817,250.0,83.331 +_ɂЂ݂т҂.wav=݂_B4,1697.557,191.37,-422.995,66.37,36.017 +_ɂЂ݂т҂.wav=o by_B4,1932.574,267.521,-303.607,249.999,83.329 +_ɂЂ݂т҂.wav=т_B4,2190.63,178.648,-413.58,53.647,32.784 +_ɂЂ݂т҂.wav=o py_B4,2409.932,278.038,-324.029,250.0,83.331 +_ɂЂ݂т҂.wav=҂_B4,2709.271,178.606,-441.62,53.606,0.0 +_ɂЂ݂т҂.wav=o ry_B4,2981.417,250.0,-272.691,250.0,83.33 +_ɂЂ݂т҂.wav=_B4,3242.008,146.176,-638.004,21.176,9.076 +_̂قڂۂ.wav=o n_B4,492.05,249.998,-294.246,249.998,83.331 +_̂قڂۂ.wav=_B4,752.26,182.861,-391.194,57.861,30.632 +_̂قڂۂ.wav=o h_B4,949.839,249.998,-306.158,249.998,83.33 +_̂قڂۂ.wav=_B4,1279.822,146.802,-394.82,56.159,23.825 +_̂قڂۂ.wav=o m_B4,1480.803,250.0,-318.071,250.0,83.329 +_̂قڂۂ.wav=_B4,1749.522,187.964,-420.347,62.964,24.006 +_̂قڂۂ.wav=o b_B4,1957.508,278.33,-316.37,249.999,83.332 +_̂قڂۂ.wav=_B4,2242.68,112.754,-379.847,46.515,18.181 +_̂قڂۂ.wav=o p_B4,2434.015,293.931,-335.091,250.0,83.333 +_̂قڂۂ.wav=_B4,2713.73,192.288,-464.719,67.288,0.0 +_̂قڂۂ.wav=o r_B4,3007.66,250.0,-285.737,250.0,83.33 +_̂قڂۂ.wav=_B4,3269.573,176.053,-650.688,51.053,25.212 +_悤‚ӂ.wav=o y_B4,502.262,249.997,-304.457,249.997,83.33 +_悤‚ӂ.wav=_B4,794.806,182.861,-391.194,57.861,30.632 +_悤‚ӂ.wav=o w_B4,1002.593,250.0,-292.544,250.0,83.332 +_悤‚ӂ.wav=_B4,1283.226,187.966,-386.311,62.966,30.632 +_悤‚ӂ.wav=o ts_B4,1949.171,267.522,-302.755,249.998,83.331 +_悤‚ӂ.wav=‚_B4,2240.014,199.878,-408.213,74.878,0.0 +_悤‚ӂ.wav=o f_B4,2451.205,250.0,-316.371,250.0,83.33 +_悤‚ӂ.wav=ӂ_B4,2736.943,193.071,-401.405,68.071,36.53 +_悤‚ӂ.wav=o v_B4,2982.17,250.0,-318.073,250.0,83.33 +_悤‚ӂ.wav=_B4,3261.467,177.569,-588.789,52.569,28.038 +_񂢂񂦂񂨂.wav=- _B4,277.395,74.898,-399.925,0.0,0.0 +_񂢂񂦂񂨂.wav=n _B4,541.427,375.0,-709.491,250.0,83.331 +_񂢂񂦂񂨂.wav=i _B4,1065.5,375.0,-631.206,250.0,83.331 +_񂢂񂦂񂨂.wav=n _B4,1474.021,375.0,-711.245,250.0,83.331 +_񂢂񂦂񂨂.wav=e _B4,2004.19,375.0,-673.074,250.0,83.333 +_񂢂񂦂񂨂.wav=n _B4,2553.024,375.0,-660.893,250.0,83.333 +_񂢂񂦂񂨂.wav=o _B4,3093.115,375.0,-1263.02,250.0,83.331 +_񂢂񂦂񂨂.wav=n _B4,4333.547,378.582,-590.363,250.0,82.999 +_.wav=- _B4,257.161,74.899,-386.476,0.0,0.0 +_.wav=N _B4,555.524,375.0,-650.871,250.0,83.331 +_.wav=i _B4,990.432,375.0,-645.388,250.0,83.331 +_.wav=N _B4,1512.321,375.0,-640.22,250.0,83.331 +_.wav=e _B4,2064.464,375.0,-639.526,250.0,83.333 +_.wav=N _B4,2525.845,375.0,-707.598,250.0,83.333 +_.wav=o _B4,3055.297,375.0,-1252.179,250.0,83.331 +_̓.wav=N v_B4,449.633,249.999,-306.727,249.999,83.329 +_̓.wav=N h_B4,1434.388,250.0,-297.902,250.0,83.331 +_̓.wav=N hy_B4,2405.049,250.0,-307.989,250.0,83.33 +_񂩂񂳂.wav=n k_B4,435.404,260.514,-314.606,250.0,83.332 +_񂩂񂳂.wav=n s_B4,1442.452,250.0,-368.7,250.0,83.329 +_񂩂񂳂.wav=n t_B4,2449.499,278.038,-309.58,250.0,83.332 +_񂪂񂴂.wav=n g_B4,478.407,250.0,-281.011,250.0,83.331 +_񂪂񂴂.wav=n z_B4,1455.215,250.0,-332.696,250.0,83.332 +_񂪂񂴂.wav=n d_B4,2529.991,250.0,-281.543,250.0,83.333 +_񂫂񂵂񂿂.wav=n ky_B4,400.469,267.521,-320.594,250.0,83.33 +_񂫂񂵂񂿂.wav=n sh_B4,1411.473,250.0,-371.016,250.0,83.331 +_񂫂񂵂񂿂.wav=n ch_B4,2412.39,275.975,-326.643,250.0,83.333 +_񂬂񂶂‚.wav=n gy_B4,448.447,250.0,-287.819,250.0,83.332 +_񂬂񂶂‚.wav=n j_B4,1446.845,250.0,-325.636,250.0,83.331 +_񂬂񂶂‚.wav=n ts_B4,2377.169,267.338,-302.945,250.0,83.331 +_Ȃς.wav=n n_B4,455.529,249.999,-306.853,249.999,83.332 +_Ȃς.wav=n p_B4,1434.163,264.016,-333.2,250.0,83.331 +_Ȃς.wav=n m_B4,2471.404,250.0,-292.02,250.0,83.331 +_ɂ҂݂.wav=n ny_B4,418.118,250.0,-307.987,250.0,83.331 +_ɂ҂݂.wav=n py_B4,1408.951,281.875,-310.207,250.0,83.333 +_ɂ҂݂.wav=n my_B4,2420.953,250.0,-312.19,250.0,83.333 +_Ђтӂ.wav=n hy_B4,463.5,250.0,-338.241,250.0,83.33 +_Ђтӂ.wav=n by_B4,1441.078,278.013,-299.099,250.0,83.331 +_Ђтӂ.wav=n f_B4,2417.596,250.0,-330.111,250.0,83.333 +_Ӄ⃓.wav=N f_B4,410.64,250.0,-332.695,250.0,83.33 +_Ӄ⃓.wav=N y_B4,1434.249,250.0,-302.945,250.0,83.329 +_Ӄ⃓.wav=N w_B4,2508.281,250.0,-306.852,250.0,83.333 +_΂.wav=n y_B4,420.64,250.0,-318.072,250.0,83.331 +_΂.wav=n b_B4,1429.121,270.17,-307.988,250.0,83.332 +_΂.wav=n r_B4,2455.24,250.0,-275.844,250.0,83.333 +_.wav=n ry_B4,503.066,250.0,-275.21,250.0,83.33 +_.wav=n v_B4,1499.781,250.0,-307.147,250.0,83.328 diff --git a/OpenUtau.Test/Files/ja_cvvc/C4/oto.ini b/OpenUtau.Test/Files/ja_cvvc/C4/oto.ini new file mode 100644 index 000000000..6f186bb4e --- /dev/null +++ b/OpenUtau.Test/Files/ja_cvvc/C4/oto.ini @@ -0,0 +1,436 @@ +_EEEEE.wav=E _C4,698.404,124.841,-301.699,48.548,34.678 +_EEEEE.wav=a E_C4,817.289,319.357,-378.31,249.999,83.333 +_EEEEE.wav=E _C4,1189.232,107.502,-315.57,58.952,31.21 +_EEEEE.wav=i E_C4,1297.955,305.485,-357.502,250.0,83.333 +_EEEEE.wav=E _C4,1670.717,149.115,-319.038,65.887,45.081 +_EEEEE.wav=u E_C4,1788.96,281.211,-360.971,250.0,83.333 +_EEEEE.wav=E _C4,2147.033,156.051,-315.57,72.823,31.21 +_EEEEE.wav=e E_C4,2295.47,308.952,-381.776,250.0,83.333 +_EEEEE.wav=E _C4,2665.581,201.29,-297.087,76.29,45.081 +_EEEEE.wav=n E_C4,3758.862,472.244,-593.703,249.999,83.331 +_.wav=- _C4,245.423,128.467,-841.09,3.467,3.467 +_.wav=a _C4,580.909,375.0,-583.13,250.0,83.331 +_.wav=a _C4,1090.178,375.0,-552.496,250.0,83.33 +_.wav=i _C4,1511.376,375.0,-610.501,250.0,83.333 +_.wav=a _C4,1955.548,327.104,-673.074,250.0,83.333 +_.wav=u _C4,2518.423,351.636,-691.592,250.0,83.333 +_.wav=e _C4,3043.005,351.636,-1027.304,250.0,83.331 +_.wav=a _C4,4432.962,422.308,-621.138,250.0,82.999 +_.wav=a k_C4,450.721,283.596,-322.359,250.0,82.999 +_.wav=_C4,752.764,138.843,-351.504,55.172,0.0 +_.wav=a s_C4,940.843,250.0,-376.359,250.0,83.332 +_.wav=_C4,1213.817,191.569,-473.956,114.871,53.607 +_.wav=a t_C4,1450.11,273.258,-307.436,250.0,83.331 +_.wav=_C4,1750.926,146.699,-385.902,52.569,0.0 +_.wav=a g_C4,1990.01,249.999,-296.515,249.999,83.332 +_.wav=_C4,2275.151,136.256,-408.184,49.099,23.258 +_.wav=a z_C4,2499.277,250.0,-332.694,250.0,83.332 +_.wav=_C4,2760.765,160.591,-413.739,80.407,49.778 +_.wav=a d_C4,3020.034,249.998,-286.178,249.998,83.333 +_.wav=_C4,3289.95,107.586,-710.708,41.347,20.673 +_ႵႿႬႶĂ.wav=a ky_C4,468.542,271.028,-317.19,250.0,83.333 +_ႵႿႬႶĂ.wav=_C4,776.477,143.694,-375.776,63.083,0.0 +_ႵႿႬႶĂ.wav=a sh_C4,963.961,249.998,-352.107,249.998,83.33 +_ႵႿႬႶĂ.wav=_C4,1232.868,182.717,-435.441,102.107,37.504 +_ႵႿႬႶĂ.wav=a ch_C4,1470.721,269.861,-296.685,250.0,83.333 +_ႵႿႬႶĂ.wav=_C4,1746.543,171.744,-420.963,87.63,46.283 +_ႵႿႬႶĂ.wav=a gy_C4,1988.829,249.998,-295.38,249.998,83.33 +_ႵႿႬႶĂ.wav=_C4,2281.879,107.014,-377.264,43.931,12.39 +_ႵႿႬႶĂ.wav=a j_C4,2476.681,250.0,-348.326,250.0,83.331 +_ႵႿႬႶĂ.wav=_C4,2756.935,152.464,-389.713,71.854,41.599 +_ႵႿႬႶĂ.wav=a ty_C4,2968.315,267.522,-325.637,250.0,83.33 +_ႵႿႬႶĂ.wav=Ă_C4,3272.333,184.437,-697.294,59.437,0.0 +_Ȃ͂܂΂ς.wav=a n_C4,491.234,249.999,-306.726,249.999,83.333 +_Ȃ͂܂΂ς.wav=_C4,745.015,189.288,-397.621,64.288,18.909 +_Ȃ͂܂΂ς.wav=a h_C4,1013.125,249.997,-306.724,249.997,83.331 +_Ȃ͂܂΂ς.wav=_C4,1331.195,107.489,-374.933,41.599,22.69 +_Ȃ͂܂΂ς.wav=a m_C4,1470.721,250.0,-322.359,250.0,83.333 +_Ȃ͂܂΂ς.wav=_C4,1734.337,187.021,-395.355,62.021,31.01 +_Ȃ͂܂΂ς.wav=a b_C4,1962.357,275.843,-319.774,249.999,83.331 +_Ȃ͂܂΂ς.wav=_C4,2245.069,140.964,-387.601,54.268,26.526 +_Ȃ͂܂΂ς.wav=a p_C4,2423.736,297.336,-337.864,250.0,83.333 +_Ȃ͂܂΂ς.wav=_C4,2730.527,174.1,-437.126,49.1,0.0 +_Ȃ͂܂΂ς.wav=a r_C4,2991.009,249.998,-275.841,249.998,83.333 +_Ȃ͂܂΂ς.wav=_C4,3246.618,153.425,-614.486,28.425,10.336 +_ɂЂ݂т҂.wav=a ny_C4,476.106,249.999,-296.515,249.999,83.332 +_ɂЂ݂т҂.wav=ɂ_C4,725.603,163.0,-405.689,72.357,31.01 +_ɂЂ݂т҂.wav=a hy_C4,967.742,249.998,-333.198,249.998,83.332 +_ɂЂ݂т҂.wav=Ђ_C4,1232.868,194.208,-424.096,90.762,23.574 +_ɂЂ݂т҂.wav=a my_C4,1459.375,250.0,-318.072,250.0,83.331 +_ɂЂ݂т҂.wav=݂_C4,1711.266,154.224,-431.567,77.526,33.595 +_ɂЂ݂т҂.wav=a by_C4,1935.884,271.028,-321.853,249.999,83.332 +_ɂЂ݂т҂.wav=т_C4,2246.645,142.449,-385.05,41.347,20.624 +_ɂЂ݂т҂.wav=a py_C4,2435.081,281.541,-324.943,250.0,83.333 +_ɂЂ݂т҂.wav=҂_C4,2740.488,155.37,-418.645,54.267,0.0 +_ɂЂ݂т҂.wav=a ry_C4,3047.736,249.998,-275.84,249.998,83.33 +_ɂЂ݂т҂.wav=_C4,3305.319,151.823,-871.868,26.823,14.902 +_킿‚ӂ.wav=a y_C4,495.015,250.0,-303.123,250.0,83.331 +_킿‚ӂ.wav=_C4,783.907,184.435,-406.511,59.435,31.01 +_킿‚ӂ.wav=a w_C4,975.305,249.998,-309.435,249.998,83.33 +_킿‚ӂ.wav=_C4,1263.122,119.272,-371.148,37.817,17.144 +_킿‚ӂ.wav=a ts_C4,1951.01,270.675,-304.27,250.0,83.33 +_킿‚ӂ.wav=‚_C4,2246.392,192.4,-432.267,90.762,0.0 +_킿‚ӂ.wav=a f_C4,2461.554,250.0,-329.418,250.0,83.33 +_킿‚ӂ.wav=ӂ_C4,2728.384,187.985,-457.146,85.278,36.179 +_킿‚ӂ.wav=a v_C4,3006.134,250.0,-325.635,250.0,83.33 +_킿‚ӂ.wav=_C4,3271.261,196.853,-691.633,71.853,35.675 +_.wav=- _C4,238.253,125.0,-791.379,0.0,0.0 +_.wav=i _C4,460.979,375.0,-661.379,250.0,83.333 +_.wav=i _C4,1028.251,375.0,-586.579,250.0,83.332 +_.wav=u _C4,1535.012,375.0,-647.433,250.0,83.332 +_.wav=a _C4,2026.646,375.0,-643.116,250.0,83.331 +_.wav=e _C4,2525.845,375.0,-636.973,250.0,83.333 +_.wav=i _C4,2994.788,375.0,-928.461,250.0,83.333 +_‚ӂ.wav=_C4,649.811,171.039,-409.093,46.039,14.166 +_‚ӂ.wav=i w_C4,895.886,250.0,-340.446,250.0,83.332 +_‚ӂ.wav=_C4,1221.523,177.944,-370.806,52.944,26.472 +_‚ӂ.wav=i ch_C4,1398.866,279.127,-317.873,250.0,83.333 +_‚ӂ.wav=_C4,1679.121,228.098,-439.51,147.49,71.854 +_‚ӂ.wav=i ts_C4,1890.502,267.706,-314.29,249.999,83.331 +_‚ӂ.wav=‚_C4,2204.792,190.001,-439.222,105.889,0.0 +_‚ӂ.wav=i f_C4,2419.953,250.0,-325.636,250.0,83.33 +_‚ӂ.wav=ӂ_C4,2696.112,152.224,-397.938,64.605,29.188 +_‚ӂ.wav=i v_C4,2938.06,250.0,-329.418,250.0,83.329 +_‚ӂ.wav=_C4,3220.774,179.269,-751.704,54.269,31.01 +_.wav=i k_C4,408.034,281.011,-332.696,249.999,83.332 +_.wav=i s_C4,1410.212,250.0,-355.89,250.0,83.331 +_.wav=i t_C4,2378.354,278.426,-330.111,250.0,83.333 +_.wav=i g_C4,449.633,249.999,-276.473,249.999,83.332 +_.wav=i z_C4,1417.775,250.0,-329.418,250.0,83.331 +_.wav=i d_C4,2442.645,250.0,-275.841,250.0,83.332 +_Ăł.wav=i ky_C4,434.506,270.674,-319.775,250.0,83.332 +_Ăł.wav=_C4,733.036,212.615,-405.476,87.615,0.0 +_Ăł.wav=i sh_C4,948.832,249.998,-386.966,249.998,83.332 +_Ăł.wav=_C4,1205.198,277.47,-462.577,152.47,67.19 +_Ăł.wav=i ty_C4,1444.248,284.351,-318.073,250.0,83.333 +_Ăł.wav=Ă_C4,1736.543,199.94,-408.275,74.94,0.0 +_Ăł.wav=i gy_C4,1969.917,249.997,-295.381,249.997,83.329 +_Ăł.wav=_C4,2228.997,218.031,-426.364,93.031,54.268 +_Ăł.wav=i j_C4,2480.462,250.0,-344.544,250.0,83.332 +_Ăł.wav=_C4,2727.629,241.288,-449.621,116.288,59.437 +_Ăł.wav=i dy_C4,2979.663,249.998,-288.761,249.998,83.333 +_Ăł.wav=i _C4,4231.06,513.592,-877.969,250.0,82.999 +_Ăł.wav=ł_C4,3261.303,181.852,-752.011,56.852,32.322 +_Ȃ₢.wav=i n_C4,439.99,250.0,-312.021,250.0,83.331 +_Ȃ₢.wav=i y_C4,1397.448,250.0,-304.268,250.0,83.331 +_Ȃ₢.wav=i m_C4,2413.052,250.0,-324.942,250.0,83.333 +_ɂЂ݂т҂.wav=i ny_C4,471.001,250.0,-319.774,250.0,83.331 +_ɂЂ݂т҂.wav=_C4,732.63,187.019,-441.902,62.019,33.983 +_ɂЂ݂т҂.wav=i hy_C4,936.164,249.999,-397.3,249.999,83.331 +_ɂЂ݂т҂.wav=_C4,1232.679,193.871,-445.747,112.412,40.055 +_ɂЂ݂т҂.wav=i my_C4,1471.099,250.0,-314.605,250.0,83.333 +_ɂЂ݂т҂.wav=_C4,1744.357,165.396,-441.905,69.773,28.427 +_ɂЂ݂т҂.wav=i by_C4,1967.274,275.536,-314.605,249.998,83.331 +_ɂЂ݂т҂.wav=_C4,2239.467,155.167,-396.418,63.085,32.074 +_ɂЂ݂т҂.wav=i py_C4,2428.558,271.027,-332.696,250.0,83.333 +_ɂЂ݂т҂.wav=_C4,2721.201,155.106,-448.364,73.648,0.0 +_ɂЂ݂т҂.wav=i ry_C4,2986.754,249.998,-293.931,249.998,83.333 +_ɂЂ݂т҂.wav=_C4,3245.71,118.905,-786.588,26.823,8.941 +_΂ς.wav=i b_C4,471.003,271.249,-306.853,249.999,83.333 +_΂ς.wav=_C4,752.011,159.886,-368.219,34.886,19.381 +_΂ς.wav=i p_C4,1405.201,274.788,-335.28,250.0,83.331 +_΂ς.wav=i r_C4,2463.445,250.0,-277.133,250.0,83.333 +_͂͂.wav=i h_C4,428.362,249.997,-331.402,249.997,83.33 +_͂͂.wav=u h_C4,1381.943,250.0,-339.156,250.0,83.331 +_͂͂.wav=n h_C4,2378.165,250.0,-335.28,250.0,83.333 +_.wav=- _C4,248.087,124.999,-843.672,0.0,0.0 +_.wav=u _C4,490.382,375.0,-614.377,250.0,83.332 +_.wav=u _C4,1052.453,375.0,-593.703,250.0,83.333 +_.wav=i _C4,1529.245,375.0,-637.635,250.0,83.333 +_.wav=o _C4,1955.643,375.0,-697.073,250.0,83.333 +_.wav=a _C4,2494.455,375.0,-657.017,250.0,83.333 +_.wav=o _C4,3091.413,375.0,-1219.088,250.0,83.33 +_サタガザĂ.wav=ky_C4,710.665,21.965,-52.977,21.965,0.0 +_サタガザĂ.wav=u ky_C4,408.979,265.506,-309.438,250.0,83.332 +_サタガザĂ.wav=_C4,682.238,233.537,-441.87,108.537,0.0 +_サタガザĂ.wav=sh_C4,1152.447,49.217,-118.994,10.456,0.0 +_サタガザĂ.wav=u sh_C4,897.4,249.999,-374.042,249.999,83.331 +_サタガザĂ.wav=_C4,1162.905,249.041,-457.374,124.041,42.639 +_サタガザĂ.wav=ch_C4,1712.056,20.672,-74.941,20.672,0.0 +_サタガザĂ.wav=u ch_C4,1401.324,250.0,-377.918,250.0,83.332 +_サタガザĂ.wav=_C4,1674.583,230.297,-453.531,135.67,58.145 +_サタガザĂ.wav=gy_C4,2232.777,15.505,-33.027,15.505,0.0 +_サタガザĂ.wav=u gy_C4,1951.764,250.0,-296.517,250.0,83.331 +_サタガザĂ.wav=_C4,2228.901,179.269,-387.602,54.269,11.629 +_サタガザĂ.wav=j_C4,2736.704,19.381,-42.638,0.0,0.0 +_サタガザĂ.wav=u j_C4,2455.692,250.0,-331.402,250.0,83.333 +_サタガザĂ.wav=_C4,2728.95,175.392,-383.725,50.392,27.134 +_サタガザĂ.wav=u ty_C4,2920.854,273.031,-319.774,250.0,83.333 +_サタガザĂ.wav=u _C4,4188.421,420.559,-596.883,249.998,82.999 +_サタガザĂ.wav=ty_C4,3227.707,26.864,-59.437,12.92,2.584 +_サタガザĂ.wav=Ă_C4,3209.618,218.029,-723.875,93.029,0.0 +_Ƃǂ.wav=k_C4,731.339,5.167,-36.178,5.167,5.167 +_Ƃǂ.wav=u k_C4,393.474,268.09,-331.403,250.0,83.33 +_Ƃǂ.wav=_C4,691.284,205.11,-413.443,80.11,0.0 +_Ƃǂ.wav=s_C4,1159.029,54.268,-131.795,0.0,0.0 +_Ƃǂ.wav=u s_C4,901.277,249.998,-385.671,249.998,83.331 +_Ƃǂ.wav=_C4,1162.905,260.671,-453.532,135.671,40.055 +_Ƃǂ.wav=t_C4,1693.965,0.0,-58.145,0.0,0.0 +_Ƃǂ.wav=u t_C4,1385.819,275.843,-315.898,250.0,83.331 +_Ƃǂ.wav=Ƃ_C4,1659.079,225.784,-434.117,100.784,0.0 +_Ƃǂ.wav=g_C4,2182.386,11.257,-38.763,7.751,0.0 +_Ƃǂ.wav=u g_C4,1905.25,250.0,-288.762,250.0,83.332 +_Ƃǂ.wav=_C4,2174.634,179.268,-387.601,54.268,28.426 +_Ƃǂ.wav=z_C4,2674.682,0.177,-93.031,0.0,0.0 +_Ƃǂ.wav=u z_C4,2413.051,250.0,-354.662,250.0,83.33 +_Ƃǂ.wav=_C4,2659.176,241.288,-501.339,116.288,59.436 +_Ƃǂ.wav=d_C4,3194.116,15.503,-40.036,15.503,0.0 +_Ƃǂ.wav=u d_C4,2893.719,250.0,-300.393,250.0,83.333 +_Ƃǂ.wav=ǂ_C4,3164.395,197.357,-752.27,72.357,41.501 +_ɂЂ݂т҂.wav=ny_C4,677.068,24.551,-51.683,5.167,0.0 +_ɂЂ݂т҂.wav=u ny_C4,424.486,249.999,-312.019,249.999,83.329 +_ɂЂ݂т҂.wav=ɂ_C4,686.114,179.266,-387.598,54.266,19.381 +_ɂЂ݂т҂.wav=hy_C4,1151.277,36.605,-114.132,0.0,0.0 +_ɂЂ݂т҂.wav=u hy_C4,905.15,249.998,-343.033,249.998,83.331 +_ɂЂ݂т҂.wav=Ђ_C4,1174.534,214.155,-422.488,89.155,29.315 +_ɂЂ݂т҂.wav=my_C4,1686.551,30.672,-65.558,3.538,0.0 +_ɂЂ݂т҂.wav=u my_C4,1432.336,250.0,-319.774,250.0,83.331 +_ɂЂ݂т҂.wav=݂_C4,1697.514,187.349,-395.682,62.349,28.332 +_ɂЂ݂т҂.wav=by_C4,2192.817,28.331,-49.006,28.331,10.622 +_ɂЂ݂т҂.wav=u by_C4,1920.757,273.257,-300.391,249.998,83.33 +_ɂЂ݂т҂.wav=т_C4,2209.52,187.02,-395.353,62.02,37.229 +_ɂЂ݂т҂.wav=py_C4,2700.526,24.548,-62.018,12.919,0.0 +_ɂЂ݂т҂.wav=u py_C4,2397.545,267.707,-315.9,250.0,83.333 +_ɂЂ݂т҂.wav=҂_C4,2686.31,206.403,-453.532,81.403,0.0 +_ɂЂ݂т҂.wav=ry_C4,3244.507,0.0,-15.502,-0.001,-0.001 +_ɂЂ݂т҂.wav=u ry_C4,2998.38,250.0,-278.426,250.0,83.33 +_ɂЂ݂т҂.wav=_C4,3241.921,166.347,-868.573,41.347,18.089 +_ʂӂނԂՂ.wav=n_C4,668.396,24.531,-60.357,3.503,0.0 +_ʂӂނԂՂ.wav=u n_C4,411.563,250.0,-322.358,250.0,83.331 +_ʂӂނԂՂ.wav=_C4,679.058,187.616,-395.949,62.616,24.066 +_ʂӂނԂՂ.wav=f_C4,1180.993,35.044,-87.865,0.0,0.0 +_ʂӂނԂՂ.wav=u f_C4,907.736,249.998,-355.954,249.998,83.331 +_ʂӂނԂՂ.wav=_C4,1173.242,223.197,-431.532,98.197,54.617 +_ʂӂނԂՂ.wav=m_C4,1666.83,10.513,-56.853,0.0,0.0 +_ʂӂނԂՂ.wav=u m_C4,1409.077,250.0,-306.432,250.0,83.331 +_ʂӂނԂՂ.wav=_C4,1677.167,181.852,-465.162,56.852,38.463 +_ʂӂނԂՂ.wav=b_C4,2203.079,19.772,-48.501,12.762,0.0 +_ʂӂނԂՂ.wav=u b_C4,1909.683,283.185,-306.159,249.999,83.331 +_ʂӂނԂՂ.wav=_C4,2215.29,191.587,-392.201,66.587,24.322 +_ʂӂނԂՂ.wav=p_C4,2695.596,19.929,-62.021,12.92,0.0 +_ʂӂނԂՂ.wav=u p_C4,2378.741,286.38,-337.863,250.0,83.331 +_ʂӂނԂՂ.wav=_C4,2689.641,207.694,-467.746,82.694,0.0 +_ʂӂނԂՂ.wav=r_C4,3219.398,17.868,-33.184,0.0,0.0 +_ʂӂނԂՂ.wav=u r_C4,2956.632,250.0,-283.186,250.0,83.333 +_ʂӂނԂՂ.wav=_C4,3211.739,176.053,-723.956,51.053,28.079 +_䂤‚Ӄ.wav=y_C4,712.908,9.556,-42.708,6.97,0.0 +_䂤‚Ӄ.wav=u y_C4,446.904,249.999,-301.054,249.999,83.332 +_䂤‚Ӄ.wav=_C4,727.537,191.368,-399.702,66.368,33.185 +_䂤‚Ӄ.wav=w_C4,1177.502,22.04,-50.367,6.971,0.0 +_䂤‚Ӄ.wav=u w_C4,926.815,249.998,-308.712,249.998,83.33 +_䂤‚Ӄ.wav=_C4,1202.342,170.947,-379.28,45.947,22.974 +_䂤‚Ӄ.wav=ts_C4,2183.712,79.283,-141.826,24.401,0.0 +_䂤‚Ӄ.wav=u ts_C4,1889.192,270.916,-313.816,249.998,83.331 +_䂤‚Ӄ.wav=_C4,2190.244,255.189,-463.524,130.189,0.0 +_䂤‚Ӄ.wav=v_C4,3227.052,20.916,-74.029,0.0,0.0 +_䂤‚Ӄ.wav=u v_C4,2946.418,250.0,-352.107,250.0,83.333 +_䂤‚Ӄ.wav=_C4,3234.71,214.344,-719.747,89.344,50.581 +_‚ӂ.wav=e y_C4,503.051,250.0,-304.269,250.0,83.331 +_‚ӂ.wav=_C4,780.79,199.371,-407.704,74.371,35.415 +_‚ӂ.wav=e w_C4,982.966,249.997,-317.188,249.997,83.331 +_‚ӂ.wav=_C4,1268.041,157.76,-366.714,54.267,23.258 +_‚ӂ.wav=e ch_C4,1445.004,277.696,-310.481,250.0,83.333 +_‚ӂ.wav=_C4,1715.426,196.329,-448.205,114.871,45.098 +_‚ӂ.wav=e ts_C4,1935.127,274.789,-311.265,250.0,83.331 +_‚ӂ.wav=‚_C4,2210.654,179.035,-438.027,104.66,0.0 +_‚ӂ.wav=e f_C4,2430.71,250.0,-344.45,250.0,83.333 +_‚ӂ.wav=ӂ_C4,2705.482,180.62,-418.329,84.996,31.874 +_‚ӂ.wav=e v_C4,2941.255,250.0,-339.344,250.0,83.33 +_‚ӂ.wav=_C4,3219.334,183.711,-740.949,58.711,30.632 +_.wav=- _C4,216.983,124.999,-841.127,0.0,0.0 +_.wav=e _C4,495.393,375.0,-694.488,250.0,83.332 +_.wav=e _C4,1000.834,374.997,-699.276,249.997,83.331 +_.wav=u _C4,1539.455,375.0,-596.756,250.0,83.332 +_.wav=o _C4,1988.734,375.0,-642.803,250.0,83.332 +_.wav=e _C4,2547.779,375.0,-1280.603,250.0,83.333 +_.wav=o _C4,3280.411,374.998,-1188.075,249.998,83.333 +_Ă.wav=e ky_C4,451.998,275.212,-313.817,249.998,83.331 +_Ă.wav=_C4,730.077,219.45,-427.784,94.45,0.0 +_Ă.wav=e sh_C4,937.014,250.0,-367.424,250.0,83.331 +_Ă.wav=_C4,1215.094,232.213,-422.491,107.213,38.29 +_Ă.wav=e ch_C4,1442.453,280.631,-313.032,250.0,83.331 +_Ă.wav=e gy_C4,1973.417,250.0,-308.713,250.0,83.333 +_Ă.wav=_C4,2250.553,189.677,-467.746,77.526,43.931 +_Ă.wav=e j_C4,2501.83,250.0,-339.344,250.0,83.333 +_Ă.wav=_C4,2767.146,199.028,-407.359,74.028,38.29 +_Ă.wav=e ty_C4,2989.398,277.889,-321.477,250.0,83.333 +_Ă.wav=e _C4,4163.651,399.886,-489.954,249.998,83.0 +_Ă.wav=Ă_C4,3270.033,206.686,-677.486,81.686,0.0 +_Ă.wav=e k_C4,429.022,271.25,-306.854,250.0,83.332 +_Ă.wav=_C4,717.313,186.264,-394.597,61.264,0.0 +_Ă.wav=e s_C4,924.252,249.998,-362.318,249.998,83.33 +_Ă.wav=_C4,1211.439,215.447,-423.78,90.447,43.931 +_Ă.wav=e t_C4,1447.557,274.791,-314.606,250.0,83.331 +_Ă.wav=_C4,1734.931,192.288,-400.621,67.288,0.0 +_Ă.wav=e g_C4,1978.524,249.999,-295.947,249.999,83.332 +_Ă.wav=_C4,2243.335,181.664,-410.704,56.664,30.822 +_Ă.wav=e z_C4,2478.856,250.0,-336.792,250.0,83.333 +_Ă.wav=_C4,2744.481,206.686,-487.411,81.686,35.17 +_Ă.wav=e d_C4,3010.13,250.0,-296.516,250.0,83.33 +_Ă.wav=_C4,3267.788,181.159,-643.098,56.159,22.564 +_ɂЂ݂т҂肥.wav=e ny_C4,459.655,249.999,-318.923,249.999,83.329 +_ɂЂ݂т҂肥.wav=ɂ_C4,719.866,193.922,-402.254,68.922,44.132 +_ɂЂ݂т҂肥.wav=e hy_C4,939.569,249.996,-327.525,249.996,83.33 +_ɂЂ݂т҂肥.wav=Ђ_C4,1209.137,194.774,-403.107,69.774,41.442 +_ɂЂ݂т҂肥.wav=e my_C4,1427.136,250.0,-298.5,250.0,83.331 +_ɂЂ݂т҂肥.wav=݂_C4,1684.794,178.605,-386.938,53.605,25.527 +_ɂЂ݂т҂肥.wav=e by_C4,1894.283,278.331,-314.606,250.0,83.332 +_ɂЂ݂т҂肥.wav=т_C4,2162.152,188.816,-397.149,63.816,39.027 +_ɂЂ݂т҂肥.wav=e py_C4,2381.852,281.01,-329.135,250.0,83.331 +_ɂЂ݂т҂肥.wav=҂_C4,2662.485,196.475,-404.807,71.475,0.0 +_ɂЂ݂т҂肥.wav=e ry_C4,2943.45,250.0,-284.462,250.0,83.33 +_ɂЂ݂т҂肥.wav=肥_C4,3207.241,153.33,-708.318,28.329,14.166 +_˂ւ߂ׂ؂.wav=e n_C4,423.917,250.0,-306.854,250.0,83.332 +_˂ւ߂ׂ؂.wav=_C4,719.866,163.29,-371.623,38.29,19.145 +_˂ւ߂ׂ؂.wav=e h_C4,879.578,249.999,-318.923,249.999,83.331 +_˂ւ߂ׂ؂.wav=_C4,1171.697,197.752,-406.085,72.752,26.803 +_˂ւ߂ׂ؂.wav=e m_C4,1411.819,250.0,-330.411,250.0,83.331 +_˂ւ߂ׂ؂.wav=_C4,1684.794,190.093,-398.426,65.093,33.552 +_˂ւ߂ׂ؂.wav=e b_C4,1928.745,271.026,-303.607,250.0,83.332 +_˂ւ߂ׂ؂.wav=_C4,2205.548,167.119,-375.451,42.119,22.974 +_˂ւ߂ׂ؂.wav=e p_C4,2392.064,288.552,-324.944,250.0,83.333 +_˂ւ߂ׂ؂.wav=_C4,2674.43,192.189,-488.42,67.189,0.0 +_˂ւ߂ׂ؂.wav=e r_C4,2974.084,250.0,-275.841,250.0,83.333 +_˂ւ߂ׂ؂.wav=_C4,3212.029,171.515,-602.546,46.515,20.673 +_EEE.wav=E _C4,628.837,110.967,-355.188,45.08,0.0 +_EEE.wav=o E_C4,741.731,308.952,-414.65,250.0,83.331 +_EEE.wav=E _C4,1148.062,120.157,-295.5,54.267,0.0 +_EEE.wav=N E_C4,1328.549,201.131,-290.364,145.646,79.758 +_񂠂.wav=- _C4,256.548,121.532,-329.865,0.0,0.0 +_񂠂.wav=o _C4,511.986,375.0,-624.714,250.0,83.332 +_񂠂.wav=u _C4,1036.57,374.999,-655.733,249.999,83.333 +_񂠂.wav=n _C4,1457.768,375.0,-669.606,250.0,83.333 +_񂠂.wav=a _C4,1871.309,375.0,-720.976,250.0,83.333 +_񂠂.wav=n _C4,2353.772,375.0,-660.893,250.0,83.331 +_񂠂.wav=n _C4,2882.185,375.0,-880.656,250.0,83.332 +_.wav=u _C4,975.305,374.999,-655.733,249.999,83.333 +_.wav=N _C4,1519.033,375.0,-668.648,250.0,83.333 +_.wav=a _C4,1982.351,375.0,-643.198,250.0,83.333 +_.wav=N _C4,2438.012,375.0,-763.097,250.0,83.33 +_.wav=N _C4,3046.835,375.0,-1133.808,250.0,83.33 +_債傿催傶Ă.wav=o ky_C4,435.404,267.524,-315.095,250.0,83.331 +_債傿催傶Ă.wav=_C4,728.977,215.446,-423.779,90.446,0.0 +_債傿催傶Ă.wav=o sh_C4,952.333,249.998,-364.869,249.998,83.33 +_債傿催傶Ă.wav=_C4,1213.739,236.121,-444.454,111.121,41.347 +_債傿催傶Ă.wav=o ch_C4,1438.623,281.096,-316.862,250.0,83.333 +_債傿催傶Ă.wav=_C4,1715.442,228.369,-483.372,103.369,51.077 +_債傿催傶Ă.wav=o gy_C4,1955.548,249.999,-311.266,249.999,83.331 +_債傿催傶Ă.wav=_C4,2227.578,202.526,-410.859,77.526,36.179 +_債傿催傶Ă.wav=o j_C4,2472.474,250.0,-341.898,250.0,83.333 +_債傿催傶Ă.wav=_C4,2744.502,202.527,-410.86,77.527,31.01 +_債傿催傶Ă.wav=o ty_C4,2954.941,265.503,-318.92,249.998,83.33 +_債傿催傶Ă.wav=o _C4,4275.971,392.133,-710.343,249.998,82.999 +_債傿催傶Ă.wav=Ă_C4,3248.698,199.941,-629.257,74.941,0.0 +_Ƃ.wav=o k_C4,435.405,273.258,-313.75,249.999,83.332 +_Ƃ.wav=_C4,743.901,185.206,-393.539,60.205,0.0 +_Ƃ.wav=o s_C4,948.502,249.999,-349.555,249.999,83.331 +_Ƃ.wav=_C4,1202.252,236.121,-444.455,111.121,36.179 +_Ƃ.wav=o t_C4,1442.452,271.249,-322.358,250.0,83.331 +_Ƃ.wav=_C4,1732.477,192.189,-400.522,67.189,0.0 +_Ƃ.wav=o g_C4,1970.867,249.999,-283.595,249.999,83.332 +_Ƃ.wav=_C4,2251.987,189.605,-410.893,64.605,39.814 +_Ƃ.wav=o z_C4,2472.474,250.0,-318.922,250.0,83.333 +_Ƃ.wav=_C4,2733.961,186.264,-441.147,61.264,25.085 +_Ƃ.wav=o d_C4,2993.231,249.997,-301.682,249.997,83.331 +_Ƃ.wav=_C4,3255.301,181.852,-946.19,56.852,28.426 +_ɂЂ݂т҂.wav=o ny_C4,435.404,250.0,-315.095,250.0,83.33 +_ɂЂ݂т҂.wav=ɂ_C4,716.037,193.922,-402.254,68.921,33.877 +_ɂЂ݂т҂.wav=o hy_C4,898.725,249.997,-330.408,249.997,83.331 +_ɂЂ݂т҂.wav=Ђ_C4,1160.21,209.238,-430.527,84.238,45.948 +_ɂЂ݂т҂.wav=o my_C4,1392.675,250.0,-307.434,250.0,83.329 +_ɂЂ݂т҂.wav=݂_C4,1661.819,232.212,-448.002,107.212,45.948 +_ɂЂ݂т҂.wav=o by_C4,1886.626,267.521,-311.264,249.999,83.328 +_ɂЂ݂т҂.wav=т_C4,2167.258,216.898,-425.23,91.896,45.948 +_ɂЂ݂т҂.wav=o py_C4,2365.259,278.038,-319.774,250.0,83.332 +_ɂЂ݂т҂.wav=҂_C4,2690.897,202.525,-428.982,77.525,0.0 +_ɂЂ݂т҂.wav=o ry_C4,2951.108,250.0,-299.779,250.0,83.33 +_ɂЂ݂т҂.wav=_C4,3214.167,162.504,-654.332,37.504,17.882 +_̂قڂۂ.wav=o n_C4,492.84,249.999,-295.948,249.999,83.332 +_̂قڂۂ.wav=_C4,758.157,174.777,-383.11,49.777,26.803 +_̂قڂۂ.wav=o h_C4,944.673,249.998,-361.042,249.998,83.33 +_̂قڂۂ.wav=_C4,1248.279,205.513,-432.12,114.869,34.461 +_̂قڂۂ.wav=o m_C4,1453.937,250.0,-312.022,250.0,83.331 +_̂قڂۂ.wav=_C4,1730.743,167.118,-406.497,42.118,22.974 +_̂قڂۂ.wav=o b_C4,1932.573,278.331,-299.779,250.0,83.333 +_̂قڂۂ.wav=_C4,2212.64,112.754,-379.847,46.515,18.181 +_̂قڂۂ.wav=o p_C4,2422.695,296.434,-315.095,250.0,83.333 +_̂قڂۂ.wav=_C4,2704.964,192.288,-464.719,67.288,0.0 +_̂قڂۂ.wav=o r_C4,2993.228,250.0,-284.462,250.0,83.328 +_̂قڂۂ.wav=_C4,3263.595,163.743,-638.379,38.743,20.863 +_悤‚ӂ.wav=o y_C4,504.329,249.997,-307.435,249.997,83.33 +_悤‚ӂ.wav=_C4,765.815,216.898,-425.231,91.898,42.796 +_悤‚ӂ.wav=o w_C4,944.673,249.998,-315.092,249.998,83.332 +_悤‚ӂ.wav=_C4,1223.398,176.684,-385.017,51.684,31.01 +_悤‚ӂ.wav=o ts_C4,1894.283,267.521,-311.265,249.999,83.331 +_悤‚ӂ.wav=‚_C4,2175.694,216.12,-424.455,91.12,0.0 +_悤‚ӂ.wav=o f_C4,2380.576,250.0,-353.384,250.0,83.33 +_悤‚ӂ.wav=ӂ_C4,2645.892,216.897,-425.23,91.897,60.355 +_悤‚ӂ.wav=o v_C4,2924.305,250.0,-330.411,250.0,83.33 +_悤‚ӂ.wav=_C4,3209.805,177.569,-588.789,52.569,28.038 +_񂢂񂦂񂨂.wav=- _C4,232.582,74.899,-386.476,0.0,0.0 +_񂢂񂦂񂨂.wav=n _C4,492.841,375.0,-694.488,250.0,83.332 +_񂢂񂦂񂨂.wav=i _C4,979.132,375.0,-691.904,250.0,83.331 +_񂢂񂦂񂨂.wav=n _C4,1480.743,375.0,-684.151,250.0,83.331 +_񂢂񂦂񂨂.wav=e _C4,1955.548,375.0,-673.074,250.0,83.333 +_񂢂񂦂񂨂.wav=n _C4,2545.226,375.0,-660.893,250.0,83.333 +_񂢂񂦂񂨂.wav=o _C4,3004.716,375.0,-1263.02,250.0,83.331 +_񂢂񂦂񂨂.wav=n _C4,4199.388,441.233,-624.713,250.0,83.0 +_.wav=- _C4,264.206,74.899,-386.476,0.0,0.0 +_.wav=N _C4,519.645,375.0,-675.027,250.0,83.331 +_.wav=i _C4,1082.519,375.0,-663.54,250.0,83.331 +_.wav=N _C4,1553.495,375.0,-640.22,250.0,83.331 +_.wav=e _C4,2070.42,375.0,-624.714,250.0,83.333 +_.wav=N _C4,2564.372,375.0,-733.796,250.0,83.333 +_.wav=o _C4,3146.392,375.0,-940.647,250.0,83.332 +_̓.wav=N v_C4,489.012,250.0,-334.239,250.0,83.33 +_̓.wav=N h_C4,1438.623,250.0,-345.726,250.0,83.331 +_̓.wav=N hy_C4,2460.985,250.0,-380.188,250.0,83.33 +_񂩂񂳂.wav=n k_C4,439.233,260.514,-314.605,250.0,83.331 +_񂩂񂳂.wav=n s_C4,1396.502,250.0,-350.785,250.0,83.331 +_񂩂񂳂.wav=n t_C4,2438.012,278.038,-309.58,250.0,83.332 +_񂪂񂴂.wav=n g_C4,477.524,249.999,-281.01,249.999,83.33 +_񂪂񂴂.wav=n z_C4,1469.253,250.0,-322.753,250.0,83.331 +_񂪂񂴂.wav=n d_C4,2483.961,250.0,-284.462,250.0,83.333 +_񂫂񂵂񂿂.wav=n ky_C4,420.088,267.522,-299.1,250.0,83.332 +_񂫂񂵂񂿂.wav=n sh_C4,1381.187,250.0,-361.043,250.0,83.331 +_񂫂񂵂񂿂.wav=n ch_C4,2407.378,272.046,-304.831,250.0,83.333 +_񂬂񂶂‚.wav=n gy_C4,466.037,250.0,-275.843,250.0,83.332 +_񂬂񂶂‚.wav=n j_C4,1473.082,250.0,-292.121,250.0,83.331 +_񂬂񂶂‚.wav=n ts_C4,2403.55,267.338,-306.853,250.0,83.332 +_Ȃς.wav=n n_C4,504.329,249.998,-306.852,249.998,83.331 +_Ȃς.wav=n p_C4,1450.11,264.016,-299.778,250.0,83.331 +_Ȃς.wav=n m_C4,2399.721,250.0,-323.599,250.0,83.333 +_ɂ҂݂.wav=n ny_C4,443.063,250.0,-327.914,250.0,83.332 +_ɂ҂݂.wav=n py_C4,1392.674,281.875,-310.207,250.0,83.333 +_ɂ҂݂.wav=n my_C4,2399.721,250.0,-332.695,250.0,83.333 +_Ђтӂ.wav=n hy_C4,435.404,250.0,-361.044,250.0,83.33 +_Ђтӂ.wav=n by_C4,1419.477,267.457,-292.119,250.0,83.331 +_Ђтӂ.wav=n f_C4,2418.867,250.0,-330.111,250.0,83.333 +_Ӄ⃓.wav=N f_C4,431.575,250.0,-353.385,250.0,83.329 +_Ӄ⃓.wav=N y_C4,1430.964,250.0,-299.779,250.0,83.331 +_Ӄ⃓.wav=N w_C4,2464.816,250.0,-306.852,250.0,83.333 +_΂.wav=n y_C4,397.113,250.0,-332.696,250.0,83.332 +_΂.wav=n b_C4,1446.281,281.01,-299.778,250.0,83.333 +_΂.wav=n r_C4,2457.156,250.0,-275.843,250.0,83.333 +_.wav=n ry_C4,431.575,250.0,-303.607,250.0,83.329 +_.wav=n v_C4,1465.426,250.0,-307.436,250.0,83.328 +_.wav=_C4,495.015,250.0,-303.123,250.0,83.331 +_.wav=a ly_C4,783.907,184.435,-406.511,59.435,31.01 +_.wav=_C4,975.305,249.998,-309.435,249.998,83.33 +_.wav=i l_C4,1263.122,119.272,-371.148,37.817,17.144 +_.wav=_C4,1951.01,270.675,-304.27,250.0,83.33 +_.wav=u l_C4,2246.392,192.4,-432.267,90.762,0.0 +_.wav=_C4,2461.554,250.0,-329.418,250.0,83.33 +_.wav=e l_C4,2728.384,187.985,-457.146,85.278,36.179 +_.wav=_C4,3006.134,250.0,-325.635,250.0,83.33 +_.wav=o l_C4,3006.134,250.0,-325.635,250.0,83.33 +_.wav=n l_C4,3271.261,196.853,-691.633,71.853,35.675 +_F.wav=_C4,495.015,250.0,-303.123,250.0,83.331 +_F.wav=i ly_C4,783.907,184.435,-406.511,59.435,31.01 +_F.wav=_C4,975.305,249.998,-309.435,249.998,83.33 +_F.wav=u ly_C4,1263.122,119.272,-371.148,37.817,17.144 +_F.wav=F_C4,1951.01,270.675,-304.27,250.0,83.33 +_F.wav=e ly_C4,2246.392,192.4,-432.267,90.762,0.0 +_F.wav=_C4,2461.554,250.0,-329.418,250.0,83.33 +_F.wav=o ly_C4,2728.384,187.985,-457.146,85.278,36.179 +_F.wav=n ly_C4,3006.134,250.0,-325.635,250.0,83.33 \ No newline at end of file diff --git a/OpenUtau.Test/Files/ja_cvvc/F4/oto.ini b/OpenUtau.Test/Files/ja_cvvc/F4/oto.ini new file mode 100644 index 000000000..841010046 --- /dev/null +++ b/OpenUtau.Test/Files/ja_cvvc/F4/oto.ini @@ -0,0 +1,416 @@ +_EEEEE.wav=E _F4,663.66,124.841,-301.699,48.548,34.678 +_EEEEE.wav=a E_F4,825.971,319.357,-378.31,249.999,83.333 +_EEEEE.wav=E _F4,1196.985,107.502,-315.57,58.952,31.21 +_EEEEE.wav=i E_F4,1339.068,305.485,-357.502,250.0,83.333 +_EEEEE.wav=E _F4,1691.658,149.115,-319.038,65.887,45.081 +_EEEEE.wav=u E_F4,1840.676,281.211,-360.971,250.0,83.333 +_EEEEE.wav=E _F4,2171.015,156.051,-315.57,72.823,31.21 +_EEEEE.wav=e E_F4,2315.482,308.952,-381.776,250.0,83.333 +_EEEEE.wav=E _F4,2653.842,201.29,-297.087,76.29,45.081 +_EEEEE.wav=n E_F4,3759.045,472.244,-593.703,249.999,83.331 +_.wav=- _F4,237.765,128.467,-841.09,3.467,3.467 +_.wav=a _F4,473.695,375.0,-732.465,250.0,83.331 +_.wav=a _F4,1090.178,375.0,-552.496,250.0,83.33 +_.wav=i _F4,1568.812,375.0,-610.501,250.0,83.333 +_.wav=a _F4,2074.25,327.104,-673.074,250.0,83.333 +_.wav=u _F4,2602.662,351.636,-691.592,250.0,83.333 +_.wav=e _F4,3111.93,351.636,-1027.304,250.0,83.331 +_.wav=a _F4,4525.141,445.001,-536.899,250.0,82.999 +_.wav=a k_F4,439.233,283.596,-322.359,250.0,82.999 +_.wav=_F4,752.764,138.843,-351.504,55.172,0.0 +_.wav=a s_F4,952.33,249.998,-349.556,249.998,83.332 +_.wav=_F4,1221.475,172.422,-417.369,95.724,34.46 +_.wav=a t_F4,1427.136,273.258,-307.436,250.0,83.331 +_.wav=_F4,1716.464,146.699,-385.902,52.569,0.0 +_.wav=a g_F4,1936.404,250.0,-296.516,250.0,83.333 +_.wav=_F4,2221.544,136.256,-408.184,49.099,23.258 +_.wav=a z_F4,2460.985,250.0,-315.096,250.0,83.333 +_.wav=_F4,2722.474,145.277,-398.425,65.093,34.464 +_.wav=a d_F4,2962.598,249.998,-286.178,249.998,83.333 +_.wav=_F4,3232.514,107.586,-710.708,41.347,20.673 +_ႵႿႬႶĂ.wav=a ky_F4,412.43,271.028,-317.19,250.0,83.333 +_ႵႿႬႶĂ.wav=_F4,714.218,143.694,-375.776,63.083,0.0 +_ႵႿႬႶĂ.wav=a sh_F4,906.383,249.998,-361.041,249.998,83.328 +_ႵႿႬႶĂ.wav=_F4,1171.697,180.166,-432.89,99.556,34.953 +_ႵႿႬႶĂ.wav=a ch_F4,1411.819,275.115,-307.9,250.0,83.333 +_ႵႿႬႶĂ.wav=_F4,1704.428,148.719,-397.938,64.605,23.258 +_ႵႿႬႶĂ.wav=a gy_F4,1944.063,249.996,-299.775,249.996,83.328 +_ႵႿႬႶĂ.wav=_F4,2226.712,107.014,-377.264,43.931,12.39 +_ႵႿႬႶĂ.wav=a j_F4,2445.668,250.0,-326.584,250.0,83.331 +_ႵႿႬႶĂ.wav=_F4,2707.157,153.362,-390.611,72.752,42.497 +_ႵႿႬႶĂ.wav=a ty_F4,2939.62,267.522,-325.637,250.0,83.33 +_ႵႿႬႶĂ.wav=Ă_F4,3248.886,184.437,-697.294,59.437,0.0 +_Ȃ͂܂΂ς.wav=a n_F4,485.183,249.999,-306.726,249.999,83.333 +_Ȃ͂܂΂ς.wav=_F4,758.157,174.777,-383.11,49.777,22.974 +_Ȃ͂܂΂ς.wav=a h_F4,937.016,249.996,-307.432,249.996,83.33 +_Ȃ͂܂΂ς.wav=_F4,1267.424,134.812,-402.257,68.922,22.974 +_Ȃ͂܂΂ς.wav=a m_F4,1450.11,250.0,-315.094,250.0,83.331 +_Ȃ͂܂΂ς.wav=_F4,1710.842,187.021,-395.355,62.021,31.01 +_Ȃ͂܂΂ς.wav=a b_F4,1932.575,275.843,-319.774,249.999,83.331 +_Ȃ͂܂΂ς.wav=_F4,2227.863,140.964,-387.601,54.268,26.526 +_Ȃ͂܂΂ς.wav=a p_F4,2411.209,297.336,-337.864,250.0,83.333 +_Ȃ͂܂΂ς.wav=_F4,2723.152,174.1,-437.126,49.1,0.0 +_Ȃ͂܂΂ς.wav=a r_F4,3004.718,249.998,-275.841,249.998,83.333 +_Ȃ͂܂΂ς.wav=_F4,3269.553,148.843,-609.904,23.843,14.902 +_ɂЂ݂т҂.wav=a ny_F4,481.352,249.999,-296.515,249.999,83.332 +_ɂЂ݂т҂.wav=ɂ_F4,739.406,163.0,-405.689,72.357,31.01 +_ɂЂ݂т҂.wav=a hy_F4,937.016,249.998,-333.198,249.998,83.332 +_ɂЂ݂т҂.wav=Ђ_F4,1190.843,210.659,-440.547,107.213,42.119 +_ɂЂ݂т҂.wav=a my_F4,1469.253,250.0,-318.073,250.0,83.331 +_ɂЂ݂т҂.wav=݂_F4,1729.798,154.224,-431.567,77.526,33.595 +_ɂЂ݂т҂.wav=a by_F4,1947.889,271.028,-307.436,249.999,83.332 +_ɂЂ݂т҂.wav=т_F4,2240.783,142.449,-385.05,41.347,20.624 +_ɂЂ݂т҂.wav=a py_F4,2449.499,281.541,-324.943,250.0,83.333 +_ɂЂ݂т҂.wav=҂_F4,2748.618,155.37,-418.645,54.267,0.0 +_ɂЂ݂т҂.wav=a ry_F4,2993.23,249.998,-299.776,249.998,83.33 +_ɂЂ݂т҂.wav=_F4,3264.482,156.895,-876.94,31.895,14.902 +_킿‚ӂ.wav=a y_F4,427.745,250.0,-303.124,250.0,83.33 +_킿‚ӂ.wav=_F4,752.328,184.435,-381.079,59.435,31.009 +_킿‚ӂ.wav=a w_F4,902.554,249.998,-309.435,249.998,83.33 +_킿‚ӂ.wav=_F4,1213.817,131.232,-383.108,49.777,29.104 +_킿‚ӂ.wav=a ts_F4,1890.454,270.675,-304.27,250.0,83.33 +_킿‚ӂ.wav=‚_F4,2153.077,192.4,-432.267,90.762,0.0 +_킿‚ӂ.wav=a f_F4,2376.747,250.0,-329.418,250.0,83.33 +_킿‚ӂ.wav=ӂ_F4,2648.683,187.985,-457.146,85.278,36.179 +_킿‚ӂ.wav=a v_F4,2901.329,250.0,-325.635,250.0,83.33 +_킿‚ӂ.wav=_F4,3185.792,186.264,-1030.021,61.264,25.086 +_.wav=- _F4,229.744,125.0,-911.321,0.0,0.0 +_.wav=i _F4,343.507,375.0,-770.754,250.0,83.332 +_.wav=i _F4,1048.057,375.0,-586.579,250.0,83.332 +_.wav=u _F4,1572.64,375.0,-647.433,250.0,83.332 +_.wav=a _F4,2066.592,375.0,-643.116,250.0,83.331 +_.wav=e _F4,2556.714,375.0,-636.973,250.0,83.333 +_.wav=i _F4,3031.519,375.0,-1329.8,250.0,83.333 +_‚ӂ.wav=_F4,584.563,171.038,-531.055,46.038,14.165 +_‚ӂ.wav=i w_F4,980.491,250.0,-308.712,250.0,83.333 +_‚ӂ.wav=_F4,1245.807,188.817,-381.679,63.817,37.345 +_‚ӂ.wav=i ch_F4,1434.875,263.981,-296.766,250.0,83.333 +_‚ӂ.wav=_F4,1702.744,200.585,-411.997,119.977,44.341 +_‚ӂ.wav=i ts_F4,1924.998,267.706,-321.474,249.999,83.331 +_‚ӂ.wav=‚_F4,2218.716,176.076,-425.297,91.963,0.0 +_‚ӂ.wav=i f_F4,2440.969,250.0,-334.239,250.0,83.33 +_‚ӂ.wav=ӂ_F4,2701.18,169.304,-415.018,81.685,46.268 +_‚ӂ.wav=i v_F4,2974.487,250.0,-313.817,250.0,83.33 +_‚ӂ.wav=_F4,3244.246,179.269,-1093.226,54.269,31.01 +_.wav=i k_F4,434.128,281.011,-332.696,249.999,83.332 +_.wav=i s_F4,1437.523,250.0,-344.449,250.0,83.33 +_.wav=i t_F4,2433.085,278.425,-313.817,250.0,83.331 +_.wav=i g_F4,474.972,249.999,-295.948,249.999,83.332 +_.wav=i z_F4,1447.718,250.0,-334.241,250.0,83.331 +_.wav=i d_F4,2440.726,250.0,-275.841,250.0,83.332 +_Ăł.wav=i ky_F4,444.339,270.674,-319.775,250.0,83.332 +_Ăł.wav=_F4,747.946,196.475,-389.336,71.475,0.0 +_Ăł.wav=i sh_F4,947.226,249.998,-372.529,249.998,83.332 +_Ăł.wav=_F4,1207.435,260.292,-445.399,135.292,50.012 +_Ăł.wav=i ty_F4,1452.663,284.351,-318.073,250.0,83.333 +_Ăł.wav=Ă_F4,1732.814,199.94,-408.275,74.94,0.0 +_Ăł.wav=i gy_F4,1968.743,249.998,-295.382,249.998,83.33 +_Ăł.wav=_F4,2246.822,193.921,-402.255,68.921,30.159 +_Ăł.wav=i j_F4,2476.732,250.0,-331.687,250.0,83.332 +_Ăł.wav=_F4,2747.155,206.686,-415.019,81.686,38.29 +_Ăł.wav=i dy_F4,2989.831,249.997,-303.604,249.997,83.331 +_Ăł.wav=i _F4,4199.818,513.592,-690.727,250.0,82.999 +_Ăł.wav=ł_F4,3246.722,181.852,-752.011,56.852,32.322 +_Ȃ₢.wav=i n_F4,441.786,250.0,-313.818,250.0,83.33 +_Ȃ₢.wav=i y_F4,1422.03,250.0,-304.269,250.0,83.331 +_Ȃ₢.wav=i m_F4,2445.669,250.0,-324.942,250.0,83.333 +_ɂЂ݂т҂.wav=i ny_F4,462.209,250.0,-311.264,250.0,83.331 +_ɂЂ݂т҂.wav=_F4,724.329,187.019,-396.425,62.019,33.982 +_ɂЂ݂т҂.wav=i hy_F4,903.941,249.998,-347.001,249.998,83.331 +_ɂЂ݂т҂.wav=_F4,1171.809,178.46,-430.335,97.001,24.644 +_ɂЂ݂т҂.wav=i my_F4,1424.694,250.0,-329.134,250.0,83.333 +_ɂЂ݂т҂.wav=_F4,1694.537,165.396,-441.905,69.773,28.427 +_ɂЂ݂т҂.wav=i by_F4,1912.534,275.536,-314.605,249.998,83.331 +_ɂЂ݂т҂.wav=_F4,2188.794,155.167,-396.418,63.085,32.074 +_ɂЂ݂т҂.wav=i py_F4,2389.892,271.027,-332.696,250.0,83.333 +_ɂЂ݂т҂.wav=_F4,2673.458,155.106,-448.364,73.648,0.0 +_ɂЂ݂т҂.wav=i ry_F4,2956.596,249.998,-293.394,249.998,83.333 +_ɂЂ݂т҂.wav=_F4,3221.912,125.267,-792.95,33.185,15.316 +_΂ς.wav=i b_F4,449.469,271.249,-306.853,249.999,83.333 +_΂ς.wav=_F4,741.164,159.886,-368.219,34.886,19.381 +_΂ς.wav=i p_F4,1396.527,274.788,-335.28,250.0,83.331 +_΂ς.wav=i r_F4,2488.004,250.0,-289.708,250.0,83.333 +_͂͂.wav=i h_F4,454.552,249.998,-276.8,249.998,83.329 +_͂͂.wav=u h_F4,1430.964,250.0,-288.291,250.0,83.331 +_͂͂.wav=n h_F4,2430.354,250.0,-288.291,250.0,83.33 +_.wav=- _F4,268.036,124.999,-843.672,0.0,0.0 +_.wav=u _F4,490.382,375.0,-614.377,250.0,83.332 +_.wav=u _F4,1036.57,375.0,-593.703,250.0,83.333 +_.wav=i _F4,1538.179,375.0,-637.635,250.0,83.333 +_.wav=o _F4,2058.933,375.0,-697.073,250.0,83.333 +_.wav=a _F4,2506.935,375.0,-657.017,250.0,83.333 +_.wav=o _F4,3088.955,375.0,-1219.088,250.0,83.33 +_サタガザĂ.wav=ky_F4,774.483,21.965,-52.977,21.965,0.0 +_サタガザĂ.wav=u ky_F4,462.207,280.254,-309.438,250.0,83.331 +_サタガザĂ.wav=_F4,726.2,233.537,-441.87,108.537,0.0 +_サタガザĂ.wav=sh_F4,1218.677,57.541,-118.994,10.456,0.0 +_サタガザĂ.wav=u sh_F4,956.16,249.998,-376.359,249.998,83.33 +_サタガザĂ.wav=_F4,1216.136,249.041,-457.374,124.041,42.639 +_サタガザĂ.wav=ch_F4,1759.849,34.003,-74.94,20.672,0.0 +_サタガザĂ.wav=u ch_F4,1434.793,281.946,-329.633,250.0,83.333 +_サタガザĂ.wav=_F4,1713.774,230.297,-453.531,135.67,58.145 +_サタガザĂ.wav=gy_F4,2285.77,15.505,-38.48,15.505,0.0 +_サタガザĂ.wav=u gy_F4,1997.668,250.0,-296.517,250.0,83.331 +_サタガザĂ.wav=_F4,2285.297,179.269,-387.602,54.269,11.629 +_サタガザĂ.wav=j_F4,2764.595,19.381,-49.777,0.0,19.381 +_サタガザĂ.wav=u j_F4,2483.961,250.0,-326.582,250.0,83.333 +_サタガザĂ.wav=_F4,2753.106,190.094,-398.427,65.094,34.461 +_サタガザĂ.wav=u ty_F4,2947.279,273.031,-319.774,250.0,83.333 +_サタガザĂ.wav=u _F4,4149.612,420.559,-596.883,249.998,82.999 +_サタガザĂ.wav=ty_F4,3245.625,26.864,-59.437,12.92,2.584 +_サタガザĂ.wav=Ă_F4,3234.439,218.029,-723.875,93.029,0.0 +_Ƃǂ.wav=k_F4,772.136,5.167,-36.178,5.167,5.167 +_Ƃǂ.wav=u k_F4,427.746,268.09,-331.403,250.0,83.33 +_Ƃǂ.wav=_F4,731.655,205.11,-413.443,80.11,0.0 +_Ƃǂ.wav=s_F4,1183.185,54.267,-111.043,0.0,0.0 +_Ƃǂ.wav=u s_F4,929.357,249.997,-376.357,249.997,83.331 +_Ƃǂ.wav=_F4,1181.531,260.671,-453.532,135.671,40.055 +_Ƃǂ.wav=t_F4,1769.032,0.0,-38.292,0.0,0.0 +_Ƃǂ.wav=u t_F4,1457.768,275.843,-315.898,250.0,83.331 +_Ƃǂ.wav=Ƃ_F4,1753.717,193.923,-402.256,68.923,0.0 +_Ƃǂ.wav=g_F4,2266.721,11.257,-38.763,7.751,0.0 +_Ƃǂ.wav=u g_F4,1986.181,250.0,-288.761,250.0,83.332 +_Ƃǂ.wav=_F4,2254.665,179.268,-387.601,54.268,28.426 +_Ƃǂ.wav=z_F4,2722.474,1.843,-80.41,0.0,0.0 +_Ƃǂ.wav=u z_F4,2468.645,250.0,-334.238,250.0,83.33 +_Ƃǂ.wav=_F4,2749.277,201.581,-461.632,76.581,19.729 +_Ƃǂ.wav=d_F4,3250.702,22.309,-40.035,15.502,0.0 +_Ƃǂ.wav=u d_F4,2985.57,250.0,-300.393,250.0,83.333 +_Ƃǂ.wav=ǂ_F4,3254.716,174.776,-729.689,49.776,22.974 +_ɂЂ݂т҂.wav=ny_F4,737.674,24.551,-51.683,5.167,0.0 +_ɂЂ݂т҂.wav=u ny_F4,458.38,249.998,-312.02,249.998,83.328 +_ɂЂ݂т҂.wav=ɂ_F4,757.497,179.266,-387.598,54.266,19.381 +_ɂЂ݂т҂.wav=hy_F4,1221.474,36.605,-80.412,0.0,0.0 +_ɂЂ݂т҂.wav=u hy_F4,959.988,249.998,-343.033,249.998,83.33 +_ɂЂ݂т҂.wav=Ђ_F4,1220.389,214.155,-422.488,89.155,29.315 +_ɂЂ݂т҂.wav=my_F4,1692.743,13.559,-65.557,3.537,0.0 +_ɂЂ݂т҂.wav=u my_F4,1430.964,250.0,-319.774,250.0,83.331 +_ɂЂ݂т҂.wav=݂_F4,1715.426,182.435,-390.768,57.435,23.418 +_ɂЂ݂т҂.wav=by_F4,2200.192,28.331,-49.006,28.331,10.622 +_ɂЂ݂т҂.wav=u by_F4,1924.918,273.257,-300.391,249.998,83.33 +_ɂЂ݂т҂.wav=т_F4,2201.719,174.776,-383.109,49.776,24.985 +_ɂЂ݂т҂.wav=py_F4,2698.067,24.547,-47.38,12.919,0.0 +_ɂЂ݂т҂.wav=u py_F4,2395.892,267.707,-315.9,250.0,83.333 +_ɂЂ݂т҂.wav=҂_F4,2690.849,206.403,-453.532,81.403,0.0 +_ɂЂ݂т҂.wav=ry_F4,3254.716,0.0,-19.144,-0.001,0.0 +_ɂЂ݂т҂.wav=u ry_F4,2989.398,250.0,-278.427,250.0,83.33 +_ɂЂ݂т҂.wav=_F4,3254.716,155.63,-857.856,30.63,7.372 +_ʂӂނԂՂ.wav=n_F4,754.654,24.53,-49.452,3.502,0.0 +_ʂӂނԂՂ.wav=u n_F4,496.67,249.999,-311.265,249.999,83.332 +_ʂӂނԂՂ.wav=_F4,752.977,187.616,-395.949,62.616,24.066 +_ʂӂނԂՂ.wav=f_F4,1248.28,35.043,-57.435,0.0,0.0 +_ʂӂނԂՂ.wav=u f_F4,967.647,249.998,-355.954,249.998,83.33 +_ʂӂނԂՂ.wav=_F4,1252.108,201.58,-409.915,76.58,32.999 +_ʂӂނԂՂ.wav=m_F4,1730.743,10.513,-56.853,0.0,0.0 +_ʂӂނԂՂ.wav=u m_F4,1465.426,250.0,-306.432,250.0,83.331 +_ʂӂނԂՂ.wav=_F4,1735.156,181.852,-465.162,56.852,38.463 +_ʂӂނԂՂ.wav=b_F4,2238.736,29.273,-48.5,12.761,0.0 +_ʂӂނԂՂ.wav=u b_F4,1959.378,283.185,-306.159,249.999,83.331 +_ʂӂނԂՂ.wav=_F4,2227.03,191.587,-392.201,66.587,24.322 +_ʂӂނԂՂ.wav=p_F4,2724.87,19.929,-62.021,12.92,0.0 +_ʂӂނԂՂ.wav=u p_F4,2426.525,286.38,-337.863,250.0,83.331 +_ʂӂނԂՂ.wav=_F4,2708.703,207.694,-467.746,82.694,0.0 +_ʂӂނԂՂ.wav=r_F4,3243.229,17.868,-33.184,0.0,0.0 +_ʂӂނԂՂ.wav=u r_F4,2985.57,250.0,-283.186,250.0,83.333 +_ʂӂނԂՂ.wav=_F4,3247.057,167.119,-715.022,42.119,19.145 +_䂤‚Ӄ.wav=y_F4,755.015,9.556,-75.894,6.97,0.0 +_䂤‚Ӄ.wav=u y_F4,469.866,249.998,-353.384,249.998,83.331 +_䂤‚Ӄ.wav=_F4,746.67,197.751,-406.085,72.751,39.568 +_䂤‚Ӄ.wav=w_F4,1199.187,24.828,-60.578,6.971,0.0 +_䂤‚Ӄ.wav=u w_F4,952.331,249.997,-322.751,249.997,83.331 +_䂤‚Ӄ.wav=_F4,1229.133,186.264,-394.598,61.264,38.292 +_䂤‚Ӄ.wav=ts_F4,2183.712,44.811,-117.563,24.401,0.0 +_䂤‚Ӄ.wav=u ts_F4,1898.114,270.915,-311.263,249.997,83.33 +_䂤‚Ӄ.wav=_F4,2194.061,232.213,-417.369,107.213,0.0 +_䂤‚Ӄ.wav=v_F4,3166.647,20.916,-74.029,0.0,0.0 +_䂤‚Ӄ.wav=u v_F4,2886.012,250.0,-345.728,250.0,83.333 +_䂤‚Ӄ.wav=_F4,3185.792,190.094,-695.497,65.094,26.331 +_‚ӂ.wav=e y_F4,496.67,249.999,-304.27,249.999,83.332 +_‚ӂ.wav=_F4,775.684,199.371,-407.704,74.371,35.415 +_‚ӂ.wav=e w_F4,982.966,249.997,-315.091,249.997,83.331 +_‚ӂ.wav=_F4,1248.279,168.586,-377.54,65.093,34.084 +_‚ӂ.wav=e ch_F4,1473.084,270.479,-312.205,250.0,83.331 +_‚ӂ.wav=_F4,1738.401,184.842,-413.54,103.384,33.612 +_‚ӂ.wav=e ts_F4,1921.087,274.789,-311.265,250.0,83.331 +_‚ӂ.wav=‚_F4,2232.352,139.466,-398.458,65.091,0.0 +_‚ӂ.wav=e f_F4,2418.868,250.0,-341.896,250.0,83.333 +_‚ӂ.wav=ӂ_F4,2694.913,180.62,-418.329,84.996,31.874 +_‚ӂ.wav=e v_F4,2951.108,250.0,-315.094,250.0,83.33 +_‚ӂ.wav=_F4,3230.466,183.711,-740.949,58.711,30.632 +_.wav=- _F4,225.916,124.999,-841.127,0.0,0.0 +_.wav=e _F4,492.841,375.0,-694.488,250.0,83.332 +_.wav=e _F4,1025.086,374.997,-699.276,249.997,83.331 +_.wav=u _F4,1488.401,375.0,-596.756,250.0,83.332 +_.wav=o _F4,2043.617,375.0,-642.803,250.0,83.332 +_.wav=e _F4,2598.833,375.0,-1280.603,250.0,83.333 +_.wav=o _F4,3337.846,374.998,-1077.08,249.998,83.333 +_Ă.wav=e ky_F4,431.577,275.212,-330.409,249.998,83.331 +_Ă.wav=_F4,719.866,193.924,-432.685,68.924,0.0 +_Ă.wav=e sh_F4,902.552,250.0,-353.385,250.0,83.33 +_Ă.wav=_F4,1187.014,201.58,-391.858,76.58,34.461 +_Ă.wav=e ch_F4,1392.675,280.629,-315.122,250.0,83.329 +_Ă.wav=e gy_F4,1924.915,250.0,-295.949,250.0,83.333 +_Ă.wav=_F4,2201.719,154.269,-432.338,42.118,22.974 +_Ă.wav=e j_F4,2453.328,250.0,-322.753,250.0,83.333 +_Ă.wav=_F4,2722.474,178.605,-386.937,53.606,17.867 +_Ă.wav=e ty_F4,2931.964,277.889,-321.477,250.0,83.333 +_Ă.wav=e _F4,4241.509,399.886,-489.954,249.998,83.0 +_Ă.wav=Ă_F4,3196.004,206.686,-677.486,81.686,0.0 +_Ă.wav=e k_F4,477.524,271.25,-306.854,250.0,83.332 +_Ă.wav=_F4,765.817,186.264,-394.597,61.264,0.0 +_Ă.wav=e s_F4,948.502,249.997,-376.357,249.997,83.328 +_Ă.wav=_F4,1221.475,228.384,-436.717,103.384,56.868 +_Ă.wav=e t_F4,1447.557,279.357,-314.605,250.0,83.331 +_Ă.wav=_F4,1740.036,192.288,-400.621,67.288,0.0 +_Ă.wav=e g_F4,1993.839,249.999,-295.948,249.999,83.331 +_Ă.wav=_F4,2263.757,181.664,-410.704,56.664,30.822 +_Ă.wav=e z_F4,2480.133,250.0,-336.792,250.0,83.333 +_Ă.wav=_F4,2751.831,206.686,-487.411,81.686,35.17 +_Ă.wav=e d_F4,3000.886,250.0,-296.516,250.0,83.33 +_Ă.wav=_F4,3266.203,174.777,-636.716,49.777,16.182 +_ɂЂ݂т҂肥.wav=e ny_F4,435.406,249.999,-311.263,249.999,83.328 +_ɂЂ݂т҂肥.wav=ɂ_F4,689.235,193.922,-402.254,68.922,44.132 +_ɂЂ݂т҂肥.wav=e hy_F4,910.212,249.997,-341.895,249.997,83.33 +_ɂЂ݂т҂肥.wav=Ђ_F4,1187.014,209.238,-417.571,84.238,45.948 +_ɂЂ݂т҂肥.wav=e my_F4,1434.793,250.0,-298.5,250.0,83.331 +_ɂЂ݂т҂肥.wav=݂_F4,1692.452,190.092,-398.426,65.092,37.015 +_ɂЂ݂т҂肥.wav=e by_F4,1898.113,276.804,-314.606,249.999,83.331 +_ɂЂ݂т҂肥.wav=т_F4,2164.707,188.816,-397.149,63.816,39.027 +_ɂЂ݂т҂肥.wav=e py_F4,2388.234,281.01,-329.135,250.0,83.331 +_ɂЂ݂т҂肥.wav=҂_F4,2670.144,196.475,-404.807,71.475,0.0 +_ɂЂ݂т҂肥.wav=e ry_F4,2989.398,250.0,-284.462,250.0,83.33 +_ɂЂ݂т҂肥.wav=肥_F4,3253.19,153.33,-708.318,28.329,14.166 +_˂ւ߂ׂ؂.wav=e n_F4,450.721,249.999,-311.265,249.999,83.333 +_˂ւ߂ׂ؂.wav=_F4,704.55,197.75,-406.083,72.75,34.46 +_˂ւ߂ׂ؂.wav=e h_F4,917.869,249.998,-318.922,249.998,83.331 +_˂ւ߂ׂ؂.wav=_F4,1183.186,197.752,-406.085,72.752,26.803 +_˂ւ߂ׂ؂.wav=e m_F4,1411.819,250.0,-330.411,250.0,83.331 +_˂ւ߂ׂ؂.wav=_F4,1680.966,190.093,-398.426,65.093,33.552 +_˂ւ߂ׂ؂.wav=e b_F4,1913.428,271.026,-303.607,250.0,83.332 +_˂ւ߂ׂ؂.wav=_F4,2201.72,167.119,-375.451,42.119,22.974 +_˂ւ߂ׂ؂.wav=e p_F4,2380.576,288.552,-324.944,250.0,83.333 +_˂ւ߂ׂ؂.wav=_F4,2670.601,192.189,-488.42,67.189,0.0 +_˂ւ߂ׂ؂.wav=e r_F4,2951.108,250.0,-275.841,250.0,83.333 +_˂ւ߂ׂ؂.wav=_F4,3212.596,167.118,-598.15,42.118,16.277 +_EEE.wav=E _F4,720.735,110.967,-355.188,45.08,0.0 +_EEE.wav=o E_F4,868.09,330.411,-414.65,250.0,83.33 +_EEE.wav=E _F4,1270.592,120.157,-295.5,54.267,0.0 +_EEE.wav=N E_F4,1470.224,210.741,-290.362,145.645,79.758 +_񂠂.wav=- _F4,252.72,121.532,-329.865,0.0,0.0 +_񂠂.wav=o _F4,531.131,375.0,-624.714,250.0,83.332 +_񂠂.wav=u _F4,1021.254,374.999,-655.733,249.999,83.333 +_񂠂.wav=n _F4,1503.716,375.0,-669.606,250.0,83.333 +_񂠂.wav=a _F4,1970.865,375.0,-720.976,250.0,83.333 +_񂠂.wav=n _F4,2464.816,375.0,-660.893,250.0,83.331 +_񂠂.wav=n _F4,3058.323,375.0,-880.656,250.0,83.332 +_.wav=u _F4,1021.253,374.999,-655.733,249.999,83.333 +_.wav=N _F4,1534.35,375.0,-668.648,250.0,83.333 +_.wav=a _F4,2009.155,375.0,-643.198,250.0,83.333 +_.wav=N _F4,2480.133,375.0,-763.097,250.0,83.33 +_.wav=N _F4,3100.444,375.0,-1230.244,250.0,83.329 +_債傿催傶Ă.wav=o ky_F4,454.55,267.524,-315.095,250.0,83.331 +_債傿催傶Ă.wav=_F4,725.146,215.446,-423.779,90.446,0.0 +_債傿催傶Ă.wav=o sh_F4,948.502,249.997,-353.384,249.997,83.328 +_債傿催傶Ă.wav=_F4,1229.133,216.896,-425.229,91.896,34.461 +_債傿催傶Ă.wav=o ch_F4,1415.648,283.208,-318.973,250.0,83.332 +_債傿催傶Ă.wav=_F4,1688.639,228.369,-463.302,103.369,51.077 +_債傿催傶Ă.wav=o gy_F4,1928.746,249.999,-311.266,249.999,83.331 +_債傿催傶Ă.wav=_F4,2194.061,213.068,-421.4,88.068,46.721 +_債傿催傶Ă.wav=o j_F4,2453.328,250.0,-326.582,250.0,83.333 +_債傿催傶Ă.wav=_F4,2741.619,174.777,-383.11,49.777,26.803 +_債傿催傶Ă.wav=o ty_F4,2939.623,265.503,-318.92,249.998,83.33 +_債傿催傶Ă.wav=o _F4,4344.895,392.133,-710.343,249.998,82.999 +_債傿催傶Ă.wav=Ă_F4,3248.69,175.667,-604.983,50.667,0.0 +_Ƃ.wav=o k_F4,412.432,273.258,-338.067,249.998,83.331 +_Ƃ.wav=_F4,732.414,185.206,-393.539,60.205,0.0 +_Ƃ.wav=o s_F4,933.184,249.997,-357.213,249.997,83.328 +_Ƃ.wav=_F4,1213.817,205.41,-413.744,80.41,34.461 +_Ƃ.wav=o t_F4,1423.306,271.249,-322.358,250.0,83.331 +_Ƃ.wav=_F4,1709.503,192.189,-400.522,67.189,0.0 +_Ƃ.wav=o g_F4,1967.037,249.998,-299.777,249.998,83.33 +_Ƃ.wav=_F4,2248.156,189.605,-410.893,64.605,39.814 +_Ƃ.wav=o z_F4,2487.79,250.0,-326.582,250.0,83.333 +_Ƃ.wav=_F4,2753.106,209.238,-464.121,84.238,38.29 +_Ƃ.wav=o d_F4,3031.522,249.997,-295.945,249.997,83.33 +_Ƃ.wav=_F4,3293.006,170.949,-935.287,45.949,17.523 +_ɂЂ݂т҂.wav=o ny_F4,489.012,250.0,-288.29,250.0,83.331 +_ɂЂ݂т҂.wav=ɂ_F4,735.182,209.24,-417.572,84.239,49.195 +_ɂЂ݂т҂.wav=o hy_F4,956.16,249.996,-341.897,249.996,83.33 +_ɂЂ݂т҂.wav=Ђ_F4,1225.306,209.238,-430.527,84.238,45.948 +_ɂЂ݂т҂.wav=o my_F4,1446.281,250.0,-315.094,250.0,83.328 +_ɂЂ݂т҂.wav=݂_F4,1707.768,262.846,-478.635,137.846,61.265 +_ɂЂ݂т҂.wav=o by_F4,1944.062,267.521,-315.093,249.999,83.328 +_ɂЂ݂т҂.wav=т_F4,2228.523,182.437,-390.769,57.435,26.803 +_ɂЂ݂т҂.wav=o py_F4,2422.696,278.038,-319.774,250.0,83.332 +_ɂЂ݂т҂.wav=҂_F4,2698.556,202.525,-428.982,77.525,0.0 +_ɂЂ݂т҂.wav=o ry_F4,2943.45,250.0,-292.12,250.0,83.33 +_ɂЂ݂т҂.wav=_F4,3220.255,190.093,-681.921,65.093,22.974 +_̂قڂۂ.wav=o n_F4,473.695,250.0,-303.606,250.0,83.331 +_̂قڂۂ.wav=_F4,758.157,159.461,-367.794,34.461,19.145 +_̂قڂۂ.wav=o h_F4,948.502,249.997,-315.093,249.997,83.328 +_̂قڂۂ.wav=_F4,1236.792,148.078,-374.685,57.433,30.632 +_̂قڂۂ.wav=o m_F4,1476.914,250.0,-299.777,250.0,83.331 +_̂قڂۂ.wav=_F4,1734.572,190.093,-429.472,65.093,45.949 +_̂قڂۂ.wav=o b_F4,1963.206,278.331,-303.608,250.0,83.333 +_̂قڂۂ.wav=_F4,2247.102,112.754,-379.847,46.515,18.181 +_̂قڂۂ.wav=o p_F4,2407.378,296.434,-338.07,250.0,83.333 +_̂قڂۂ.wav=_F4,2708.793,192.288,-464.719,67.288,0.0 +_̂قڂۂ.wav=o r_F4,2958.767,250.0,-299.777,250.0,83.328 +_̂قڂۂ.wav=_F4,3223.524,162.087,-636.724,37.087,19.205 +_悤‚ӂ.wav=o y_F4,477.526,249.997,-307.435,249.997,83.33 +_悤‚ӂ.wav=_F4,777.302,186.265,-394.597,61.265,34.461 +_悤‚ӂ.wav=o w_F4,998.281,249.997,-288.289,249.997,83.331 +_悤‚ӂ.wav=_F4,1269.347,176.684,-385.017,51.684,31.01 +_悤‚ӂ.wav=o ts_F4,1921.088,267.521,-303.606,249.999,83.331 +_悤‚ӂ.wav=‚_F4,2191.009,216.12,-424.455,91.12,0.0 +_悤‚ӂ.wav=o f_F4,2411.209,250.0,-353.384,250.0,83.33 +_悤‚ӂ.wav=ӂ_F4,2688.013,216.897,-425.23,91.897,60.355 +_悤‚ӂ.wav=o v_F4,2935.791,250.0,-338.07,250.0,83.33 +_悤‚ӂ.wav=_F4,3197.279,220.726,-1317.202,95.726,49.778 +_񂢂񂦂񂨂.wav=- _F4,271.864,74.899,-386.476,0.0,0.0 +_񂢂񂦂񂨂.wav=n _F4,485.182,375.0,-694.488,250.0,83.332 +_񂢂񂦂񂨂.wav=i _F4,990.621,375.0,-691.904,250.0,83.331 +_񂢂񂦂񂨂.wav=n _F4,1519.033,375.0,-684.151,250.0,83.331 +_񂢂񂦂񂨂.wav=e _F4,2009.155,375.0,-673.074,250.0,83.333 +_񂢂񂦂񂨂.wav=n _F4,2503.106,375.0,-660.893,250.0,83.333 +_񂢂񂦂񂨂.wav=o _F4,2958.767,375.0,-1263.02,250.0,83.331 +_񂢂񂦂񂨂.wav=n _F4,4302.773,464.428,-624.712,250.0,83.0 +_.wav=- _F4,256.548,74.898,-444.173,0.0,0.0 +_.wav=N _F4,550.278,375.0,-625.248,250.0,83.33 +_.wav=i _F4,1028.912,375.0,-644.394,250.0,83.331 +_.wav=N _F4,1545.837,375.0,-698.002,250.0,83.331 +_.wav=e _F4,2131.686,375.0,-567.813,250.0,83.332 +_.wav=N _F4,2499.277,375.0,-675.028,250.0,83.332 +_.wav=o _F4,2966.425,375.0,-940.647,250.0,83.332 +_̓.wav=N v_F4,454.55,250.0,-315.094,250.0,83.33 +_̓.wav=N h_F4,1499.888,250.0,-295.948,250.0,83.329 +_̓.wav=N hy_F4,2453.328,250.0,-338.068,250.0,83.33 +_񂩂񂳂.wav=n k_F4,458.379,260.514,-314.606,250.0,83.332 +_񂩂񂳂.wav=n s_F4,1407.99,250.0,-364.873,250.0,83.329 +_񂩂񂳂.wav=n t_F4,2453.328,284.462,-309.58,250.0,83.331 +_񂪂񂴂.wav=n g_F4,492.84,250.0,-281.011,250.0,83.331 +_񂪂񂴂.wav=n z_F4,1465.426,250.0,-326.581,250.0,83.331 +_񂪂񂴂.wav=n d_F4,2510.764,250.0,-284.462,250.0,83.333 +_񂫂񂵂񂿂.wav=n ky_F4,420.088,267.522,-315.094,250.0,83.331 +_񂫂񂵂񂿂.wav=n sh_F4,1377.357,250.0,-387.847,250.0,83.331 +_񂫂񂵂񂿂.wav=n ch_F4,2357.599,280.099,-327.786,250.0,83.333 +_񂬂񂶂‚.wav=n gy_F4,485.182,250.0,-275.842,250.0,83.331 +_񂬂񂶂‚.wav=n j_F4,1488.401,250.0,-311.264,250.0,83.329 +_񂬂񂶂‚.wav=n ts_F4,2426.523,267.338,-311.267,250.0,83.331 +_Ȃς.wav=n n_F4,450.721,249.999,-306.853,249.999,83.332 +_Ȃς.wav=n p_F4,1457.768,264.016,-299.778,250.0,83.331 +_Ȃς.wav=n m_F4,2464.816,250.0,-303.607,250.0,83.333 +_ɂ҂݂.wav=n ny_F4,439.233,250.0,-327.914,250.0,83.332 +_ɂ҂݂.wav=n py_F4,1488.401,272.974,-295.949,250.0,83.332 +_ɂ҂݂.wav=n my_F4,2441.84,250.0,-332.695,250.0,83.333 +_Ђтӂ.wav=n hy_F4,458.378,249.999,-341.897,249.999,83.329 +_Ђтӂ.wav=n by_F4,1530.521,250.0,-280.632,250.0,83.331 +_Ђтӂ.wav=n f_F4,2418.868,250.0,-341.896,250.0,83.333 +_Ӄ⃓.wav=N f_F4,458.378,249.999,-338.069,249.999,83.328 +_Ӄ⃓.wav=N y_F4,1465.426,250.0,-334.239,250.0,83.331 +_Ӄ⃓.wav=N w_F4,2483.961,250.0,-306.852,250.0,83.333 +_΂.wav=n y_F4,431.575,250.0,-326.582,250.0,83.333 +_΂.wav=n b_F4,1515.205,265.316,-284.461,250.0,83.333 +_΂.wav=n r_F4,2522.252,250.0,-280.631,250.0,83.333 +_.wav=n ry_F4,450.721,249.999,-299.778,249.999,83.329 +_.wav=n v_F4,1488.401,250.0,-295.949,250.0,83.327 diff --git a/OpenUtau.Test/Files/ja_cvvc/character.txt b/OpenUtau.Test/Files/ja_cvvc/character.txt new file mode 100644 index 000000000..ec2129c0c --- /dev/null +++ b/OpenUtau.Test/Files/ja_cvvc/character.txt @@ -0,0 +1 @@ +name=ja_cvvc diff --git a/OpenUtau.Test/Files/ja_cvvc/character.yaml b/OpenUtau.Test/Files/ja_cvvc/character.yaml new file mode 100644 index 000000000..c192b55e4 --- /dev/null +++ b/OpenUtau.Test/Files/ja_cvvc/character.yaml @@ -0,0 +1,58 @@ +text_file_encoding: shift_jis +portrait_opacity: 0.67000001668930054 +subbanks: +- color: '' + prefix: '' + suffix: _B4 + tone_ranges: + - A#4-B7 +- color: '' + prefix: '' + suffix: _F4 + tone_ranges: + - E4-A4 +- color: '' + prefix: '' + suffix: _C4 + tone_ranges: + - B3-D#4 +- color: '' + prefix: '' + suffix: _A3 + tone_ranges: + - C1-A#3 +- color: 弱 + prefix: '' + suffix: _弱B4 + tone_ranges: + - A#4-B7 +- color: 弱 + prefix: '' + suffix: _弱E4 + tone_ranges: + - E4-A4 +- color: 弱 + prefix: '' + suffix: _弱C4 + tone_ranges: + - C4-D#4 +- color: 弱 + prefix: '' + suffix: _弱A3 + tone_ranges: + - C1-B3 +- color: 強 + prefix: '' + suffix: _強B4 + tone_ranges: + - A#4-B7 +- color: 強 + prefix: '' + suffix: _強F4 + tone_ranges: + - E4-A4 +- color: 強 + prefix: '' + suffix: _強B3 + tone_ranges: + - C1-D#4 diff --git a/OpenUtau.Test/Files/ja_cvvc/oto.ini b/OpenUtau.Test/Files/ja_cvvc/oto.ini new file mode 100644 index 000000000..e69de29bb diff --git "a/OpenUtau.Test/Files/ja_cvvc/\345\274\261/oto.ini" "b/OpenUtau.Test/Files/ja_cvvc/\345\274\261/oto.ini" new file mode 100644 index 000000000..e69de29bb diff --git "a/OpenUtau.Test/Files/ja_cvvc/\345\274\261/\345\274\261_A3/oto.ini" "b/OpenUtau.Test/Files/ja_cvvc/\345\274\261/\345\274\261_A3/oto.ini" new file mode 100644 index 000000000..754c97131 --- /dev/null +++ "b/OpenUtau.Test/Files/ja_cvvc/\345\274\261/\345\274\261_A3/oto.ini" @@ -0,0 +1,416 @@ +_EEEEE.wav=E _A3,707.813,124.841,-301.699,48.548,34.678 +_EEEEE.wav=a E_A3,821.512,319.357,-378.31,249.999,83.333 +_EEEEE.wav=E _A3,1201.649,107.502,-315.57,58.952,31.21 +_EEEEE.wav=i E_A3,1318.188,305.485,-357.502,250.0,83.333 +_EEEEE.wav=E _A3,1693.913,149.115,-319.038,65.887,45.081 +_EEEEE.wav=u E_A3,1792.175,281.211,-360.971,250.0,83.333 +_EEEEE.wav=E _A3,2206.344,156.051,-315.57,72.823,31.21 +_EEEEE.wav=e E_A3,2329.191,308.952,-381.776,250.0,83.333 +_EEEEE.wav=E _A3,2707.118,201.29,-297.087,76.29,45.081 +_EEEEE.wav=n E_A3,3804.096,333.229,-419.924,250.0,83.332 +_.wav=- _A3,249.252,128.467,-841.09,3.467,3.467 +_.wav=a _A3,436.114,375.0,-680.008,250.0,83.332 +_.wav=a _A3,1036.57,375.0,-598.871,250.0,83.331 +_.wav=i _A3,1534.35,375.0,-610.501,250.0,83.333 +_.wav=a _A3,2035.959,327.104,-673.074,250.0,83.333 +_.wav=u _A3,2533.739,351.635,-671.199,250.0,83.332 +_.wav=e _A3,3138.733,351.635,-1207.27,250.0,83.331 +_.wav=a _A3,4176.413,463.2,-854.711,250.0,82.999 +_.wav=a k_A3,443.063,283.596,-318.923,250.0,82.999 +_.wav=_A3,745.106,138.843,-351.504,55.172,0.0 +_.wav=a s_A3,944.673,249.998,-330.183,249.998,83.332 +_.wav=_A3,1209.988,176.254,-458.64,99.555,42.119 +_.wav=a t_A3,1427.136,273.258,-315.094,250.0,83.331 +_.wav=_A3,1720.293,146.699,-385.902,52.569,0.0 +_.wav=a g_A3,1947.889,250.0,-315.094,250.0,83.331 +_.wav=_A3,2229.202,136.256,-408.184,49.099,23.258 +_.wav=a z_A3,2457.157,250.0,-322.753,250.0,83.333 +_.wav=_A3,2718.645,152.935,-406.083,72.751,34.461 +_.wav=a d_A3,2962.598,249.998,-292.117,249.998,83.333 +_.wav=_A3,3224.083,119.844,-857.713,53.605,26.803 +_ႵႿႬႶĂ.wav=a ky_A3,439.233,271.028,-317.19,250.0,83.333 +_ႵႿႬႶĂ.wav=_A3,744.852,143.694,-375.776,63.083,0.0 +_ႵႿႬႶĂ.wav=a sh_A3,956.16,249.998,-334.237,249.998,83.33 +_ႵႿႬႶĂ.wav=_A3,1213.817,180.163,-432.887,99.554,34.95 +_ႵႿႬႶĂ.wav=a ch_A3,1415.648,275.551,-325.632,250.0,83.331 +_ႵႿႬႶĂ.wav=_A3,1715.426,187.498,-436.717,103.384,38.779 +_ႵႿႬႶĂ.wav=a gy_A3,1947.892,249.998,-286.178,249.998,83.33 +_ႵႿႬႶĂ.wav=_A3,2220.865,112.86,-383.109,49.777,18.236 +_ႵႿႬႶĂ.wav=a j_A3,2457.157,250.0,-334.239,250.0,83.333 +_ႵႿႬႶĂ.wav=_A3,2733.961,157.19,-394.438,76.58,19.145 +_ႵႿႬႶĂ.wav=a ty_A3,2931.964,267.522,-318.923,250.0,83.33 +_ႵႿႬႶĂ.wav=Ă_A3,3237.398,184.437,-697.294,59.437,0.0 +_Ȃ͂܂΂ς.wav=a n_A3,462.209,249.998,-303.605,249.998,83.332 +_Ȃ͂܂΂ς.wav=_A3,723.695,167.119,-375.451,42.119,21.314 +_Ȃ͂܂΂ς.wav=a h_A3,962.544,249.996,-285.734,249.996,83.33 +_Ȃ͂܂΂ς.wav=_A3,1239.866,127.91,-395.354,62.02,28.426 +_Ȃ͂܂΂ς.wav=a m_A3,1439.898,250.0,-322.359,250.0,83.333 +_Ȃ͂܂΂ς.wav=_A3,1719.776,187.021,-395.355,62.021,31.01 +_Ȃ͂܂΂ς.wav=a b_A3,1952.997,275.843,-319.774,249.999,83.331 +_Ȃ͂܂΂ς.wav=_A3,2227.862,140.964,-387.601,54.268,26.526 +_Ȃ͂܂΂ς.wav=a p_A3,2407.378,277.738,-337.864,250.0,83.333 +_Ȃ͂܂΂ς.wav=_A3,2725.705,174.1,-437.126,49.1,0.0 +_Ȃ͂܂΂ς.wav=a r_A3,2979.619,249.998,-275.841,249.998,83.333 +_Ȃ͂܂΂ς.wav=_A3,3249.695,153.425,-614.486,28.425,10.336 +_ɂЂ݂т҂.wav=a ny_A3,477.524,249.999,-296.515,249.999,83.332 +_ɂЂ݂т҂.wav=ɂ_A3,739.658,125.314,-368.003,34.671,19.261 +_ɂЂ݂т҂.wav=a hy_A3,947.222,249.997,-316.362,249.997,83.331 +_ɂЂ݂т҂.wav=Ђ_A3,1212.54,187.683,-417.573,84.238,39.486 +_ɂЂ݂т҂.wav=a my_A3,1416.925,250.0,-324.028,250.0,83.333 +_ɂЂ݂т҂.wav=݂_A3,1691.506,154.224,-431.567,77.526,33.595 +_ɂЂ݂т҂.wav=a by_A3,1907.048,271.027,-324.027,249.998,83.331 +_ɂЂ݂т҂.wav=т_A3,2205.045,142.449,-385.05,41.347,20.624 +_ɂЂ݂т҂.wav=a py_A3,2394.616,281.541,-324.943,250.0,83.333 +_ɂЂ݂т҂.wav=҂_A3,2720.538,155.37,-418.645,54.267,0.0 +_ɂЂ݂т҂.wav=a ry_A3,2947.281,249.998,-275.841,249.998,83.33 +_ɂЂ݂т҂.wav=_A3,3197.483,159.67,-879.715,34.67,19.261 +_킿‚ӂ.wav=a y_A3,450.721,249.999,-303.124,249.999,83.33 +_킿‚ӂ.wav=_A3,714.896,184.435,-373.419,59.435,31.009 +_킿‚ӂ.wav=a w_A3,914.04,249.998,-309.435,249.998,83.33 +_킿‚ӂ.wav=_A3,1200.519,125.386,-377.262,43.931,23.258 +_킿‚ӂ.wav=a ts_A3,1867.48,270.675,-304.27,250.0,83.33 +_킿‚ӂ.wav=‚_A3,2163.428,185.877,-425.743,84.239,0.0 +_킿‚ӂ.wav=a f_A3,2376.747,250.0,-343.033,250.0,83.33 +_킿‚ӂ.wav=ӂ_A3,2652.511,187.985,-457.146,85.278,36.179 +_킿‚ӂ.wav=a v_A3,2889.843,250.0,-326.582,250.0,83.33 +_킿‚ӂ.wav=_A3,3161.018,207.694,-702.474,82.694,46.516 +_.wav=- _A3,264.206,125.0,-791.379,0.0,0.0 +_.wav=i _A3,535.607,375.0,-661.379,250.0,83.333 +_.wav=i _A3,1040.4,375.0,-625.298,250.0,83.333 +_.wav=u _A3,1561.154,375.0,-647.433,250.0,83.332 +_.wav=a _A3,2085.737,375.0,-643.116,250.0,83.331 +_.wav=e _A3,2510.765,375.0,-636.973,250.0,83.333 +_.wav=i _A3,3054.494,375.0,-928.461,250.0,83.333 +_‚ӂ.wav=_A3,677.545,171.04,-379.373,46.04,14.166 +_‚ӂ.wav=i w_A3,963.817,249.999,-340.448,249.999,83.332 +_‚ӂ.wav=_A3,1269.16,192.188,-385.05,67.188,31.01 +_‚ӂ.wav=i ch_A3,1427.168,287.145,-341.079,250.0,83.333 +_‚ӂ.wav=_A3,1734.495,191.728,-403.14,111.12,37.521 +_‚ӂ.wav=i ts_A3,1932.575,267.706,-319.775,249.999,83.332 +_‚ӂ.wav=‚_A3,2240.01,195.153,-444.375,111.042,0.0 +_‚ӂ.wav=i f_A3,2453.328,250.0,-337.863,250.0,83.331 +_‚ӂ.wav=ӂ_A3,2753.596,152.224,-397.938,64.605,29.188 +_‚ӂ.wav=i v_A3,2951.108,250.0,-353.385,250.0,83.33 +_‚ӂ.wav=_A3,3265.54,179.269,-751.704,54.269,31.01 +_.wav=i k_A3,389.456,281.011,-332.696,249.999,83.332 +_.wav=i s_A3,1377.357,250.0,-376.36,250.0,83.331 +_.wav=i t_A3,2372.917,278.426,-330.111,250.0,83.333 +_.wav=i g_A3,400.944,249.999,-293.931,249.999,83.331 +_.wav=i z_A3,1400.331,250.0,-343.032,250.0,83.331 +_.wav=i d_A3,2399.721,250.0,-299.777,250.0,83.333 +_Ăł.wav=i ky_A3,370.31,270.674,-319.775,250.0,83.332 +_Ăł.wav=_A3,673.917,247.529,-440.39,122.529,0.0 +_Ăł.wav=i sh_A3,887.237,249.998,-386.965,249.998,83.331 +_Ăł.wav=_A3,1153.245,277.47,-462.577,152.47,67.19 +_Ăł.wav=i ty_A3,1369.699,275.842,-327.527,250.0,83.333 +_Ăł.wav=Ă_A3,1678.777,199.94,-408.275,74.94,0.0 +_Ăł.wav=i gy_A3,1940.232,249.998,-284.462,249.998,83.33 +_Ăł.wav=_A3,2201.719,197.752,-406.085,72.752,33.989 +_Ăł.wav=i j_A3,2426.526,250.0,-372.529,250.0,83.333 +_Ăł.wav=_A3,2697.942,241.288,-449.621,116.288,59.437 +_Ăł.wav=i dy_A3,2924.732,249.997,-288.761,249.997,83.333 +_Ăł.wav=i _A3,4013.984,412.808,-696.442,250.0,83.0 +_Ăł.wav=ł_A3,3214.787,181.852,-752.011,56.852,32.322 +_Ȃ₢.wav=i n_A3,381.844,249.999,-314.606,249.999,83.331 +_Ȃ₢.wav=i y_A3,1397.448,250.0,-304.268,250.0,83.331 +_Ȃ₢.wav=i m_A3,2382.04,250.0,-324.942,250.0,83.333 +_ɂЂ݂т҂.wav=i ny_A3,405.103,250.0,-306.854,250.0,83.33 +_ɂЂ݂т҂.wav=_A3,693.867,179.267,-410.892,54.267,26.232 +_ɂЂ݂т҂.wav=i hy_A3,889.645,249.997,-350.784,249.997,83.33 +_ɂЂ݂т҂.wav=_A3,1149.984,187.412,-439.287,105.953,33.595 +_ɂЂ݂т҂.wav=i my_A3,1401.324,250.0,-335.278,250.0,83.332 +_ɂЂ݂т҂.wav=_A3,1669.417,178.316,-454.825,82.693,41.347 +_ɂЂ݂т҂.wav=i by_A3,1918.896,276.966,-314.605,249.997,83.331 +_ɂЂ݂т҂.wav=_A3,2200.703,155.167,-396.418,63.085,32.074 +_ɂЂ݂т҂.wav=i py_A3,2405.299,271.027,-332.696,250.0,83.333 +_ɂЂ݂т҂.wav=_A3,2716.031,195.162,-488.42,113.704,0.0 +_ɂЂ݂т҂.wav=i ry_A3,2982.877,249.998,-293.931,249.998,83.333 +_ɂЂ݂т҂.wav=_A3,3240.629,130.845,-798.528,38.763,15.505 +_΂ς.wav=i b_A3,431.875,269.26,-300.079,249.997,83.331 +_΂ς.wav=_A3,701.62,179.268,-387.601,54.268,28.426 +_΂ς.wav=i p_A3,1343.179,274.788,-335.28,250.0,83.331 +_΂ς.wav=i r_A3,2424.681,250.0,-284.886,250.0,83.333 +_͂͂.wav=i h_A3,428.362,249.998,-293.931,249.998,83.331 +_͂͂.wav=u h_A3,1401.324,250.0,-306.854,250.0,83.331 +_͂͂.wav=n h_A3,2413.051,250.0,-308.146,250.0,83.333 +_.wav=- _A3,244.21,124.999,-843.672,0.0,0.0 +_.wav=u _A3,514.933,375.0,-583.333,250.0,83.333 +_.wav=u _A3,1052.453,375.0,-593.703,250.0,83.333 +_.wav=i _A3,1556.379,375.0,-637.635,250.0,83.333 +_.wav=o _A3,2002.158,375.0,-697.073,250.0,83.333 +_.wav=a _A3,2552.601,375.0,-616.057,250.0,83.333 +_.wav=o _A3,3052.65,375.0,-1219.088,250.0,83.33 +_サタガザĂ.wav=ky_A3,702.911,21.965,-52.977,21.965,0.0 +_サタガザĂ.wav=u ky_A3,397.349,265.506,-309.438,250.0,83.332 +_サタガザĂ.wav=_A3,693.866,194.774,-403.107,69.774,0.0 +_サタガザĂ.wav=sh_A3,1152.448,49.219,-139.668,10.456,0.0 +_サタガザĂ.wav=u sh_A3,901.276,249.999,-377.919,249.999,83.331 +_サタガザĂ.wav=_A3,1152.57,282.636,-490.969,157.636,56.853 +_サタガザĂ.wav=ch_A3,1688.797,46.516,-103.369,20.673,0.0 +_サタガザĂ.wav=u ch_A3,1385.819,270.708,-320.789,250.0,83.333 +_サタガザĂ.wav=_A3,1674.582,226.421,-449.655,131.793,62.845 +_サタガザĂ.wav=gy_A3,2228.901,19.009,-33.028,15.505,0.0 +_サタガザĂ.wav=u gy_A3,1951.763,249.999,-281.011,249.999,83.331 +_サタガザĂ.wav=_A3,2221.148,171.515,-379.848,46.515,19.381 +_サタガザĂ.wav=j_A3,2717.321,33.593,-62.021,0.0,0.0 +_サタガザĂ.wav=u j_A3,2432.434,250.0,-340.447,250.0,83.332 +_サタガザĂ.wav=_A3,2712.153,199.942,-408.275,74.942,25.842 +_サタガザĂ.wav=u ty_A3,2901.471,284.888,-314.605,250.0,83.333 +_サタガザĂ.wav=u _A3,4300.836,362.413,-596.883,249.998,82.999 +_サタガザĂ.wav=ty_A3,3208.327,26.864,-59.437,12.92,2.584 +_サタガザĂ.wav=Ă_A3,3176.236,238.705,-744.551,113.705,0.0 +_Ƃǂ.wav=k_A3,757.309,5.167,-54.269,5.167,5.167 +_Ƃǂ.wav=u k_A3,429.782,268.09,-322.359,250.0,83.332 +_Ƃǂ.wav=_A3,736.636,205.11,-413.443,80.11,0.0 +_Ƃǂ.wav=s_A3,1155.282,54.269,-139.549,0.0,0.0 +_Ƃǂ.wav=u s_A3,894.876,249.999,-394.655,249.999,83.331 +_Ƃǂ.wav=_A3,1157.865,280.052,-472.913,155.052,59.436 +_Ƃǂ.wav=t_A3,1734.149,0.0,-41.347,0.0,0.0 +_Ƃǂ.wav=u t_A3,1373.026,275.843,-335.28,250.0,83.331 +_Ƃǂ.wav=Ƃ_A3,1685.05,225.784,-434.117,100.784,0.0 +_Ƃǂ.wav=g_A3,2230.323,11.257,-28.426,7.75,0.0 +_Ƃǂ.wav=u g_A3,1928.637,250.0,-288.763,250.0,83.332 +_Ƃǂ.wav=_A3,2217.402,179.268,-387.601,54.268,28.426 +_Ƃǂ.wav=z_A3,2682.435,5.296,-93.03,0.0,0.0 +_Ƃǂ.wav=u z_A3,2424.81,250.0,-340.448,250.0,83.33 +_Ƃǂ.wav=_A3,2685.148,230.953,-491.004,105.953,49.1 +_Ƃǂ.wav=d_A3,3217.501,26.018,-40.037,15.504,0.0 +_Ƃǂ.wav=u d_A3,2928.736,250.0,-288.762,250.0,83.333 +_Ƃǂ.wav=ǂ_A3,3196.827,197.357,-752.27,72.357,41.501 +_ɂЂ݂т҂.wav=ny_A3,727.463,12.252,-51.683,5.167,0.0 +_ɂЂ݂т҂.wav=u ny_A3,467.125,249.998,-312.022,249.998,83.33 +_ɂЂ݂т҂.wav=ɂ_A3,744.259,171.515,-379.848,46.515,21.726 +_ɂЂ݂т҂.wav=hy_A3,1209.422,36.605,-62.02,0.0,0.0 +_ɂЂ݂т҂.wav=u hy_A3,936.163,250.0,-335.279,250.0,83.332 +_ɂЂ݂т҂.wav=Ђ_A3,1197.792,214.154,-422.487,89.154,31.01 +_ɂЂ݂т҂.wav=my_A3,1678.799,19.533,-57.805,3.538,0.0 +_ɂЂ݂т҂.wav=u my_A3,1436.212,250.0,-308.144,250.0,83.331 +_ɂЂ݂т҂.wav=݂_A3,1706.298,175.391,-383.724,50.391,16.374 +_ɂЂ݂т҂.wav=by_A3,2219.952,28.331,-49.006,28.331,10.622 +_ɂЂ݂т҂.wav=u by_A3,1924.633,281.01,-319.774,249.999,83.331 +_ɂЂ݂т҂.wav=т_A3,2213.397,187.02,-395.353,62.02,37.229 +_ɂЂ݂т҂.wav=py_A3,2704.401,12.919,-62.019,12.919,0.0 +_ɂЂ݂т҂.wav=u py_A3,2413.052,267.707,-324.942,250.0,83.333 +_ɂЂ݂т҂.wav=҂_A3,2697.939,214.155,-461.284,89.155,0.0 +_ɂЂ݂т҂.wav=ry_A3,3255.008,0.0,-25.841,-0.001,-0.001 +_ɂЂ݂т҂.wav=u ry_A3,2996.393,250.0,-278.427,250.0,83.33 +_ɂЂ݂т҂.wav=_A3,3251.562,166.347,-868.573,41.347,18.089 +_ʂӂނԂՂ.wav=n_A3,646.989,24.531,-60.357,3.503,0.0 +_ʂӂނԂՂ.wav=u n_A3,390.407,249.999,-322.359,249.999,83.332 +_ʂӂނԂՂ.wav=_A3,663.099,185.507,-393.841,60.507,21.958 +_ʂӂނԂՂ.wav=f_A3,1137.085,35.044,-87.865,0.0,0.0 +_ʂӂނԂՂ.wav=u f_A3,874.481,249.998,-348.323,249.998,83.331 +_ʂӂނԂՂ.wav=_A3,1147.17,213.24,-421.575,88.24,44.659 +_ʂӂނԂՂ.wav=m_A3,1628.721,10.513,-56.853,0.0,0.0 +_ʂӂނԂՂ.wav=u m_A3,1371.156,250.0,-330.679,250.0,83.331 +_ʂӂނԂՂ.wav=_A3,1641.326,193.071,-476.381,68.071,49.682 +_ʂӂނԂՂ.wav=b_A3,2155.147,27.683,-62.021,20.673,0.0 +_ʂӂނԂՂ.wav=u b_A3,1860.27,268.089,-315.551,249.999,83.331 +_ʂӂނԂՂ.wav=_A3,2169.743,191.587,-392.201,66.587,24.322 +_ʂӂނԂՂ.wav=p_A3,2659.578,19.929,-62.021,12.92,0.0 +_ʂӂނԂՂ.wav=u p_A3,2336.776,278.036,-337.864,250.0,83.332 +_ʂӂނԂՂ.wav=_A3,2650.313,207.694,-467.746,82.694,0.0 +_ʂӂނԂՂ.wav=r_A3,3164.133,10.511,-40.338,0.0,0.0 +_ʂӂނԂՂ.wav=u r_A3,2911.613,250.0,-291.348,250.0,83.333 +_ʂӂނԂՂ.wav=_A3,3178.379,161.179,-709.082,36.179,20.673 +_䂤‚Ӄ.wav=y_A3,706.324,9.556,-32.814,6.971,0.0 +_䂤‚Ӄ.wav=u y_A3,448.357,250.0,-294.814,250.0,83.331 +_䂤‚Ӄ.wav=_A3,735.702,188.485,-396.819,63.485,22.407 +_䂤‚Ӄ.wav=w_A3,1146.999,22.04,-58.219,6.971,0.0 +_䂤‚Ӄ.wav=u w_A3,870.359,250.0,-340.642,250.0,83.331 +_䂤‚Ӄ.wav=_A3,1175.536,178.124,-386.457,53.124,24.791 +_䂤‚Ӄ.wav=ts_A3,2164.034,45.319,-128.969,24.401,0.0 +_䂤‚Ӄ.wav=u ts_A3,1874.951,270.917,-301.684,249.999,83.332 +_䂤‚Ӄ.wav=_A3,2162.075,267.131,-475.466,142.131,0.0 +_䂤‚Ӄ.wav=v_A3,3178.087,26.142,-70.956,0.0,0.0 +_䂤‚Ӄ.wav=u v_A3,2916.883,250.0,-328.425,250.0,83.333 +_䂤‚Ӄ.wav=_A3,3165.781,223.2,-728.603,98.2,59.437 +_‚ӂ.wav=e y_A3,478.233,250.0,-304.269,250.0,83.331 +_‚ӂ.wav=_A3,784.571,199.371,-407.704,74.371,35.415 +_‚ӂ.wav=e w_A3,948.787,249.997,-317.188,249.997,83.331 +_‚ӂ.wav=_A3,1256.553,157.76,-366.714,54.267,23.258 +_‚ӂ.wav=e ch_A3,1426.805,268.246,-295.213,250.0,83.331 +_‚ӂ.wav=_A3,1684.34,215.836,-467.712,134.378,64.605 +_‚ӂ.wav=e ts_A3,1919.763,274.789,-298.549,250.0,83.331 +_‚ӂ.wav=‚_A3,2222.946,159.37,-418.362,84.995,0.0 +_‚ӂ.wav=e f_A3,2435.129,250.0,-335.28,250.0,83.333 +_‚ӂ.wav=ӂ_A3,2723.372,180.62,-418.329,84.996,31.874 +_‚ӂ.wav=e v_A3,2939.29,250.0,-343.363,250.0,83.328 +_‚ӂ.wav=_A3,3218.631,207.695,-764.933,82.695,41.347 +_.wav=- _A3,235.275,124.999,-841.127,0.0,0.0 +_.wav=e _A3,455.495,375.0,-694.488,250.0,83.332 +_.wav=e _A3,1019.743,374.997,-683.203,249.997,83.331 +_.wav=u _A3,1546.311,375.0,-596.756,250.0,83.332 +_.wav=o _A3,2039.267,375.0,-642.803,250.0,83.332 +_.wav=e _A3,2610.652,375.0,-1280.603,250.0,83.333 +_.wav=o _A3,3103.612,374.998,-1188.075,249.998,83.333 +_Ă.wav=e ky_A3,369.933,263.944,-324.69,249.999,83.331 +_Ă.wav=_A3,650.723,236.12,-444.454,111.12,0.0 +_Ă.wav=e sh_A3,877.827,249.998,-369.506,249.998,83.33 +_Ă.wav=_A3,1139.097,259.378,-449.656,134.378,46.516 +_Ă.wav=e ch_A3,1367.052,277.918,-316.442,250.0,83.331 +_Ă.wav=e gy_A3,1927.232,250.0,-301.685,250.0,83.333 +_Ă.wav=_A3,2192.17,171.903,-449.972,59.752,26.157 +_Ă.wav=e j_A3,2412.721,250.0,-345.616,250.0,83.333 +_Ă.wav=_A3,2677.707,225.784,-434.116,100.784,36.179 +_Ă.wav=e ty_A3,2883.272,277.889,-320.957,250.0,83.333 +_Ă.wav=e _A3,4123.138,399.886,-790.105,249.999,83.0 +_Ă.wav=Ă_A3,3189.29,205.448,-676.248,80.448,0.0 +_Ă.wav=e k_A3,403.543,271.25,-306.854,250.0,83.332 +_Ă.wav=_A3,692.07,194.774,-403.107,69.774,0.0 +_Ă.wav=e s_A3,911.44,249.997,-350.832,249.997,83.33 +_Ă.wav=_A3,1168.908,233.301,-441.634,108.301,61.785 +_Ă.wav=e t_A3,1404.397,274.791,-314.606,250.0,83.331 +_Ă.wav=_A3,1717.818,192.288,-400.621,67.288,0.0 +_Ă.wav=e g_A3,1942.171,249.998,-301.683,249.998,83.331 +_Ă.wav=_A3,2225.781,166.079,-395.119,41.079,15.237 +_Ă.wav=e z_A3,2442.598,250.0,-339.627,250.0,83.333 +_Ă.wav=_A3,2726.208,210.894,-491.619,85.893,39.377 +_Ă.wav=e d_A3,2961.697,250.0,-296.516,250.0,83.33 +_Ă.wav=_A3,3232.703,197.358,-659.297,72.358,38.763 +_ɂЂ݂т҂肥.wav=e ny_A3,463.296,249.999,-306.666,249.999,83.33 +_ɂЂ݂т҂肥.wav=ɂ_A3,727.2,174.581,-382.913,49.581,24.791 +_ɂЂ݂т҂肥.wav=e hy_A3,941.318,249.996,-313.484,249.996,83.33 +_ɂЂ݂т҂肥.wav=Ђ_A3,1218.639,194.774,-403.107,69.774,41.442 +_ɂЂ݂т҂肥.wav=e my_A3,1419.336,250.0,-319.774,250.0,83.331 +_ɂЂ݂т҂肥.wav=݂_A3,1702.877,192.291,-400.624,67.291,28.332 +_ɂЂ݂т҂肥.wav=e by_A3,1923.496,278.331,-314.606,250.0,83.332 +_ɂЂ݂т҂肥.wav=т_A3,2200.822,194.773,-403.106,69.773,44.984 +_ɂЂ݂т҂肥.wav=e py_A3,2379.111,281.011,-322.359,250.0,83.331 +_ɂЂ݂т҂肥.wav=҂_A3,2670.806,210.279,-418.611,85.279,0.0 +_ɂЂ݂т҂肥.wav=e ry_A3,2965.432,250.0,-273.258,250.0,83.33 +_ɂЂ݂т҂肥.wav=肥_A3,3220.714,153.33,-708.318,28.329,14.166 +_˂ւ߂ׂ؂.wav=e n_A3,452.092,249.999,-306.853,249.999,83.333 +_˂ւ߂ׂ؂.wav=_A3,727.587,181.664,-389.997,56.664,28.238 +_˂ւ߂ׂ؂.wav=e h_A3,948.785,249.999,-283.609,249.999,83.331 +_˂ւ߂ׂ؂.wav=_A3,1218.056,176.684,-385.018,51.684,18.089 +_˂ւ߂ׂ؂.wav=e m_A3,1438.008,250.0,-332.16,250.0,83.331 +_˂ւ߂ׂ؂.wav=_A3,1731.988,181.852,-390.185,56.852,25.311 +_˂ւ߂ׂ؂.wav=e b_A3,1968.312,271.027,-314.607,250.0,83.333 +_˂ւ߂ׂ؂.wav=_A3,2251.089,181.852,-390.185,56.852,25.842 +_˂ւ߂ׂ؂.wav=e p_A3,2435.127,288.552,-324.944,250.0,83.333 +_˂ւ߂ׂ؂.wav=_A3,2737.445,192.189,-488.42,67.189,0.0 +_˂ւ߂ׂ؂.wav=e r_A3,2995.308,250.0,-275.841,250.0,83.333 +_˂ւ߂ׂ؂.wav=_A3,3251.077,171.515,-602.546,46.515,20.673 +_EEE.wav=E _A3,698.091,110.967,-325.17,45.08,0.0 +_EEE.wav=o E_A3,776.996,308.953,-397.303,250.0,83.332 +_EEE.wav=E _A3,1166.924,120.158,-325.613,54.268,0.0 +_EEE.wav=N E_A3,1404.185,201.131,-290.364,145.646,79.758 +_񂠂.wav=- _A3,209.133,121.532,-329.865,0.0,0.0 +_񂠂.wav=o _A3,560.393,375.0,-624.714,250.0,83.332 +_񂠂.wav=u _A3,1027.211,374.999,-655.733,249.999,83.333 +_񂠂.wav=n _A3,1550.043,375.0,-669.606,250.0,83.333 +_񂠂.wav=a _A3,2009.392,375.0,-750.427,250.0,83.333 +_񂠂.wav=n _A3,2517.288,375.0,-660.893,250.0,83.331 +_񂠂.wav=n _A3,3028.919,375.0,-880.656,250.0,83.332 +_.wav=u _A3,986.132,374.999,-655.733,249.999,83.333 +_.wav=N _A3,1467.885,375.0,-668.648,250.0,83.333 +_.wav=a _A3,2024.33,375.0,-643.198,250.0,83.333 +_.wav=N _A3,2450.067,375.0,-655.724,250.0,83.33 +_.wav=N _A3,3099.875,375.0,-1133.808,250.0,83.33 +_債傿催傶Ă.wav=o ky_A3,411.012,267.524,-324.943,250.0,83.332 +_債傿催傶Ă.wav=_A3,697.54,215.446,-423.779,90.446,0.0 +_債傿催傶Ă.wav=o sh_A3,930.113,249.997,-345.615,249.997,83.331 +_債傿催傶Ă.wav=_A3,1188.496,236.121,-444.454,111.121,41.347 +_債傿催傶Ă.wav=o ch_A3,1396.928,275.009,-313.533,250.0,83.333 +_債傿催傶Ă.wav=_A3,1666.799,228.369,-483.372,103.369,51.077 +_債傿催傶Ă.wav=o gy_A3,1919.763,286.179,-306.018,250.0,83.333 +_債傿催傶Ă.wav=_A3,2225.781,177.282,-385.614,52.282,10.935 +_債傿催傶Ă.wav=o j_A3,2457.536,250.0,-314.768,250.0,83.332 +_債傿催傶Ă.wav=_A3,2712.168,202.527,-410.86,77.527,31.01 +_債傿催傶Ă.wav=o ty_A3,2883.273,265.503,-332.159,249.998,83.33 +_債傿催傶Ă.wav=o _A3,4391.423,392.132,-608.123,249.997,82.999 +_債傿催傶Ă.wav=Ă_A3,3199.407,215.762,-645.078,90.762,0.0 +_Ƃ.wav=o k_A3,396.689,273.258,-313.75,249.999,83.332 +_Ƃ.wav=_A3,730.194,185.206,-393.539,60.204,0.0 +_Ƃ.wav=o s_A3,907.233,249.999,-352.108,249.999,83.331 +_Ƃ.wav=_A3,1167.129,236.121,-444.455,111.121,36.179 +_Ƃ.wav=o t_A3,1410.212,271.249,-322.358,250.0,83.331 +_Ƃ.wav=_A3,1691.351,192.189,-400.522,67.189,0.0 +_Ƃ.wav=o g_A3,1943.447,249.998,-283.595,249.998,83.331 +_Ƃ.wav=_A3,2204.478,189.605,-410.893,64.605,39.814 +_Ƃ.wav=o z_A3,2469.118,250.0,-322.357,250.0,83.333 +_Ƃ.wav=_A3,2728.573,202.526,-457.409,77.526,41.347 +_Ƃ.wav=o d_A3,2987.228,270.671,-295.378,249.997,83.331 +_Ƃ.wav=_A3,3256.134,170.38,-934.718,45.38,16.954 +_ɂЂ݂т҂.wav=o ny_A3,442.07,249.999,-299.099,249.999,83.332 +_ɂЂ݂т҂.wav=ɂ_A3,714.445,189.606,-397.938,64.605,29.561 +_ɂЂ݂т҂.wav=o hy_A3,911.015,249.998,-318.07,249.998,83.33 +_ɂЂ݂т҂.wav=Ђ_A3,1187.803,215.447,-436.735,90.447,28.426 +_ɂЂ݂т҂.wav=o my_A3,1425.339,250.0,-317.191,250.0,83.331 +_ɂЂ݂т҂.wav=݂_A3,1694.942,199.942,-431.567,74.942,44.589 +_ɂЂ݂т҂.wav=o by_A3,1928.319,267.522,-324.943,250.0,83.33 +_ɂЂ݂т҂.wav=т_A3,2209.458,192.189,-400.521,67.188,49.664 +_ɂЂ݂т҂.wav=o py_A3,2408.609,278.038,-319.774,250.0,83.332 +_ɂЂ݂т҂.wav=҂_A3,2724.792,202.525,-428.982,77.525,0.0 +_ɂЂ݂т҂.wav=o ry_A3,2960.752,250.0,-270.674,250.0,83.33 +_ɂЂ݂т҂.wav=_A3,3213.59,163.762,-655.59,38.762,17.735 +_̂قڂۂ.wav=o n_A3,468.541,250.0,-306.852,250.0,83.332 +_̂قڂۂ.wav=_A3,743.503,187.021,-395.354,62.021,23.258 +_̂قڂۂ.wav=o h_A3,933.706,249.998,-304.269,249.998,83.33 +_̂قڂۂ.wav=_A3,1208.478,160.415,-387.022,69.772,23.258 +_̂قڂۂ.wav=o m_A3,1432.904,250.0,-333.199,250.0,83.331 +_̂قڂۂ.wav=_A3,1706.477,192.189,-431.567,67.189,28.231 +_̂قڂۂ.wav=o b_A3,1939.665,278.33,-325.636,249.999,83.332 +_̂قڂۂ.wav=_A3,2241.477,112.754,-379.847,46.515,18.181 +_̂قڂۂ.wav=o p_A3,2404.827,293.931,-340.447,250.0,83.333 +_̂قڂۂ.wav=_A3,2704.775,192.288,-464.719,67.288,0.0 +_̂قڂۂ.wav=o r_A3,2949.405,250.0,-299.102,250.0,83.33 +_̂قڂۂ.wav=_A3,3210.817,174.099,-648.734,49.099,23.258 +_悤‚ӂ.wav=o y_A3,430.724,249.998,-319.774,249.998,83.33 +_悤‚ӂ.wav=_A3,731.589,210.28,-418.613,85.28,36.179 +_悤‚ӂ.wav=o w_A3,960.176,249.998,-304.271,249.998,83.332 +_悤‚ӂ.wav=_A3,1253.038,176.684,-385.017,51.684,31.01 +_悤‚ӂ.wav=o ts_A3,1920.757,267.522,-304.269,249.999,83.332 +_悤‚ӂ.wav=‚_A3,2208.217,216.12,-424.455,91.12,0.0 +_悤‚ӂ.wav=o f_A3,2442.645,250.0,-337.863,250.0,83.331 +_悤‚ӂ.wav=ӂ_A3,2731.947,191.588,-399.921,66.588,35.046 +_悤‚ӂ.wav=o v_A3,2941.843,250.0,-332.695,250.0,83.33 +_悤‚ӂ.wav=_A3,3241.383,177.569,-588.789,52.569,28.038 +_񂢂񂦂񂨂.wav=- _A3,232.582,74.899,-386.476,0.0,0.0 +_񂢂񂦂񂨂.wav=n _A3,529.051,375.0,-694.488,250.0,83.332 +_񂢂񂦂񂨂.wav=i _A3,1054.722,375.0,-677.344,250.0,83.331 +_񂢂񂦂񂨂.wav=n _A3,1508.539,375.0,-684.151,250.0,83.331 +_񂢂񂦂񂨂.wav=e _A3,2015.301,375.0,-718.944,250.0,83.333 +_񂢂񂦂񂨂.wav=n _A3,2586.353,375.0,-660.893,250.0,83.333 +_񂢂񂦂񂨂.wav=o _A3,3027.476,375.0,-1263.02,250.0,83.331 +_񂢂񂦂񂨂.wav=n _A3,4337.33,441.233,-624.713,250.0,83.0 +_.wav=- _A3,253.255,74.899,-386.476,0.0,0.0 +_.wav=N _A3,566.869,375.0,-658.309,250.0,83.332 +_.wav=i _A3,1035.813,375.0,-645.388,250.0,83.331 +_.wav=N _A3,1553.92,375.0,-640.22,250.0,83.331 +_.wav=e _A3,2026.646,375.0,-624.714,250.0,83.333 +_.wav=N _A3,2567.444,375.0,-733.796,250.0,83.333 +_.wav=o _A3,3032.606,375.0,-940.647,250.0,83.332 +_̓.wav=N v_A3,457.197,249.999,-332.695,249.999,83.329 +_̓.wav=N h_A3,1440.465,250.0,-310.509,250.0,83.33 +_̓.wav=N hy_A3,2393.482,250.0,-324.942,250.0,83.33 +_񂩂񂳂.wav=n k_A3,408.034,260.514,-314.606,250.0,83.332 +_񂩂񂳂.wav=n s_A3,1406.43,250.0,-367.235,250.0,83.329 +_񂩂񂳂.wav=n t_A3,2385.917,278.038,-309.58,250.0,83.332 +_񂪂񂴂.wav=n g_A3,430.724,250.0,-281.011,250.0,83.331 +_񂪂񂴂.wav=n z_A3,1406.43,250.0,-321.853,250.0,83.33 +_񂪂񂴂.wav=n d_A3,2427.518,250.0,-281.543,250.0,83.333 +_񂫂񂵂񂿂.wav=n ky_A3,419.378,267.522,-299.1,250.0,83.332 +_񂫂񂵂񂿂.wav=n sh_A3,1410.212,250.0,-355.89,250.0,83.331 +_񂫂񂵂񂿂.wav=n ch_A3,2392.739,273.115,-300.081,250.0,83.332 +_񂬂񂶂‚.wav=n gy_A3,442.07,249.999,-275.843,249.999,83.332 +_񂬂񂶂‚.wav=n j_A3,1455.594,250.0,-306.727,250.0,83.331 +_񂬂񂶂‚.wav=n ts_A3,2438.863,267.338,-287.818,250.0,83.331 +_Ȃς.wav=n n_A3,430.725,249.998,-306.852,249.998,83.331 +_Ȃς.wav=n p_A3,1398.867,264.017,-324.942,250.0,83.332 +_Ȃς.wav=n m_A3,2438.863,250.0,-323.599,250.0,83.333 +_ɂ҂݂.wav=n ny_A3,453.414,250.0,-327.914,250.0,83.332 +_ɂ҂݂.wav=n py_A3,1421.557,269.642,-310.207,250.0,83.333 +_ɂ҂݂.wav=n my_A3,2457.772,250.0,-332.695,250.0,83.333 +_Ђтӂ.wav=n hy_A3,419.379,249.999,-327.526,249.999,83.33 +_Ђтӂ.wav=n by_A3,1482.066,278.038,-304.71,250.0,83.333 +_Ђтӂ.wav=n f_A3,2423.736,250.0,-330.112,250.0,83.333 +_Ӄ⃓.wav=N f_A3,464.762,250.0,-340.762,250.0,83.331 +_Ӄ⃓.wav=N y_A3,1425.339,250.0,-330.111,250.0,83.331 +_Ӄ⃓.wav=N w_A3,2453.989,250.0,-306.852,250.0,83.333 +_΂.wav=n y_A3,408.034,250.0,-332.695,250.0,83.332 +_΂.wav=n b_A3,1455.594,281.011,-304.269,250.0,83.333 +_΂.wav=n r_A3,2503.154,250.0,-275.843,250.0,83.333 +_.wav=n ry_A3,415.597,250.0,-317.19,250.0,83.33 +_.wav=n v_A3,1474.503,250.0,-317.19,250.0,83.329 diff --git "a/OpenUtau.Test/Files/ja_cvvc/\345\274\261/\345\274\261_B4/oto.ini" "b/OpenUtau.Test/Files/ja_cvvc/\345\274\261/\345\274\261_B4/oto.ini" new file mode 100644 index 000000000..43bee8262 --- /dev/null +++ "b/OpenUtau.Test/Files/ja_cvvc/\345\274\261/\345\274\261_B4/oto.ini" @@ -0,0 +1,416 @@ +_EEEEE.wav=E _B4,737.689,124.841,-301.699,48.548,34.678 +_EEEEE.wav=a E_B4,822.142,331.686,-378.31,249.998,83.332 +_EEEEE.wav=E _B4,1224.214,107.502,-315.57,58.952,31.21 +_EEEEE.wav=i E_B4,1336.088,362.32,-392.953,250.0,83.333 +_EEEEE.wav=E _B4,1717.611,149.115,-290.526,65.887,45.08 +_EEEEE.wav=u E_B4,1775.156,318.073,-360.971,250.0,83.333 +_EEEEE.wav=E _B4,2183.78,156.051,-315.57,72.823,31.21 +_EEEEE.wav=e E_B4,2278.893,308.952,-381.776,250.0,83.333 +_EEEEE.wav=E _B4,2701.067,201.29,-297.087,76.29,45.081 +_EEEEE.wav=n E_B4,4366.733,333.229,-419.924,250.0,83.332 +_.wav=- _B4,260.125,128.467,-841.09,3.467,3.467 +_.wav=a _B4,436.114,375.0,-680.008,250.0,83.332 +_.wav=a _B4,1025.319,375.0,-598.871,250.0,83.331 +_.wav=i _B4,1521.492,375.0,-610.501,250.0,83.333 +_.wav=a _B4,2006.035,327.104,-673.074,250.0,83.333 +_.wav=u _B4,2548.725,351.635,-671.199,250.0,83.332 +_.wav=e _B4,3072.032,351.635,-1207.27,250.0,83.331 +_.wav=a _B4,4473.947,430.146,-525.599,250.0,82.999 +_.wav=a k_B4,412.855,283.596,-318.923,250.0,82.999 +_.wav=_B4,723.974,138.843,-351.504,55.172,0.0 +_.wav=a s_B4,909.027,250.0,-346.908,250.0,83.33 +_.wav=_B4,1175.764,176.254,-458.64,99.555,42.119 +_.wav=a t_B4,1412.954,273.258,-315.094,250.0,83.331 +_.wav=_B4,1711.17,146.699,-385.902,52.569,0.0 +_.wav=a g_B4,1905.25,250.0,-296.516,250.0,83.33 +_.wav=_B4,2199.183,136.256,-408.184,49.099,23.258 +_.wav=a z_B4,2428.558,250.0,-319.773,250.0,83.331 +_.wav=_B4,2670.805,173.214,-426.363,93.03,54.268 +_.wav=a d_B4,2936.361,249.997,-292.117,249.997,83.332 +_.wav=_B4,3214.158,119.844,-857.713,53.605,26.803 +_ႵႿႬႶĂ.wav=a ky_B4,420.608,271.028,-317.19,250.0,83.333 +_ႵႿႬႶĂ.wav=_B4,731.568,143.694,-375.776,63.083,0.0 +_ႵႿႬႶĂ.wav=a sh_B4,955.545,249.998,-334.239,249.998,83.33 +_ႵႿႬႶĂ.wav=_B4,1210.652,180.163,-432.887,99.554,34.95 +_ႵႿႬႶĂ.wav=a ch_B4,1447.841,265.188,-306.28,250.0,83.331 +_ႵႿႬႶĂ.wav=_B4,1730.129,187.498,-436.717,103.384,38.779 +_ႵႿႬႶĂ.wav=a gy_B4,1982.779,249.996,-300.391,249.996,83.331 +_ႵႿႬႶĂ.wav=_B4,2268.28,112.86,-383.109,49.777,18.236 +_ႵႿႬႶĂ.wav=a j_B4,2486.703,250.0,-331.403,250.0,83.333 +_ႵႿႬႶĂ.wav=_B4,2753.155,157.189,-394.438,76.579,23.609 +_ႵႿႬႶĂ.wav=a ty_B4,2967.37,267.522,-304.269,250.0,83.33 +_ႵႿႬႶĂ.wav=Ă_B4,3256.931,202.526,-715.382,77.526,0.0 +_Ȃ͂܂΂ς.wav=a n_B4,436.116,249.998,-303.606,249.998,83.332 +_Ȃ͂܂΂ς.wav=_B4,725.398,167.119,-375.451,42.119,21.314 +_Ȃ͂܂΂ς.wav=a h_B4,912.909,249.994,-285.735,249.994,83.33 +_Ȃ͂܂΂ς.wav=_B4,1193.917,127.91,-395.354,62.02,28.426 +_Ȃ͂܂΂ς.wav=a m_B4,1401.324,250.0,-308.144,250.0,83.332 +_Ȃ͂܂΂ς.wav=_B4,1678.459,187.021,-395.355,62.021,34.887 +_Ȃ͂܂΂ς.wav=a b_B4,1874.24,275.843,-319.774,249.999,83.331 +_Ȃ͂܂΂ς.wav=_B4,2178.509,140.964,-387.601,54.268,26.526 +_Ȃ͂܂΂ς.wav=a p_B4,2370.412,281.01,-327.527,250.0,83.333 +_Ȃ͂܂΂ς.wav=_B4,2683.726,174.1,-437.126,49.1,0.0 +_Ȃ͂܂΂ς.wav=a r_B4,2928.609,249.998,-275.841,249.998,83.333 +_Ȃ͂܂΂ς.wav=_B4,3192.821,153.425,-614.486,28.425,10.336 +_ɂЂ݂т҂.wav=a ny_B4,405.103,250.0,-296.516,250.0,83.33 +_ɂЂ݂т҂.wav=ɂ_B4,671.901,163.0,-405.689,72.357,31.01 +_ɂЂ݂т҂.wav=a hy_B4,905.154,249.997,-339.153,249.997,83.33 +_ɂЂ݂т҂.wav=Ђ_B4,1175.574,187.685,-417.573,84.239,25.527 +_ɂЂ݂т҂.wav=a my_B4,1393.571,250.0,-324.029,250.0,83.333 +_ɂЂ݂т҂.wav=݂_B4,1691.506,154.224,-431.567,77.526,33.595 +_ɂЂ݂т҂.wav=a by_B4,1907.048,271.027,-324.027,249.998,83.331 +_ɂЂ݂т҂.wav=т_B4,2205.045,142.449,-385.05,41.347,20.624 +_ɂЂ݂т҂.wav=a py_B4,2394.616,281.541,-324.943,250.0,83.333 +_ɂЂ݂т҂.wav=҂_B4,2691.621,184.286,-447.561,83.182,0.0 +_ɂЂ݂т҂.wav=a ry_B4,2947.281,249.998,-275.841,249.998,83.33 +_ɂЂ݂т҂.wav=_B4,3215.546,160.955,-881.0,35.955,17.977 +_킿‚ӂ.wav=a y_B4,450.721,249.999,-303.124,249.999,83.33 +_킿‚ӂ.wav=_B4,771.253,184.435,-373.419,59.435,31.009 +_킿‚ӂ.wav=a w_B4,951.185,249.997,-312.397,249.997,83.328 +_킿‚ӂ.wav=_B4,1270.352,125.386,-377.262,43.931,23.258 +_킿‚ӂ.wav=a ts_B4,1926.173,270.675,-304.27,250.0,83.33 +_킿‚ӂ.wav=‚_B4,2228.431,185.877,-425.743,84.239,0.0 +_킿‚ӂ.wav=a f_B4,2421.465,250.0,-343.033,250.0,83.33 +_킿‚ӂ.wav=ӂ_B4,2695.386,187.985,-457.146,85.278,36.179 +_킿‚ӂ.wav=a v_B4,2971.359,250.0,-339.698,250.0,83.33 +_킿‚ӂ.wav=_B4,3248.658,199.098,-693.878,74.098,37.92 +_.wav=- _B4,284.695,125.0,-791.379,0.0,0.0 +_.wav=i _B4,535.607,375.0,-661.379,250.0,83.333 +_.wav=i _B4,1091.583,375.0,-625.298,250.0,83.333 +_.wav=u _B4,1547.877,375.0,-647.433,250.0,83.332 +_.wav=a _B4,2062.67,375.0,-643.116,250.0,83.331 +_.wav=e _B4,2554.064,375.0,-636.973,250.0,83.333 +_.wav=i _B4,3037.658,375.0,-928.461,250.0,83.333 +_‚ӂ.wav=_B4,667.65,171.04,-379.373,46.04,14.166 +_‚ӂ.wav=i w_B4,994.084,250.0,-281.198,250.0,83.331 +_‚ӂ.wav=_B4,1310.383,160.097,-352.958,35.097,19.499 +_‚ӂ.wav=i ch_B4,1411.378,270.913,-309.437,250.0,83.331 +_‚ӂ.wav=_B4,1710.156,191.728,-403.14,111.12,37.521 +_‚ӂ.wav=i ts_B4,1930.072,267.706,-319.775,249.999,83.332 +_‚ӂ.wav=‚_B4,2232.828,195.153,-444.375,111.042,0.0 +_‚ӂ.wav=i f_B4,2468.264,250.0,-367.0,250.0,83.33 +_‚ӂ.wav=ӂ_B4,2745.565,181.216,-426.929,93.596,58.18 +_‚ӂ.wav=i v_B4,2959.658,250.0,-355.299,250.0,83.329 +_‚ӂ.wav=_B4,3240.858,210.798,-783.232,85.798,38.999 +_.wav=i k_B4,412.992,281.011,-324.098,249.998,83.331 +_.wav=i s_B4,1380.178,250.0,-394.298,250.0,83.331 +_.wav=i t_B4,2425.366,278.426,-324.099,250.0,83.333 +_.wav=i g_B4,451.991,250.0,-293.931,250.0,83.332 +_.wav=i z_B4,1411.378,250.0,-331.898,250.0,83.331 +_.wav=i d_B4,2433.166,250.0,-292.899,250.0,83.333 +_Ăł.wav=i ky_B4,381.792,270.674,-319.775,250.0,83.332 +_Ăł.wav=_B4,657.461,247.529,-440.389,122.529,0.0 +_Ăł.wav=i sh_B4,908.285,249.999,-382.598,249.999,83.331 +_Ăł.wav=_B4,1169.985,245.898,-431.005,120.898,35.618 +_Ăł.wav=i ty_B4,1411.378,275.841,-320.2,250.0,83.332 +_Ăł.wav=Ă_B4,1707.338,199.94,-408.275,74.94,0.0 +_Ăł.wav=i gy_B4,1941.774,249.997,-284.462,249.997,83.329 +_Ăł.wav=_B4,2204.819,197.752,-406.085,72.752,33.989 +_Ăł.wav=i j_B4,2460.465,250.0,-347.499,250.0,83.331 +_Ăł.wav=_B4,2722.165,222.497,-475.793,97.497,40.646 +_Ăł.wav=i dy_B4,2990.86,249.997,-292.898,249.997,83.333 +_Ăł.wav=i _B4,4094.545,398.198,-696.442,250.0,83.0 +_Ăł.wav=ł_B4,3265.905,181.852,-752.011,56.852,32.322 +_Ȃ₢.wav=i n_B4,448.092,249.999,-324.097,249.999,83.332 +_Ȃ₢.wav=i y_B4,1462.078,250.0,-304.268,250.0,83.331 +_Ȃ₢.wav=i m_B4,2460.464,250.0,-320.199,250.0,83.333 +_ɂЂ݂т҂.wav=i ny_B4,463.69,249.999,-306.853,249.999,83.329 +_ɂЂ݂т҂.wav=_B4,741.322,179.267,-410.892,54.267,26.232 +_ɂЂ݂т҂.wav=i hy_B4,939.487,249.997,-327.996,249.997,83.328 +_ɂЂ݂т҂.wav=_B4,1224.584,163.355,-415.231,81.897,38.999 +_ɂЂ݂т҂.wav=i my_B4,1454.278,250.0,-327.998,250.0,83.333 +_ɂЂ݂т҂.wav=_B4,1723.778,169.721,-446.23,74.098,38.999 +_ɂЂ݂т҂.wav=i by_B4,1953.474,275.535,-335.797,249.998,83.33 +_ɂЂ݂т҂.wav=_B4,2226.871,162.28,-403.531,70.198,39.187 +_ɂЂ݂т҂.wav=i py_B4,2425.366,271.027,-332.696,250.0,83.333 +_ɂЂ݂т҂.wav=_B4,2707.314,163.356,-456.614,81.898,0.0 +_ɂЂ݂т҂.wav=i ry_B4,2998.659,249.998,-293.931,249.998,83.333 +_ɂЂ݂т҂.wav=_B4,3260.403,124.271,-791.954,32.189,17.333 +_΂ς.wav=i b_B4,436.393,271.249,-304.597,249.999,83.333 +_΂ς.wav=_B4,710.122,179.268,-387.601,54.268,28.426 +_΂ς.wav=i p_B4,1442.578,274.788,-327.999,250.0,83.331 +_΂ς.wav=i r_B4,2522.864,250.0,-284.886,250.0,83.332 +_͂͂.wav=i h_B4,423.054,249.996,-311.635,249.996,83.329 +_͂͂.wav=u h_B4,1426.979,250.0,-304.599,250.0,83.331 +_͂͂.wav=n h_B4,2362.965,250.0,-324.1,250.0,83.333 +_.wav=- _B4,288.597,124.999,-843.672,0.0,0.0 +_.wav=u _B4,514.933,375.0,-583.333,250.0,83.333 +_.wav=u _B4,1048.684,375.0,-593.703,250.0,83.333 +_.wav=i _B4,1547.877,375.0,-637.635,250.0,83.333 +_.wav=o _B4,2023.671,375.0,-697.073,250.0,83.333 +_.wav=a _B4,2515.065,375.0,-616.057,250.0,83.333 +_.wav=o _B4,3064.958,375.0,-1219.088,250.0,83.33 +_サタガザĂ.wav=ky_B4,746.325,21.965,-52.977,21.965,0.0 +_サタガザĂ.wav=u ky_B4,432.491,265.506,-309.438,250.0,83.332 +_サタガザĂ.wav=_B4,733.615,194.774,-403.107,69.774,0.0 +_サタガザĂ.wav=sh_B4,1198.528,49.218,-115.755,10.456,0.0 +_サタガザĂ.wav=u sh_B4,947.284,249.999,-378.698,249.999,83.331 +_サタガザĂ.wav=_B4,1212.884,241.998,-450.331,116.998,50.699 +_サタガザĂ.wav=ch_B4,1730.404,46.516,-103.369,20.673,0.0 +_サタガザĂ.wav=u ch_B4,1423.078,269.486,-313.147,250.0,83.331 +_サタガザĂ.wav=_B4,1712.882,226.421,-449.654,131.793,59.299 +_サタガザĂ.wav=gy_B4,2250.366,19.009,-33.028,15.505,0.0 +_サタガザĂ.wav=u gy_B4,1976.87,250.0,-281.012,250.0,83.33 +_サタガザĂ.wav=_B4,2250.555,171.515,-379.848,46.515,19.381 +_サタガザĂ.wav=j_B4,2745.565,33.592,-89.699,0.0,0.0 +_サタガザĂ.wav=u j_B4,2476.065,250.0,-359.198,250.0,83.331 +_サタガザĂ.wav=_B4,2764.221,199.942,-418.138,74.942,25.841 +_サタガザĂ.wav=u ty_B4,2975.259,284.888,-314.605,250.0,83.333 +_サタガザĂ.wav=u _B4,4242.745,339.697,-643.893,249.997,82.999 +_サタガザĂ.wav=ty_B4,3286.438,26.864,-59.437,12.92,2.584 +_サタガザĂ.wav=Ă_B4,3268.43,210.798,-716.644,85.798,0.0 +_Ƃǂ.wav=k_B4,751.423,5.167,-48.066,5.167,5.167 +_Ƃǂ.wav=u k_B4,428.591,268.09,-322.359,250.0,83.332 +_Ƃǂ.wav=_B4,731.079,205.11,-413.443,80.11,0.0 +_Ƃǂ.wav=s_B4,1205.084,54.268,-136.499,0.0,0.0 +_Ƃǂ.wav=u s_B4,951.185,249.999,-386.498,249.999,83.331 +_Ƃǂ.wav=_B4,1206.03,280.052,-472.913,155.052,59.436 +_Ƃǂ.wav=t_B4,1762.777,0.0,-39.0,0.0,0.0 +_Ƃǂ.wav=u t_B4,1442.578,275.843,-324.099,250.0,83.331 +_Ƃǂ.wav=Ƃ_B4,1747.177,191.299,-399.632,66.299,0.0 +_Ƃǂ.wav=g_B4,2253.913,11.257,-32.018,7.75,0.0 +_Ƃǂ.wav=u g_B4,1962.956,250.0,-288.763,250.0,83.332 +_Ƃǂ.wav=_B4,2239.287,179.268,-387.601,54.268,28.426 +_Ƃǂ.wav=z_B4,2722.549,5.296,-93.03,0.0,0.0 +_Ƃǂ.wav=u z_B4,2464.749,250.0,-346.198,250.0,83.33 +_Ƃǂ.wav=_B4,2725.149,226.399,-486.45,101.399,44.546 +_Ƃǂ.wav=d_B4,3268.811,26.018,-40.037,15.504,0.0 +_Ƃǂ.wav=u d_B4,2982.316,250.0,-291.599,250.0,83.333 +_Ƃǂ.wav=ǂ_B4,3268.715,179.598,-734.511,54.598,23.742 +_ɂЂ݂т҂.wav=ny_B4,717.745,12.252,-51.683,5.167,0.0 +_ɂЂ݂т҂.wav=u ny_B4,452.113,249.997,-314.998,249.997,83.33 +_ɂЂ݂т҂.wav=ɂ_B4,736.196,171.515,-379.848,46.515,21.726 +_ɂЂ݂т҂.wav=hy_B4,1203.906,36.605,-80.599,0.0,0.0 +_ɂЂ݂т҂.wav=u hy_B4,953.905,250.0,-330.6,250.0,83.331 +_ɂЂ݂т҂.wav=Ђ_B4,1224.705,205.596,-413.93,80.596,28.599 +_ɂЂ݂т҂.wav=my_B4,1699.56,19.533,-55.539,3.538,0.0 +_ɂЂ݂т҂.wav=u my_B4,1442.698,250.0,-308.144,250.0,83.331 +_ɂЂ݂т҂.wav=݂_B4,1720.308,175.391,-383.724,50.391,16.374 +_ɂЂ݂т҂.wav=by_B4,2230.328,28.331,-49.006,28.331,10.622 +_ɂЂ݂т҂.wav=u by_B4,1936.717,281.01,-307.199,249.999,83.331 +_ɂЂ݂т҂.wav=т_B4,2218.296,187.02,-395.353,62.02,37.229 +_ɂЂ݂т҂.wav=py_B4,2740.591,12.919,-62.019,12.919,0.0 +_ɂЂ݂т҂.wav=u py_B4,2422.911,286.399,-324.942,250.0,83.333 +_ɂЂ݂т҂.wav=҂_B4,2725.74,214.155,-461.284,89.155,0.0 +_ɂЂ݂т҂.wav=ry_B4,3241.513,0.0,-20.798,-0.001,-0.001 +_ɂЂ݂т҂.wav=u ry_B4,2982.844,250.0,-272.533,250.0,83.33 +_ɂЂ݂т҂.wav=_B4,3250.178,152.732,-854.958,27.732,15.599 +_ʂӂނԂՂ.wav=n_B4,725.786,24.531,-60.357,3.503,0.0 +_ʂӂނԂՂ.wav=u n_B4,463.69,249.999,-322.359,249.999,83.332 +_ʂӂނԂՂ.wav=_B4,735.082,185.507,-393.841,60.507,21.958 +_ʂӂނԂՂ.wav=f_B4,1244.085,35.044,-87.865,0.0,0.0 +_ʂӂނԂՂ.wav=u f_B4,982.386,249.997,-348.322,249.997,83.331 +_ʂӂނԂՂ.wav=_B4,1257.242,213.24,-421.575,88.24,44.659 +_ʂӂނԂՂ.wav=m_B4,1739.377,10.513,-56.853,0.0,0.0 +_ʂӂނԂՂ.wav=u m_B4,1473.778,250.0,-327.998,250.0,83.331 +_ʂӂނԂՂ.wav=_B4,1735.478,195.198,-417.294,70.198,51.809 +_ʂӂނԂՂ.wav=b_B4,2237.399,27.683,-51.872,20.672,0.0 +_ʂӂނԂՂ.wav=u b_B4,1933.973,268.088,-324.098,249.998,83.33 +_ʂӂނԂՂ.wav=_B4,2234.383,191.587,-392.201,66.587,24.322 +_ʂӂނԂՂ.wav=p_B4,2728.745,19.928,-59.719,12.919,0.0 +_ʂӂނԂՂ.wav=u p_B4,2421.465,289.0,-320.2,250.0,83.331 +_ʂӂނԂՂ.wav=_B4,2713.57,207.694,-467.746,82.694,0.0 +_ʂӂނԂՂ.wav=r_B4,3231.245,10.511,-30.043,0.0,0.0 +_ʂӂނԂՂ.wav=u r_B4,2972.505,250.0,-286.401,250.0,83.333 +_ʂӂނԂՂ.wav=_B4,3235.784,161.179,-709.082,36.179,20.673 +_䂤‚Ӄ.wav=y_B4,682.02,9.556,-32.814,6.971,0.0 +_䂤‚Ӄ.wav=u y_B4,431.191,250.0,-294.814,250.0,83.331 +_䂤‚Ӄ.wav=_B4,724.305,188.485,-396.819,63.485,22.407 +_䂤‚Ӄ.wav=w_B4,1209.814,22.04,-58.219,6.971,0.0 +_䂤‚Ӄ.wav=u w_B4,951.183,249.998,-302.001,249.998,83.332 +_䂤‚Ӄ.wav=_B4,1236.459,178.124,-386.457,53.124,24.791 +_䂤‚Ӄ.wav=ts_B4,2227.17,45.319,-123.2,24.401,0.0 +_䂤‚Ӄ.wav=u ts_B4,1923.573,270.917,-301.684,249.999,83.332 +_䂤‚Ӄ.wav=_B4,2222.971,262.798,-454.994,137.798,0.0 +_䂤‚Ӄ.wav=v_B4,3239.888,18.199,-44.198,0.0,0.0 +_䂤‚Ӄ.wav=u v_B4,2932.688,250.0,-353.997,250.0,83.331 +_䂤‚Ӄ.wav=_B4,3229.487,189.998,-695.401,64.998,28.599 +_‚ӂ.wav=e y_B4,470.395,250.0,-304.27,250.0,83.332 +_‚ӂ.wav=_B4,801.297,194.342,-402.675,69.342,30.386 +_‚ӂ.wav=e w_B4,978.915,249.997,-311.635,249.997,83.331 +_‚ӂ.wav=_B4,1290.217,157.76,-366.714,54.267,23.258 +_‚ӂ.wav=e ch_B4,1429.642,275.682,-319.343,250.0,83.329 +_‚ӂ.wav=_B4,1714.769,215.836,-467.712,134.378,64.605 +_‚ӂ.wav=e ts_B4,1945.862,274.789,-303.933,250.0,83.33 +_‚ӂ.wav=‚_B4,2242.091,174.535,-433.527,100.16,0.0 +_‚ӂ.wav=e f_B4,2458.23,250.0,-342.457,250.0,83.333 +_‚ӂ.wav=ӂ_B4,2739.049,164.966,-402.675,69.342,26.966 +_‚ӂ.wav=e v_B4,2966.745,250.0,-330.9,250.0,83.327 +_‚ӂ.wav=_B4,3239.86,194.342,-751.58,69.342,38.523 +_.wav=- _B4,250.405,124.999,-841.127,0.0,0.0 +_.wav=e _B4,455.495,375.0,-694.488,250.0,83.332 +_.wav=e _B4,1021.29,374.997,-683.203,249.997,83.331 +_.wav=u _B4,1537.509,375.0,-596.756,250.0,83.332 +_.wav=o _B4,2019.057,375.0,-642.803,250.0,83.332 +_.wav=e _B4,2558.392,375.0,-1280.603,250.0,83.333 +_.wav=o _B4,3103.612,374.998,-829.678,249.998,83.333 +_Ă.wav=e ky_B4,416.464,263.944,-324.69,249.999,83.331 +_Ă.wav=_B4,708.839,198.194,-406.528,73.194,0.0 +_Ă.wav=e sh_B4,913.421,249.997,-365.572,249.997,83.33 +_Ă.wav=_B4,1174.979,248.275,-438.553,123.275,50.081 +_Ă.wav=e ch_B4,1383.414,275.849,-316.941,250.0,83.331 +_Ă.wav=e gy_B4,1930.452,249.999,-292.376,249.999,83.331 +_Ă.wav=_B4,2201.601,171.903,-449.972,59.752,26.157 +_Ă.wav=e j_B4,2427.411,250.0,-345.615,250.0,83.332 +_Ă.wav=_B4,2712.082,202.047,-410.379,77.047,30.819 +_Ă.wav=e ty_B4,2908.96,277.889,-311.638,250.0,83.333 +_Ă.wav=e _B4,4064.678,361.718,-577.452,249.998,83.0 +_Ă.wav=Ă_B4,3205.64,205.448,-804.698,80.448,0.0 +_Ă.wav=e k_B4,404.906,271.25,-311.638,250.0,83.33 +_Ă.wav=_B4,700.704,194.774,-403.107,69.774,0.0 +_Ă.wav=e s_B4,936.539,249.997,-350.832,249.997,83.328 +_Ă.wav=_B4,1193.806,233.301,-441.634,108.301,61.785 +_Ă.wav=e t_B4,1418.083,274.791,-311.64,250.0,83.331 +_Ă.wav=_B4,1718.166,175.08,-383.413,50.08,0.0 +_Ă.wav=e g_B4,1958.914,249.998,-282.53,249.998,83.33 +_Ă.wav=_B4,2229.459,169.515,-398.555,44.515,18.673 +_Ă.wav=e z_B4,2443.459,250.0,-340.743,250.0,83.333 +_Ă.wav=_B4,2714.004,205.471,-486.196,80.471,33.955 +_Ă.wav=e d_B4,2973.165,250.0,-296.516,250.0,83.33 +_Ă.wav=_B4,3243.712,186.637,-648.576,61.637,28.041 +_ɂЂ݂т҂肥.wav=e ny_B4,469.113,250.0,-311.638,250.0,83.331 +_ɂЂ݂т҂肥.wav=ɂ_B4,744.011,174.581,-382.913,49.581,24.791 +_ɂЂ݂т҂肥.wav=e hy_B4,977.632,249.996,-319.338,249.996,83.33 +_ɂЂ݂т҂肥.wav=Ђ_B4,1247.743,194.774,-403.107,69.774,41.442 +_ɂЂ݂т҂肥.wav=e my_B4,1445.05,250.0,-319.774,250.0,83.331 +_ɂЂ݂т҂肥.wav=݂_B4,1717.649,192.291,-400.624,67.291,28.332 +_ɂЂ݂т҂肥.wav=e by_B4,1938.157,278.331,-306.502,250.0,83.331 +_ɂЂ݂т҂肥.wav=т_B4,2216.408,178.932,-387.265,53.932,29.143 +_ɂЂ݂т҂肥.wav=e py_B4,2420.991,281.011,-322.359,250.0,83.331 +_ɂЂ݂т҂肥.wav=҂_B4,2717.219,184.069,-392.4,59.069,0.0 +_ɂЂ݂т҂肥.wav=e ry_B4,2993.712,250.0,-273.257,250.0,83.33 +_ɂЂ݂т҂肥.wav=肥_B4,3256.475,153.33,-708.318,28.329,14.166 +_˂ւ߂ׂ؂.wav=e n_B4,445.998,250.0,-306.854,250.0,83.332 +_˂ւ߂ׂ؂.wav=_B4,734.522,166.091,-374.424,41.091,23.114 +_˂ւ߂ׂ؂.wav=e h_B4,926.264,249.999,-301.364,249.999,83.331 +_˂ւ߂ׂ؂.wav=_B4,1235.333,166.091,-374.425,41.091,23.113 +_˂ւ߂ׂ؂.wav=e m_B4,1442.483,250.0,-332.16,250.0,83.331 +_˂ւ߂ׂ؂.wav=_B4,1728.088,181.852,-390.185,56.852,25.311 +_˂ւ߂ׂ؂.wav=e b_B4,1940.724,271.027,-311.64,250.0,83.333 +_˂ւ߂ׂ؂.wav=_B4,2244.308,181.852,-390.185,56.852,25.842 +_˂ւ߂ׂ؂.wav=e p_B4,2431.263,288.552,-324.48,250.0,83.333 +_˂ւ߂ׂ؂.wav=_B4,2727.078,192.189,-488.42,67.189,0.0 +_˂ւ߂ׂ؂.wav=e r_B4,2973.165,250.0,-275.841,250.0,83.333 +_˂ւ߂ׂ؂.wav=_B4,3233.439,153.25,-584.281,28.25,15.411 +_EEE.wav=E _B4,699.714,110.967,-325.17,45.08,0.0 +_EEE.wav=o E_B4,785.008,308.953,-397.303,250.0,83.332 +_EEE.wav=E _B4,1191.338,120.158,-325.613,54.268,0.0 +_EEE.wav=N E_B4,1392.741,201.131,-290.364,145.646,79.758 +_񂠂.wav=- _B4,264.531,121.532,-329.865,0.0,0.0 +_񂠂.wav=o _B4,512.773,375.0,-624.714,250.0,83.332 +_񂠂.wav=u _B4,939.106,374.999,-655.733,249.999,83.333 +_񂠂.wav=n _B4,1468.166,375.0,-669.606,250.0,83.333 +_񂠂.wav=a _B4,1940.725,375.0,-750.427,250.0,83.333 +_񂠂.wav=n _B4,2308.456,375.0,-784.199,250.0,83.33 +_񂠂.wav=n _B4,2986.477,375.0,-880.656,250.0,83.332 +_.wav=u _B4,980.243,374.999,-655.733,249.999,83.333 +_.wav=N _B4,1470.78,375.0,-668.648,250.0,83.333 +_.wav=a _B4,2024.33,375.0,-643.198,250.0,83.333 +_.wav=N _B4,2450.067,375.0,-655.724,250.0,83.33 +_.wav=N _B4,3083.03,375.0,-1133.808,250.0,83.33 +_債傿催傶Ă.wav=o ky_B4,415.845,267.524,-324.943,250.0,83.332 +_債傿催傶Ă.wav=_B4,712.372,215.446,-423.779,90.446,0.0 +_債傿催傶Ă.wav=o sh_B4,929.5,249.997,-360.336,249.997,83.331 +_債傿催傶Ă.wav=_B4,1198.521,242.949,-451.282,117.949,48.175 +_債傿催傶Ă.wav=o ch_B4,1443.147,264.827,-313.624,250.0,83.331 +_債傿催傶Ă.wav=_B4,1719.144,228.369,-483.372,103.369,51.077 +_債傿催傶Ă.wav=o gy_B4,1975.825,250.0,-299.462,250.0,83.333 +_債傿催傶Ă.wav=_B4,2257.249,177.282,-385.614,52.282,10.935 +_債傿催傶Ă.wav=o j_B4,2466.648,250.0,-337.51,250.0,83.331 +_債傿催傶Ă.wav=_B4,2734.241,202.527,-410.86,77.527,31.01 +_債傿催傶Ă.wav=o ty_B4,2946.06,265.502,-299.459,249.997,83.329 +_債傿催傶Ă.wav=o _B4,4194.044,345.118,-608.122,249.997,82.999 +_債傿催傶Ă.wav=Ă_B4,3222.69,192.477,-621.793,67.477,0.0 +_Ƃ.wav=o k_B4,419.651,273.258,-313.75,249.999,83.332 +_Ƃ.wav=_B4,727.395,185.206,-393.539,60.204,0.0 +_Ƃ.wav=o s_B4,925.693,249.998,-352.108,249.998,83.33 +_Ƃ.wav=_B4,1182.522,236.121,-444.455,111.121,36.179 +_Ƃ.wav=o t_B4,1424.125,271.248,-310.877,250.0,83.33 +_Ƃ.wav=_B4,1705.861,192.189,-400.522,67.189,0.0 +_Ƃ.wav=o g_B4,1956.802,249.999,-283.594,249.999,83.332 +_Ƃ.wav=_B4,2229.707,189.605,-410.893,64.605,39.814 +_Ƃ.wav=o z_B4,2466.648,250.0,-322.292,250.0,83.331 +_Ƃ.wav=_B4,2724.258,193.486,-448.369,68.486,32.307 +_Ƃ.wav=o d_B4,2968.887,249.997,-291.85,249.997,83.33 +_Ƃ.wav=_B4,3249.602,170.38,-934.718,45.38,16.954 +_ɂЂ݂т҂.wav=o ny_B4,476.722,250.0,-280.439,250.0,83.331 +_ɂЂ݂т҂.wav=ɂ_B4,753.434,189.606,-397.938,64.605,29.561 +_ɂЂ݂т҂.wav=o hy_B4,963.742,249.998,-326.094,249.998,83.33 +_ɂЂ݂т҂.wav=Ђ_B4,1225.155,201.094,-422.382,76.094,34.243 +_ɂЂ݂т҂.wav=o my_B4,1450.758,250.0,-317.191,250.0,83.331 +_ɂЂ݂т҂.wav=݂_B4,1757.831,182.071,-413.696,57.071,34.243 +_ɂЂ݂т҂.wav=o by_B4,1937.775,267.522,-307.073,250.0,83.33 +_ɂЂ݂т҂.wav=т_B4,2233.435,174.462,-382.794,49.46,26.633 +_ɂЂ݂т҂.wav=o py_B4,2420.989,278.038,-329.903,250.0,83.331 +_ɂЂ݂т҂.wav=҂_B4,2711.415,202.525,-428.982,77.525,0.0 +_ɂЂ݂т҂.wav=o ry_B4,2977.718,250.0,-270.674,250.0,83.33 +_ɂЂ݂т҂.wav=_B4,3235.609,150.93,-642.758,25.93,15.782 +_̂قڂۂ.wav=o n_B4,447.625,249.999,-290.585,249.999,83.333 +_̂قڂۂ.wav=_B4,712.845,160.509,-368.842,35.509,22.828 +_̂قڂۂ.wav=o h_B4,933.706,249.998,-294.058,249.998,83.33 +_̂قڂۂ.wav=_B4,1212.546,143.909,-370.516,53.265,27.902 +_̂قڂۂ.wav=o m_B4,1462.244,250.0,-310.878,250.0,83.33 +_̂قڂۂ.wav=_B4,1730.003,185.876,-425.254,60.876,35.511 +_̂قڂۂ.wav=o b_B4,1956.876,278.329,-321.022,249.999,83.331 +_̂قڂۂ.wav=_B4,2264.358,112.754,-379.847,46.515,18.181 +_̂قڂۂ.wav=o p_B4,2448.966,282.975,-313.414,250.0,83.333 +_̂قڂۂ.wav=_B4,2748.359,192.288,-464.719,67.288,0.0 +_̂قڂۂ.wav=o r_B4,2963.241,250.0,-295.656,250.0,83.33 +_̂قڂۂ.wav=_B4,3226.71,174.099,-648.734,49.099,23.258 +_悤‚ӂ.wav=o y_B4,426.414,249.998,-319.774,249.998,83.33 +_悤‚ӂ.wav=_B4,787.295,210.28,-418.613,85.28,36.179 +_悤‚ӂ.wav=o w_B4,1001.366,250.0,-304.27,250.0,83.333 +_悤‚ӂ.wav=_B4,1322.389,157.129,-324.678,32.129,13.528 +_悤‚ӂ.wav=o ts_B4,1931.436,267.521,-295.657,249.999,83.332 +_悤‚ӂ.wav=‚_B4,2217.143,216.12,-424.455,91.12,0.0 +_悤‚ӂ.wav=o f_B4,2456.502,250.0,-331.17,250.0,83.33 +_悤‚ӂ.wav=ӂ_B4,2743.913,191.588,-399.921,66.588,35.046 +_悤‚ӂ.wav=o v_B4,2961.276,250.0,-328.632,250.0,83.33 +_悤‚ӂ.wav=_B4,3244.95,177.569,-588.789,52.569,28.038 +_񂢂񂦂񂨂.wav=- _B4,300.58,74.899,-386.476,0.0,0.0 +_񂢂񂦂񂨂.wav=n _B4,529.991,375.0,-694.488,250.0,83.332 +_񂢂񂦂񂨂.wav=i _B4,1024.617,375.0,-561.997,250.0,83.33 +_񂢂񂦂񂨂.wav=n _B4,1576.318,375.0,-684.151,250.0,83.331 +_񂢂񂦂񂨂.wav=e _B4,2147.042,375.0,-596.239,250.0,83.333 +_񂢂񂦂񂨂.wav=n _B4,2546.549,375.0,-649.508,250.0,83.332 +_񂢂񂦂񂨂.wav=o _B4,3025.957,375.0,-1263.02,250.0,83.331 +_񂢂񂦂񂨂.wav=n _B4,4334.821,504.999,-624.712,250.0,83.0 +_.wav=- _B4,304.406,74.899,-386.476,0.0,0.0 +_.wav=N _B4,583.257,375.0,-658.309,250.0,83.332 +_.wav=i _B4,1066.49,375.0,-645.388,250.0,83.331 +_.wav=N _B4,1564.922,375.0,-640.22,250.0,83.331 +_.wav=e _B4,2059.551,375.0,-624.714,250.0,83.333 +_.wav=N _B4,2538.464,375.0,-733.796,250.0,83.333 +_.wav=o _B4,3045.002,375.0,-940.647,250.0,83.332 +_̓.wav=N v_B4,431.084,250.0,-316.3,250.0,83.328 +_̓.wav=N h_B4,1378.485,250.0,-318.486,250.0,83.331 +_̓.wav=N hy_B4,2360.132,250.0,-360.339,250.0,83.328 +_񂩂񂳂.wav=n k_B4,404.43,279.488,-314.605,250.0,83.33 +_񂩂񂳂.wav=n s_B4,1424.125,250.0,-360.339,250.0,83.326 +_񂩂񂳂.wav=n t_B4,2432.404,278.038,-309.58,250.0,83.332 +_񂪂񂴂.wav=n g_B4,484.332,250.0,-281.011,250.0,83.331 +_񂪂񂴂.wav=n z_B4,1473.588,250.0,-324.098,250.0,83.331 +_񂪂񂴂.wav=n d_B4,2481.866,250.0,-277.299,250.0,83.331 +_񂫂񂵂񂿂.wav=n ky_B4,455.161,267.522,-299.1,250.0,83.332 +_񂫂񂵂񂿂.wav=n sh_B4,1441.88,250.0,-377.289,250.0,83.331 +_񂫂񂵂񂿂.wav=n ch_B4,2418.455,265.376,-293.627,250.0,83.333 +_񂬂񂶂‚.wav=n gy_B4,452.626,249.999,-286.178,249.999,83.331 +_񂬂񂶂‚.wav=n j_B4,1507.831,250.0,-310.877,250.0,83.331 +_񂬂񂶂‚.wav=n ts_B4,2418.455,267.338,-305.803,250.0,83.33 +_Ȃς.wav=n n_B4,467.844,249.999,-306.853,249.999,83.332 +_Ȃς.wav=n p_B4,1469.878,264.016,-292.899,250.0,83.331 +_Ȃς.wav=n m_B4,2468.613,250.0,-323.599,250.0,83.333 +_ɂ҂݂.wav=n ny_B4,389.591,250.0,-335.279,250.0,83.331 +_ɂ҂݂.wav=n py_B4,1426.978,273.212,-299.102,250.0,83.333 +_ɂ҂݂.wav=n my_B4,2417.185,250.0,-332.695,250.0,83.333 +_Ђтӂ.wav=n hy_B4,420.79,250.0,-353.369,250.0,83.331 +_Ђтӂ.wav=n by_B4,1469.878,265.6,-285.099,250.0,83.331 +_Ђтӂ.wav=n f_B4,2472.165,250.0,-337.864,250.0,83.333 +_Ӄ⃓.wav=N f_B4,455.495,250.0,-340.762,250.0,83.331 +_Ӄ⃓.wav=N y_B4,1463.346,250.0,-330.111,250.0,83.331 +_Ӄ⃓.wav=N w_B4,2445.355,250.0,-306.852,250.0,83.332 +_΂.wav=n y_B4,463.248,250.0,-317.19,250.0,83.331 +_΂.wav=n b_B4,1478.852,273.258,-291.347,250.0,83.332 +_΂.wav=n r_B4,2528.051,250.0,-275.843,250.0,83.333 +_.wav=n ry_B4,408.979,250.0,-317.19,250.0,83.33 +_.wav=n v_B4,1489.379,250.0,-309.438,250.0,83.328 diff --git "a/OpenUtau.Test/Files/ja_cvvc/\345\274\261/\345\274\261_C4/oto.ini" "b/OpenUtau.Test/Files/ja_cvvc/\345\274\261/\345\274\261_C4/oto.ini" new file mode 100644 index 000000000..1daf4cbdf --- /dev/null +++ "b/OpenUtau.Test/Files/ja_cvvc/\345\274\261/\345\274\261_C4/oto.ini" @@ -0,0 +1,416 @@ +_EEEEE.wav=E _C4,707.813,124.841,-301.699,48.548,34.678 +_EEEEE.wav=a E_C4,821.512,319.357,-378.31,249.999,83.333 +_EEEEE.wav=E _C4,1201.649,107.502,-315.57,58.952,31.21 +_EEEEE.wav=i E_C4,1318.188,305.485,-357.502,250.0,83.333 +_EEEEE.wav=E _C4,1693.913,149.115,-319.038,65.887,45.081 +_EEEEE.wav=u E_C4,1792.175,281.211,-360.971,250.0,83.333 +_EEEEE.wav=E _C4,2206.344,156.051,-315.57,72.823,31.21 +_EEEEE.wav=e E_C4,2329.191,308.952,-381.776,250.0,83.333 +_EEEEE.wav=E _C4,2707.118,201.29,-297.087,76.29,45.081 +_EEEEE.wav=n E_C4,3916.288,383.168,-508.728,249.998,83.33 +_.wav=- _C4,249.252,128.467,-841.09,3.467,3.467 +_.wav=a _C4,436.114,375.0,-680.008,250.0,83.332 +_.wav=a _C4,1036.57,375.0,-598.871,250.0,83.331 +_.wav=i _C4,1534.35,375.0,-610.501,250.0,83.333 +_.wav=a _C4,2078.554,327.104,-673.074,250.0,83.333 +_.wav=u _C4,2569.379,351.635,-671.199,250.0,83.332 +_.wav=e _C4,3128.688,351.635,-1207.27,250.0,83.331 +_.wav=a _C4,4426.155,463.199,-589.463,250.0,82.999 +_.wav=a k_C4,396.821,283.596,-318.923,250.0,82.999 +_.wav=_C4,705.793,138.843,-351.504,55.172,0.0 +_.wav=a s_C4,883.839,250.0,-330.184,250.0,83.331 +_.wav=_C4,1137.644,190.843,-473.229,114.144,56.708 +_.wav=a t_C4,1374.661,273.258,-315.094,250.0,83.331 +_.wav=_C4,1678.628,146.699,-385.902,52.569,0.0 +_.wav=a g_C4,1903.533,250.0,-315.093,250.0,83.331 +_.wav=_C4,2188.141,136.256,-408.184,49.099,23.258 +_.wav=a z_C4,2390.551,250.0,-322.753,250.0,83.333 +_.wav=_C4,2667.185,160.084,-413.233,79.9,41.61 +_.wav=a d_C4,2892.789,249.998,-292.117,249.998,83.333 +_.wav=_C4,3165.281,119.844,-857.713,53.605,26.803 +_ႵႿႬႶĂ.wav=a ky_C4,457.698,271.028,-317.19,250.0,83.333 +_ႵႿႬႶĂ.wav=_C4,770.174,143.694,-375.776,63.083,0.0 +_ႵႿႬႶĂ.wav=a sh_C4,956.133,249.998,-364.142,249.998,83.33 +_ႵႿႬႶĂ.wav=_C4,1217.545,202.363,-455.087,121.754,57.15 +_ႵႿႬႶĂ.wav=a ch_C4,1446.955,278.915,-304.598,250.0,83.331 +_ႵႿႬႶĂ.wav=_C4,1726.739,187.498,-436.717,103.384,38.779 +_ႵႿႬႶĂ.wav=a gy_C4,1994.851,249.997,-286.177,249.997,83.331 +_ႵႿႬႶĂ.wav=_C4,2271.169,112.86,-383.109,49.777,18.236 +_ႵႿႬႶĂ.wav=a j_C4,2489.477,250.0,-318.487,250.0,83.333 +_ႵႿႬႶĂ.wav=_C4,2762.306,137.681,-374.929,57.071,19.024 +_ႵႿႬႶĂ.wav=a ty_C4,2923.228,276.824,-318.922,250.0,83.33 +_ႵႿႬႶĂ.wav=Ă_C4,3235.545,184.437,-697.294,59.437,0.0 +_Ȃ͂܂΂ς.wav=a n_C4,465.31,249.998,-303.605,249.998,83.331 +_Ȃ͂܂΂ς.wav=_C4,783.795,155.437,-363.769,30.437,19.024 +_Ȃ͂܂΂ς.wav=a h_C4,933.305,249.994,-285.735,249.994,83.328 +_Ȃ͂܂΂ς.wav=_C4,1278.422,115.352,-382.796,49.462,26.633 +_Ȃ͂܂΂ς.wav=a m_C4,1435.54,250.0,-310.875,250.0,83.331 +_Ȃ͂܂΂ς.wav=_C4,1727.392,163.048,-371.382,38.048,22.828 +_Ȃ͂܂΂ς.wav=a b_C4,1949.192,275.843,-319.774,249.999,83.331 +_Ȃ͂܂΂ς.wav=_C4,2243.849,140.964,-387.601,54.268,26.526 +_Ȃ͂܂΂ς.wav=a p_C4,2409.577,281.011,-337.864,250.0,83.333 +_Ȃ͂܂΂ς.wav=_C4,2728.424,174.1,-437.126,49.1,0.0 +_Ȃ͂܂΂ς.wav=a r_C4,2976.772,249.998,-275.841,249.998,83.333 +_Ȃ͂܂΂ς.wav=_C4,3240.97,153.425,-614.486,28.425,10.336 +_ɂЂ݂т҂.wav=a ny_C4,456.852,250.0,-296.516,250.0,83.332 +_ɂЂ݂т҂.wav=ɂ_C4,754.201,154.902,-397.591,64.259,32.129 +_ɂЂ݂т҂.wav=a hy_C4,962.474,249.997,-331.686,249.997,83.331 +_ɂЂ݂т҂.wav=Ђ_C4,1226.0,196.452,-426.34,93.006,34.294 +_ɂЂ݂т҂.wav=a my_C4,1464.71,250.0,-309.186,250.0,83.333 +_ɂЂ݂т҂.wav=݂_C4,1742.028,154.224,-431.567,77.526,33.595 +_ɂЂ݂т҂.wav=a by_C4,1967.084,271.026,-307.493,249.997,83.331 +_ɂЂ݂т҂.wav=т_C4,2267.813,160.288,-402.889,59.186,38.463 +_ɂЂ݂т҂.wav=a py_C4,2447.337,281.54,-315.95,250.0,83.333 +_ɂЂ݂т҂.wav=҂_C4,2758.77,155.37,-418.645,54.267,0.0 +_ɂЂ݂т҂.wav=a ry_C4,3014.879,249.997,-275.84,249.997,83.33 +_ɂЂ݂т҂.wav=_C4,3282.236,160.955,-881.0,35.955,17.977 +_킿‚ӂ.wav=a y_C4,465.308,250.0,-303.124,250.0,83.33 +_킿‚ӂ.wav=_C4,762.408,184.435,-373.419,59.435,31.009 +_킿‚ӂ.wav=a w_C4,957.401,249.997,-309.435,249.997,83.328 +_킿‚ӂ.wav=_C4,1239.564,125.386,-377.262,43.931,23.258 +_킿‚ӂ.wav=a ts_C4,1926.362,270.675,-304.27,250.0,83.33 +_킿‚ӂ.wav=‚_C4,2237.239,198.027,-437.892,96.389,0.0 +_킿‚ӂ.wav=a f_C4,2459.038,250.0,-343.033,250.0,83.33 +_킿‚ӂ.wav=ӂ_C4,2732.832,187.985,-457.146,85.278,36.179 +_킿‚ӂ.wav=a v_C4,2976.495,250.0,-321.024,250.0,83.33 +_킿‚ӂ.wav=_C4,3251.861,175.73,-670.51,50.73,25.365 +_.wav=- _C4,264.206,125.0,-791.379,0.0,0.0 +_.wav=i _C4,535.607,375.0,-661.379,250.0,83.333 +_.wav=i _C4,1040.4,375.0,-625.298,250.0,83.333 +_.wav=u _C4,1561.154,375.0,-647.433,250.0,83.332 +_.wav=a _C4,2085.737,375.0,-643.116,250.0,83.331 +_.wav=e _C4,2510.765,375.0,-636.973,250.0,83.333 +_.wav=i _C4,3054.494,375.0,-928.461,250.0,83.333 +_‚ӂ.wav=_C4,677.545,171.04,-379.373,46.04,14.166 +_‚ӂ.wav=i w_C4,963.817,293.931,-340.448,250.0,83.333 +_‚ӂ.wav=_C4,1269.16,192.188,-385.05,67.188,31.01 +_‚ӂ.wav=i ch_C4,1409.096,265.409,-303.933,250.0,83.333 +_‚ӂ.wav=_C4,1734.495,191.728,-403.14,111.12,37.521 +_‚ӂ.wav=i ts_C4,1932.575,267.706,-319.775,249.999,83.332 +_‚ӂ.wav=‚_C4,2240.01,195.153,-444.375,111.042,0.0 +_‚ӂ.wav=i f_C4,2453.328,250.0,-337.863,250.0,83.331 +_‚ӂ.wav=ӂ_C4,2737.366,152.224,-397.938,64.605,29.188 +_‚ӂ.wav=i v_C4,2951.108,250.0,-343.969,250.0,83.33 +_‚ӂ.wav=_C4,3245.944,179.269,-751.704,54.269,31.01 +_.wav=i k_C4,389.456,281.011,-332.696,249.999,83.332 +_.wav=i s_C4,1414.232,250.0,-363.004,250.0,83.331 +_.wav=i t_C4,2405.581,278.425,-319.343,250.0,83.332 +_.wav=i g_C4,453.76,249.999,-291.091,249.999,83.33 +_.wav=i z_C4,1429.697,250.0,-343.032,250.0,83.331 +_.wav=i d_C4,2439.024,250.0,-283.388,250.0,83.333 +_Ăł.wav=i ky_C4,440.918,270.674,-319.775,250.0,83.332 +_Ăł.wav=_C4,719.916,247.529,-440.39,122.529,0.0 +_Ăł.wav=i sh_C4,957.139,249.999,-378.412,249.999,83.331 +_Ăł.wav=_C4,1209.706,263.685,-448.792,138.685,53.405 +_Ăł.wav=i ty_C4,1452.812,250.0,-321.911,250.0,83.333 +_Ăł.wav=Ă_C4,1740.876,199.94,-408.275,74.94,0.0 +_Ăł.wav=i gy_C4,1992.149,249.998,-284.462,249.998,83.33 +_Ăł.wav=_C4,2257.556,186.637,-394.97,61.637,35.955 +_Ăł.wav=i j_C4,2480.115,250.0,-352.732,250.0,83.333 +_Ăł.wav=_C4,2750.662,212.32,-420.653,87.32,30.469 +_Ăł.wav=i dy_C4,3006.612,249.997,-288.761,249.997,83.333 +_Ăł.wav=i _C4,4306.384,416.937,-696.441,250.0,82.999 +_Ăł.wav=ł_C4,3269.337,181.852,-752.011,56.852,32.322 +_Ȃ₢.wav=i n_C4,451.25,249.999,-314.606,249.999,83.332 +_Ȃ₢.wav=i y_C4,1465.713,250.0,-304.268,250.0,83.331 +_Ȃ₢.wav=i m_C4,2459.629,250.0,-324.942,250.0,83.333 +_ɂЂ݂т҂.wav=i ny_C4,453.818,250.0,-306.854,250.0,83.33 +_ɂЂ݂т҂.wav=_C4,711.189,179.267,-410.892,54.267,26.232 +_ɂЂ݂т҂.wav=i hy_C4,872.447,249.997,-350.784,249.997,83.331 +_ɂЂ݂т҂.wav=_C4,1130.149,173.916,-425.791,92.457,43.66 +_ɂЂ݂т҂.wav=i my_C4,1401.324,250.0,-335.278,250.0,83.332 +_ɂЂ݂т҂.wav=_C4,1663.839,178.316,-454.825,82.693,41.347 +_ɂЂ݂т҂.wav=i by_C4,1901.376,279.192,-314.605,249.998,83.331 +_ɂЂ݂т҂.wav=_C4,2186.827,155.167,-396.418,63.085,32.074 +_ɂЂ݂т҂.wav=i py_C4,2405.299,271.027,-332.696,250.0,83.333 +_ɂЂ݂т҂.wav=_C4,2676.242,168.778,-462.037,87.32,0.0 +_ɂЂ݂т҂.wav=i ry_C4,2973.283,262.919,-278.249,249.998,83.333 +_ɂЂ݂т҂.wav=_C4,3225.85,120.331,-788.014,28.249,17.977 +_΂ς.wav=i b_C4,430.705,271.248,-311.637,249.998,83.332 +_΂ς.wav=_C4,708.62,179.268,-387.601,54.268,28.426 +_΂ς.wav=i p_C4,1391.234,274.788,-335.28,250.0,83.331 +_΂ς.wav=i r_C4,2469.902,250.0,-275.683,250.0,83.333 +_͂͂.wav=i h_C4,448.567,249.998,-327.047,249.998,83.33 +_͂͂.wav=u h_C4,1434.778,250.0,-324.48,250.0,83.331 +_͂͂.wav=n h_C4,2431.263,250.0,-308.146,250.0,83.333 +_.wav=- _C4,244.21,124.999,-843.672,0.0,0.0 +_.wav=u _C4,514.933,375.0,-583.333,250.0,83.333 +_.wav=u _C4,1088.063,375.0,-593.703,250.0,83.333 +_.wav=i _C4,1532.372,375.0,-637.635,250.0,83.333 +_.wav=o _C4,1999.795,375.0,-697.073,250.0,83.333 +_.wav=a _C4,2521.151,375.0,-616.057,250.0,83.333 +_.wav=o _C4,3034.803,375.0,-1219.088,250.0,83.33 +_サタガザĂ.wav=ky_C4,735.788,21.965,-52.976,21.965,0.0 +_サタガザĂ.wav=u ky_C4,422.999,265.506,-309.438,250.0,83.332 +_サタガザĂ.wav=_C4,723.933,194.774,-403.107,69.774,0.0 +_サタガザĂ.wav=sh_C4,1171.058,49.217,-144.006,10.456,0.0 +_サタガザĂ.wav=u sh_C4,926.38,249.999,-386.116,249.999,83.331 +_サタガザĂ.wav=_C4,1181.514,253.689,-462.023,128.689,64.206 +_サタガザĂ.wav=ch_C4,1715.586,46.516,-90.016,20.672,0.0 +_サタガザĂ.wav=u ch_C4,1409.211,280.819,-309.07,250.0,83.333 +_サタガザĂ.wav=_C4,1697.735,205.06,-428.294,110.433,46.228 +_サタガザĂ.wav=gy_C4,2254.952,19.009,-59.165,15.505,0.0 +_サタガザĂ.wav=u gy_C4,1979.365,250.0,-288.523,250.0,83.33 +_サタガザĂ.wav=_C4,2272.739,171.515,-379.848,46.515,19.381 +_サタガザĂ.wav=j_C4,2740.448,33.592,-84.753,0.0,0.0 +_サタガザĂ.wav=u j_C4,2480.175,250.0,-340.447,250.0,83.333 +_サタガザĂ.wav=_C4,2730.175,222.593,-430.926,97.593,48.493 +_サタガザĂ.wav=u ty_C4,2939.894,278.251,-314.605,250.0,83.333 +_サタガザĂ.wav=u _C4,4368.289,362.413,-596.883,249.998,82.999 +_サタガザĂ.wav=ty_C4,3259.599,26.864,-59.437,12.92,2.584 +_サタガザĂ.wav=Ă_C4,3233.995,209.752,-715.598,84.752,0.0 +_Ƃǂ.wav=k_C4,780.833,5.167,-41.122,5.167,5.167 +_Ƃǂ.wav=u k_C4,448.679,268.09,-322.359,250.0,83.332 +_Ƃǂ.wav=_C4,744.412,205.11,-413.443,80.11,0.0 +_Ƃǂ.wav=s_C4,1225.172,54.267,-123.277,0.0,0.0 +_Ƃǂ.wav=u s_C4,972.605,249.998,-373.275,249.998,83.331 +_Ƃǂ.wav=_C4,1230.309,255.98,-448.841,130.98,35.364 +_Ƃǂ.wav=t_C4,1782.484,0.0,-38.524,0.0,0.0 +_Ƃǂ.wav=u t_C4,1465.71,250.0,-311.638,250.0,83.33 +_Ƃǂ.wav=Ƃ_C4,1759.37,191.773,-400.106,66.773,0.0 +_Ƃǂ.wav=g_C4,2285.818,11.257,-28.426,7.75,0.0 +_Ƃǂ.wav=u g_C4,1997.34,250.0,-283.387,250.0,83.333 +_Ƃǂ.wav=_C4,2262.415,179.268,-387.601,54.268,28.426 +_Ƃǂ.wav=z_C4,2730.174,5.295,-87.319,0.0,0.0 +_Ƃǂ.wav=u z_C4,2469.899,250.0,-350.163,250.0,83.33 +_Ƃǂ.wav=_C4,2732.741,214.887,-474.938,89.887,33.034 +_Ƃǂ.wav=d_C4,3254.003,26.018,-40.037,15.504,0.0 +_Ƃǂ.wav=u d_C4,2983.551,250.0,-288.762,250.0,83.333 +_Ƃǂ.wav=ǂ_C4,3251.529,173.797,-728.71,48.797,17.941 +_ɂЂ݂т҂.wav=ny_C4,677.991,12.252,-59.099,5.167,0.0 +_ɂЂ݂т҂.wav=u ny_C4,428.019,249.999,-312.022,249.999,83.329 +_ɂЂ݂т҂.wav=ɂ_C4,683.157,186.637,-394.97,61.637,36.848 +_ɂЂ݂т҂.wav=hy_C4,1186.537,36.605,-89.888,0.0,0.0 +_ɂЂ݂т҂.wav=u hy_C4,936.163,250.0,-335.279,250.0,83.332 +_ɂЂ݂т҂.wav=Ђ_C4,1187.271,214.154,-422.487,89.154,31.01 +_ɂЂ݂т҂.wav=my_C4,1676.104,19.533,-75.449,3.538,0.0 +_ɂЂ݂т҂.wav=u my_C4,1424.504,250.0,-332.184,250.0,83.331 +_ɂЂ݂т҂.wav=݂_C4,1687.346,189.206,-397.539,64.206,30.189 +_ɂЂ݂т҂.wav=by_C4,2211.191,28.331,-49.006,28.331,10.622 +_ɂЂ݂т҂.wav=u by_C4,1925.317,280.818,-311.637,249.999,83.331 +_ɂЂ݂т҂.wav=т_C4,2198.048,187.02,-395.353,62.02,37.229 +_ɂЂ݂т҂.wav=py_C4,2709.435,12.919,-62.019,12.919,0.0 +_ɂЂ݂т҂.wav=u py_C4,2400.444,267.707,-327.048,250.0,83.333 +_ɂЂ݂т҂.wav=҂_C4,2697.939,214.155,-461.284,89.155,0.0 +_ɂЂ݂т҂.wav=ry_C4,3246.452,0.0,-25.841,-0.001,-0.001 +_ɂЂ݂т҂.wav=u ry_C4,2991.313,250.0,-278.427,250.0,83.33 +_ɂЂ݂т҂.wav=_C4,3251.586,150.681,-852.907,25.681,15.409 +_ʂӂނԂՂ.wav=n_C4,702.768,24.531,-60.357,3.503,0.0 +_ʂӂނԂՂ.wav=u n_C4,440.863,249.999,-322.359,249.999,83.332 +_ʂӂނԂՂ.wav=_C4,711.408,173.795,-382.129,48.795,25.682 +_ʂӂނԂՂ.wav=f_C4,1178.831,35.044,-87.865,0.0,0.0 +_ʂӂނԂՂ.wav=u f_C4,923.695,249.998,-348.325,249.998,83.33 +_ʂӂނԂՂ.wav=_C4,1189.104,212.32,-420.655,87.32,43.739 +_ʂӂނԂՂ.wav=m_C4,1692.484,10.513,-56.853,0.0,0.0 +_ʂӂނԂՂ.wav=u m_C4,1419.368,250.0,-330.679,250.0,83.331 +_ʂӂނԂՂ.wav=_C4,1684.778,194.342,-477.652,69.342,35.955 +_ʂӂނԂՂ.wav=b_C4,2211.145,27.682,-51.492,20.672,0.0 +_ʂӂނԂՂ.wav=u b_C4,1925.317,268.089,-301.364,249.999,83.331 +_ʂӂނԂՂ.wav=_C4,2196.05,191.587,-392.201,66.587,24.322 +_ʂӂނԂՂ.wav=p_C4,2735.118,19.928,-43.739,12.919,0.0 +_ʂӂނԂՂ.wav=u p_C4,2408.149,278.036,-337.864,250.0,83.332 +_ʂӂނԂՂ.wav=_C4,2701.3,207.694,-467.746,82.694,0.0 +_ʂӂނԂՂ.wav=r_C4,3236.008,10.511,-17.977,0.0,0.0 +_ʂӂނԂՂ.wav=u r_C4,2973.166,250.0,-275.683,250.0,83.333 +_ʂӂނԂՂ.wav=_C4,3236.007,148.115,-696.018,23.115,10.273 +_䂤‚Ӄ.wav=y_C4,766.077,9.556,-55.767,6.97,0.0 +_䂤‚Ӄ.wav=u y_C4,497.363,250.0,-298.797,250.0,83.331 +_䂤‚Ӄ.wav=_C4,798.728,166.092,-374.426,41.092,23.114 +_䂤‚Ӄ.wav=w_C4,1210.384,22.04,-58.219,6.971,0.0 +_䂤‚Ӄ.wav=u w_C4,967.355,250.0,-309.07,250.0,83.331 +_䂤‚Ӄ.wav=_C4,1236.142,178.124,-386.457,53.124,24.791 +_䂤‚Ӄ.wav=ts_C4,2171.461,45.319,-128.969,24.401,0.0 +_䂤‚Ӄ.wav=u ts_C4,1894.498,270.916,-298.796,249.998,83.331 +_䂤‚Ӄ.wav=_C4,2169.304,267.131,-475.466,142.131,0.0 +_䂤‚Ӄ.wav=v_C4,3238.576,26.141,-69.343,0.0,0.0 +_䂤‚Ӄ.wav=u v_C4,2960.325,250.0,-345.024,250.0,83.333 +_䂤‚Ӄ.wav=_C4,3228.303,202.044,-707.448,77.044,38.282 +_‚ӂ.wav=e y_C4,469.113,250.0,-304.27,250.0,83.332 +_‚ӂ.wav=_C4,770.478,163.522,-371.855,38.522,20.546 +_‚ӂ.wav=e w_C4,967.357,249.997,-309.068,249.997,83.331 +_‚ӂ.wav=_C4,1235.333,157.424,-366.379,53.932,30.819 +_‚ӂ.wav=e ch_C4,1419.368,265.41,-301.366,250.0,83.331 +_‚ӂ.wav=_C4,1700.188,194.46,-446.336,113.002,43.229 +_‚ӂ.wav=e ts_C4,1894.497,274.788,-303.933,249.999,83.33 +_‚ӂ.wav=‚_C4,2190.725,174.537,-433.529,100.162,0.0 +_‚ӂ.wav=e f_C4,2408.149,250.0,-350.162,250.0,83.333 +_‚ӂ.wav=ӂ_C4,2678.451,180.62,-418.329,84.996,31.874 +_‚ӂ.wav=e v_C4,2944.915,250.0,-329.616,250.0,83.328 +_‚ӂ.wav=_C4,3223.166,181.501,-738.739,56.501,30.819 +_.wav=- _C4,231.143,124.999,-841.127,0.0,0.0 +_.wav=e _C4,484.522,375.0,-694.488,250.0,83.332 +_.wav=e _C4,1062.383,374.997,-683.203,249.997,83.331 +_.wav=u _C4,1514.394,375.0,-596.756,250.0,83.332 +_.wav=o _C4,2025.478,375.0,-642.803,250.0,83.332 +_.wav=e _C4,2546.836,375.0,-1280.603,250.0,83.333 +_.wav=o _C4,3103.612,374.998,-1188.075,249.998,83.333 +_Ă.wav=e ky_C4,448.567,263.944,-303.933,249.999,83.33 +_Ă.wav=_C4,713.976,220.024,-428.358,95.024,0.0 +_Ă.wav=e sh_C4,951.945,249.999,-363.003,249.999,83.331 +_Ă.wav=_C4,1201.945,250.843,-441.122,125.843,66.774 +_Ă.wav=e ch_C4,1391.117,273.115,-319.344,250.0,83.331 +_Ă.wav=e gy_C4,1945.862,250.0,-301.685,250.0,83.333 +_Ă.wav=_C4,2231.136,171.903,-449.972,59.752,26.157 +_Ă.wav=e j_C4,2444.104,250.0,-345.616,250.0,83.333 +_Ă.wav=_C4,2719.787,207.183,-415.515,82.183,30.819 +_Ă.wav=e ty_C4,2929.507,277.889,-320.957,250.0,83.333 +_Ă.wav=e _C4,4241.888,419.504,-790.104,249.998,82.999 +_Ă.wav=Ă_C4,3235.175,205.448,-676.248,80.448,0.0 +_Ă.wav=e k_C4,428.112,271.25,-306.854,250.0,83.332 +_Ă.wav=_C4,703.363,194.774,-403.107,69.774,0.0 +_Ă.wav=e s_C4,936.63,249.997,-360.432,249.997,83.33 +_Ă.wav=_C4,1191.33,233.301,-441.634,108.301,61.785 +_Ă.wav=e t_C4,1437.438,274.791,-321.911,250.0,83.331 +_Ă.wav=_C4,1720.312,192.288,-400.621,67.288,0.0 +_Ă.wav=e g_C4,1989.615,249.999,-280.818,249.999,83.332 +_Ă.wav=_C4,2257.606,166.079,-395.119,41.079,15.237 +_Ă.wav=e z_C4,2492.993,250.0,-329.616,250.0,83.333 +_Ă.wav=_C4,2758.402,199.479,-480.204,74.479,27.963 +_Ă.wav=e d_C4,2993.803,250.0,-280.82,250.0,83.33 +_Ă.wav=_C4,3266.918,163.142,-625.081,38.142,12.841 +_ɂЂ݂т҂肥.wav=e ny_C4,458.883,249.999,-309.071,249.999,83.33 +_ɂЂ݂т҂肥.wav=ɂ_C4,711.452,191.773,-400.105,66.773,41.983 +_ɂЂ݂т҂肥.wav=e hy_C4,957.13,249.995,-347.59,249.995,83.328 +_ɂЂ݂т҂肥.wav=Ђ_C4,1209.695,222.593,-430.926,97.593,61.638 +_ɂЂ݂т҂肥.wav=e my_C4,1468.21,250.0,-321.911,250.0,83.331 +_ɂЂ݂т҂肥.wav=݂_C4,1725.399,192.291,-400.624,67.291,28.332 +_ɂЂ݂т҂肥.wav=e by_C4,1961.316,270.546,-301.365,250.0,83.331 +_ɂЂ݂т҂肥.wav=т_C4,2239.567,173.796,-382.129,48.796,24.007 +_ɂЂ݂т҂肥.wav=e py_C4,2413.329,281.01,-337.322,250.0,83.33 +_ɂЂ݂т҂肥.wav=҂_C4,2698.759,210.279,-418.611,85.279,0.0 +_ɂЂ݂т҂肥.wav=e ry_C4,3004.03,250.0,-273.258,250.0,83.33 +_ɂЂ݂т҂肥.wav=肥_C4,3259.166,145.545,-700.533,20.544,6.381 +_˂ւ߂ׂ؂.wav=e n_C4,453.794,249.999,-306.853,249.999,83.333 +_˂ւ߂ׂ؂.wav=_C4,703.794,196.911,-405.245,71.912,43.486 +_˂ւ߂ׂ؂.wav=e h_C4,957.174,249.999,-301.364,249.999,83.331 +_˂ւ߂ׂ؂.wav=_C4,1217.129,176.684,-385.018,51.684,18.089 +_˂ւ߂ׂ؂.wav=e m_C4,1422.028,250.0,-319.343,250.0,83.33 +_˂ւ߂ׂ؂.wav=_C4,1681.951,181.852,-390.185,56.852,25.311 +_˂ւ߂ׂ؂.wav=e b_C4,1892.02,271.027,-314.607,250.0,83.333 +_˂ւ߂ׂ؂.wav=_C4,2185.68,166.093,-374.426,41.093,25.682 +_˂ւ߂ׂ؂.wav=e p_C4,2382.558,288.552,-332.184,250.0,83.333 +_˂ւ߂ׂ؂.wav=_C4,2673.236,192.189,-488.42,67.189,0.0 +_˂ւ߂ׂ؂.wav=e r_C4,2962.984,250.0,-275.841,250.0,83.333 +_˂ւ߂ׂ؂.wav=_C4,3218.121,153.25,-584.281,28.25,12.841 +_EEE.wav=E _C4,707.419,110.966,-289.065,45.08,0.0 +_EEE.wav=o E_C4,787.577,308.953,-397.303,250.0,83.332 +_EEE.wav=E _C4,1692.149,120.158,-325.613,54.268,0.0 +_EEE.wav=N E_C4,1418.424,201.131,-290.364,145.646,79.758 +_񂠂.wav=- _C4,254.257,121.532,-329.865,0.0,0.0 +_񂠂.wav=o _C4,576.979,375.0,-624.714,250.0,83.332 +_񂠂.wav=u _C4,975.061,374.999,-655.733,249.999,83.333 +_񂠂.wav=n _C4,1514.394,375.0,-669.606,250.0,83.333 +_񂠂.wav=a _C4,1984.386,375.0,-750.427,250.0,83.333 +_񂠂.wav=n _C4,2517.288,375.0,-660.893,250.0,83.331 +_񂠂.wav=n _C4,2960.325,375.0,-880.656,250.0,83.332 +_.wav=u _C4,990.47,374.999,-655.733,249.999,83.333 +_.wav=N _C4,1511.826,375.0,-668.648,250.0,83.333 +_.wav=a _C4,2012.637,375.0,-643.198,250.0,83.333 +_.wav=N _C4,2450.067,375.0,-655.724,250.0,83.33 +_.wav=N _C4,3093.874,375.0,-1133.808,250.0,83.33 +_債傿催傶Ă.wav=o ky_C4,399.884,267.524,-319.343,250.0,83.331 +_債傿催傶Ă.wav=_C4,680.146,215.446,-423.779,90.446,0.0 +_債傿催傶Ă.wav=o sh_C4,908.4,249.998,-345.614,249.998,83.331 +_債傿催傶Ă.wav=_C4,1160.967,227.73,-436.062,102.73,32.956 +_債傿催傶Ă.wav=o ch_C4,1398.936,270.547,-314.207,250.0,83.333 +_債傿催傶Ă.wav=_C4,1684.254,228.369,-483.372,103.369,51.077 +_債傿催傶Ă.wav=o gy_C4,1938.272,250.0,-298.796,250.0,83.333 +_債傿催傶Ă.wav=_C4,2218.174,177.281,-385.614,52.281,26.599 +_債傿催傶Ă.wav=o j_C4,2457.06,250.0,-327.048,250.0,83.333 +_債傿催傶Ă.wav=_C4,2716.854,202.527,-410.86,77.527,31.01 +_債傿催傶Ă.wav=o ty_C4,2914.212,267.976,-309.068,249.998,83.33 +_債傿催傶Ă.wav=o _C4,4178.239,392.132,-608.123,249.997,82.999 +_債傿催傶Ă.wav=Ă_C4,3199.735,215.762,-645.078,90.762,0.0 +_Ƃ.wav=o k_C4,387.138,273.258,-313.75,249.999,83.332 +_Ƃ.wav=_C4,687.367,185.206,-393.539,60.204,0.0 +_Ƃ.wav=o s_C4,893.084,249.999,-350.161,249.999,83.331 +_Ƃ.wav=_C4,1150.788,222.593,-430.927,97.593,38.523 +_Ƃ.wav=o t_C4,1381.052,271.249,-314.207,250.0,83.331 +_Ƃ.wav=_C4,1664.026,192.189,-400.522,67.189,0.0 +_Ƃ.wav=o g_C4,1899.842,249.997,-306.5,249.997,83.331 +_Ƃ.wav=_C4,2177.692,189.605,-410.893,64.605,39.814 +_Ƃ.wav=o z_C4,2408.356,250.0,-314.207,250.0,83.333 +_Ƃ.wav=_C4,2668.629,186.639,-441.522,61.639,25.46 +_Ƃ.wav=o d_C4,2927.146,249.997,-285.955,249.997,83.33 +_Ƃ.wav=_C4,3190.835,170.38,-934.718,45.38,16.954 +_ɂЂ݂т҂.wav=o ny_C4,453.704,249.998,-301.364,249.998,83.331 +_ɂЂ݂т҂.wav=ɂ_C4,703.703,181.501,-389.834,56.501,28.25 +_ɂЂ݂т҂.wav=o hy_C4,957.083,249.998,-321.91,249.998,83.33 +_ɂЂ݂т҂.wav=Ђ_C4,1214.787,194.342,-415.63,69.342,33.387 +_ɂЂ݂т҂.wav=o my_C4,1424.504,250.0,-317.191,250.0,83.331 +_ɂЂ݂т҂.wav=݂_C4,1689.452,199.942,-431.567,74.942,44.589 +_ɂЂ݂т҂.wav=o by_C4,1935.59,267.522,-327.047,250.0,83.33 +_ɂЂ݂т҂.wav=т_C4,2229.249,160.956,-369.288,35.955,17.977 +_ɂЂ݂т҂.wav=o py_C4,2418.423,278.038,-329.615,250.0,83.331 +_ɂЂ݂т҂.wav=҂_C4,2709.037,202.525,-428.982,77.525,0.0 +_ɂЂ݂т҂.wav=o ry_C4,2983.439,250.0,-270.674,250.0,83.33 +_ɂЂ݂т҂.wav=_C4,3243.712,145.545,-637.373,20.545,10.273 +_̂قڂۂ.wav=o n_C4,477.025,250.0,-306.852,250.0,83.332 +_̂قڂۂ.wav=_C4,737.298,178.931,-387.264,53.931,33.387 +_̂قڂۂ.wav=o h_C4,967.563,249.999,-311.638,249.999,83.328 +_̂قڂۂ.wav=_C4,1235.54,149.711,-376.318,59.068,30.819 +_̂قڂۂ.wav=o m_C4,1452.964,250.0,-316.774,250.0,83.331 +_̂قڂۂ.wav=_C4,1728.646,176.362,-415.741,51.362,30.819 +_̂قڂۂ.wav=o b_C4,1969.185,260.272,-288.523,249.998,83.331 +_̂قڂۂ.wav=_C4,2236.875,112.754,-379.847,46.515,18.181 +_̂قڂۂ.wav=o p_C4,2431.471,273.114,-306.501,250.0,83.332 +_̂قڂۂ.wav=_C4,2714.345,192.288,-464.719,67.288,0.0 +_̂قڂۂ.wav=o r_C4,2999.056,250.0,-285.956,250.0,83.33 +_̂قڂۂ.wav=_C4,3259.329,163.523,-638.158,38.523,25.682 +_悤‚ӂ.wav=o y_C4,479.594,249.998,-291.091,249.998,83.329 +_悤‚ӂ.wav=_C4,773.255,153.249,-361.583,28.249,15.409 +_悤‚ӂ.wav=o w_C4,960.176,249.998,-304.271,249.998,83.332 +_悤‚ӂ.wav=_C4,1227.836,204.615,-412.948,79.615,58.941 +_悤‚ӂ.wav=o ts_C4,1940.934,267.522,-304.269,249.999,83.332 +_悤‚ӂ.wav=‚_C4,2235.932,216.12,-424.455,91.12,0.0 +_悤‚ӂ.wav=o f_C4,2462.29,250.0,-347.594,250.0,83.33 +_悤‚ӂ.wav=ӂ_C4,2722.563,212.32,-420.653,87.32,55.778 +_悤‚ӂ.wav=o v_C4,2993.919,250.0,-324.48,250.0,83.33 +_悤‚ӂ.wav=_C4,3265.83,177.569,-588.789,52.569,28.038 +_񂢂񂦂񂨂.wav=- _C4,290.212,74.899,-386.476,0.0,0.0 +_񂢂񂦂񂨂.wav=n _C4,517.908,375.0,-619.831,250.0,83.331 +_񂢂񂦂񂨂.wav=i _C4,975.06,375.0,-677.344,250.0,83.331 +_񂢂񂦂񂨂.wav=n _C4,1529.803,375.0,-684.151,250.0,83.331 +_񂢂񂦂񂨂.wav=e _C4,1989.522,375.0,-718.944,250.0,83.333 +_񂢂񂦂񂨂.wav=n _C4,2544.267,375.0,-660.893,250.0,83.333 +_񂢂񂦂񂨂.wav=o _C4,2998.848,375.0,-1263.02,250.0,83.331 +_񂢂񂦂񂨂.wav=n _C4,4226.477,441.233,-624.713,250.0,83.0 +_.wav=- _C4,295.349,74.899,-386.476,0.0,0.0 +_.wav=N _C4,515.342,375.0,-658.309,250.0,83.332 +_.wav=i _C4,1000.742,375.0,-645.388,250.0,83.331 +_.wav=N _C4,1486.143,375.0,-640.22,250.0,83.331 +_.wav=e _C4,1963.84,375.0,-624.714,250.0,83.333 +_.wav=N _C4,2456.946,375.0,-733.796,250.0,83.333 +_.wav=o _C4,2978.303,375.0,-940.647,250.0,83.332 +_̓.wav=N v_C4,481.954,250.0,-288.524,250.0,83.33 +_̓.wav=N h_C4,1406.527,250.0,-342.458,250.0,83.329 +_̓.wav=N hy_C4,2403.011,250.0,-334.753,250.0,83.33 +_񂩂񂳂.wav=n k_C4,422.885,260.514,-314.606,250.0,83.332 +_񂩂񂳂.wav=n s_C4,1427.072,250.0,-350.164,250.0,83.328 +_񂩂񂳂.wav=n t_C4,2451.809,278.038,-309.58,250.0,83.332 +_񂪂񂴂.wav=n g_C4,510.205,250.0,-281.011,250.0,83.331 +_񂪂񂴂.wav=n z_C4,1514.394,250.0,-316.775,250.0,83.329 +_񂪂񂴂.wav=n d_C4,2549.403,250.0,-270.546,250.0,83.333 +_񂫂񂵂񂿂.wav=n ky_C4,451.135,267.522,-299.1,250.0,83.332 +_񂫂񂵂񂿂.wav=n sh_C4,1401.391,250.0,-380.981,250.0,83.331 +_񂫂񂵂񂿂.wav=n ch_C4,2441.536,267.978,-298.797,250.0,83.332 +_񂬂񂶂‚.wav=n gy_C4,474.25,249.999,-267.977,249.999,83.332 +_񂬂񂶂‚.wav=n j_C4,1481.007,250.0,-298.797,250.0,83.331 +_񂬂񂶂‚.wav=n ts_C4,2387.603,267.338,-293.66,250.0,83.33 +_Ȃς.wav=n n_C4,433.159,249.998,-298.795,249.998,83.33 +_Ȃς.wav=n p_C4,1424.504,273.115,-298.798,250.0,83.331 +_Ȃς.wav=n m_C4,2438.863,250.0,-314.311,250.0,83.333 +_ɂ҂݂.wav=n ny_C4,430.589,250.0,-309.069,250.0,83.331 +_ɂ҂݂.wav=n py_C4,1452.755,270.926,-293.661,250.0,83.332 +_ɂ҂݂.wav=n my_C4,2464.651,250.0,-306.501,250.0,83.333 +_Ђтӂ.wav=n hy_C4,419.379,249.999,-343.394,249.999,83.33 +_Ђтӂ.wav=n by_C4,1455.324,261.782,-304.709,250.0,83.332 +_Ђтӂ.wav=n f_C4,2454.377,250.0,-342.458,250.0,83.333 +_Ӄ⃓.wav=N f_C4,458.839,250.0,-332.185,250.0,83.331 +_Ӄ⃓.wav=N y_C4,1457.893,250.0,-303.933,250.0,83.33 +_Ӄ⃓.wav=N w_C4,2464.652,250.0,-306.852,250.0,83.333 +_΂.wav=n y_C4,461.407,250.0,-293.66,250.0,83.332 +_΂.wav=n b_C4,1498.984,267.707,-288.525,250.0,83.331 +_΂.wav=n r_C4,2510.879,250.0,-267.978,250.0,83.333 +_.wav=n ry_C4,492.226,250.0,-283.388,250.0,83.329 +_.wav=n v_C4,1493.848,250.0,-298.797,250.0,83.328 diff --git "a/OpenUtau.Test/Files/ja_cvvc/\345\274\261/\345\274\261_E4/oto.ini" "b/OpenUtau.Test/Files/ja_cvvc/\345\274\261/\345\274\261_E4/oto.ini" new file mode 100644 index 000000000..8e65ff2c3 --- /dev/null +++ "b/OpenUtau.Test/Files/ja_cvvc/\345\274\261/\345\274\261_E4/oto.ini" @@ -0,0 +1,416 @@ +_EEEEE.wav=E _E4,725.354,124.841,-301.699,48.548,34.678 +_EEEEE.wav=a E_E4,804.699,319.357,-378.31,249.999,83.333 +_EEEEE.wav=E _E4,1225.178,107.502,-315.57,58.952,31.21 +_EEEEE.wav=i E_E4,1356.018,305.485,-357.502,250.0,83.333 +_EEEEE.wav=E _E4,1725.046,149.114,-288.469,65.887,45.08 +_EEEEE.wav=u E_E4,1802.039,293.661,-360.971,250.0,83.333 +_EEEEE.wav=E _E4,2197.518,156.051,-315.57,72.823,31.21 +_EEEEE.wav=e E_E4,2321.684,308.952,-381.776,250.0,83.333 +_EEEEE.wav=E _E4,2707.118,201.29,-297.087,76.29,45.081 +_EEEEE.wav=n E_E4,3859.218,380.979,-630.101,249.998,83.328 +_.wav=- _E4,269.667,121.671,-834.294,0.0,0.0 +_.wav=a _E4,556.622,375.0,-657.117,250.0,83.331 +_.wav=a _E4,1054.676,375.0,-598.871,250.0,83.331 +_.wav=i _E4,1498.984,375.0,-678.9,250.0,83.332 +_.wav=a _E4,2058.865,327.104,-673.074,250.0,83.333 +_.wav=u _E4,2562.245,351.635,-671.199,250.0,83.332 +_.wav=e _E4,3070.875,351.635,-1207.27,250.0,83.331 +_.wav=a _E4,4345.173,414.369,-600.043,250.0,82.999 +_.wav=a k_E4,440.861,270.547,-327.049,249.999,82.999 +_.wav=_E4,756.398,138.843,-351.504,55.172,0.0 +_.wav=a s_E4,932.683,249.998,-346.31,249.998,83.33 +_.wav=_E4,1198.7,176.254,-458.64,99.555,42.119 +_.wav=a t_E4,1421.937,273.258,-315.094,250.0,83.331 +_.wav=_E4,1722.099,146.699,-385.902,52.569,0.0 +_.wav=a g_E4,1942.01,249.999,-315.094,249.999,83.332 +_.wav=_E4,2227.663,136.256,-408.184,49.099,23.258 +_.wav=a z_E4,2446.672,250.0,-338.605,250.0,83.333 +_.wav=_E4,2731.344,130.263,-383.412,50.079,23.114 +_.wav=a d_E4,2986.009,249.997,-280.816,249.997,83.331 +_.wav=_E4,3262.974,100.909,-838.778,34.67,15.409 +_ႵႿႬႶĂ.wav=a ky_E4,451.135,292.721,-317.19,250.0,83.332 +_ႵႿႬႶĂ.wav=_E4,742.066,143.694,-375.776,63.083,0.0 +_ႵႿႬႶĂ.wav=a sh_E4,944.241,249.998,-342.456,249.998,83.33 +_ႵႿႬႶĂ.wav=_E4,1205.798,176.917,-429.641,96.308,31.704 +_ႵႿႬႶĂ.wav=a ch_E4,1414.232,267.978,-309.07,250.0,83.331 +_ႵႿႬႶĂ.wav=_E4,1714.313,180.423,-429.641,96.308,31.703 +_ႵႿႬႶĂ.wav=a gy_E4,1968.977,249.998,-286.178,249.998,83.33 +_ႵႿႬႶĂ.wav=_E4,2238.542,112.86,-383.109,49.777,18.236 +_ႵႿႬႶĂ.wav=a j_E4,2454.377,250.0,-327.048,250.0,83.333 +_ႵႿႬႶĂ.wav=_E4,2723.639,146.099,-383.348,65.489,38.523 +_ႵႿႬႶĂ.wav=a ty_E4,2951.336,267.522,-300.081,250.0,83.33 +_ႵႿႬႶĂ.wav=Ă_E4,3225.734,189.207,-702.063,64.207,0.0 +_Ȃ͂܂΂ς.wav=a n_E4,447.284,249.997,-303.605,249.997,83.331 +_Ȃ͂܂΂ς.wav=_E4,736.063,167.119,-375.451,42.119,21.314 +_Ȃ͂܂΂ς.wav=a h_E4,936.539,249.994,-300.076,249.994,83.328 +_Ȃ͂܂΂ς.wav=_E4,1228.912,112.117,-379.561,46.227,23.114 +_Ȃ͂܂΂ς.wav=a m_E4,1414.232,250.0,-315.491,250.0,83.333 +_Ȃ͂܂΂ς.wav=_E4,1689.647,187.021,-395.355,62.021,31.01 +_Ȃ͂܂΂ς.wav=a b_E4,1918.896,275.843,-319.774,249.999,83.331 +_Ȃ͂܂΂ς.wav=_E4,2207.085,140.964,-387.601,54.268,26.526 +_Ȃ͂܂΂ς.wav=a p_E4,2396.592,281.01,-327.047,250.0,83.333 +_Ȃ͂܂΂ς.wav=_E4,2716.916,174.1,-437.126,49.1,0.0 +_Ȃ͂܂΂ς.wav=a r_E4,2951.339,249.998,-276.964,249.998,83.333 +_Ȃ͂܂΂ς.wav=_E4,3207.582,153.425,-614.486,28.425,10.336 +_ɂЂ݂т҂.wav=a ny_E4,439.577,250.0,-296.516,250.0,83.331 +_ɂЂ݂т҂.wav=ɂ_E4,703.818,139.439,-382.128,48.796,23.114 +_ɂЂ݂т҂.wav=a hy_E4,921.126,249.996,-342.455,249.996,83.33 +_ɂЂ݂т҂.wav=Ђ_E4,1194.356,188.196,-418.085,84.751,33.387 +_ɂЂ݂т҂.wav=a my_E4,1425.789,250.0,-324.027,250.0,83.333 +_ɂЂ݂т҂.wav=݂_E4,1701.587,142.188,-419.531,65.49,29.535 +_ɂЂ݂т҂.wav=a by_E4,1930.454,271.026,-303.932,249.997,83.331 +_ɂЂ݂т҂.wav=т_E4,2221.404,142.449,-385.05,41.347,20.624 +_ɂЂ݂т҂.wav=a py_E4,2400.444,281.541,-324.943,250.0,83.333 +_ɂЂ݂т҂.wav=҂_E4,2707.897,155.37,-418.645,54.267,0.0 +_ɂЂ݂т҂.wav=a ry_E4,2970.6,249.997,-275.84,249.997,83.33 +_ɂЂ݂т҂.wav=_E4,3220.713,158.385,-878.43,33.385,12.841 +_킿‚ӂ.wav=a y_E4,428.019,249.999,-303.124,249.999,83.33 +_킿‚ӂ.wav=_E4,747.477,171.171,-360.155,46.171,23.114 +_킿‚ӂ.wav=a w_E4,959.708,249.997,-309.434,249.997,83.328 +_킿‚ӂ.wav=_E4,1245.391,125.386,-377.262,43.931,23.258 +_킿‚ӂ.wav=a ts_E4,1933.077,274.454,-304.27,250.0,83.329 +_킿‚ӂ.wav=‚_E4,2238.752,185.877,-425.743,84.239,0.0 +_킿‚ӂ.wav=a f_E4,2465.935,250.0,-334.751,250.0,83.33 +_킿‚ӂ.wav=ӂ_E4,2723.114,187.984,-447.403,85.278,36.179 +_킿‚ӂ.wav=a v_E4,2939.779,250.0,-326.581,250.0,83.329 +_킿‚ӂ.wav=_E4,3209.041,194.342,-689.122,69.342,33.164 +_.wav=- _E4,251.69,125.0,-791.379,0.0,0.0 +_.wav=i _E4,535.607,375.0,-661.379,250.0,83.333 +_.wav=i _E4,1070.085,375.0,-625.298,250.0,83.333 +_.wav=u _E4,1534.94,375.0,-647.433,250.0,83.332 +_.wav=a _E4,2043.456,375.0,-643.116,250.0,83.331 +_.wav=e _E4,2521.153,375.0,-636.973,250.0,83.333 +_.wav=i _E4,3065.623,375.0,-928.461,250.0,83.333 +_‚ӂ.wav=_E4,677.545,171.04,-379.373,46.04,14.166 +_‚ӂ.wav=i w_E4,962.217,249.998,-332.186,249.998,83.332 +_‚ӂ.wav=_E4,1240.056,192.188,-385.05,67.188,31.01 +_‚ӂ.wav=i ch_E4,1424.504,275.683,-306.407,250.0,83.333 +_‚ӂ.wav=_E4,1707.893,185.905,-397.316,105.297,51.365 +_‚ӂ.wav=i ts_E4,1915.043,267.706,-288.523,249.998,83.331 +_‚ӂ.wav=‚_E4,2195.255,195.153,-444.375,111.042,0.0 +_‚ӂ.wav=i f_E4,2444.104,250.0,-329.616,250.0,83.331 +_‚ӂ.wav=ӂ_E4,2711.683,152.224,-397.938,64.605,29.188 +_‚ӂ.wav=i v_E4,2951.108,250.0,-328.56,250.0,83.33 +_‚ӂ.wav=_E4,3228.303,191.773,-764.207,66.773,43.514 +_.wav=i k_E4,404.907,281.011,-332.696,249.999,83.332 +_.wav=i s_E4,1421.937,250.918,-365.572,250.0,83.331 +_.wav=i t_E4,2405.581,278.426,-330.111,250.0,83.333 +_.wav=i g_E4,458.84,249.999,-293.931,249.999,83.331 +_.wav=i z_E4,1419.368,250.0,-329.617,250.0,83.331 +_.wav=i d_E4,2436.398,250.0,-283.389,250.0,83.333 +_Ăł.wav=i ky_E4,422.885,270.674,-319.775,250.0,83.332 +_Ăł.wav=_E4,699.314,247.529,-440.39,122.529,0.0 +_Ăł.wav=i sh_E4,928.833,249.998,-386.965,249.998,83.331 +_Ăł.wav=_E4,1183.025,277.47,-462.577,152.47,67.19 +_Ăł.wav=i ty_E4,1437.346,275.842,-327.527,250.0,83.333 +_Ăł.wav=Ă_E4,1722.841,199.94,-408.275,74.94,0.0 +_Ăł.wav=i gy_E4,1974.115,249.997,-303.931,249.997,83.329 +_Ăł.wav=_E4,2243.818,197.752,-406.085,72.752,33.989 +_Ăł.wav=i j_E4,2467.219,250.0,-352.73,250.0,83.333 +_Ăł.wav=_E4,2737.765,212.319,-420.653,87.319,30.469 +_Ăł.wav=i dy_E4,2986.009,249.997,-288.761,249.997,83.333 +_Ăł.wav=i _E4,4342.049,360.435,-696.441,250.0,82.999 +_Ăł.wav=ł_E4,3256.553,171.228,-741.387,46.228,21.698 +_Ȃ₢.wav=i n_E4,438.384,250.0,-314.606,250.0,83.331 +_Ȃ₢.wav=i y_E4,1434.87,250.0,-304.268,250.0,83.331 +_Ȃ₢.wav=i m_E4,2472.445,250.0,-314.208,250.0,83.333 +_ɂЂ݂т҂.wav=i ny_E4,461.452,250.0,-316.775,250.0,83.33 +_ɂЂ݂т҂.wav=_E4,719.157,194.341,-425.966,69.341,41.306 +_ɂЂ݂т҂.wav=i hy_E4,931.447,249.996,-350.159,249.996,83.33 +_ɂЂ݂т҂.wav=_E4,1199.422,171.346,-423.222,89.887,35.955 +_ɂЂ݂т҂.wav=i my_E4,1452.801,250.0,-329.616,250.0,83.331 +_ɂЂ݂т҂.wav=_E4,1704.86,178.316,-454.825,82.693,41.347 +_ɂЂ݂т҂.wav=i by_E4,1958.75,249.997,-309.068,249.997,83.331 +_ɂЂ݂т҂.wav=_E4,2229.294,146.013,-387.264,53.931,22.92 +_ɂЂ݂т҂.wav=i py_E4,2459.558,271.027,-316.775,250.0,83.333 +_ɂЂ݂т҂.wav=_E4,2740.378,168.778,-462.037,87.32,0.0 +_ɂЂ݂т҂.wav=i ry_E4,3022.009,249.997,-280.818,249.997,83.332 +_ɂЂ݂т҂.wav=_E4,3282.283,120.33,-788.012,28.248,15.407 +_΂ς.wav=i b_E4,446.091,271.249,-306.853,249.999,83.333 +_΂ς.wav=_E4,716.3,179.268,-387.601,54.268,28.426 +_΂ς.wav=i p_E4,1365.527,274.788,-335.28,250.0,83.331 +_΂ς.wav=i r_E4,2464.742,250.0,-278.251,250.0,83.332 +_͂͂.wav=i h_E4,433.25,249.997,-332.183,249.997,83.33 +_͂͂.wav=u h_E4,1460.552,250.0,-306.854,250.0,83.331 +_͂͂.wav=n h_E4,2444.196,250.0,-339.889,250.0,83.333 +_.wav=- _E4,274.803,124.999,-843.672,0.0,0.0 +_.wav=u _E4,514.933,375.0,-583.333,250.0,83.333 +_.wav=u _E4,1065.005,375.0,-593.703,250.0,83.333 +_.wav=i _E4,1552.974,375.0,-637.635,250.0,83.333 +_.wav=o _E4,2025.534,375.0,-697.073,250.0,83.333 +_.wav=a _E4,2508.367,375.0,-616.057,250.0,83.333 +_.wav=o _E4,3029.723,375.0,-1219.088,250.0,83.33 +_サタガザĂ.wav=ky_E4,727.966,21.965,-47.648,21.965,0.0 +_サタガザĂ.wav=u ky_E4,415.179,265.506,-309.438,250.0,83.332 +_サタガザĂ.wav=_E4,718.681,194.774,-403.107,69.774,0.0 +_サタガザĂ.wav=sh_E4,1163.238,49.218,-120.892,10.456,0.0 +_サタガザĂ.wav=u sh_E4,915.991,249.999,-368.139,249.999,83.331 +_サタガザĂ.wav=_E4,1165.99,253.412,-461.745,128.412,27.629 +_サタガザĂ.wav=ch_E4,1712.901,46.516,-79.743,20.672,0.0 +_サタガザĂ.wav=u ch_E4,1393.687,278.25,-309.069,250.0,83.333 +_サタガザĂ.wav=_E4,1684.778,210.198,-433.432,115.571,43.66 +_サタガザĂ.wav=gy_E4,2244.564,19.009,-30.914,15.505,0.0 +_サタガザĂ.wav=u gy_E4,1953.567,250.0,-298.797,250.0,83.33 +_サタガザĂ.wav=_E4,2231.531,171.515,-379.848,46.515,19.381 +_サタガザĂ.wav=j_E4,2753.174,12.842,-59.07,0.0,0.0 +_サタガザĂ.wav=u j_E4,2472.355,250.0,-332.185,250.0,83.333 +_サタガザĂ.wav=_E4,2732.628,202.047,-410.38,77.047,35.955 +_サタガザĂ.wav=u ty_E4,2955.188,275.683,-306.502,250.0,83.332 +_サタガザĂ.wav=u _E4,4316.368,362.413,-596.883,249.998,82.999 +_サタガザĂ.wav=ty_E4,3256.475,26.863,-61.717,12.919,2.584 +_サタガザĂ.wav=Ă_E4,3220.598,217.456,-723.302,92.456,0.0 +_Ƃǂ.wav=k_E4,755.038,5.167,-28.281,5.167,5.167 +_Ƃǂ.wav=u k_E4,425.453,268.09,-322.359,250.0,83.332 +_Ƃǂ.wav=_E4,708.346,205.11,-413.443,80.11,0.0 +_Ƃǂ.wav=s_E4,1168.559,54.269,-139.549,0.0,0.0 +_Ƃǂ.wav=u s_E4,918.559,249.998,-386.117,249.998,83.332 +_Ƃǂ.wav=_E4,1171.126,266.252,-459.113,141.252,45.637 +_Ƃǂ.wav=t_E4,1743.848,0.0,-28.251,0.0,0.0 +_Ƃǂ.wav=u t_E4,1414.232,275.843,-321.911,250.0,83.331 +_Ƃǂ.wav=Ƃ_E4,1695.051,212.319,-420.652,87.319,0.0 +_Ƃǂ.wav=g_E4,2229.204,7.749,-25.728,7.749,0.0 +_Ƃǂ.wav=u g_E4,1938.158,250.0,-288.763,250.0,83.333 +_Ƃǂ.wav=_E4,2208.368,179.268,-387.601,54.268,28.426 +_Ƃǂ.wav=z_E4,2714.652,5.295,-77.046,0.0,0.0 +_Ƃǂ.wav=u z_E4,2446.672,250.0,-337.322,250.0,83.33 +_Ƃǂ.wav=_E4,2712.082,209.753,-452.013,84.753,43.66 +_Ƃǂ.wav=d_E4,3223.071,26.018,-30.914,15.503,0.0 +_Ƃǂ.wav=u d_E4,2934.641,250.0,-293.662,250.0,83.333 +_Ƃǂ.wav=ǂ_E4,3205.188,181.5,-736.413,56.5,25.644 +_ɂЂ݂т҂.wav=ny_E4,739.628,5.167,-51.683,5.167,0.0 +_ɂЂ݂т҂.wav=u ny_E4,492.229,249.997,-296.226,249.997,83.33 +_ɂЂ݂т҂.wav=ɂ_E4,755.068,166.091,-374.424,41.091,23.114 +_ɂЂ݂т҂.wav=hy_E4,1227.628,36.605,-82.184,0.0,0.0 +_ɂЂ݂т҂.wav=u hy_E4,972.491,250.0,-345.026,250.0,83.331 +_ɂЂ݂т҂.wav=Ђ_E4,1227.628,222.593,-430.926,97.593,39.449 +_ɂЂ݂т҂.wav=my_E4,1709.491,3.537,-65.176,3.537,0.0 +_ɂЂ݂т҂.wav=u my_E4,1457.893,250.0,-314.206,250.0,83.331 +_ɂЂ݂т҂.wav=݂_E4,1720.734,186.637,-394.97,61.637,33.387 +_ɂЂ݂т҂.wav=by_E4,2244.659,10.272,-25.682,10.272,0.0 +_ɂЂ݂т҂.wav=u by_E4,1948.431,265.409,-301.364,249.999,83.331 +_ɂЂ݂т҂.wav=т_E4,2231.818,173.795,-382.128,48.795,24.004 +_ɂЂ݂т҂.wav=py_E4,2758.233,12.918,-41.17,12.918,0.0 +_ɂЂ݂т҂.wav=u py_E4,2433.831,267.707,-324.942,250.0,83.333 +_ɂЂ݂т҂.wav=҂_E4,2735.197,189.205,-436.334,64.205,0.0 +_ɂЂ݂т҂.wav=ry_E4,3266.827,0.0,-17.977,-0.001,0.0 +_ɂЂ݂т҂.wav=u ry_E4,3006.553,250.0,-278.427,250.0,83.33 +_ɂЂ݂т҂.wav=_E4,3264.258,158.387,-860.613,33.387,10.128 +_ʂӂނԂՂ.wav=n_E4,708.019,3.502,-47.162,3.502,0.0 +_ʂӂނԂՂ.wav=u n_E4,456.386,249.999,-303.932,249.999,83.332 +_ʂӂނԂՂ.wav=_E4,719.226,171.228,-379.562,46.228,23.114 +_ʂӂނԂՂ.wav=f_E4,1189.216,28.251,-82.185,0.0,0.0 +_ʂӂނԂՂ.wav=u f_E4,939.219,249.997,-337.319,249.997,83.331 +_ʂӂނԂՂ.wav=_E4,1185.73,213.24,-421.575,88.24,44.659 +_ʂӂނԂՂ.wav=m_E4,1710.575,10.513,-56.853,0.0,0.0 +_ʂӂނԂՂ.wav=u m_E4,1450.3,250.0,-319.344,250.0,83.331 +_ʂӂނԂՂ.wav=_E4,1713.143,181.5,-464.81,56.5,38.111 +_ʂӂނԂՂ.wav=b_E4,2211.258,27.683,-51.492,20.672,0.0 +_ʂӂނԂՂ.wav=u b_E4,1933.135,267.977,-298.796,249.998,83.33 +_ʂӂނԂՂ.wav=_E4,2193.595,191.587,-392.201,66.587,24.322 +_ʂӂނԂՂ.wav=p_E4,2740.368,19.928,-48.876,12.919,0.0 +_ʂӂނԂՂ.wav=u p_E4,2418.535,278.036,-337.864,250.0,83.332 +_ʂӂނԂՂ.wav=_E4,2714.254,207.694,-467.746,82.694,0.0 +_ʂӂނԂՂ.wav=r_E4,3251.531,10.511,-25.682,0.0,0.0 +_ʂӂނԂՂ.wav=u r_E4,2991.257,250.0,-278.251,250.0,83.333 +_ʂӂނԂՂ.wav=_E4,3254.099,155.818,-703.721,30.818,15.312 +_䂤‚Ӄ.wav=y_E4,719.846,9.556,-32.814,6.971,0.0 +_䂤‚Ӄ.wav=u y_E4,458.839,250.0,-294.814,250.0,83.331 +_䂤‚Ӄ.wav=_E4,747.363,166.092,-374.426,41.092,17.977 +_䂤‚Ӄ.wav=w_E4,1215.52,22.04,-58.219,6.971,0.0 +_䂤‚Ӄ.wav=u w_E4,949.376,250.0,-298.798,250.0,83.331 +_䂤‚Ӄ.wav=_E4,1236.142,178.124,-386.457,53.124,24.791 +_䂤‚Ӄ.wav=ts_E4,2174.029,57.789,-119.427,24.401,0.0 +_䂤‚Ӄ.wav=u ts_E4,1897.066,270.917,-301.684,249.999,83.332 +_䂤‚Ӄ.wav=_E4,2177.884,243.139,-451.474,118.139,0.0 +_䂤‚Ӄ.wav=v_E4,3230.871,0.0,-41.092,0.0,0.0 +_䂤‚Ӄ.wav=u v_E4,2944.915,250.0,-321.911,250.0,83.333 +_䂤‚Ӄ.wav=_E4,3230.871,168.658,-674.061,43.658,25.682 +_‚ӂ.wav=e y_E4,482.009,250.0,-304.269,250.0,83.331 +_‚ӂ.wav=_E4,749.987,176.364,-384.697,51.364,30.819 +_‚ӂ.wav=e w_E4,975.118,249.996,-291.089,249.996,83.33 +_‚ӂ.wav=_E4,1250.798,147.152,-356.106,43.659,25.682 +_‚ӂ.wav=e ch_E4,1411.719,262.841,-314.207,250.0,83.331 +_‚ӂ.wav=_E4,1676.3,215.836,-467.712,134.378,64.605 +_‚ӂ.wav=e ts_E4,1904.824,270.547,-293.662,250.0,83.33 +_‚ӂ.wav=‚_E4,2183.076,202.787,-461.779,128.412,0.0 +_‚ӂ.wav=e f_E4,2426.182,250.0,-332.184,250.0,83.333 +_‚ӂ.wav=ӂ_E4,2678.506,180.62,-418.329,84.996,31.874 +_‚ӂ.wav=e v_E4,2952.675,250.0,-324.48,250.0,83.328 +_‚ӂ.wav=_E4,3218.085,194.341,-751.579,69.341,25.682 +_.wav=- _E4,282.508,124.999,-841.127,0.0,0.0 +_.wav=e _E4,455.495,375.0,-694.488,250.0,83.332 +_.wav=e _E4,1052.11,374.997,-683.203,249.997,83.331 +_.wav=u _E4,1522.099,375.0,-596.756,250.0,83.332 +_.wav=o _E4,2048.592,375.0,-642.803,250.0,83.332 +_.wav=e _E4,2516.017,375.0,-1280.603,250.0,83.333 +_.wav=o _E4,3103.612,374.998,-1188.075,249.998,83.333 +_Ă.wav=e ky_E4,399.77,263.944,-324.69,249.999,83.331 +_Ă.wav=_E4,695.998,204.615,-412.949,79.615,0.0 +_Ă.wav=e sh_E4,898.012,249.999,-368.139,249.999,83.331 +_Ă.wav=_E4,1148.012,261.117,-451.395,136.117,48.255 +_Ă.wav=e ch_E4,1360.299,280.819,-319.343,250.0,83.331 +_Ă.wav=e gy_E4,1899.634,249.999,-301.684,249.999,83.332 +_Ă.wav=_E4,2161.792,171.903,-449.972,59.752,26.157 +_Ă.wav=e j_E4,2420.989,250.0,-327.049,250.0,83.333 +_Ă.wav=_E4,2688.968,194.342,-402.674,69.342,28.25 +_Ă.wav=e ty_E4,2878.14,277.889,-320.957,250.0,83.333 +_Ă.wav=e _E4,4141.725,399.886,-790.105,249.999,83.0 +_Ă.wav=Ă_E4,3181.241,205.448,-676.248,80.448,0.0 +_Ă.wav=e k_E4,430.589,271.25,-306.854,250.0,83.332 +_Ă.wav=_E4,726.386,194.774,-403.107,69.774,0.0 +_Ă.wav=e s_E4,946.812,249.997,-360.432,249.997,83.328 +_Ă.wav=_E4,1209.216,233.301,-441.634,108.301,61.785 +_Ă.wav=e t_E4,1421.937,270.546,-314.605,250.0,83.331 +_Ă.wav=_E4,1715.084,192.288,-400.621,67.288,0.0 +_Ă.wav=e g_E4,1956.135,249.999,-301.684,249.999,83.332 +_Ă.wav=_E4,2239.536,166.079,-395.119,41.079,15.237 +_Ă.wav=e z_E4,2467.219,250.0,-332.184,250.0,83.333 +_Ă.wav=_E4,2723.782,210.894,-491.619,85.894,39.378 +_Ă.wav=e d_E4,2980.871,250.0,-285.955,250.0,83.33 +_Ă.wav=_E4,3236.007,173.796,-635.735,48.796,17.977 +_ɂЂ݂т҂肥.wav=e ny_E4,456.272,249.999,-306.666,249.999,83.33 +_ɂЂ݂т҂肥.wav=ɂ_E4,723.465,174.581,-382.913,49.581,24.791 +_ɂЂ݂т҂肥.wav=e hy_E4,923.698,249.996,-350.159,249.996,83.33 +_ɂЂ݂т҂肥.wav=Ђ_E4,1204.514,212.319,-420.652,87.319,53.933 +_ɂЂ݂т҂肥.wav=e my_E4,1437.346,250.0,-334.753,250.0,83.331 +_ɂЂ݂т҂肥.wav=݂_E4,1697.619,207.184,-415.517,82.184,43.225 +_ɂЂ݂т҂肥.wav=e by_E4,1925.316,278.251,-314.605,250.0,83.331 +_ɂЂ݂т҂肥.wav=т_E4,2218.976,176.364,-384.697,51.364,26.575 +_ɂЂ݂т҂肥.wav=e py_E4,2395.307,281.01,-345.026,250.0,83.33 +_ɂЂ݂т҂肥.wav=҂_E4,2683.305,210.279,-418.611,85.279,0.0 +_ɂЂ݂т҂肥.wav=e ry_E4,2998.849,250.0,-273.258,250.0,83.33 +_ɂЂ݂т҂肥.wav=肥_E4,3256.475,153.33,-708.318,28.329,14.166 +_˂ւ߂ׂ؂.wav=e n_E4,452.092,249.999,-306.853,249.999,83.333 +_˂ւ߂ׂ؂.wav=_E4,716.382,181.664,-389.997,56.664,28.238 +_˂ւ߂ׂ؂.wav=e h_E4,928.833,249.999,-334.751,249.999,83.331 +_˂ւ߂ׂ؂.wav=_E4,1219.604,176.684,-385.018,51.684,18.089 +_˂ւ߂ׂ؂.wav=e m_E4,1424.504,250.0,-311.638,250.0,83.331 +_˂ւ߂ׂ؂.wav=_E4,1682.21,194.342,-402.675,69.342,37.801 +_˂ւ߂ׂ؂.wav=e b_E4,1920.179,298.797,-324.48,250.0,83.333 +_˂ւ߂ׂ؂.wav=_E4,2229.249,158.388,-366.72,33.388,17.977 +_˂ւ߂ׂ؂.wav=e p_E4,2400.444,288.552,-324.944,250.0,83.333 +_˂ւ߂ׂ؂.wav=_E4,2688.553,192.189,-488.42,67.189,0.0 +_˂ւ߂ׂ؂.wav=e r_E4,2960.325,250.0,-275.841,250.0,83.333 +_˂ւ߂ׂ؂.wav=_E4,3220.598,153.25,-584.281,28.25,12.841 +_EEE.wav=E _E4,720.376,110.967,-276.224,45.08,0.0 +_EEE.wav=o E_E4,801.412,279.822,-368.172,220.869,77.047 +_EEE.wav=E _E4,1206.863,120.158,-325.613,54.268,0.0 +_EEE.wav=N E_E4,1400.561,201.131,-290.364,145.646,79.758 +_񂠂.wav=- _E4,269.667,121.532,-329.865,0.0,0.0 +_񂠂.wav=o _E4,502.5,375.0,-624.714,250.0,83.332 +_񂠂.wav=u _E4,1031.562,374.999,-655.733,249.999,83.333 +_񂠂.wav=n _E4,1509.258,375.0,-669.606,250.0,83.333 +_񂠂.wav=a _E4,2010.069,375.0,-750.427,250.0,83.333 +_񂠂.wav=n _E4,2517.288,375.0,-660.893,250.0,83.331 +_񂠂.wav=n _E4,3065.736,375.0,-880.656,250.0,83.332 +_.wav=u _E4,931.457,374.999,-655.733,249.999,83.333 +_.wav=N _E4,1527.291,375.0,-668.648,250.0,83.333 +_.wav=a _E4,2069.194,375.0,-643.198,250.0,83.333 +_.wav=N _E4,2450.067,375.0,-655.724,250.0,83.33 +_.wav=N _E4,3101.635,375.0,-1133.808,250.0,83.33 +_債傿催傶Ă.wav=o ky_E4,407.589,267.524,-324.943,250.0,83.332 +_債傿催傶Ă.wav=_E4,695.557,215.446,-423.779,90.446,0.0 +_債傿催傶Ă.wav=o sh_E4,903.266,249.998,-357.865,249.998,83.33 +_債傿催傶Ă.wav=_E4,1155.146,236.121,-444.454,111.121,41.347 +_債傿催傶Ă.wav=o ch_E4,1409.211,270.546,-319.343,250.0,83.333 +_債傿催傶Ă.wav=_E4,1689.391,228.369,-483.372,103.369,51.077 +_債傿催傶Ă.wav=o gy_E4,1976.796,250.0,-283.388,250.0,83.332 +_債傿催傶Ă.wav=_E4,2233.584,177.281,-385.613,52.281,26.6 +_債傿催傶Ă.wav=o j_E4,2469.902,250.0,-321.912,250.0,83.333 +_債傿催傶Ă.wav=_E4,2730.175,191.774,-400.107,66.774,30.819 +_債傿催傶Ă.wav=o ty_E4,2929.624,265.502,-314.203,249.998,83.33 +_債傿催傶Ă.wav=o _E4,4255.287,360.432,-608.122,249.996,82.999 +_債傿催傶Ă.wav=Ă_E4,3221.154,204.614,-633.93,79.614,0.0 +_Ƃ.wav=o k_E4,425.453,273.258,-313.75,249.999,83.332 +_Ƃ.wav=_E4,748.797,185.206,-393.539,60.204,0.0 +_Ƃ.wav=o s_E4,928.832,249.998,-360.434,249.998,83.33 +_Ƃ.wav=_E4,1178.146,236.121,-444.455,111.121,44.345 +_Ƃ.wav=o t_E4,1421.937,271.249,-319.343,250.0,83.331 +_Ƃ.wav=_E4,1704.91,192.189,-400.522,67.189,0.0 +_Ƃ.wav=o g_E4,1938.158,249.997,-296.227,249.997,83.331 +_Ƃ.wav=_E4,2213.441,189.605,-410.893,64.605,39.814 +_Ƃ.wav=o z_E4,2446.672,250.0,-342.458,250.0,83.333 +_Ƃ.wav=_E4,2709.514,204.615,-459.498,79.615,43.436 +_Ƃ.wav=o d_E4,2965.464,249.997,-293.658,249.997,83.33 +_Ƃ.wav=_E4,3244.562,170.38,-934.718,45.38,16.954 +_ɂЂ݂т҂.wav=o ny_E4,464.183,250.0,-291.093,250.0,83.331 +_ɂЂ݂т҂.wav=ɂ_E4,721.772,160.956,-369.288,35.955,17.977 +_ɂЂ݂т҂.wav=o hy_E4,941.766,249.998,-342.455,249.998,83.33 +_ɂЂ݂т҂.wav=Ђ_E4,1196.34,215.446,-436.735,90.446,36.516 +_ɂЂ݂т҂.wav=o my_E4,1455.416,250.0,-303.933,250.0,83.331 +_ɂЂ݂т҂.wav=݂_E4,1713.121,173.795,-405.419,48.795,25.682 +_ɂЂ݂т҂.wav=o by_E4,1907.43,267.522,-324.943,250.0,83.33 +_ɂЂ݂т҂.wav=т_E4,2193.385,173.795,-382.127,48.794,31.27 +_ɂЂ݂т҂.wav=o py_E4,2408.24,278.038,-319.774,250.0,83.332 +_ɂЂ݂т҂.wav=҂_E4,2704.469,176.364,-402.821,51.364,0.0 +_ɂЂ݂т҂.wav=o ry_E4,2970.689,250.0,-270.674,250.0,83.33 +_ɂЂ݂т҂.wav=_E4,3233.531,142.976,-634.804,17.976,7.704 +_̂قڂۂ.wav=o n_E4,453.794,250.0,-296.229,250.0,83.332 +_̂قڂۂ.wav=_E4,711.499,171.228,-379.56,46.228,28.25 +_̂قڂۂ.wav=o h_E4,936.629,249.998,-321.909,249.998,83.33 +_̂قڂۂ.wav=_E4,1199.469,177.962,-404.569,87.319,40.805 +_̂قڂۂ.wav=o m_E4,1463.12,250.0,-314.207,250.0,83.331 +_̂قڂۂ.wav=_E4,1717.843,192.189,-431.567,67.189,28.231 +_̂قڂۂ.wav=o b_E4,1939.665,278.33,-325.636,249.999,83.332 +_̂قڂۂ.wav=_E4,2224.204,130.445,-397.538,64.206,35.872 +_̂قڂۂ.wav=o p_E4,2415.945,293.931,-340.447,250.0,83.333 +_̂قڂۂ.wav=_E4,2703.956,192.288,-464.719,67.288,0.0 +_̂قڂۂ.wav=o r_E4,2988.667,250.0,-278.251,250.0,83.33 +_̂قڂۂ.wav=_E4,3246.372,158.386,-633.021,33.386,17.977 +_悤‚ӂ.wav=o y_E4,479.388,249.998,-309.067,249.998,83.329 +_悤‚ӂ.wav=_E4,788.455,178.933,-387.266,53.933,33.387 +_悤‚ӂ.wav=o w_E4,1016.154,249.997,-296.226,249.997,83.331 +_悤‚ӂ.wav=_E4,1299.22,176.684,-352.171,51.684,31.009 +_悤‚ӂ.wav=o ts_E4,1904.771,267.522,-304.269,249.999,83.332 +_悤‚ӂ.wav=‚_E4,2211.272,230.297,-438.632,105.297,0.0 +_悤‚ӂ.wav=o f_E4,2433.832,250.0,-337.863,250.0,83.331 +_悤‚ӂ.wav=ӂ_E4,2694.104,222.591,-430.924,97.591,66.049 +_悤‚ӂ.wav=o v_E4,2970.598,250.0,-316.775,250.0,83.33 +_悤‚ӂ.wav=_E4,3234.804,177.569,-588.789,52.569,28.038 +_񂢂񂦂񂨂.wav=- _E4,279.94,74.899,-386.476,0.0,0.0 +_񂢂񂦂񂨂.wav=n _E4,507.635,375.0,-694.488,250.0,83.332 +_񂢂񂦂񂨂.wav=i _E4,962.218,375.0,-677.344,250.0,83.331 +_񂢂񂦂񂨂.wav=n _E4,1496.416,375.0,-684.151,250.0,83.331 +_񂢂񂦂񂨂.wav=e _E4,1961.273,375.0,-718.944,250.0,83.333 +_񂢂񂦂񂨂.wav=n _E4,2495.47,375.0,-660.893,250.0,83.333 +_񂢂񂦂񂨂.wav=o _E4,3003.984,375.0,-1263.02,250.0,83.331 +_񂢂񂦂񂨂.wav=n _E4,4326.639,391.254,-624.712,250.0,83.0 +_.wav=- _E4,256.827,74.899,-386.476,0.0,0.0 +_.wav=N _E4,571.843,375.0,-658.309,250.0,83.332 +_.wav=i _E4,1005.88,375.0,-645.388,250.0,83.331 +_.wav=N _E4,1540.077,375.0,-640.22,250.0,83.331 +_.wav=e _E4,2007.5,375.0,-624.714,250.0,83.333 +_.wav=N _E4,2587.927,375.0,-733.796,250.0,83.333 +_.wav=o _E4,3024.531,375.0,-940.647,250.0,83.332 +_̓.wav=N v_E4,461.409,249.999,-319.342,249.999,83.329 +_̓.wav=N h_E4,1481.007,250.0,-310.509,250.0,83.33 +_̓.wav=N hy_E4,2482.627,250.0,-319.344,250.0,83.33 +_񂩂񂳂.wav=n k_E4,476.817,260.513,-316.775,250.0,83.332 +_񂩂񂳂.wav=n s_E4,1432.21,250.0,-367.235,250.0,83.329 +_񂩂񂳂.wav=n t_E4,2423.558,278.038,-309.58,250.0,83.332 +_񂪂񂴂.wav=n g_E4,458.839,250.0,-281.011,250.0,83.331 +_񂪂񂴂.wav=n z_E4,1491.28,250.0,-314.206,250.0,83.331 +_񂪂񂴂.wav=n d_E4,2518.585,250.0,-265.409,250.0,83.333 +_񂫂񂵂񂿂.wav=n ky_E4,419.378,267.522,-299.1,250.0,83.332 +_񂫂񂵂񂿂.wav=n sh_E4,1385.981,250.0,-398.959,250.0,83.331 +_񂫂񂵂񂿂.wav=n ch_E4,2392.738,265.411,-301.366,250.0,83.333 +_񂬂񂶂‚.wav=n gy_E4,456.271,250.0,-267.978,250.0,83.331 +_񂬂񂶂‚.wav=n j_E4,1442.483,250.0,-303.933,250.0,83.331 +_񂬂񂶂‚.wav=n ts_E4,2356.784,265.409,-287.817,250.0,83.329 +_Ȃς.wav=n n_E4,458.841,249.998,-306.852,249.998,83.331 +_Ȃς.wav=n p_E4,1437.346,264.017,-324.942,250.0,83.332 +_Ȃς.wav=n m_E4,2477.491,250.0,-311.638,250.0,83.333 +_ɂ҂݂.wav=n ny_E4,428.019,249.999,-296.23,249.999,83.332 +_ɂ҂݂.wav=n py_E4,1401.391,260.273,-288.524,250.0,83.332 +_ɂ҂݂.wav=n my_E4,2410.718,250.0,-311.638,250.0,83.333 +_Ђтӂ.wav=n hy_E4,446.0,249.999,-327.526,249.999,83.33 +_Ђтӂ.wav=n by_E4,1482.066,261.782,-279.76,250.0,83.332 +_Ђтӂ.wav=n f_E4,2436.399,250.0,-330.112,250.0,83.333 +_Ӄ⃓.wav=N f_E4,438.293,250.0,-327.048,250.0,83.33 +_Ӄ⃓.wav=N y_E4,1378.276,250.0,-330.111,250.0,83.331 +_Ӄ⃓.wav=N w_E4,2438.968,250.0,-306.852,250.0,83.333 +_΂.wav=n y_E4,438.293,250.0,-316.775,250.0,83.332 +_΂.wav=n b_E4,1470.734,260.003,-273.114,250.0,83.331 +_΂.wav=n r_E4,2503.154,250.0,-270.566,250.0,83.333 +_.wav=n ry_E4,461.407,250.0,-280.819,250.0,83.33 +_.wav=n v_E4,1493.848,250.0,-288.524,250.0,83.328 diff --git "a/OpenUtau.Test/Files/ja_cvvc/\345\274\267/oto.ini" "b/OpenUtau.Test/Files/ja_cvvc/\345\274\267/oto.ini" new file mode 100644 index 000000000..e69de29bb diff --git "a/OpenUtau.Test/Files/ja_cvvc/\345\274\267/\345\274\267_B3/oto.ini" "b/OpenUtau.Test/Files/ja_cvvc/\345\274\267/\345\274\267_B3/oto.ini" new file mode 100644 index 000000000..8256fb648 --- /dev/null +++ "b/OpenUtau.Test/Files/ja_cvvc/\345\274\267/\345\274\267_B3/oto.ini" @@ -0,0 +1,416 @@ +_EEEEE.wav=E _B3,671.318,124.841,-301.699,48.548,34.678 +_EEEEE.wav=a E_B3,837.459,299.777,-357.213,249.999,83.333 +_EEEEE.wav=E _B3,1166.352,107.502,-315.57,58.952,31.21 +_EEEEE.wav=i E_B3,1319.92,305.485,-368.702,250.0,83.333 +_EEEEE.wav=E _B3,1664.856,149.115,-326.264,65.887,45.08 +_EEEEE.wav=u E_B3,1787.07,281.211,-360.971,250.0,83.333 +_EEEEE.wav=E _B3,2128.897,156.051,-371.49,72.823,31.21 +_EEEEE.wav=e E_B3,2319.309,308.952,-368.703,250.0,83.333 +_EEEEE.wav=E _B3,2638.525,201.29,-761.696,76.29,45.081 +_EEEEE.wav=n E_B3,3931.352,395.505,-533.352,250.0,83.331 +_.wav=- _B3,237.764,128.466,-432.324,3.466,3.466 +_.wav=a _B3,500.499,375.0,-680.008,250.0,83.332 +_.wav=a _B3,1009.767,375.0,-598.871,250.0,83.331 +_.wav=i _B3,1496.059,375.0,-610.501,250.0,83.333 +_.wav=a _B3,2020.643,327.103,-678.856,250.0,83.332 +_.wav=u _B3,2522.252,351.636,-691.592,250.0,83.333 +_.wav=e _B3,3027.69,351.636,-1045.567,250.0,83.332 +_.wav=a _B3,4256.824,463.199,-720.977,250.0,82.999 +_.wav=a k_B3,393.286,283.595,-349.555,250.0,82.999 +_.wav=_B3,729.788,138.842,-342.353,55.172,0.0 +_.wav=a s_B3,902.552,250.0,-353.385,250.0,83.33 +_.wav=_B3,1190.645,157.305,-409.909,80.607,42.056 +_.wav=a t_B3,1396.504,273.258,-330.41,250.0,83.331 +_.wav=_B3,1682.003,146.698,-466.109,52.569,0.0 +_.wav=a g_B3,1928.745,250.0,-315.094,250.0,83.332 +_.wav=_B3,2220.865,148.421,-425.027,61.264,35.422 +_.wav=a z_B3,2449.499,250.0,-326.582,250.0,83.333 +_.wav=_B3,2714.816,152.933,-428.856,72.749,45.948 +_.wav=a d_B3,2954.941,249.998,-292.116,249.998,83.333 +_.wav=_B3,3216.425,112.187,-827.08,45.948,25.274 +_ႵႿႬႶĂ.wav=a ky_B3,404.771,271.028,-345.728,250.0,83.332 +_ႵႿႬႶĂ.wav=_B3,729.536,143.694,-375.776,63.083,0.0 +_ႵႿႬႶĂ.wav=a sh_B3,917.871,249.998,-368.699,249.998,83.33 +_ႵႿႬႶĂ.wav=_B3,1171.697,210.797,-455.66,130.188,65.584 +_ႵႿႬႶĂ.wav=a ch_B3,1400.331,283.623,-322.369,250.0,83.333 +_ႵႿႬႶĂ.wav=_B3,1700.11,172.182,-421.401,88.068,49.778 +_ႵႿႬႶĂ.wav=a gy_B3,1924.918,249.998,-299.776,249.998,83.33 +_ႵႿႬႶĂ.wav=_B3,2224.694,112.86,-383.11,49.778,18.236 +_ႵႿႬႶĂ.wav=a j_B3,2449.499,250.0,-349.556,250.0,83.333 +_ႵႿႬႶĂ.wav=_B3,2737.79,141.874,-379.123,61.264,30.632 +_ႵႿႬႶĂ.wav=a ty_B3,2928.134,267.522,-309.438,250.0,83.331 +_ႵႿႬႶĂ.wav=Ă_B3,3245.057,184.437,-697.294,59.437,0.0 +_Ȃ͂܂΂ς.wav=a n_B3,508.159,249.997,-299.775,249.997,83.331 +_Ȃ͂܂΂ς.wav=_B3,781.131,170.947,-379.279,45.947,25.142 +_Ȃ͂܂΂ς.wav=a h_B3,975.306,249.997,-288.289,249.997,83.331 +_Ȃ͂܂΂ς.wav=_B3,1286.57,108.008,-375.452,42.118,19.145 +_Ȃ͂܂΂ς.wav=a m_B3,1453.936,250.0,-315.095,250.0,83.333 +_Ȃ͂܂΂ς.wav=_B3,1711.6,197.75,-406.085,72.751,41.74 +_Ȃ͂܂΂ς.wav=a b_B3,1944.062,275.842,-299.777,249.999,83.331 +_Ȃ͂܂΂ς.wav=_B3,2224.033,140.964,-387.601,54.268,26.526 +_Ȃ͂܂΂ς.wav=a p_B3,2434.183,281.01,-326.582,250.0,83.333 +_Ȃ͂܂΂ς.wav=_B3,2734.639,174.1,-437.126,49.1,0.0 +_Ȃ͂܂΂ς.wav=a r_B3,3004.172,249.997,-289.139,249.997,83.333 +_Ȃ͂܂΂ς.wav=_B3,3282.856,153.424,-742.881,28.424,10.335 +_ɂЂ݂т҂.wav=a ny_B3,490.288,249.999,-296.515,249.999,83.332 +_ɂЂ݂т҂.wav=ɂ_B3,750.499,149.354,-392.043,58.711,38.29 +_ɂЂ݂т҂.wav=a hy_B3,952.33,249.998,-344.45,249.998,83.332 +_ɂЂ݂т҂.wav=Ђ_B3,1243.173,182.581,-412.468,79.134,35.738 +_ɂЂ݂т҂.wav=a my_B3,1462.874,250.0,-321.474,250.0,83.333 +_ɂЂ݂т҂.wav=݂_B3,1725.637,145.621,-422.964,68.923,30.632 +_ɂЂ݂т҂.wav=a by_B3,1955.549,283.185,-316.37,249.998,83.33 +_ɂЂ݂т҂.wav=т_B3,2246.392,147.051,-389.652,45.949,20.421 +_ɂЂ݂т҂.wav=a py_B3,2443.118,281.54,-326.581,250.0,83.332 +_ɂЂ݂т҂.wav=҂_B3,2746.065,155.37,-418.645,54.267,0.0 +_ɂЂ݂т҂.wav=a ry_B3,2994.507,249.998,-280.629,249.998,83.33 +_ɂЂ݂т҂.wav=_B3,3257.631,154.804,-874.849,29.804,16.592 +_킿‚ӂ.wav=a y_B3,486.952,250.0,-303.124,250.0,83.33 +_킿‚ӂ.wav=_B3,791.411,201.58,-423.656,76.58,34.036 +_킿‚ӂ.wav=a w_B3,997.498,249.997,-309.434,249.997,83.329 +_킿‚ӂ.wav=_B3,1298.551,134.209,-386.085,52.754,20.421 +_킿‚ӂ.wav=a ts_B3,1948.809,270.675,-304.27,250.0,83.33 +_킿‚ӂ.wav=‚_B3,2247.91,173.61,-413.477,71.972,0.0 +_킿‚ӂ.wav=a f_B3,2464.702,250.0,-343.599,250.0,83.331 +_킿‚ӂ.wav=ӂ_B3,2741.931,175.883,-445.044,73.177,24.078 +_킿‚ӂ.wav=a v_B3,2973.544,250.0,-328.284,250.0,83.33 +_킿‚ӂ.wav=_B3,3243.966,199.879,-780.394,74.879,38.701 +_.wav=- _B3,218.259,125.0,-791.379,0.0,0.0 +_.wav=i _B3,466.037,375.0,-705.66,250.0,83.333 +_.wav=i _B3,1032.741,375.0,-625.298,250.0,83.333 +_.wav=u _B3,1530.521,375.0,-647.433,250.0,83.332 +_.wav=a _B3,2005.326,375.0,-678.857,250.0,83.33 +_.wav=e _B3,2514.593,375.0,-636.973,250.0,83.333 +_.wav=i _B3,3043.005,375.0,-1050.279,250.0,83.333 +_‚ӂ.wav=_B3,639.364,171.04,-379.373,46.04,14.166 +_‚ӂ.wav=i w_B3,959.988,250.0,-318.922,250.0,83.332 +_‚ӂ.wav=_B3,1240.621,197.75,-390.612,72.75,36.572 +_‚ӂ.wav=i ch_B3,1407.99,281.925,-335.573,250.0,83.331 +_‚ӂ.wav=_B3,1715.35,191.728,-403.14,111.12,37.521 +_‚ӂ.wav=i ts_B3,1913.429,267.705,-311.265,249.999,83.331 +_‚ӂ.wav=‚_B3,2213.206,179.838,-432.685,95.726,0.0 +_‚ӂ.wav=i f_B3,2441.84,250.0,-326.582,250.0,83.333 +_‚ӂ.wav=ӂ_B3,2707.157,175.686,-432.685,88.067,45.948 +_‚ӂ.wav=i v_B3,2931.964,250.0,-338.067,250.0,83.33 +_‚ӂ.wav=_B3,3216.425,197.751,-834.738,72.751,26.803 +_.wav=i k_B3,416.259,281.01,-341.898,249.999,83.332 +_.wav=i s_B3,1400.331,250.0,-403.162,250.0,83.331 +_.wav=i t_B3,2399.721,278.426,-338.069,250.0,83.333 +_.wav=i g_B3,442.704,250.0,-293.93,250.0,83.331 +_.wav=i z_B3,1438.266,250.0,-343.032,250.0,83.331 +_.wav=i d_B3,2459.58,250.0,-287.44,250.0,83.333 +_Ăł.wav=i ky_B3,459.683,270.673,-328.283,249.999,83.332 +_Ăł.wav=_B3,740.315,199.879,-392.74,74.879,0.0 +_Ăł.wav=i sh_B3,977.903,249.999,-382.74,249.999,83.331 +_Ăł.wav=_B3,1235.56,267.95,-449.278,142.95,63.817 +_Ăł.wav=i ty_B3,1455.261,283.641,-334.239,250.0,83.333 +_Ăł.wav=Ă_B3,1752.851,199.94,-408.275,74.94,0.0 +_Ăł.wav=i gy_B3,1942.829,249.999,-324.029,249.999,83.331 +_Ăł.wav=_B3,2228.708,188.816,-397.149,63.816,25.053 +_Ăł.wav=i j_B3,2458.618,250.0,-341.899,250.0,83.333 +_Ăł.wav=_B3,2736.699,216.897,-425.23,91.897,35.046 +_Ăł.wav=i dy_B3,2930.873,249.997,-334.238,249.997,83.333 +_Ăł.wav=i _B3,4069.619,413.374,-696.441,250.0,82.999 +_Ăł.wav=ł_B3,3241.679,181.852,-752.011,56.852,32.322 +_Ȃ₢.wav=i n_B3,418.812,249.999,-308.711,249.999,83.332 +_Ȃ₢.wav=i y_B3,1429.687,250.0,-304.269,250.0,83.331 +_Ȃ₢.wav=i m_B3,2404.827,250.0,-339.344,250.0,83.333 +_ɂЂ݂т҂.wav=i ny_B3,449.444,249.999,-311.265,249.999,83.329 +_ɂЂ݂т҂.wav=_B3,719.205,179.268,-434.151,54.268,26.232 +_ɂЂ݂т҂.wav=i hy_B3,911.486,249.999,-336.792,249.999,83.33 +_ɂЂ݂т҂.wav=_B3,1192.119,170.803,-422.678,89.344,48.501 +_ɂЂ݂т҂.wav=i my_B3,1422.03,250.0,-311.265,250.0,83.333 +_ɂЂ݂т҂.wav=_B3,1679.688,172.204,-448.713,76.581,45.948 +_ɂЂ݂т҂.wav=i by_B3,1922.366,275.536,-311.262,249.997,83.331 +_ɂЂ݂т҂.wav=_B3,2192.785,158.451,-399.702,66.369,35.358 +_ɂЂ݂т҂.wav=i py_B3,2394.616,280.633,-332.695,250.0,83.333 +_ɂЂ݂т҂.wav=_B3,2690.565,142.722,-492.674,61.264,0.0 +_ɂЂ݂т҂.wav=i ry_B3,2983.837,249.998,-274.958,249.998,83.333 +_ɂЂ݂т҂.wav=_B3,3243.963,122.712,-790.395,30.63,17.018 +_΂ς.wav=i b_B3,457.104,271.249,-306.853,249.999,83.333 +_΂ς.wav=_B3,734.521,179.268,-387.601,54.268,28.426 +_΂ς.wav=i p_B3,1381.187,285.738,-341.897,250.0,83.331 +_΂ς.wav=i r_B3,2419.854,250.0,-306.725,250.0,83.333 +_͂͂.wav=i h_B3,431.643,249.997,-285.736,249.997,83.331 +_͂͂.wav=u h_B3,1434.859,250.0,-293.396,250.0,83.33 +_͂͂.wav=n h_B3,2422.761,250.0,-298.502,250.0,83.333 +_.wav=- _B3,233.573,124.999,-843.672,0.0,0.0 +_.wav=u _B3,542.618,375.0,-609.934,250.0,83.332 +_.wav=u _B3,1017.425,375.0,-648.223,250.0,83.332 +_.wav=i _B3,1549.666,375.0,-637.635,250.0,83.333 +_.wav=o _B3,2020.643,375.0,-697.073,250.0,83.333 +_.wav=a _B3,2506.935,375.0,-671.199,250.0,83.333 +_.wav=o _B3,3073.639,375.0,-1398.723,250.0,83.33 +_サタガザĂ.wav=ky_B3,780.646,14.748,-45.759,14.748,0.0 +_サタガザĂ.wav=u ky_B3,436.743,278.08,-347.003,250.0,83.331 +_サタガザĂ.wav=_B3,748.007,206.686,-400.776,81.686,0.0 +_サタガザĂ.wav=sh_B3,1199.838,58.712,-165.926,20.421,10.21 +_サタガザĂ.wav=u sh_B3,947.286,249.998,-392.952,249.998,83.33 +_サタガザĂ.wav=_B3,1204.943,283.267,-459.489,158.267,53.607 +_サタガザĂ.wav=ch_B3,1761.185,46.516,-84.491,20.672,0.0 +_サタガザĂ.wav=u ch_B3,1437.406,285.294,-324.04,250.0,83.333 +_サタガザĂ.wav=_B3,1720.593,232.471,-455.705,137.844,66.37 +_サタガザĂ.wav=gy_B3,2266.686,19.009,-33.028,15.505,0.0 +_サタガザĂ.wav=u gy_B3,1963.265,249.999,-313.818,249.999,83.331 +_サタガザĂ.wav=_B3,2247.275,192.189,-400.522,67.189,25.842 +_サタガザĂ.wav=j_B3,2775.845,3.277,-56.727,0.0,0.0 +_サタガザĂ.wav=u j_B3,2491.808,250.0,-325.636,250.0,83.333 +_サタガザĂ.wav=_B3,2761.411,199.942,-403.959,74.942,25.841 +_サタガザĂ.wav=u ty_B3,2945.625,275.843,-314.606,250.0,83.333 +_サタガザĂ.wav=u _B3,4318.42,382.363,-658.435,249.998,82.999 +_サタガザĂ.wav=ty_B3,3258.225,26.864,-54.94,12.919,2.584 +_サタガザĂ.wav=Ă_B3,3250.976,193.91,-699.756,68.91,0.0 +_Ƃǂ.wav=k_B3,754.621,11.047,-38.784,5.167,5.167 +_Ƃǂ.wav=u k_B3,403.101,282.776,-338.242,249.999,83.33 +_Ƃǂ.wav=_B3,714.178,205.11,-413.443,80.11,0.0 +_Ƃǂ.wav=s_B3,1164.906,54.268,-141.187,0.0,0.0 +_Ƃǂ.wav=u s_B3,912.385,249.999,-396.228,249.999,83.331 +_Ƃǂ.wav=_B3,1192.639,258.622,-443.731,133.622,38.006 +_Ƃǂ.wav=t_B3,1767.213,0.0,-34.735,0.0,0.0 +_Ƃǂ.wav=u t_B3,1416.609,275.843,-335.28,250.0,83.331 +_Ƃǂ.wav=Ƃ_B3,1737.203,198.113,-406.446,73.113,0.0 +_Ƃǂ.wav=g_B3,2274.032,11.257,-35.484,7.75,0.0 +_Ƃǂ.wav=u g_B3,1935.977,249.999,-325.636,249.999,83.331 +_Ƃǂ.wav=_B3,2255.249,179.268,-387.601,54.268,28.426 +_Ƃǂ.wav=z_B3,2748.205,0.0,-60.509,0.0,0.0 +_Ƃǂ.wav=u z_B3,2472.993,250.0,-335.72,250.0,83.328 +_Ƃǂ.wav=_B3,2751.04,220.804,-468.943,95.804,40.339 +_Ƃǂ.wav=d_B3,3278.047,23.044,-34.363,12.53,0.0 +_Ƃǂ.wav=u d_B3,2996.056,250.0,-288.657,250.0,83.333 +_Ƃǂ.wav=ǂ_B3,3259.501,156.935,-711.848,31.935,20.169 +_ɂЂ݂т҂.wav=ny_B3,685.744,12.252,-51.683,5.167,0.0 +_ɂЂ݂т҂.wav=u ny_B3,432.505,249.998,-305.465,249.998,83.329 +_ɂЂ݂т҂.wav=ɂ_B3,695.952,170.38,-378.713,45.38,20.169 +_ɂЂ݂т҂.wav=hy_B3,1173.301,36.605,-99.166,0.0,0.0 +_ɂЂ݂т҂.wav=u hy_B3,923.3,250.0,-342.443,250.0,83.331 +_ɂЂ݂т҂.wav=Ђ_B3,1178.342,232.571,-440.904,107.571,47.731 +_ɂЂ݂т҂.wav=my_B3,1707.619,19.533,-69.089,3.538,0.0 +_ɂЂ݂т҂.wav=u my_B3,1456.113,250.0,-317.232,250.0,83.333 +_ɂЂ݂т҂.wav=݂_B3,1722.763,187.349,-395.682,62.349,28.332 +_ɂЂ݂т҂.wav=by_B3,2220.682,28.331,-49.006,28.331,10.622 +_ɂЂ݂т҂.wav=u by_B3,1933.463,281.01,-310.508,249.999,83.331 +_ɂЂ݂т҂.wav=т_B3,2208.574,193.071,-401.404,68.071,43.28 +_ɂЂ݂т҂.wav=py_B3,2745.481,12.919,-46.535,12.919,0.0 +_ɂЂ݂т҂.wav=u py_B3,2424.36,267.707,-324.942,250.0,83.333 +_ɂЂ݂т҂.wav=҂_B3,2728.325,190.551,-437.681,65.551,0.0 +_ɂЂ݂т҂.wav=ry_B3,3250.933,0.0,-25.841,-0.001,-0.001 +_ɂЂ݂т҂.wav=u ry_B3,2997.569,250.0,-278.427,250.0,83.33 +_ɂЂ݂т҂.wav=_B3,3256.534,158.614,-860.84,33.614,15.687 +_ʂӂނԂՂ.wav=n_B3,712.626,24.53,-58.97,3.503,0.0 +_ʂӂނԂՂ.wav=u n_B3,454.364,250.0,-312.189,250.0,83.331 +_ʂӂނԂՂ.wav=_B3,717.81,192.23,-400.564,67.23,28.68 +_ʂӂނԂՂ.wav=f_B3,1201.881,35.044,-77.317,0.0,0.0 +_ʂӂނԂՂ.wav=u f_B3,940.118,249.997,-339.08,249.997,83.331 +_ʂӂނԂՂ.wav=_B3,1235.497,195.593,-415.158,70.593,27.013 +_ʂӂނԂՂ.wav=m_B3,1692.675,25.212,-73.956,0.0,0.0 +_ʂӂނԂՂ.wav=u m_B3,1434.27,250.0,-327.318,250.0,83.331 +_ʂӂނԂՂ.wav=_B3,1718.183,181.851,-431.671,56.851,38.462 +_ʂӂނԂՂ.wav=b_B3,2223.306,27.683,-54.289,20.672,0.0 +_ʂӂނԂՂ.wav=u b_B3,1921.705,268.089,-310.508,250.0,83.332 +_ʂӂނԂՂ.wav=_B3,2202.855,191.587,-392.201,66.587,24.322 +_ʂӂނԂՂ.wav=p_B3,2722.104,19.928,-53.259,12.919,0.0 +_ʂӂނԂՂ.wav=u p_B3,2395.942,285.296,-332.359,250.0,83.331 +_ʂӂނԂՂ.wav=_B3,2709.812,197.273,-457.325,72.273,0.0 +_ʂӂނԂՂ.wav=r_B3,3231.176,6.722,-21.849,0.0,0.0 +_ʂӂނԂՂ.wav=u r_B3,2974.451,250.0,-280.254,250.0,83.331 +_ʂӂނԂՂ.wav=_B3,3236.217,155.253,-703.156,30.253,14.747 +_䂤‚Ӄ.wav=y_B3,716.613,9.555,-34.221,6.97,0.0 +_䂤‚Ӄ.wav=u y_B3,457.132,250.0,-294.995,250.0,83.331 +_䂤‚Ӄ.wav=_B3,731.785,203.436,-411.77,78.436,35.857 +_䂤‚Ӄ.wav=w_B3,1205.524,22.04,-58.219,6.971,0.0 +_䂤‚Ӄ.wav=u w_B3,979.303,250.0,-295.941,250.0,83.331 +_䂤‚Ӄ.wav=_B3,1232.697,178.123,-369.114,53.123,24.791 +_䂤‚Ӄ.wav=ts_B3,2155.818,45.319,-116.845,24.401,0.0 +_䂤‚Ӄ.wav=u ts_B3,1851.149,270.916,-323.956,249.998,83.331 +_䂤‚Ӄ.wav=_B3,2165.021,234.251,-420.2,109.251,0.0 +_䂤‚Ӄ.wav=v_B3,3198.913,10.086,-31.936,0.0,0.0 +_䂤‚Ӄ.wav=u v_B3,2883.364,250.0,-350.846,250.0,83.333 +_䂤‚Ӄ.wav=_B3,3147.777,223.199,-826.9,98.199,59.436 +_‚ӂ.wav=e y_B3,429.11,250.0,-304.269,250.0,83.331 +_‚ӂ.wav=_B3,717.352,199.37,-378.597,74.37,35.414 +_‚ӂ.wav=e w_B3,909.824,249.997,-317.188,249.997,83.331 +_‚ӂ.wav=_B3,1197.997,157.76,-366.714,54.267,23.258 +_‚ӂ.wav=e ch_B3,1373.721,274.467,-316.194,250.0,83.333 +_‚ӂ.wav=_B3,1667.422,175.58,-427.456,94.123,42.02 +_‚ӂ.wav=e ts_B3,1872.853,274.789,-320.594,250.0,83.331 +_‚ӂ.wav=‚_B3,2171.482,159.37,-418.362,84.995,0.0 +_‚ӂ.wav=e f_B3,2414.911,250.0,-340.764,250.0,83.333 +_‚ӂ.wav=ӂ_B3,2690.848,180.62,-418.329,84.996,31.874 +_‚ӂ.wav=e v_B3,2911.588,250.0,-333.199,250.0,83.33 +_‚ӂ.wav=_B3,3179.743,207.695,-764.933,82.695,41.347 +_.wav=- _B3,257.161,124.999,-841.127,0.0,0.0 +_.wav=e _B3,502.579,375.0,-694.488,250.0,83.332 +_.wav=e _B3,1047.161,374.997,-635.742,249.997,83.331 +_.wav=u _B3,1508.539,375.0,-596.756,250.0,83.332 +_.wav=o _B3,1988.828,375.0,-642.803,250.0,83.332 +_.wav=e _B3,2503.154,375.0,-1758.94,250.0,83.333 +_.wav=o _B3,3308.68,374.998,-1188.075,249.998,83.333 +_Ă.wav=e ky_B3,445.938,263.945,-335.72,249.999,83.332 +_Ă.wav=_B3,751.403,188.029,-363.053,63.029,0.0 +_Ă.wav=e sh_B3,914.882,250.0,-381.101,250.0,83.331 +_Ă.wav=_B3,1169.923,271.229,-456.337,146.229,50.424 +_Ă.wav=e ch_B3,1416.601,273.314,-309.079,250.0,83.331 +_Ă.wav=e gy_B3,1946.053,250.0,-300.424,250.0,83.333 +_Ă.wav=_B3,2228.828,167.617,-445.686,55.466,21.871 +_Ă.wav=e j_B3,2475.877,250.0,-328.157,250.0,83.333 +_Ă.wav=_B3,2735.961,213.241,-433.646,88.241,30.254 +_Ă.wav=e ty_B3,2954.904,277.889,-315.552,250.0,83.333 +_Ă.wav=e _B3,4216.336,399.885,-700.034,249.998,83.0 +_Ă.wav=Ă_B3,3237.249,215.761,-850.906,90.761,0.0 +_Ă.wav=e k_B3,434.15,271.25,-318.913,250.0,83.332 +_Ă.wav=_B3,730.352,194.774,-403.107,69.774,0.0 +_Ă.wav=e s_B3,926.627,249.998,-360.931,249.998,83.33 +_Ă.wav=_B3,1205.198,222.485,-430.819,97.485,50.969 +_Ă.wav=e t_B3,1412.377,274.791,-317.232,250.0,83.331 +_Ă.wav=_B3,1692.575,192.288,-400.621,67.288,0.0 +_Ă.wav=e g_B3,1941.83,249.998,-301.683,249.998,83.331 +_Ă.wav=_B3,2219.982,181.664,-410.704,56.664,30.822 +_Ă.wav=e z_B3,2467.857,250.0,-335.72,250.0,83.333 +_Ă.wav=_B3,2735.505,203.157,-483.882,78.157,42.86 +_Ă.wav=e d_B3,2982.182,250.0,-277.734,250.0,83.33 +_Ă.wav=_B3,3239.746,160.295,-622.235,35.295,20.169 +_ɂЂ݂т҂肥.wav=e ny_B3,466.021,250.0,-302.945,250.0,83.33 +_ɂЂ݂т҂肥.wav=ɂ_B3,723.585,180.464,-388.797,55.464,30.675 +_ɂЂ݂т҂肥.wav=e hy_B3,924.884,249.997,-323.11,249.997,83.331 +_ɂЂ݂т҂肥.wav=Ђ_B3,1204.252,194.774,-403.107,69.774,41.442 +_ɂЂ݂т҂肥.wav=e my_B3,1431.642,250.0,-305.466,250.0,83.33 +_ɂЂ݂т҂肥.wav=݂_B3,1696.769,180.466,-388.799,55.466,16.507 +_ɂЂ݂т҂肥.wav=e by_B3,1898.065,278.331,-314.606,250.0,83.332 +_ɂЂ݂т҂肥.wav=т_B3,2165.713,195.593,-403.926,70.593,45.804 +_ɂЂ݂т҂肥.wav=e py_B3,2394.741,281.01,-328.157,250.0,83.331 +_ɂЂ݂т҂肥.wav=҂_B3,2690.651,188.029,-396.361,63.029,0.0 +_ɂЂ݂т҂肥.wav=e ry_B3,2972.625,250.0,-273.302,250.0,83.33 +_ɂЂ݂т҂肥.wav=肥_B3,3229.55,153.33,-708.318,28.329,14.166 +_˂ւ߂ׂ؂.wav=e n_B3,440.53,250.0,-306.853,250.0,83.332 +_˂ւ߂ׂ؂.wav=_B3,703.808,176.452,-384.785,51.452,23.026 +_˂ւ߂ׂ؂.wav=e h_B3,905.273,249.999,-294.813,249.999,83.331 +_˂ւ߂ׂ؂.wav=_B3,1204.835,176.683,-418.498,51.683,18.088 +_˂ւ߂ׂ؂.wav=e m_B3,1398.229,250.0,-334.65,250.0,83.331 +_˂ւ߂ׂ؂.wav=_B3,1681.426,181.431,-389.765,56.431,24.891 +_˂ւ߂ׂ؂.wav=e b_B3,1889.528,271.026,-318.052,249.999,83.332 +_˂ւ߂ׂ؂.wav=_B3,2163.95,181.852,-390.185,56.852,25.842 +_˂ւ߂ׂ؂.wav=e p_B3,2371.641,288.552,-352.078,250.0,83.333 +_˂ւ߂ׂ؂.wav=_B3,2691.353,169.813,-463.082,44.813,0.0 +_˂ւ߂ׂ؂.wav=e r_B3,2954.229,250.0,-275.841,250.0,83.332 +_˂ւ߂ׂ؂.wav=_B3,3214.187,152.386,-583.417,27.386,1.544 +_EEE.wav=E _B3,681.909,110.967,-373.718,45.08,0.0 +_EEE.wav=o E_B3,847.952,308.953,-386.933,250.0,83.331 +_EEE.wav=E _B3,1208.004,120.158,-325.613,54.268,0.0 +_EEE.wav=N E_B3,1437.795,201.131,-290.364,145.646,79.758 +_񂠂.wav=- _B3,263.907,121.532,-329.865,0.0,0.0 +_񂠂.wav=o _B3,494.416,375.0,-624.714,250.0,83.332 +_񂠂.wav=u _B3,1004.803,374.999,-655.733,249.999,83.333 +_񂠂.wav=n _B3,1497.761,375.0,-669.606,250.0,83.333 +_񂠂.wav=a _B3,1995.698,375.0,-1089.209,250.0,83.333 +_񂠂.wav=n _B3,2465.005,375.0,-660.893,250.0,83.331 +_񂠂.wav=n _B3,3055.061,375.0,-880.656,250.0,83.332 +_.wav=u _B3,1027.211,374.999,-655.733,249.999,83.333 +_.wav=N _B3,1535.106,375.0,-668.648,250.0,83.333 +_.wav=a _B3,2028.063,375.0,-643.198,250.0,83.333 +_.wav=N _B3,2483.677,375.0,-655.724,250.0,83.33 +_.wav=N _B3,3051.326,375.0,-1133.808,250.0,83.33 +_債傿催傶Ă.wav=o ky_B3,418.813,267.524,-326.58,250.0,83.331 +_債傿催傶Ă.wav=_B3,704.55,216.896,-410.987,91.896,0.0 +_債傿催傶Ă.wav=o sh_B3,906.383,249.998,-357.212,249.998,83.329 +_債傿催傶Ă.wav=_B3,1164.039,232.212,-454.383,107.212,45.948 +_債傿催傶Ă.wav=o ch_B3,1409.267,271.706,-304.491,250.0,83.331 +_債傿催傶Ă.wav=_B3,1684.794,219.449,-474.452,94.449,42.157 +_債傿催傶Ă.wav=o gy_B3,1940.232,250.0,-311.265,250.0,83.333 +_債傿催傶Ă.wav=_B3,2215.76,188.817,-397.15,63.817,22.47 +_債傿催傶Ă.wav=o j_B3,2463.537,250.0,-326.582,250.0,83.333 +_債傿催傶Ă.wav=_B3,2720.252,202.527,-410.86,77.527,31.01 +_債傿催傶Ă.wav=o ty_B3,2940.9,272.972,-324.026,249.997,83.33 +_債傿催傶Ă.wav=o _B3,4053.884,392.133,-791.175,249.997,82.999 +_債傿催傶Ă.wav=Ă_B3,3225.723,199.941,-629.257,74.941,0.0 +_Ƃ.wav=o k_B3,426.471,277.355,-313.749,249.999,83.332 +_Ƃ.wav=_B3,741.348,185.206,-393.539,60.205,0.0 +_Ƃ.wav=o s_B3,954.883,249.998,-369.976,249.998,83.332 +_Ƃ.wav=_B3,1215.094,239.87,-448.204,114.87,43.396 +_Ƃ.wav=o t_B3,1450.11,270.422,-341.898,250.0,83.331 +_Ƃ.wav=_B3,1758.004,192.189,-400.522,67.189,0.0 +_Ƃ.wav=o g_B3,1955.549,249.998,-318.922,249.998,83.33 +_Ƃ.wav=_B3,2237.946,189.605,-410.893,64.605,39.814 +_Ƃ.wav=o z_B3,2496.725,250.0,-331.687,250.0,83.333 +_Ƃ.wav=_B3,2754.383,201.58,-456.463,76.58,35.738 +_Ƃ.wav=o d_B3,2999.612,249.997,-301.053,249.997,83.33 +_Ƃ.wav=_B3,3259.129,181.852,-946.19,56.852,28.426 +_ɂЂ݂т҂.wav=o ny_B3,485.238,264.018,-295.949,249.999,83.332 +_ɂЂ݂т҂.wav=ɂ_B3,740.344,183.711,-392.043,58.711,23.666 +_ɂЂ݂т҂.wav=o hy_B3,919.202,249.998,-303.605,249.998,83.332 +_ɂЂ݂т҂.wav=Ђ_B3,1229.365,215.447,-436.735,90.447,28.426 +_ɂЂ݂т҂.wav=o my_B3,1450.165,250.0,-317.191,250.0,83.331 +_ɂЂ݂т҂.wav=݂_B3,1712.929,206.686,-438.31,81.686,51.333 +_ɂЂ݂т҂.wav=o by_B3,1937.735,283.185,-324.943,250.0,83.33 +_ɂЂ݂т҂.wav=т_B3,2225.208,192.189,-400.521,67.188,49.664 +_ɂЂ݂т҂.wav=o py_B3,2430.41,278.038,-319.774,250.0,83.332 +_ɂЂ݂т҂.wav=҂_B3,2740.999,202.525,-428.982,77.525,0.0 +_ɂЂ݂т҂.wav=o ry_B3,3038.224,250.0,-272.974,250.0,83.33 +_ɂЂ݂т҂.wav=_B3,3296.377,139.902,-631.73,14.902,5.96 +_̂قڂۂ.wav=o n_B3,469.866,250.0,-311.265,250.0,83.331 +_̂قڂۂ.wav=_B3,740.288,181.159,-389.492,56.159,22.974 +_̂قڂۂ.wav=o h_B3,967.647,249.998,-293.395,249.998,83.33 +_̂قڂۂ.wav=_B3,1245.726,139.144,-365.751,48.501,17.869 +_̂قڂۂ.wav=o m_B3,1455.215,250.0,-303.608,250.0,83.331 +_̂قڂۂ.wav=_B3,1720.532,181.159,-420.537,56.159,25.527 +_̂قڂۂ.wav=o b_B3,1935.127,278.331,-314.606,250.0,83.333 +_̂قڂۂ.wav=_B3,2225.404,112.754,-379.847,46.515,18.181 +_̂قڂۂ.wav=o p_B3,2425.25,293.931,-340.447,250.0,83.333 +_̂قڂۂ.wav=_B3,2720.28,192.288,-464.719,67.288,0.0 +_̂قڂۂ.wav=o r_B3,3002.163,250.0,-290.843,250.0,83.33 +_̂قڂۂ.wav=_B3,3254.118,174.099,-648.734,49.099,23.258 +_悤‚ӂ.wav=o y_B3,487.736,249.999,-295.948,249.999,83.329 +_悤‚ӂ.wav=_B3,758.157,216.897,-425.23,91.897,48.501 +_悤‚ӂ.wav=o w_B3,952.33,249.999,-304.271,249.999,83.332 +_悤‚ӂ.wav=_B3,1250.203,176.684,-385.017,51.684,31.01 +_悤‚ӂ.wav=o ts_B3,1917.259,267.522,-304.269,249.999,83.332 +_悤‚ӂ.wav=‚_B3,2223.42,201.579,-398.221,76.579,0.0 +_悤‚ӂ.wav=o f_B3,2422.695,250.0,-344.45,250.0,83.33 +_悤‚ӂ.wav=ӂ_B3,2682.907,204.133,-412.466,79.133,47.591 +_悤‚ӂ.wav=o v_B3,2943.45,250.0,-344.45,250.0,83.33 +_悤‚ӂ.wav=_B3,3242.99,177.569,-588.789,52.569,28.038 +_񂢂񂦂񂨂.wav=- _B3,245.817,74.899,-386.476,0.0,0.0 +_񂢂񂦂񂨂.wav=n _B3,506.36,375.0,-665.999,250.0,83.331 +_񂢂񂦂񂨂.wav=i _B3,1107.667,375.0,-601.708,250.0,83.331 +_񂢂񂦂񂨂.wav=n _B3,1512.32,375.0,-662.217,250.0,83.33 +_񂢂񂦂񂨂.wav=e _B3,1977.482,375.0,-700.036,250.0,83.332 +_񂢂񂦂񂨂.wav=n _B3,2499.372,375.0,-660.893,250.0,83.333 +_񂢂񂦂񂨂.wav=o _B3,2987.225,375.0,-1486.65,250.0,83.33 +_񂢂񂦂񂨂.wav=n _B3,4405.402,389.927,-541.199,250.0,83.0 +_.wav=- _B3,272.29,74.899,-386.476,0.0,0.0 +_.wav=N _B3,540.396,375.0,-658.309,250.0,83.332 +_.wav=i _B3,1069.85,375.0,-645.388,250.0,83.331 +_.wav=N _B3,1550.139,375.0,-640.22,250.0,83.331 +_.wav=e _B3,2060.681,375.0,-624.714,250.0,83.333 +_.wav=N _B3,2540.972,375.0,-681.126,250.0,83.333 +_.wav=o _B3,3032.606,375.0,-940.647,250.0,83.332 +_̓.wav=N v_B3,506.36,250.0,-329.418,250.0,83.33 +_̓.wav=N h_B3,1451.811,250.0,-314.292,250.0,83.331 +_̓.wav=N hy_B3,2404.827,250.0,-336.98,250.0,83.33 +_񂩂񂳂.wav=n k_B3,389.125,260.513,-329.417,250.0,83.332 +_񂩂񂳂.wav=n s_B3,1379.958,250.0,-371.016,250.0,83.331 +_񂩂񂳂.wav=n t_B3,2408.609,278.037,-325.636,250.0,83.331 +_񂪂񂴂.wav=n g_B3,483.668,250.0,-276.474,250.0,83.331 +_񂪂񂴂.wav=n z_B3,1417.775,250.0,-333.199,250.0,83.331 +_񂪂񂴂.wav=n d_B3,2408.609,250.0,-295.38,250.0,83.331 +_񂫂񂵂񂿂.wav=n ky_B3,411.815,267.522,-333.2,250.0,83.332 +_񂫂񂵂񂿂.wav=n sh_B3,1349.702,250.0,-367.234,250.0,83.331 +_񂫂񂵂񂿂.wav=n ch_B3,2348.1,283.637,-337.285,250.0,83.333 +_񂬂񂶂‚.wav=n gy_B3,457.197,249.999,-284.036,249.999,83.332 +_񂬂񂶂‚.wav=n j_B3,1448.03,250.0,-333.199,250.0,83.331 +_񂬂񂶂‚.wav=n ts_B3,2412.39,267.338,-306.727,250.0,83.332 +_Ȃς.wav=n n_B3,468.543,249.999,-314.29,249.999,83.332 +_Ȃς.wav=n p_B3,1429.121,264.016,-336.982,250.0,83.331 +_Ȃς.wav=n m_B3,2453.989,250.0,-310.509,250.0,83.333 +_ɂ҂݂.wav=n ny_B3,453.415,250.0,-321.855,250.0,83.331 +_ɂ҂݂.wav=n py_B3,1413.994,281.875,-329.418,250.0,83.333 +_ɂ҂݂.wav=n my_B3,2412.39,250.0,-332.695,250.0,83.333 +_Ђтӂ.wav=n hy_B3,438.288,250.0,-314.291,250.0,83.331 +_Ђтӂ.wav=n by_B3,1485.848,278.038,-321.854,250.0,83.332 +_Ђтӂ.wav=n f_B3,2427.518,250.0,-355.89,250.0,83.333 +_Ӄ⃓.wav=N f_B3,411.815,250.0,-352.109,250.0,83.33 +_Ӄ⃓.wav=N y_B3,1455.594,250.0,-321.853,250.0,83.331 +_Ӄ⃓.wav=N w_B3,2476.681,250.0,-306.852,250.0,83.332 +_΂.wav=n y_B3,453.414,250.0,-302.946,250.0,83.331 +_΂.wav=n b_B3,1444.248,272.69,-304.268,250.0,83.333 +_΂.wav=n r_B3,2460.799,250.0,-274.651,250.0,83.331 +_.wav=n ry_B3,460.979,250.0,-288.657,250.0,83.33 +_.wav=n v_B3,1494.672,250.0,-323.115,250.0,83.328 diff --git "a/OpenUtau.Test/Files/ja_cvvc/\345\274\267/\345\274\267_B4/oto.ini" "b/OpenUtau.Test/Files/ja_cvvc/\345\274\267/\345\274\267_B4/oto.ini" new file mode 100644 index 000000000..4e42814f9 --- /dev/null +++ "b/OpenUtau.Test/Files/ja_cvvc/\345\274\267/\345\274\267_B4/oto.ini" @@ -0,0 +1,416 @@ +_EEEEE.wav=E _B4,716.699,124.841,-301.699,48.548,34.678 +_EEEEE.wav=a E_B4,830.746,299.777,-347.333,249.999,83.332 +_EEEEE.wav=E _B4,1226.531,107.502,-315.57,58.952,31.21 +_EEEEE.wav=i E_B4,1381.187,305.485,-368.702,250.0,83.333 +_EEEEE.wav=E _B4,1746.543,149.115,-326.264,65.887,45.08 +_EEEEE.wav=u E_B4,1867.859,281.211,-360.971,250.0,83.333 +_EEEEE.wav=E _B4,2229.634,156.051,-348.044,72.823,31.21 +_EEEEE.wav=e E_B4,2327.678,308.952,-368.703,250.0,83.333 +_EEEEE.wav=E _B4,2709.482,201.29,-761.696,76.29,45.081 +_EEEEE.wav=n E_B4,4106.762,395.505,-533.352,250.0,83.331 +_.wav=- _B4,236.867,128.466,-432.324,3.466,3.466 +_.wav=a _B4,436.114,375.0,-746.172,250.0,83.331 +_.wav=a _B4,1044.701,375.0,-598.871,250.0,83.331 +_.wav=i _B4,1560.253,375.0,-645.39,250.0,83.333 +_.wav=a _B4,2068.057,327.103,-678.856,250.0,83.332 +_.wav=u _B4,2587.488,351.636,-688.028,250.0,83.333 +_.wav=e _B4,3110.794,351.636,-1045.567,250.0,83.332 +_.wav=a _B4,4403.558,465.138,-720.976,250.0,82.999 +_.wav=a k_B4,428.361,283.595,-327.527,250.0,82.999 +_.wav=_B4,739.478,138.842,-342.353,55.172,0.0 +_.wav=a s_B4,951.668,250.0,-343.032,250.0,83.331 +_.wav=_B4,1221.05,161.977,-414.58,85.279,46.728 +_.wav=a t_B4,1467.223,273.258,-304.269,250.0,83.331 +_.wav=_B4,1749.933,146.698,-466.109,52.569,0.0 +_.wav=a g_B4,1986.654,249.999,-300.392,249.999,83.332 +_.wav=_B4,2256.793,148.421,-425.027,61.264,35.422 +_.wav=a z_B4,2502.208,250.0,-319.774,250.0,83.333 +_.wav=_B4,2779.343,169.339,-445.262,89.155,50.392 +_.wav=a d_B4,3025.517,249.998,-287.93,249.998,83.333 +_.wav=_B4,3284.455,104.984,-819.875,38.745,20.863 +_ႵႿႬႶĂ.wav=a ky_B4,458.378,271.028,-318.923,250.0,83.332 +_ႵႿႬႶĂ.wav=_B4,744.852,143.694,-375.776,63.083,0.0 +_ႵႿႬႶĂ.wav=a sh_B4,963.819,249.997,-353.383,249.997,83.328 +_ႵႿႬႶĂ.wav=_B4,1236.792,176.333,-421.196,95.724,42.119 +_ႵႿႬႶĂ.wav=a ch_B4,1438.623,269.174,-304.94,250.0,83.333 +_ႵႿႬႶĂ.wav=_B4,1719.255,164.524,-428.856,80.41,42.12 +_ႵႿႬႶĂ.wav=a gy_B4,1959.379,249.996,-292.118,249.996,83.329 +_ႵႿႬႶĂ.wav=_B4,2247.259,86.924,-357.174,23.842,14.902 +_ႵႿႬႶĂ.wav=a j_B4,2464.816,250.0,-322.751,250.0,83.333 +_ႵႿႬႶĂ.wav=_B4,2759.896,107.433,-344.682,26.824,14.902 +_ႵႿႬႶĂ.wav=a ty_B4,2931.964,267.522,-309.438,250.0,83.331 +_ႵႿႬႶĂ.wav=Ă_B4,3233.788,163.745,-676.601,38.745,0.0 +_Ȃ͂܂΂ς.wav=a n_B4,454.552,249.998,-292.117,249.998,83.332 +_Ȃ͂܂΂ς.wav=_B4,716.039,170.947,-379.279,45.947,25.142 +_Ȃ͂܂΂ς.wav=a h_B4,910.212,249.997,-307.433,249.997,83.33 +_Ȃ͂܂΂ς.wav=_B4,1202.33,108.009,-375.452,42.119,22.974 +_Ȃ͂܂΂ς.wav=a m_B4,1415.648,250.0,-315.094,250.0,83.332 +_Ȃ͂܂΂ς.wav=_B4,1680.965,186.263,-394.598,61.264,30.252 +_Ȃ͂܂΂ς.wav=a b_B4,1936.404,275.842,-299.777,249.999,83.331 +_Ȃ͂܂΂ς.wav=_B4,2217.454,116.5,-363.137,29.804,11.921 +_Ȃ͂܂΂ς.wav=a p_B4,2407.378,281.01,-315.096,250.0,83.333 +_Ȃ͂܂΂ς.wav=_B4,2692.519,174.1,-437.126,49.1,0.0 +_Ȃ͂܂΂ς.wav=a r_B4,2962.598,249.997,-280.63,249.997,83.333 +_Ȃ͂܂΂ς.wav=_B4,3230.807,145.862,-735.319,20.862,11.921 +_ɂЂ݂т҂.wav=a ny_B4,464.76,250.0,-296.516,250.0,83.331 +_ɂЂ݂т҂.wav=ɂ_B4,733.19,135.349,-378.038,44.706,26.824 +_ɂЂ݂т҂.wav=a hy_B4,956.395,249.998,-321.855,249.998,83.332 +_ɂЂ݂т҂.wav=Ђ_B4,1213.043,177.957,-407.844,74.509,38.745 +_ɂЂ݂т҂.wav=a my_B4,1440.465,250.0,-314.291,250.0,83.331 +_ɂЂ݂т҂.wav=݂_B4,1701.836,136.307,-413.65,59.609,21.318 +_ɂЂ݂т҂.wav=a by_B4,1935.886,283.185,-316.37,249.998,83.33 +_ɂЂ݂т҂.wav=т_B4,2226.396,133.886,-376.487,32.784,17.882 +_ɂЂ݂т҂.wav=a py_B4,2423.736,281.54,-310.509,250.0,83.331 +_ɂЂ݂т҂.wav=҂_B4,2702.145,176.737,-440.012,75.634,0.0 +_ɂЂ݂т҂.wav=a ry_B4,2995.712,249.997,-276.822,249.997,83.329 +_ɂЂ݂т҂.wav=_B4,3251.671,142.88,-862.923,17.88,8.941 +_킿‚ӂ.wav=a y_B4,468.541,250.0,-303.124,250.0,83.331 +_킿‚ӂ.wav=_B4,744.07,201.58,-423.656,76.58,34.036 +_킿‚ӂ.wav=a w_B4,945.05,249.998,-309.435,249.998,83.33 +_킿‚ӂ.wav=_B4,1229.086,123.054,-374.93,41.599,15.127 +_킿‚ӂ.wav=a ts_B4,1882.938,270.675,-304.27,250.0,83.33 +_킿‚ӂ.wav=‚_B4,2178.202,173.61,-413.477,71.972,0.0 +_킿‚ӂ.wav=a f_B4,2408.609,250.0,-343.599,250.0,83.33 +_킿‚ӂ.wav=ӂ_B4,2687.54,175.883,-445.044,73.177,24.078 +_킿‚ӂ.wav=a v_B4,2945.625,250.0,-306.727,250.0,83.328 +_킿‚ӂ.wav=_B4,3215.905,178.645,-759.16,53.645,32.784 +_.wav=- _B4,249.599,125.0,-791.378,0.0,0.0 +_.wav=i _B4,529.051,375.0,-665.999,250.0,83.332 +_.wav=i _B4,1039.595,375.0,-662.217,250.0,83.332 +_.wav=u _B4,1516.103,375.0,-669.78,250.0,83.331 +_.wav=a _B4,2064.464,375.0,-678.857,250.0,83.33 +_.wav=e _B4,2503.154,375.0,-636.973,250.0,83.333 +_.wav=i _B4,3040.17,375.0,-1050.279,250.0,83.333 +_‚ӂ.wav=_B4,702.757,171.039,-477.166,46.039,14.166 +_‚ӂ.wav=i w_B4,975.304,250.0,-318.923,250.0,83.331 +_‚ӂ.wav=_B4,1255.559,181.726,-374.588,56.726,30.254 +_‚ӂ.wav=i ch_B4,1455.594,287.969,-332.676,250.0,83.331 +_‚ӂ.wav=_B4,1741.964,191.728,-403.14,111.12,37.521 +_‚ӂ.wav=i ts_B4,1947.229,267.704,-299.163,249.998,83.33 +_‚ӂ.wav=‚_B4,2250.174,159.746,-412.593,75.634,0.0 +_‚ӂ.wav=i f_B4,2461.554,250.0,-326.582,250.0,83.333 +_‚ӂ.wav=ӂ_B4,2721.814,175.686,-432.685,88.067,45.948 +_‚ӂ.wav=i v_B4,2949.405,250.0,-333.199,250.0,83.33 +_‚ӂ.wav=_B4,3229.661,185.508,-1085.378,60.508,26.472 +_.wav=i k_B4,416.259,281.009,-313.629,249.999,83.332 +_.wav=i s_B4,1395.086,250.0,-355.888,250.0,83.331 +_.wav=i t_B4,2389.7,278.426,-329.417,250.0,83.333 +_.wav=i g_B4,434.505,249.999,-293.931,249.999,83.332 +_.wav=i z_B4,1429.121,250.0,-336.981,250.0,83.33 +_.wav=i d_B4,2453.989,250.0,-287.44,250.0,83.333 +_Ăł.wav=i ky_B4,434.506,270.672,-314.29,249.998,83.331 +_Ăł.wav=_B4,733.67,185.507,-378.368,60.507,0.0 +_Ăł.wav=i sh_B4,929.925,249.998,-363.452,249.998,83.33 +_Ăł.wav=_B4,1183.705,246.016,-427.344,121.016,41.883 +_Ăł.wav=i ty_B4,1398.866,283.641,-318.073,250.0,83.333 +_Ăł.wav=Ă_B4,1694.248,177.945,-386.279,52.945,0.0 +_Ăł.wav=i gy_B4,1909.411,249.998,-310.508,249.998,83.331 +_Ăł.wav=_B4,2182.576,188.816,-397.149,63.816,25.053 +_Ăł.wav=i j_B4,2453.989,250.0,-325.636,250.0,83.333 +_Ăł.wav=_B4,2722.899,189.291,-397.624,64.291,26.472 +_Ăł.wav=i dy_B4,2972.099,249.997,-287.815,249.997,83.333 +_Ăł.wav=i _B4,4378.953,439.09,-565.897,250.0,82.999 +_Ăł.wav=ł_B4,3233.467,174.161,-744.32,49.161,24.631 +_Ȃ₢.wav=i n_B4,449.657,249.997,-302.945,249.997,83.331 +_Ȃ₢.wav=i y_B4,1463.179,250.0,-304.269,250.0,83.331 +_Ȃ₢.wav=i m_B4,2469.141,250.0,-310.509,250.0,83.333 +_ɂЂ݂т҂.wav=i ny_B4,426.944,249.997,-306.726,249.997,83.33 +_ɂЂ݂т҂.wav=_B4,690.747,179.268,-434.151,54.268,26.232 +_ɂЂ݂т҂.wav=i hy_B4,922.36,249.998,-287.816,249.998,83.33 +_ɂЂ݂т҂.wav=_B4,1195.16,141.067,-392.941,59.608,44.706 +_ɂЂ݂т҂.wav=i my_B4,1410.212,250.0,-311.264,250.0,83.332 +_ɂЂ݂т҂.wav=_B4,1686.685,148.567,-425.076,52.944,22.311 +_ɂЂ݂т҂.wav=i by_B4,1913.195,275.536,-311.262,249.997,83.331 +_ɂЂ݂т҂.wav=_B4,2212.356,129.9,-371.151,37.818,22.69 +_ɂЂ݂т҂.wav=i py_B4,2404.827,280.632,-318.072,250.0,83.333 +_ɂЂ݂т҂.wav=_B4,2699.453,142.722,-492.674,61.264,0.0 +_ɂЂ݂т҂.wav=i ry_B4,2972.099,249.998,-274.957,249.998,83.333 +_ɂЂ݂т҂.wav=_B4,3233.067,122.712,-790.395,30.63,17.018 +_΂ς.wav=i b_B4,445.853,271.249,-306.853,249.999,83.333 +_΂ς.wav=_B4,713.438,179.268,-387.601,54.268,28.426 +_΂ς.wav=i p_B4,1398.868,285.738,-341.897,250.0,83.331 +_΂ς.wav=i r_B4,2480.462,250.0,-287.818,250.0,83.331 +_͂͂.wav=i h_B4,419.382,249.996,-331.691,249.996,83.329 +_͂͂.wav=u h_B4,1417.775,250.0,-331.748,250.0,83.331 +_͂͂.wav=n h_B4,2444.326,250.0,-321.531,250.0,83.332 +_.wav=- _B4,177.744,124.998,-900.07,0.0,0.0 +_.wav=u _B4,502.58,375.0,-692.47,250.0,83.331 +_.wav=u _B4,1009.342,375.0,-648.223,250.0,83.332 +_.wav=i _B4,1508.54,375.0,-654.652,250.0,83.333 +_.wav=o _B4,2037.993,375.0,-697.073,250.0,83.333 +_.wav=a _B4,2465.336,375.0,-671.199,250.0,83.333 +_.wav=o _B4,3028.825,375.0,-1316.469,250.0,83.33 +_サタガザĂ.wav=ky_B4,749.178,14.747,-45.758,14.747,0.0 +_サタガザĂ.wav=u ky_B4,426.942,278.08,-321.855,249.999,83.33 +_サタガザĂ.wav=_B4,716.274,206.686,-400.776,81.686,0.0 +_サタガザĂ.wav=sh_B4,1235.137,58.712,-99.84,20.421,10.21 +_サタガザĂ.wav=u sh_B4,960.179,249.998,-378.58,249.998,83.33 +_サタガザĂ.wav=_B4,1232.868,238.453,-414.675,113.453,34.036 +_サタガザĂ.wav=ch_B4,1768.12,46.516,-62.273,20.672,0.0 +_サタガザĂ.wav=u ch_B4,1444.248,287.393,-329.119,250.0,83.333 +_サタガザĂ.wav=_B4,1735.848,200.517,-423.75,105.89,34.416 +_サタガザĂ.wav=gy_B4,2249.796,19.009,-33.028,15.505,0.0 +_サタガザĂ.wav=u gy_B4,1962.356,250.0,-295.381,250.0,83.331 +_サタガザĂ.wav=_B4,2238.221,181.725,-390.058,56.725,18.909 +_サタガザĂ.wav=j_B4,2760.718,3.277,-56.727,0.0,0.0 +_サタガザĂ.wav=u j_B4,2491.808,250.0,-329.418,250.0,83.333 +_サタガザĂ.wav=_B4,2768.975,199.942,-403.959,74.942,25.841 +_サタガザĂ.wav=u ty_B4,2972.098,276.473,-314.605,250.0,83.332 +_サタガザĂ.wav=u _B4,4462.156,446.65,-556.35,249.996,82.999 +_サタガザĂ.wav=ty_B4,3275.191,26.864,-54.94,12.919,2.584 +_サタガザĂ.wav=Ă_B4,3287.272,193.91,-699.756,68.91,0.0 +_Ƃǂ.wav=k_B4,758.756,5.167,-35.423,5.167,5.167 +_Ƃǂ.wav=u k_B4,423.162,282.776,-338.242,249.999,83.33 +_Ƃǂ.wav=_B4,717.85,205.11,-413.443,80.11,0.0 +_Ƃǂ.wav=s_B4,1179.923,54.267,-105.89,0.0,0.0 +_Ƃǂ.wav=u s_B4,914.797,249.998,-382.361,249.998,83.331 +_Ƃǂ.wav=_B4,1195.05,230.89,-415.999,105.89,37.818 +_Ƃǂ.wav=t_B4,1750.975,0.0,-26.473,0.0,0.0 +_Ƃǂ.wav=u t_B4,1417.776,275.843,-335.28,250.0,83.331 +_Ƃǂ.wav=Ƃ_B4,1711.899,198.113,-406.446,73.113,0.0 +_Ƃǂ.wav=g_B4,2249.987,11.257,-35.484,7.75,0.0 +_Ƃǂ.wav=u g_B4,1947.228,249.998,-321.855,249.998,83.33 +_Ƃǂ.wav=_B4,2245.069,179.268,-387.601,54.268,28.426 +_Ƃǂ.wav=z_B4,2749.373,0.0,-60.508,0.0,0.0 +_Ƃǂ.wav=u z_B4,2488.025,250.0,-333.2,250.0,83.328 +_Ƃǂ.wav=_B4,2756.935,200.636,-448.775,75.636,41.599 +_Ƃǂ.wav=d_B4,3248.696,23.044,-34.363,12.53,0.0 +_Ƃǂ.wav=u d_B4,2962.013,250.0,-288.657,250.0,83.333 +_Ƃǂ.wav=ǂ_B4,3255.714,156.935,-711.848,31.935,20.169 +_ɂЂ݂т҂.wav=ny_B4,715.897,12.252,-35.421,5.167,0.0 +_ɂЂ݂т҂.wav=u ny_B4,458.46,249.998,-292.857,249.998,83.33 +_ɂЂ݂т҂.wav=ɂ_B4,723.588,170.38,-378.713,45.38,20.169 +_ɂЂ݂т҂.wav=hy_B4,1184.964,9.141,-85.722,0.0,0.0 +_ɂЂ݂т҂.wav=u hy_B4,922.359,249.999,-342.443,249.999,83.33 +_ɂЂ݂т҂.wav=Ђ_B4,1197.571,215.762,-424.095,90.762,30.922 +_ɂЂ݂т҂.wav=my_B4,1700.795,19.533,-64.047,3.538,0.0 +_ɂЂ݂т҂.wav=u my_B4,1451.811,250.0,-313.031,250.0,83.333 +_ɂЂ݂т҂.wav=݂_B4,1711.897,193.071,-401.404,68.071,34.054 +_ɂЂ݂т҂.wav=by_B4,2218.061,28.331,-43.458,28.331,10.622 +_ɂЂ݂т҂.wav=u by_B4,1948.49,281.01,-310.508,249.999,83.331 +_ɂЂ݂т҂.wav=т_B4,2218.659,193.07,-401.403,68.07,43.28 +_ɂЂ݂т҂.wav=py_B4,2730.15,12.919,-46.535,12.919,0.0 +_ɂЂ݂т҂.wav=u py_B4,2417.433,267.707,-324.942,250.0,83.333 +_ɂЂ݂т҂.wav=҂_B4,2729.203,190.551,-437.681,65.551,0.0 +_ɂЂ݂т҂.wav=ry_B4,3256.019,0.0,-16.806,-0.001,-0.001 +_ɂЂ݂т҂.wav=u ry_B4,2995.933,250.0,-276.892,250.0,83.33 +_ɂЂ݂т҂.wav=_B4,3256.018,151.892,-854.118,26.892,8.964 +_ʂӂނԂՂ.wav=n_B4,709.997,24.53,-43.842,3.503,0.0 +_ʂӂނԂՂ.wav=u n_B4,450.895,250.0,-302.943,250.0,83.329 +_ʂӂނԂՂ.wav=_B4,713.5,175.422,-383.756,50.422,11.872 +_ʂӂނԂՂ.wav=f_B4,1182.445,22.69,-52.944,0.0,0.0 +_ʂӂނԂՂ.wav=u f_B4,927.404,249.996,-318.069,249.996,83.33 +_ʂӂނԂՂ.wav=_B4,1212.698,220.805,-440.371,95.805,52.225 +_ʂӂނԂՂ.wav=m_B4,1729.543,25.212,-57.989,0.0,0.0 +_ʂӂނԂՂ.wav=u m_B4,1477.024,250.0,-310.508,250.0,83.331 +_ʂӂނԂՂ.wav=_B4,1740.767,181.851,-431.671,56.85,29.117 +_ʂӂނԂՂ.wav=b_B4,2220.676,27.683,-54.289,20.672,0.0 +_ʂӂނԂՂ.wav=u b_B4,1938.404,268.089,-310.508,250.0,83.332 +_ʂӂނԂՂ.wav=_B4,2225.185,191.587,-392.201,66.587,24.322 +_ʂӂނԂՂ.wav=p_B4,2727.629,19.928,-45.694,12.919,0.0 +_ʂӂނԂՂ.wav=u p_B4,2424.996,285.296,-332.359,250.0,83.331 +_ʂӂނԂՂ.wav=_B4,2713.656,197.273,-457.325,72.273,0.0 +_ʂӂނԂՂ.wav=r_B4,3270.309,6.722,-21.849,0.0,0.0 +_ʂӂނԂՂ.wav=u r_B4,3012.747,250.0,-280.254,250.0,83.331 +_ʂӂނԂՂ.wav=_B4,3272.832,155.253,-703.156,30.253,14.747 +_䂤‚Ӄ.wav=y_B4,719.136,9.555,-34.221,6.97,0.0 +_䂤‚Ӄ.wav=u y_B4,440.808,250.0,-294.995,250.0,83.331 +_䂤‚Ӄ.wav=_B4,748.519,203.436,-411.77,78.436,35.857 +_䂤‚Ӄ.wav=w_B4,1205.726,22.04,-58.219,6.971,0.0 +_䂤‚Ӄ.wav=u w_B4,947.572,250.0,-295.94,250.0,83.33 +_䂤‚Ӄ.wav=_B4,1240.432,165.337,-356.327,40.337,17.648 +_䂤‚Ӄ.wav=ts_B4,2184.173,45.319,-105.079,24.401,0.0 +_䂤‚Ӄ.wav=u ts_B4,1890.504,270.916,-307.985,249.998,83.331 +_䂤‚Ӄ.wav=_B4,2177.48,234.251,-420.2,109.251,0.0 +_䂤‚Ӄ.wav=v_B4,3224.619,5.535,-47.903,0.0,0.0 +_䂤‚Ӄ.wav=u v_B4,2954.449,250.0,-328.157,250.0,83.333 +_䂤‚Ӄ.wav=_B4,3227.14,188.029,-791.73,63.029,24.266 +_‚ӂ.wav=e y_B4,429.11,250.0,-294.475,250.0,83.331 +_‚ӂ.wav=_B4,766.445,172.9,-352.128,47.901,25.212 +_‚ӂ.wav=e w_B4,952.616,249.996,-285.294,249.996,83.33 +_‚ӂ.wav=_B4,1237.91,141.309,-350.264,37.817,12.606 +_‚ӂ.wav=e ch_B4,1436.685,271.112,-297.936,250.0,83.333 +_‚ӂ.wav=_B4,1721.981,169.699,-421.575,88.242,36.139 +_‚ӂ.wav=e ts_B4,1928.319,274.788,-305.467,250.0,83.331 +_‚ӂ.wav=‚_B4,2214.342,159.37,-418.362,84.995,0.0 +_‚ӂ.wav=e f_B4,2419.954,250.0,-335.72,250.0,83.331 +_‚ӂ.wav=ӂ_B4,2690.848,180.62,-418.329,84.996,31.874 +_‚ӂ.wav=e v_B4,2942.495,250.0,-320.594,250.0,83.33 +_‚ӂ.wav=_B4,3203.086,207.695,-764.933,82.695,41.347 +_.wav=- _B4,234.472,124.999,-841.127,0.0,0.0 +_.wav=e _B4,476.106,375.0,-694.488,250.0,83.332 +_.wav=e _B4,1018.168,374.997,-635.742,249.997,83.331 +_.wav=u _B4,1517.363,375.0,-596.756,250.0,83.332 +_.wav=o _B4,2036.732,375.0,-642.803,250.0,83.332 +_.wav=e _B4,2571.226,375.0,-1758.94,250.0,83.333 +_.wav=o _B4,3308.68,374.998,-1188.075,249.998,83.333 +_Ă.wav=e ky_B4,433.245,263.945,-323.116,249.998,83.331 +_Ă.wav=_B4,738.713,188.029,-363.053,63.029,0.0 +_Ă.wav=e sh_B4,940.006,249.999,-343.284,249.999,83.33 +_Ă.wav=_B4,1197.571,220.803,-405.912,95.803,32.775 +_Ă.wav=e ch_B4,1411.473,269.5,-302.285,250.0,83.331 +_Ă.wav=e gy_B4,1953.531,250.0,-300.424,250.0,83.333 +_Ă.wav=_B4,2231.265,187.785,-465.853,75.633,37.818 +_Ă.wav=e j_B4,2498.11,250.0,-318.073,250.0,83.333 +_Ă.wav=_B4,2735.961,213.241,-433.646,88.241,30.254 +_Ă.wav=e ty_B4,2987.225,277.889,-315.552,250.0,83.333 +_Ă.wav=e _B4,4341.115,399.885,-571.429,249.997,83.0 +_Ă.wav=Ă_B4,3266.574,193.549,-828.694,68.549,0.0 +_Ă.wav=e k_B4,411.815,271.25,-318.913,250.0,83.332 +_Ă.wav=_B4,709.276,194.774,-403.107,69.774,0.0 +_Ă.wav=e s_B4,945.053,249.998,-336.977,249.998,83.33 +_Ă.wav=_B4,1198.832,223.326,-431.66,98.326,51.81 +_Ă.wav=e t_B4,1432.903,274.791,-317.232,250.0,83.331 +_Ă.wav=_B4,1717.724,192.288,-400.621,67.288,0.0 +_Ă.wav=e g_B4,1932.102,249.998,-301.683,249.998,83.331 +_Ă.wav=_B4,2208.574,204.417,-433.457,79.417,37.818 +_Ă.wav=e z_B4,2465.335,250.0,-329.419,250.0,83.333 +_Ă.wav=_B4,2730.463,215.761,-496.486,90.761,56.727 +_Ă.wav=e d_B4,2994.786,250.0,-291.599,250.0,83.33 +_Ă.wav=_B4,3262.44,160.295,-622.235,35.295,20.169 +_ɂЂ݂т҂肥.wav=e ny_B4,430.725,249.998,-295.382,249.998,83.328 +_ɂЂ݂т҂肥.wav=ɂ_B4,699.633,177.945,-386.278,52.945,28.156 +_ɂЂ݂т҂肥.wav=e hy_B4,914.8,249.997,-323.111,249.997,83.331 +_ɂЂ݂т҂肥.wav=Ђ_B4,1195.05,196.853,-405.186,71.853,43.521 +_ɂЂ݂т҂肥.wav=e my_B4,1413.994,250.0,-310.508,250.0,83.331 +_ɂЂ݂т҂肥.wav=݂_B4,1675.339,193.072,-401.404,68.072,34.036 +_ɂЂ݂т҂肥.wav=e by_B4,1916.974,278.33,-302.945,249.999,83.332 +_ɂЂ݂т҂肥.wav=т_B4,2178.319,189.29,-397.622,64.29,39.501 +_ɂЂ݂т҂肥.wav=e py_B4,2412.39,281.009,-329.418,250.0,83.33 +_ɂЂ݂т҂肥.wav=҂_B4,2697.689,188.029,-396.361,63.029,0.0 +_ɂЂ݂т҂肥.wav=e ry_B4,2994.787,250.0,-273.302,250.0,83.33 +_ɂЂ݂т҂肥.wav=肥_B4,3260.612,145.865,-700.852,20.862,11.921 +_˂ւ߂ׂ؂.wav=e n_B4,487.452,250.0,-295.38,250.0,83.331 +_˂ւ߂ׂ؂.wav=_B4,745.015,177.942,-386.275,52.942,24.516 +_˂ւ߂ׂ؂.wav=e h_B4,918.578,249.998,-284.036,249.998,83.33 +_˂ւ߂ׂ؂.wav=_B4,1217.741,185.508,-427.323,60.508,34.036 +_˂ւ߂ׂ؂.wav=e m_B4,1421.557,250.0,-314.289,250.0,83.331 +_˂ւ߂ׂ؂.wav=_B4,1694.544,181.431,-389.765,56.431,24.891 +_˂ւ߂ׂ؂.wav=e b_B4,1916.974,271.025,-302.945,249.999,83.332 +_˂ւ߂ׂ؂.wav=_B4,2185.884,174.162,-382.495,49.162,18.152 +_˂ւ߂ׂ؂.wav=e p_B4,2385.917,288.552,-321.855,250.0,83.333 +_˂ւ߂ׂ؂.wav=_B4,2689.432,169.813,-463.082,44.813,0.0 +_˂ւ߂ׂ؂.wav=e r_B4,2968.315,250.0,-275.841,250.0,83.333 +_˂ւ߂ׂ؂.wav=_B4,3224.966,152.386,-583.417,27.386,1.544 +_EEE.wav=E _B4,749.099,110.967,-373.718,45.08,0.0 +_EEE.wav=o E_B4,903.451,308.953,-386.933,250.0,83.331 +_EEE.wav=E _B4,1254.237,120.158,-325.612,54.267,0.0 +_EEE.wav=N E_B4,1476.747,201.131,-290.364,145.646,79.758 +_񂠂.wav=- _B4,234.471,121.532,-329.865,0.0,0.0 +_񂠂.wav=o _B4,502.579,375.0,-624.714,250.0,83.332 +_񂠂.wav=u _B4,1039.596,374.999,-655.733,249.999,83.333 +_񂠂.wav=n _B4,1512.321,375.0,-669.606,250.0,83.333 +_񂠂.wav=a _B4,2000.174,375.0,-1089.209,250.0,83.333 +_񂠂.wav=n _B4,2540.972,375.0,-660.893,250.0,83.331 +_񂠂.wav=n _B4,3028.825,375.0,-880.656,250.0,83.332 +_.wav=u _B4,1024.47,374.999,-655.733,249.999,83.333 +_.wav=N _B4,1535.012,375.0,-668.648,250.0,83.333 +_.wav=a _B4,2053.119,375.0,-643.198,250.0,83.333 +_.wav=N _B4,2556.099,375.0,-655.724,250.0,83.33 +_.wav=N _B4,3119.587,375.0,-1133.808,250.0,83.33 +_債傿催傶Ă.wav=o ky_B4,408.034,267.524,-326.58,250.0,83.331 +_債傿催傶Ă.wav=_B4,699.633,204.416,-398.508,79.416,0.0 +_債傿催傶Ă.wav=o sh_B4,880.761,249.998,-371.015,249.998,83.33 +_債傿催傶Ă.wav=_B4,1155.909,232.212,-454.383,107.212,45.948 +_債傿催傶Ă.wav=o ch_B4,1387.521,269.609,-302.394,250.0,83.331 +_債傿催傶Ă.wav=_B4,1652.094,219.449,-474.452,94.449,42.157 +_債傿催傶Ă.wav=o gy_B4,1913.192,250.0,-311.265,250.0,83.333 +_債傿催傶Ă.wav=_B4,2211.493,160.765,-369.098,35.765,20.863 +_債傿催傶Ă.wav=o j_B4,2476.681,250.0,-306.727,250.0,83.331 +_債傿催傶Ă.wav=_B4,2742.014,172.686,-381.019,47.686,23.843 +_債傿催傶Ă.wav=o ty_B4,2926.719,272.972,-324.026,249.997,83.33 +_債傿催傶Ă.wav=o _B4,4223.878,392.132,-560.105,249.997,82.999 +_債傿催傶Ă.wav=Ă_B4,3222.098,189.289,-618.605,64.289,0.0 +_Ƃ.wav=o k_B4,423.162,277.355,-313.749,249.999,83.332 +_Ƃ.wav=_B4,726.41,185.206,-393.539,60.205,0.0 +_Ƃ.wav=o s_B4,888.324,249.998,-348.326,249.998,83.331 +_Ƃ.wav=_B4,1176.141,204.417,-412.751,79.417,41.599 +_Ƃ.wav=o t_B4,1391.303,270.421,-329.418,250.0,83.331 +_Ƃ.wav=_B4,1683.786,192.189,-400.522,67.189,0.0 +_Ƃ.wav=o g_B4,1909.412,249.997,-310.506,249.997,83.329 +_Ƃ.wav=_B4,2185.883,181.726,-403.014,56.726,31.935 +_Ƃ.wav=o z_B4,2416.172,250.0,-321.854,250.0,83.333 +_Ƃ.wav=_B4,2680.355,201.58,-456.463,76.58,35.738 +_Ƃ.wav=o d_B4,2934.281,249.997,-301.053,249.997,83.33 +_Ƃ.wav=_B4,3199.282,181.852,-946.19,56.852,28.426 +_ɂЂ݂т҂.wav=o ny_B4,483.671,249.999,-295.948,249.999,83.332 +_ɂЂ݂т҂.wav=ɂ_B4,773.285,183.71,-361.256,58.71,23.665 +_ɂЂ݂т҂.wav=o hy_B4,922.361,249.997,-347.31,249.997,83.331 +_ɂЂ݂т҂.wav=Ђ_B4,1207.082,226.421,-447.709,101.421,39.4 +_ɂЂ݂т҂.wav=o my_B4,1436.685,250.0,-306.727,250.0,83.331 +_ɂЂ݂т҂.wav=݂_B4,1704.817,175.667,-407.291,50.667,29.804 +_ɂЂ݂т҂.wav=o by_B4,1913.192,283.185,-324.943,250.0,83.33 +_ɂЂ݂т҂.wav=т_B4,2199.572,172.689,-381.021,47.687,26.824 +_ɂЂ݂т҂.wav=o py_B4,2438.863,278.038,-319.774,250.0,83.332 +_ɂЂ݂т҂.wav=҂_B4,2715.19,190.569,-417.026,65.569,0.0 +_ɂЂ݂т҂.wav=o ry_B4,2991.007,250.0,-272.974,250.0,83.329 +_ɂЂ݂т҂.wav=_B4,3242.729,157.784,-649.611,32.784,20.863 +_̂قڂۂ.wav=o n_B4,468.541,250.0,-310.509,250.0,83.331 +_̂قڂۂ.wav=_B4,733.669,174.161,-382.494,49.161,30.254 +_̂قڂۂ.wav=o h_B4,960.179,249.998,-293.395,249.998,83.33 +_̂قڂۂ.wav=_B4,1240.432,147.367,-373.974,56.724,26.092 +_̂قڂۂ.wav=o m_B4,1482.066,250.0,-303.607,250.0,83.33 +_̂قڂۂ.wav=_B4,1747.763,181.159,-420.537,56.159,25.527 +_̂قڂۂ.wav=o b_B4,1973.702,278.33,-299.162,249.999,83.332 +_̂قڂۂ.wav=_B4,2251.412,112.754,-379.847,46.515,18.181 +_̂قڂۂ.wav=o p_B4,2435.08,293.931,-325.636,250.0,83.333 +_̂قڂۂ.wav=_B4,2731.248,192.288,-464.719,67.288,0.0 +_̂قڂۂ.wav=o r_B4,3013.697,250.0,-290.842,250.0,83.33 +_̂قڂۂ.wav=_B4,3277.083,174.099,-648.734,49.099,23.258 +_悤‚ӂ.wav=o y_B4,460.98,249.999,-295.948,249.999,83.329 +_悤‚ӂ.wav=_B4,756.361,193.071,-401.404,68.071,24.675 +_悤‚ӂ.wav=o w_B4,986.65,250.0,-295.382,250.0,83.331 +_悤‚ӂ.wav=_B4,1274.468,170.381,-378.713,45.381,24.707 +_悤‚ӂ.wav=o ts_B4,1969.919,267.522,-304.269,249.999,83.332 +_悤‚ӂ.wav=‚_B4,2245.449,201.579,-398.221,76.579,0.0 +_悤‚ӂ.wav=o f_B4,2491.808,250.0,-321.855,250.0,83.33 +_悤‚ӂ.wav=ӂ_B4,2757.22,204.133,-412.466,79.133,47.591 +_悤‚ӂ.wav=o v_B4,3002.351,250.0,-329.419,250.0,83.33 +_悤‚ӂ.wav=_B4,3294.328,177.569,-588.789,52.569,28.038 +_񂢂񂦂񂨂.wav=- _B4,223.127,74.899,-386.476,0.0,0.0 +_񂢂񂦂񂨂.wav=n _B4,502.58,375.0,-665.999,250.0,83.331 +_񂢂񂦂񂨂.wav=i _B4,1081.195,375.0,-601.708,250.0,83.331 +_񂢂񂦂񂨂.wav=n _B4,1493.411,375.0,-662.217,250.0,83.33 +_񂢂񂦂񂨂.wav=e _B4,1992.61,375.0,-700.036,250.0,83.332 +_񂢂񂦂񂨂.wav=n _B4,2510.717,375.0,-660.893,250.0,83.333 +_񂢂񂦂񂨂.wav=o _B4,2998.571,375.0,-1486.65,250.0,83.33 +_񂢂񂦂񂨂.wav=n _B4,4352.456,389.927,-541.199,250.0,83.0 +_.wav=- _B4,234.471,74.899,-386.476,0.0,0.0 +_.wav=N _B4,532.833,375.0,-658.309,250.0,83.332 +_.wav=i _B4,1058.504,375.0,-645.388,250.0,83.331 +_.wav=N _B4,1535.013,375.0,-640.22,250.0,83.331 +_.wav=e _B4,2064.464,375.0,-624.714,250.0,83.333 +_.wav=N _B4,2503.154,375.0,-681.126,250.0,83.333 +_.wav=o _B4,3089.332,375.0,-940.647,250.0,83.332 +_̓.wav=N v_B4,457.197,249.999,-321.853,249.999,83.328 +_̓.wav=N h_B4,1482.066,250.0,-299.164,250.0,83.329 +_̓.wav=N hy_B4,2427.518,250.0,-299.163,250.0,83.33 +_񂩂񂳂.wav=n k_B4,449.633,260.513,-310.509,249.999,83.332 +_񂩂񂳂.wav=n s_B4,1425.339,250.0,-355.89,250.0,83.331 +_񂩂񂳂.wav=n t_B4,2427.518,278.037,-325.636,250.0,83.331 +_񂪂񂴂.wav=n g_B4,454.37,249.999,-273.531,249.999,83.329 +_񂪂񂴂.wav=n z_B4,1467.894,250.0,-302.103,250.0,83.331 +_񂪂񂴂.wav=n d_B4,2514.538,250.0,-273.531,250.0,83.33 +_񂫂񂵂񂿂.wav=n ky_B4,423.465,267.522,-313.871,250.0,83.331 +_񂫂񂵂񂿂.wav=n sh_B4,1390.463,250.0,-367.235,250.0,83.331 +_񂫂񂵂񂿂.wav=n ch_B4,2422.975,262.41,-292.215,250.0,83.333 +_񂬂񂶂‚.wav=n gy_B4,509.722,249.997,-286.977,249.997,83.331 +_񂬂񂶂‚.wav=n j_B4,1496.354,250.0,-313.869,250.0,83.331 +_񂬂񂶂‚.wav=n ts_B4,2475.42,267.338,-306.727,250.0,83.332 +_Ȃς.wav=n n_B4,438.382,249.999,-314.29,249.999,83.332 +_Ȃς.wav=n p_B4,1378.789,264.016,-336.982,250.0,83.331 +_Ȃς.wav=n m_B4,2420.045,250.0,-310.509,250.0,83.333 +_ɂ҂݂.wav=n ny_B4,445.853,250.0,-310.507,250.0,83.332 +_ɂ҂݂.wav=n py_B4,1456.854,281.874,-318.073,250.0,83.332 +_ɂ҂݂.wav=n my_B4,2417.433,250.0,-332.695,250.0,83.333 +_Ђтӂ.wav=n hy_B4,453.414,250.0,-314.291,250.0,83.331 +_Ђтӂ.wav=n by_B4,1431.642,278.038,-302.945,250.0,83.331 +_Ђтӂ.wav=n f_B4,2394.743,250.0,-335.719,250.0,83.333 +_Ӄ⃓.wav=N f_B4,410.682,250.0,-343.285,250.0,83.33 +_Ӄ⃓.wav=N y_B4,1459.503,250.0,-313.029,250.0,83.331 +_Ӄ⃓.wav=N w_B4,2480.589,250.0,-306.852,250.0,83.333 +_΂.wav=n y_B4,450.986,250.0,-302.946,250.0,83.331 +_΂.wav=n b_B4,1487.201,271.264,-304.268,250.0,83.333 +_΂.wav=n r_B4,2503.245,250.0,-274.652,250.0,83.331 +_.wav=n ry_B4,506.488,250.0,-285.296,250.0,83.328 +_.wav=n v_B4,1492.279,250.0,-323.115,250.0,83.328 diff --git "a/OpenUtau.Test/Files/ja_cvvc/\345\274\267/\345\274\267_F4/oto.ini" "b/OpenUtau.Test/Files/ja_cvvc/\345\274\267/\345\274\267_F4/oto.ini" new file mode 100644 index 000000000..26851c44a --- /dev/null +++ "b/OpenUtau.Test/Files/ja_cvvc/\345\274\267/\345\274\267_F4/oto.ini" @@ -0,0 +1,416 @@ +_EEEEE.wav=E _F4,690.164,124.841,-301.699,48.548,34.678 +_EEEEE.wav=a E_F4,876.977,299.775,-338.243,249.998,83.331 +_EEEEE.wav=E _F4,1184.001,107.502,-315.57,58.952,31.21 +_EEEEE.wav=i E_F4,1353.485,305.485,-368.702,250.0,83.333 +_EEEEE.wav=E _F4,1678.785,149.115,-326.264,65.887,45.08 +_EEEEE.wav=u E_F4,1852.684,310.508,-352.108,250.0,83.333 +_EEEEE.wav=E _F4,2192.478,156.051,-348.044,72.823,31.21 +_EEEEE.wav=e E_F4,2340.536,308.952,-368.703,250.0,83.333 +_EEEEE.wav=E _F4,2688.209,201.29,-761.696,76.29,45.081 +_EEEEE.wav=n E_F4,3883.513,395.505,-533.352,250.0,83.331 +_.wav=- _F4,253.696,128.466,-432.324,3.466,3.466 +_.wav=a _F4,521.486,375.0,-654.655,250.0,83.331 +_.wav=a _F4,1020.686,375.0,-598.871,250.0,83.331 +_.wav=i _F4,1500.975,375.0,-645.39,250.0,83.333 +_.wav=a _F4,2015.301,327.103,-678.856,250.0,83.332 +_.wav=u _F4,2518.281,351.636,-688.028,250.0,83.333 +_.wav=e _F4,3047.734,351.636,-1045.567,250.0,83.332 +_.wav=a _F4,4322.202,465.137,-615.086,250.0,82.999 +_.wav=a k_F4,423.162,283.595,-327.527,250.0,82.999 +_.wav=_F4,733.617,138.842,-342.353,55.172,0.0 +_.wav=a s_F4,937.014,250.0,-343.032,250.0,83.331 +_.wav=_F4,1194.672,164.766,-417.369,88.068,49.517 +_.wav=a t_F4,1430.965,273.258,-304.269,250.0,83.331 +_.wav=_F4,1716.464,146.698,-466.109,52.569,0.0 +_.wav=a g_F4,1947.891,249.999,-300.391,249.999,83.331 +_.wav=_F4,2205.551,148.421,-425.027,61.264,35.422 +_.wav=a z_F4,2483.961,250.0,-334.239,250.0,83.333 +_.wav=_F4,2760.765,149.106,-425.029,68.922,30.159 +_.wav=a d_F4,3000.888,249.997,-287.929,249.997,83.332 +_.wav=_F4,3261.503,116.016,-830.908,49.777,22.974 +_ႵႿႬႶĂ.wav=a ky_F4,438.288,271.028,-318.923,250.0,83.332 +_ႵႿႬႶĂ.wav=_F4,727.314,143.694,-375.776,63.083,0.0 +_ႵႿႬႶĂ.wav=a sh_F4,952.616,249.996,-353.382,249.996,83.327 +_ႵႿႬႶĂ.wav=_F4,1220.343,176.333,-421.196,95.724,42.119 +_ႵႿႬႶĂ.wav=a ch_F4,1444.248,293.354,-314.217,250.0,83.333 +_ႵႿႬႶĂ.wav=_F4,1723.512,164.524,-428.856,80.41,42.12 +_ႵႿႬႶĂ.wav=a gy_F4,1973.704,249.997,-292.118,249.997,83.329 +_ႵႿႬႶĂ.wav=_F4,2272.298,109.03,-379.28,45.948,19.144 +_ႵႿႬႶĂ.wav=a j_F4,2480.462,250.0,-314.29,250.0,83.332 +_ႵႿႬႶĂ.wav=_F4,2756.131,145.705,-382.954,65.095,34.463 +_ႵႿႬႶĂ.wav=a ty_F4,2953.189,267.522,-309.438,250.0,83.331 +_ႵႿႬႶĂ.wav=Ă_F4,3239.749,169.705,-682.562,44.705,0.0 +_Ȃ͂܂΂ς.wav=a n_F4,477.526,249.997,-292.118,249.997,83.331 +_Ȃ͂܂΂ς.wav=_F4,731.354,170.947,-379.279,45.947,25.142 +_Ȃ͂܂΂ς.wav=a h_F4,956.16,249.996,-284.46,249.996,83.33 +_Ȃ͂܂΂ς.wav=_F4,1236.793,134.812,-402.254,68.922,38.29 +_Ȃ͂܂΂ς.wav=a m_F4,1453.936,250.0,-311.266,250.0,83.333 +_Ȃ͂܂΂ς.wav=_F4,1715.428,186.263,-394.598,61.264,30.252 +_Ȃ͂܂΂ς.wav=a b_F4,1963.207,275.842,-299.777,249.999,83.331 +_Ȃ͂܂΂ς.wav=_F4,2255.329,128.813,-375.45,42.117,14.375 +_Ȃ͂܂΂ς.wav=a p_F4,2460.987,281.01,-315.096,250.0,83.333 +_Ȃ͂܂΂ς.wav=_F4,2761.442,174.1,-437.126,49.1,0.0 +_Ȃ͂܂΂ς.wav=a r_F4,3031.522,249.997,-280.629,249.997,83.333 +_Ȃ͂܂΂ς.wav=_F4,3287.436,163.745,-753.201,38.744,20.656 +_ɂЂ݂т҂.wav=a ny_F4,462.208,249.999,-296.515,249.999,83.332 +_ɂЂ݂т҂.wav=ɂ_F4,736.035,158.714,-401.403,68.071,37.818 +_ɂЂ݂т҂.wav=a hy_F4,917.871,249.998,-321.855,249.998,83.332 +_ɂЂ݂т҂.wav=Ђ_F4,1192.073,201.773,-431.66,98.326,54.93 +_ɂЂ݂т҂.wav=a my_F4,1442.452,250.0,-311.264,250.0,83.33 +_ɂЂ݂т҂.wav=݂_F4,1700.11,145.621,-422.964,68.923,30.632 +_ɂЂ݂т҂.wav=a by_F4,1936.405,283.185,-316.37,249.998,83.33 +_ɂЂ݂т҂.wav=т_F4,2214.341,191.865,-434.466,90.763,26.472 +_ɂЂ݂т҂.wav=a py_F4,2449.499,281.54,-310.509,250.0,83.331 +_ɂЂ݂т҂.wav=҂_F4,2746.396,176.737,-440.012,75.634,0.0 +_ɂЂ݂т҂.wav=a ry_F4,3008.547,249.997,-291.598,249.997,83.33 +_ɂЂ݂т҂.wav=_F4,3272.534,151.824,-871.867,26.824,14.902 +_킿‚ӂ.wav=a y_F4,473.695,250.0,-303.123,250.0,83.331 +_킿‚ӂ.wav=_F4,765.815,186.263,-408.34,61.263,22.974 +_킿‚ӂ.wav=a w_F4,963.819,249.997,-309.435,249.997,83.328 +_킿‚ӂ.wav=_F4,1260.287,123.054,-374.93,41.599,15.127 +_킿‚ӂ.wav=a ts_F4,1967.036,270.675,-304.27,250.0,83.33 +_킿‚ӂ.wav=‚_F4,2248.448,173.61,-413.477,71.972,0.0 +_킿‚ӂ.wav=a f_F4,2476.302,250.0,-334.241,250.0,83.33 +_킿‚ӂ.wav=ӂ_F4,2748.854,175.883,-445.044,73.177,24.078 +_킿‚ӂ.wav=a v_F4,2989.398,250.0,-306.727,250.0,83.328 +_킿‚ӂ.wav=_F4,3262.374,190.093,-696.892,65.093,30.632 +_.wav=- _F4,252.72,125.0,-791.378,0.0,0.0 +_.wav=i _F4,546.449,375.0,-665.999,250.0,83.332 +_.wav=i _F4,1032.742,375.0,-632.908,250.0,83.332 +_.wav=u _F4,1538.179,375.0,-669.78,250.0,83.331 +_.wav=a _F4,2035.959,375.0,-678.857,250.0,83.33 +_.wav=e _F4,2537.567,375.0,-636.973,250.0,83.333 +_.wav=i _F4,3058.323,375.0,-1050.279,250.0,83.333 +_‚ӂ.wav=_F4,700.631,171.039,-477.166,46.039,14.166 +_‚ӂ.wav=i w_F4,937.014,250.0,-318.923,250.0,83.331 +_‚ӂ.wav=_F4,1206.869,181.726,-374.588,56.726,30.254 +_‚ӂ.wav=i ch_F4,1388.845,289.148,-327.894,250.0,83.329 +_‚ӂ.wav=_F4,1672.032,155.118,-366.53,74.51,38.745 +_‚ӂ.wav=i ts_F4,1886.627,267.704,-299.163,249.998,83.33 +_‚ӂ.wav=‚_F4,2202.667,159.746,-412.593,75.634,0.0 +_‚ӂ.wav=i f_F4,2449.499,250.0,-326.582,250.0,83.333 +_‚ӂ.wav=ӂ_F4,2710.988,175.686,-432.685,88.067,45.948 +_‚ӂ.wav=i v_F4,2954.937,250.0,-333.199,250.0,83.33 +_‚ӂ.wav=_F4,3247.816,185.508,-1085.378,60.508,26.472 +_.wav=i k_F4,397.115,281.009,-313.629,249.999,83.332 +_.wav=i s_F4,1407.99,250.0,-355.888,250.0,83.33 +_.wav=i t_F4,2411.209,278.426,-329.417,250.0,83.333 +_.wav=i g_F4,431.575,250.0,-293.931,250.0,83.332 +_.wav=i z_F4,1407.99,250.0,-334.239,250.0,83.329 +_.wav=i d_F4,2445.668,250.0,-287.44,250.0,83.333 +_Ăł.wav=i ky_F4,408.603,270.672,-314.29,249.998,83.331 +_Ăł.wav=_F4,720.37,185.507,-378.368,60.507,0.0 +_Ăł.wav=i sh_F4,944.674,249.997,-363.451,249.997,83.328 +_Ăł.wav=_F4,1194.672,259.016,-440.344,134.016,54.883 +_Ăł.wav=i ty_F4,1427.137,283.641,-318.073,250.0,83.333 +_Ăł.wav=Ă_F4,1727.576,177.945,-386.279,52.945,0.0 +_Ăł.wav=i gy_F4,1990.012,249.996,-299.775,249.996,83.331 +_Ăł.wav=_F4,2283.408,188.816,-397.149,63.816,25.053 +_Ăł.wav=i j_F4,2510.764,250.0,-315.094,250.0,83.333 +_Ăł.wav=_F4,2764.156,189.291,-397.624,64.291,26.472 +_Ăł.wav=i dy_F4,2993.231,249.997,-287.814,249.997,83.332 +_Ăł.wav=i _F4,4210.875,439.09,-565.897,250.0,82.999 +_Ăł.wav=ł_F4,3255.332,174.161,-744.32,49.161,24.631 +_Ȃ₢.wav=i n_F4,450.721,249.996,-299.776,249.996,83.33 +_Ȃ₢.wav=i y_F4,1442.452,250.0,-304.268,250.0,83.33 +_Ȃ₢.wav=i m_F4,2480.13,250.0,-310.509,250.0,83.333 +_ɂЂ݂т҂.wav=i ny_F4,450.721,249.996,-299.776,249.996,83.33 +_ɂЂ݂т҂.wav=_F4,703.89,179.268,-434.151,54.268,26.232 +_ɂЂ݂т҂.wav=i hy_F4,936.222,249.996,-318.547,249.996,83.33 +_ɂЂ݂т҂.wav=_F4,1189.199,152.988,-404.861,71.53,41.276 +_ɂЂ݂т҂.wav=i my_F4,1453.937,250.0,-311.265,250.0,83.333 +_ɂЂ݂т҂.wav=_F4,1723.084,156.888,-433.397,61.265,30.632 +_ɂЂ݂т҂.wav=i by_F4,1936.405,284.03,-311.261,249.997,83.331 +_ɂЂ݂т҂.wav=_F4,2225.166,129.9,-371.151,37.818,22.69 +_ɂЂ݂т҂.wav=i py_F4,2449.499,280.632,-318.072,250.0,83.333 +_ɂЂ݂т҂.wav=_F4,2737.792,142.722,-492.674,61.264,0.0 +_ɂЂ݂т҂.wav=i ry_F4,3044.846,249.997,-274.957,249.997,83.332 +_ɂЂ݂т҂.wav=_F4,3306.041,115.055,-782.736,22.972,9.361 +_΂ς.wav=i b_F4,427.747,271.249,-306.853,249.999,83.333 +_΂ς.wav=_F4,716.037,159.461,-367.794,34.461,15.316 +_΂ς.wav=i p_F4,1381.187,285.738,-341.897,250.0,83.331 +_΂ς.wav=i r_F4,2432.924,250.0,-272.974,250.0,83.33 +_͂͂.wav=i h_F4,416.277,249.996,-303.602,249.996,83.33 +_͂͂.wav=u h_F4,1415.662,250.0,-330.881,250.0,83.331 +_͂͂.wav=n h_F4,2438.364,250.0,-315.571,250.0,83.333 +_.wav=- _F4,206.77,124.998,-900.07,0.0,0.0 +_.wav=u _F4,496.67,375.0,-692.47,250.0,83.331 +_.wav=u _F4,1036.57,375.0,-648.223,250.0,83.332 +_.wav=i _F4,1572.641,375.0,-654.652,250.0,83.333 +_.wav=o _F4,2028.301,375.0,-697.073,250.0,83.333 +_.wav=a _F4,2545.226,375.0,-671.199,250.0,83.333 +_.wav=o _F4,3115.759,375.0,-1180.466,250.0,83.329 +_サタガザĂ.wav=ky_F4,743.41,14.747,-45.758,14.747,0.0 +_サタガザĂ.wav=u ky_F4,431.576,278.08,-321.855,249.999,83.33 +_サタガザĂ.wav=_F4,710.934,206.686,-400.776,81.686,0.0 +_サタガザĂ.wav=sh_F4,1194.672,38.289,-114.872,0.0,0.0 +_サタガザĂ.wav=u sh_F4,940.845,249.998,-372.527,249.998,83.33 +_サタガザĂ.wav=_F4,1194.672,259.014,-435.236,134.014,54.596 +_サタガザĂ.wav=ch_F4,1752.191,39.204,-78.108,20.672,0.0 +_サタガザĂ.wav=u ch_F4,1457.768,273.873,-300.697,250.0,83.333 +_サタガザĂ.wav=_F4,1735.896,200.517,-423.75,105.89,34.416 +_サタガザĂ.wav=gy_F4,2308.005,17.017,-28.93,8.507,0.0 +_サタガザĂ.wav=u gy_F4,1999.155,250.0,-311.265,250.0,83.33 +_サタガザĂ.wav=_F4,2279.221,181.725,-390.058,56.725,18.909 +_サタガザĂ.wav=j_F4,2777.567,20.422,-45.948,0.0,0.0 +_サタガザĂ.wav=u j_F4,2489.277,250.0,-329.134,250.0,83.333 +_サタガザĂ.wav=_F4,2761.338,199.942,-403.959,74.942,25.841 +_サタガザĂ.wav=u ty_F4,2969.188,276.473,-314.605,250.0,83.332 +_サタガザĂ.wav=u _F4,4083.952,446.65,-556.35,249.996,82.999 +_サタガザĂ.wav=ty_F4,3282.293,17.962,-40.653,12.918,2.583 +_サタガザĂ.wav=Ă_F4,3263.233,193.91,-699.756,68.91,0.0 +_Ƃǂ.wav=k_F4,743.63,5.167,-25.337,5.167,5.167 +_Ƃǂ.wav=u k_F4,400.471,282.776,-338.242,249.999,83.33 +_Ƃǂ.wav=_F4,696.42,205.11,-413.443,80.11,0.0 +_Ƃǂ.wav=s_F4,1184.966,54.267,-123.537,0.0,0.0 +_Ƃǂ.wav=u s_F4,929.925,249.998,-382.361,249.998,83.33 +_Ƃǂ.wav=_F4,1195.05,253.58,-438.689,128.58,60.507 +_Ƃǂ.wav=t_F4,1752.235,0.0,-17.649,0.0,0.0 +_Ƃǂ.wav=u t_F4,1416.515,275.843,-335.28,250.0,83.331 +_Ƃǂ.wav=Ƃ_F4,1711.899,198.113,-406.446,73.113,0.0 +_Ƃǂ.wav=g_F4,2253.77,11.257,-32.961,7.75,0.0 +_Ƃǂ.wav=u g_F4,1948.491,249.997,-305.463,249.997,83.331 +_Ƃǂ.wav=_F4,2237.505,179.268,-387.601,54.268,28.426 +_Ƃǂ.wav=z_F4,2746.113,0.0,-60.508,0.0,0.0 +_Ƃǂ.wav=u z_F4,2496.112,250.0,-313.029,250.0,83.326 +_Ƃǂ.wav=_F4,2748.634,213.24,-461.38,88.24,54.204 +_Ƃǂ.wav=d_F4,3247.908,23.044,-34.363,12.53,0.0 +_Ƃǂ.wav=u d_F4,2972.62,250.0,-288.657,250.0,83.333 +_Ƃǂ.wav=ǂ_F4,3251.194,156.935,-711.848,31.935,20.169 +_ɂЂ݂т҂.wav=ny_F4,710.854,12.73,-35.421,5.167,0.0 +_ɂЂ݂т҂.wav=u ny_F4,458.46,249.998,-292.857,249.998,83.33 +_ɂЂ݂т҂.wav=ɂ_F4,728.627,162.815,-371.148,37.815,15.127 +_ɂЂ݂т҂.wav=hy_F4,1200.09,9.14,-70.596,0.0,0.0 +_ɂЂ݂т҂.wav=u hy_F4,940.006,249.999,-330.677,249.999,83.33 +_ɂЂ݂т҂.wav=Ђ_F4,1205.135,208.197,-416.529,83.197,23.356 +_ɂЂ݂т҂.wav=my_F4,1678.104,19.533,-56.483,3.538,0.0 +_ɂЂ݂т҂.wav=u my_F4,1429.121,250.0,-307.987,250.0,83.331 +_ɂЂ݂т҂.wav=݂_F4,1699.291,182.986,-391.319,57.986,23.969 +_ɂЂ݂т҂.wav=by_F4,2172.678,28.331,-43.458,28.331,10.622 +_ɂЂ݂т҂.wav=u by_F4,1900.587,281.01,-313.029,249.999,83.331 +_ɂЂ݂т҂.wav=т_F4,2160.673,193.07,-401.403,68.07,43.28 +_ɂЂ݂т҂.wav=py_F4,2697.374,12.919,-46.535,12.919,0.0 +_ɂЂ݂т҂.wav=u py_F4,2397.263,267.707,-324.942,250.0,83.333 +_ɂЂ݂т҂.wav=҂_F4,2677.518,190.551,-437.681,65.551,0.0 +_ɂЂ݂т҂.wav=ry_F4,3240.139,0.0,-16.806,-0.001,-0.001 +_ɂЂ݂т҂.wav=u ry_F4,2975.009,250.0,-276.892,250.0,83.33 +_ɂЂ݂т҂.wav=_F4,3243.5,151.892,-854.118,26.892,8.964 +_ʂӂނԂՂ.wav=n_F4,674.7,24.53,-43.842,3.503,0.0 +_ʂӂނԂՂ.wav=u n_F4,415.597,250.0,-302.944,250.0,83.33 +_ʂӂނԂՂ.wav=_F4,679.466,175.422,-383.756,50.422,11.872 +_ʂӂނԂՂ.wav=f_F4,1176.142,22.69,-52.944,0.0,0.0 +_ʂӂނԂՂ.wav=u f_F4,899.671,249.996,-318.069,249.996,83.33 +_ʂӂނԂՂ.wav=_F4,1179.923,196.853,-416.419,71.853,37.818 +_ʂӂނԂՂ.wav=m_F4,1660.212,25.212,-57.989,0.0,0.0 +_ʂӂނԂՂ.wav=u m_F4,1406.428,250.0,-310.508,250.0,83.331 +_ʂӂނԂՂ.wav=_F4,1686.562,181.851,-431.671,56.85,29.117 +_ʂӂނԂՂ.wav=b_F4,2187.901,27.683,-43.363,20.671,0.0 +_ʂӂނԂՂ.wav=u b_F4,1905.628,268.089,-310.508,250.0,83.332 +_ʂӂނԂՂ.wav=_F4,2172.241,191.587,-392.201,66.587,24.322 +_ʂӂނԂՂ.wav=p_F4,2687.288,19.928,-45.694,12.919,0.0 +_ʂӂނԂՂ.wav=u p_F4,2382.136,285.296,-332.359,250.0,83.331 +_ʂӂނԂՂ.wav=_F4,2677.098,197.273,-457.325,72.273,0.0 +_ʂӂނԂՂ.wav=r_F4,3215.68,6.722,-21.849,0.0,0.0 +_ʂӂނԂՂ.wav=u r_F4,2960.636,250.0,-280.254,250.0,83.331 +_ʂӂނԂՂ.wav=_F4,3220.721,150.211,-698.113,25.211,9.704 +_䂤‚Ӄ.wav=y_F4,695.026,9.553,-83.552,6.97,0.0 +_䂤‚Ӄ.wav=u y_F4,421.363,249.999,-318.924,249.999,83.329 +_䂤‚Ӄ.wav=_F4,707.103,224.555,-432.889,99.555,56.976 +_䂤‚Ӄ.wav=w_F4,1187.701,22.04,-58.219,6.971,0.0 +_䂤‚Ӄ.wav=u w_F4,937.014,250.0,-295.941,250.0,83.331 +_䂤‚Ӄ.wav=_F4,1223.257,165.337,-356.327,40.337,17.648 +_䂤‚Ӄ.wav=ts_F4,2196.464,45.319,-105.079,24.401,0.0 +_䂤‚Ӄ.wav=u ts_F4,1904.495,270.916,-307.985,249.998,83.331 +_䂤‚Ӄ.wav=_F4,2200.959,234.251,-420.2,109.251,0.0 +_䂤‚Ӄ.wav=v_F4,3247.057,5.535,-53.608,0.0,0.0 +_䂤‚Ӄ.wav=u v_F4,2974.081,250.0,-318.922,250.0,83.333 +_䂤‚Ӄ.wav=_F4,3247.846,188.029,-791.73,63.029,24.266 +_‚ӂ.wav=e y_F4,456.252,250.0,-309.562,250.0,83.331 +_‚ӂ.wav=_F4,789.39,172.9,-352.128,47.901,25.212 +_‚ӂ.wav=e w_F4,978.712,249.995,-285.293,249.995,83.329 +_‚ӂ.wav=_F4,1262.367,141.309,-350.264,37.817,12.606 +_‚ӂ.wav=e ch_F4,1448.408,274.292,-316.018,250.0,83.333 +_‚ӂ.wav=_F4,1734.399,169.699,-421.575,88.242,36.139 +_‚ӂ.wav=e ts_F4,1935.127,274.788,-305.467,250.0,83.331 +_‚ӂ.wav=‚_F4,2225.214,159.37,-418.362,84.995,0.0 +_‚ӂ.wav=e f_F4,2432.906,250.0,-335.72,250.0,83.331 +_‚ӂ.wav=ӂ_F4,2697.468,180.62,-418.329,84.996,31.874 +_‚ӂ.wav=e v_F4,2951.108,250.0,-320.594,250.0,83.33 +_‚ӂ.wav=_F4,3212.864,207.695,-764.933,82.695,41.347 +_.wav=- _F4,242.507,124.998,-841.127,0.0,0.0 +_.wav=e _F4,510.709,375.0,-694.488,250.0,83.332 +_.wav=e _F4,1008.492,374.997,-635.742,249.997,83.331 +_.wav=u _F4,1559.877,375.0,-596.756,250.0,83.332 +_.wav=o _F4,2016.815,375.0,-642.803,250.0,83.332 +_.wav=e _F4,2560.543,375.0,-1758.94,250.0,83.333 +_.wav=o _F4,3054.495,374.998,-1188.075,249.998,83.333 +_Ă.wav=e ky_F4,446.894,263.945,-323.116,249.998,83.331 +_Ă.wav=_F4,758.945,188.029,-363.053,63.029,0.0 +_Ă.wav=e sh_F4,959.988,250.0,-339.344,250.0,83.33 +_Ă.wav=_F4,1218.847,220.803,-405.912,95.803,32.775 +_Ă.wav=e ch_F4,1447.557,278.123,-307.928,250.0,83.331 +_Ă.wav=e gy_F4,1975.97,249.999,-300.423,249.999,83.332 +_Ă.wav=_F4,2242.236,187.785,-465.853,75.633,37.818 +_Ă.wav=e j_F4,2476.302,250.0,-344.45,250.0,83.333 +_Ă.wav=_F4,2742.723,213.241,-433.646,88.241,30.254 +_Ă.wav=e ty_F4,2963.872,277.889,-303.607,250.0,83.333 +_Ă.wav=e _F4,4237.682,399.885,-571.429,249.997,83.0 +_Ă.wav=Ă_F4,3248.69,175.667,-810.811,50.667,0.0 +_Ă.wav=e k_F4,421.364,271.25,-318.913,250.0,83.332 +_Ă.wav=_F4,716.463,194.774,-403.107,69.774,0.0 +_Ă.wav=e s_F4,934.462,249.998,-336.977,249.998,83.33 +_Ă.wav=_F4,1185.692,223.326,-431.66,98.326,51.81 +_Ă.wav=e t_F4,1409.267,274.791,-317.232,250.0,83.331 +_Ă.wav=_F4,1694.087,192.288,-400.621,67.288,0.0 +_Ă.wav=e g_F4,1947.891,249.999,-293.395,249.999,83.331 +_Ă.wav=_F4,2205.548,193.923,-422.962,68.923,27.324 +_Ă.wav=e z_F4,2448.223,250.0,-329.419,250.0,83.333 +_Ă.wav=_F4,2728.856,191.369,-472.094,66.369,32.335 +_Ă.wav=e d_F4,2976.636,250.0,-291.599,250.0,83.33 +_Ă.wav=_F4,3250.053,160.295,-622.235,35.295,20.169 +_ɂЂ݂т҂肥.wav=e ny_F4,490.289,249.998,-295.382,249.998,83.328 +_ɂЂ݂т҂肥.wav=ɂ_F4,756.266,177.945,-386.278,52.945,28.156 +_ɂЂ݂т҂肥.wav=e hy_F4,939.569,249.996,-301.051,249.996,83.33 +_ɂЂ݂т҂肥.wav=Ђ_F4,1222.375,196.853,-405.186,71.853,43.521 +_ɂЂ݂т҂肥.wav=e my_F4,1442.452,250.0,-310.508,250.0,83.33 +_ɂЂ݂т҂肥.wav=݂_F4,1708.62,193.072,-401.404,68.072,34.036 +_ɂЂ݂т҂肥.wav=e by_F4,1940.233,278.33,-302.945,249.999,83.332 +_ɂЂ݂т҂肥.wav=т_F4,2197.419,189.29,-397.622,64.29,39.501 +_ɂЂ݂т҂肥.wav=e py_F4,2415.038,281.009,-329.418,250.0,83.33 +_ɂЂ݂т҂肥.wav=҂_F4,2716.881,188.029,-396.361,63.029,0.0 +_ɂЂ݂т҂肥.wav=e ry_F4,3007.268,250.0,-273.302,250.0,83.33 +_ɂЂ݂т҂肥.wav=肥_F4,3260.612,151.825,-706.812,26.823,11.921 +_˂ւ߂ׂ؂.wav=e n_F4,431.575,250.0,-301.055,250.0,83.332 +_˂ւ߂ׂ؂.wav=_F4,700.109,177.942,-386.275,52.942,24.516 +_˂ւ߂ׂ؂.wav=e h_F4,903.83,249.998,-301.052,249.998,83.33 +_˂ւ߂ׂ؂.wav=_F4,1171.697,201.581,-443.395,76.581,35.738 +_˂ւ߂ׂ؂.wav=e m_F4,1409.267,250.0,-311.264,250.0,83.331 +_˂ւ߂ׂ؂.wav=_F4,1669.206,181.431,-389.765,56.431,24.891 +_˂ւ߂ׂ؂.wav=e b_F4,1942.785,271.024,-293.395,249.998,83.331 +_˂ւ߂ׂ؂.wav=_F4,2207.441,174.162,-382.495,49.162,18.152 +_˂ւ߂ׂ؂.wav=e p_F4,2420.143,288.552,-321.855,250.0,83.333 +_˂ւ߂ׂ؂.wav=_F4,2727.439,169.813,-463.082,44.813,0.0 +_˂ւ߂ׂ؂.wav=e r_F4,3007.641,250.0,-275.841,250.0,83.333 +_˂ւ߂ׂ؂.wav=_F4,3265.993,152.386,-583.417,27.386,1.544 +_EEE.wav=E _F4,679.892,110.967,-373.718,45.08,0.0 +_EEE.wav=o E_F4,829.799,308.953,-386.933,250.0,83.331 +_EEE.wav=E _F4,1262.935,120.158,-325.612,54.267,0.0 +_EEE.wav=N E_F4,1477.881,201.131,-290.364,145.646,79.758 +_񂠂.wav=- _F4,219.534,121.532,-329.865,0.0,0.0 +_񂠂.wav=o _F4,497.945,375.0,-624.714,250.0,83.332 +_񂠂.wav=u _F4,942.12,374.999,-655.733,249.999,83.333 +_񂠂.wav=n _F4,1531.798,375.0,-640.565,250.0,83.333 +_񂠂.wav=a _F4,1950.443,375.0,-689.067,250.0,83.333 +_񂠂.wav=n _F4,2478.856,375.0,-650.776,250.0,83.331 +_񂠂.wav=n _F4,3033.153,375.0,-880.656,250.0,83.332 +_.wav=u _F4,990.622,374.999,-655.733,249.999,83.333 +_.wav=N _F4,1475.637,375.0,-668.648,250.0,83.333 +_.wav=a _F4,1978.523,375.0,-643.198,250.0,83.333 +_.wav=N _F4,2489.066,375.0,-655.724,250.0,83.33 +_.wav=N _F4,3043.363,375.0,-1133.808,250.0,83.33 +_債傿催傶Ă.wav=o ky_F4,459.655,267.524,-326.58,250.0,83.331 +_債傿催傶Ă.wav=_F4,768.086,204.416,-398.508,79.416,0.0 +_債傿催傶Ă.wav=o sh_F4,985.516,249.997,-354.66,249.997,83.327 +_債傿催傶Ă.wav=_F4,1240.623,232.212,-454.383,107.212,45.948 +_債傿催傶Ă.wav=o ch_F4,1478.189,271.335,-292.198,250.0,83.331 +_債傿催傶Ă.wav=_F4,1746.061,219.449,-474.452,94.449,42.157 +_債傿催傶Ă.wav=o gy_F4,1986.181,250.0,-298.501,250.0,83.332 +_債傿催傶Ă.wav=_F4,2254.05,186.264,-394.596,61.264,19.917 +_債傿催傶Ă.wav=o j_F4,2494.172,250.0,-318.922,250.0,83.33 +_債傿催傶Ă.wav=_F4,2757.787,193.072,-401.405,68.072,26.472 +_債傿催傶Ă.wav=o ty_F4,2956.217,272.971,-308.709,249.997,83.33 +_債傿催傶Ă.wav=o _F4,4318.092,392.132,-560.105,249.997,82.999 +_債傿催傶Ă.wav=Ă_F4,3238.049,189.289,-618.605,64.289,0.0 +_Ƃ.wav=o k_F4,445.258,277.355,-313.749,249.999,83.332 +_Ƃ.wav=_F4,764.265,185.206,-393.539,60.205,0.0 +_Ƃ.wav=o s_F4,941.432,249.997,-330.109,249.997,83.331 +_Ƃ.wav=_F4,1205.046,204.417,-412.751,79.417,41.599 +_Ƃ.wav=o t_F4,1432.436,270.421,-329.418,250.0,83.331 +_Ƃ.wav=_F4,1708.278,192.189,-400.522,67.189,0.0 +_Ƃ.wav=o g_F4,1969.956,249.997,-310.506,249.997,83.33 +_Ƃ.wav=_F4,2256.261,181.726,-403.014,56.726,31.935 +_Ƃ.wav=o z_F4,2504.892,250.0,-322.357,250.0,83.333 +_Ƃ.wav=_F4,2761.008,201.58,-456.463,76.58,35.738 +_Ƃ.wav=o d_F4,3006.236,249.997,-291.345,249.997,83.33 +_Ƃ.wav=_F4,3263.986,168.931,-933.268,43.931,15.505 +_ɂЂ݂т҂.wav=o ny_F4,450.409,249.998,-301.683,249.998,83.33 +_ɂЂ݂т҂.wav=ɂ_F4,715.914,197.358,-374.904,72.358,37.313 +_ɂЂ݂т҂.wav=o hy_F4,921.319,249.997,-327.489,249.997,83.331 +_ɂЂ݂т҂.wav=Ђ_F4,1171.316,214.413,-435.701,89.413,27.392 +_ɂЂ݂т҂.wav=o my_F4,1447.923,250.0,-306.727,250.0,83.33 +_ɂЂ݂т҂.wav=݂_F4,1700.507,197.357,-428.981,72.357,42.004 +_ɂЂ݂т҂.wav=o by_F4,1926.004,283.185,-317.191,250.0,83.33 +_ɂЂ݂т҂.wav=т_F4,2178.709,196.53,-404.862,71.528,56.628 +_ɂЂ݂т҂.wav=o py_F4,2429.932,281.01,-319.773,250.0,83.33 +_ɂЂ݂т҂.wav=҂_F4,2736.787,202.525,-428.982,77.525,0.0 +_ɂЂ݂т҂.wav=o ry_F4,3001.046,250.0,-272.975,250.0,83.33 +_ɂЂ݂т҂.wav=_F4,3248.924,161.178,-653.006,36.178,20.673 +_̂قڂۂ.wav=o n_F4,452.911,249.999,-304.268,249.999,83.329 +_̂قڂۂ.wav=_F4,718.356,174.161,-382.494,49.161,30.254 +_̂قڂۂ.wav=o h_F4,974.928,249.997,-317.188,249.997,83.328 +_̂قڂۂ.wav=_F4,1235.392,147.367,-373.974,56.724,26.092 +_̂قڂۂ.wav=o m_F4,1453.009,250.0,-303.607,250.0,83.331 +_̂قڂۂ.wav=_F4,1729.546,181.159,-420.537,56.159,25.527 +_̂قڂۂ.wav=o b_F4,1933.678,278.33,-299.162,249.999,83.332 +_̂قڂۂ.wav=_F4,2222.442,112.754,-379.847,46.515,18.181 +_̂قڂۂ.wav=o p_F4,2411.76,293.931,-325.636,250.0,83.333 +_̂قڂۂ.wav=_F4,2708.178,192.288,-464.719,67.288,0.0 +_̂قڂۂ.wav=o r_F4,3006.819,250.0,-290.843,250.0,83.33 +_̂قڂۂ.wav=_F4,3277.494,158.594,-633.229,33.594,12.921 +_悤‚ӂ.wav=o y_F4,455.495,249.998,-295.948,249.998,83.328 +_悤‚ӂ.wav=_F4,735.626,193.071,-401.404,68.071,24.077 +_悤‚ӂ.wav=o w_F4,954.253,250.0,-295.382,250.0,83.331 +_悤‚ӂ.wav=_F4,1244.15,170.381,-378.713,45.381,24.707 +_悤‚ӂ.wav=o ts_F4,1946.599,267.522,-304.269,249.999,83.332 +_悤‚ӂ.wav=‚_F4,2238.894,201.579,-398.221,76.579,0.0 +_悤‚ӂ.wav=o f_F4,2473.782,250.0,-321.855,250.0,83.33 +_悤‚ӂ.wav=ӂ_F4,2755.77,204.133,-412.466,79.133,47.591 +_悤‚ӂ.wav=o v_F4,2985.458,250.0,-319.774,250.0,83.33 +_悤‚ӂ.wav=_F4,3257.835,177.569,-588.789,52.569,28.038 +_񂢂񂦂񂨂.wav=- _F4,227.413,74.899,-386.476,0.0,0.0 +_񂢂񂦂񂨂.wav=n _F4,458.08,375.0,-645.387,250.0,83.33 +_񂢂񂦂񂨂.wav=i _F4,892.232,375.0,-601.708,250.0,83.331 +_񂢂񂦂񂨂.wav=n _F4,1401.324,375.0,-662.217,250.0,83.33 +_񂢂񂦂񂨂.wav=e _F4,1884.577,375.0,-700.036,250.0,83.332 +_񂢂񂦂񂨂.wav=n _F4,2432.434,375.0,-660.893,250.0,83.333 +_񂢂񂦂񂨂.wav=o _F4,2897.596,375.0,-1486.65,250.0,83.33 +_񂢂񂦂񂨂.wav=n _F4,4203.056,389.927,-541.199,250.0,83.0 +_.wav=- _F4,229.996,74.899,-386.476,0.0,0.0 +_.wav=N _F4,507.18,375.0,-658.309,250.0,83.332 +_.wav=i _F4,1055.037,375.0,-645.388,250.0,83.331 +_.wav=N _F4,1520.198,375.0,-640.22,250.0,83.331 +_.wav=e _F4,2104.236,375.0,-624.714,250.0,83.333 +_.wav=N _F4,2564.23,375.0,-681.126,250.0,83.333 +_.wav=o _F4,3053.339,375.0,-940.647,250.0,83.332 +_̓.wav=N v_F4,442.575,249.999,-321.854,249.999,83.329 +_̓.wav=N h_F4,1455.215,250.0,-299.164,250.0,83.328 +_̓.wav=N hy_F4,2460.986,250.0,-299.163,250.0,83.33 +_񂩂񂳂.wav=n k_F4,401.026,275.536,-310.509,249.998,83.33 +_񂩂񂳂.wav=n s_F4,1383.821,250.0,-355.89,250.0,83.331 +_񂩂񂳂.wav=n t_F4,2427.883,278.036,-324.029,250.0,83.33 +_񂪂񂴂.wav=n g_F4,434.211,249.998,-273.53,249.998,83.33 +_񂪂񂴂.wav=n z_F4,1427.215,250.0,-302.103,250.0,83.331 +_񂪂񂴂.wav=n d_F4,2417.672,250.0,-278.08,250.0,83.33 +_񂫂񂵂񂿂.wav=n ky_F4,393.359,267.522,-313.871,250.0,83.331 +_񂫂񂵂񂿂.wav=n sh_F4,1365.944,250.0,-382.741,250.0,83.331 +_񂫂񂵂񂿂.wav=n ch_F4,2407.455,277.93,-301.774,250.0,83.331 +_񂬂񂶂‚.wav=n gy_F4,477.526,249.997,-286.977,249.997,83.331 +_񂬂񂶂‚.wav=n j_F4,1483.293,250.0,-313.819,250.0,83.331 +_񂬂񂶂‚.wav=n ts_F4,2453.328,267.338,-298.502,250.0,83.331 +_Ȃς.wav=n n_F4,436.682,249.998,-314.289,249.998,83.331 +_Ȃς.wav=n p_F4,1411.819,264.016,-336.982,250.0,83.331 +_Ȃς.wav=n m_F4,2448.223,250.0,-310.509,250.0,83.333 +_ɂ҂݂.wav=n ny_F4,436.681,250.0,-310.508,250.0,83.331 +_ɂ҂݂.wav=n py_F4,1422.03,281.874,-318.073,250.0,83.332 +_ɂ҂݂.wav=n my_F4,2415.038,250.0,-332.695,250.0,83.333 +_Ђтӂ.wav=n hy_F4,423.917,250.0,-313.818,250.0,83.331 +_Ђтӂ.wav=n by_F4,1457.767,278.038,-302.945,250.0,83.331 +_Ђтӂ.wav=n f_F4,2397.169,250.0,-335.72,250.0,83.333 +_Ӄ⃓.wav=N f_F4,423.999,250.0,-343.284,250.0,83.33 +_Ӄ⃓.wav=N y_F4,1439.981,250.0,-313.029,250.0,83.331 +_Ӄ⃓.wav=N w_F4,2484.042,250.0,-306.852,250.0,83.333 +_΂.wav=n y_F4,390.812,249.999,-302.947,249.999,83.332 +_΂.wav=n b_F4,1404.243,272.69,-304.268,250.0,83.333 +_΂.wav=n r_F4,2453.41,250.0,-274.652,250.0,83.331 +_.wav=n ry_F4,452.071,250.0,-285.297,250.0,83.328 +_.wav=n v_F4,1445.079,250.0,-323.115,250.0,83.328 diff --git a/OpenUtau.Test/Files/ja_vcv/C_A3/oto.ini b/OpenUtau.Test/Files/ja_vcv/C_A3/oto.ini new file mode 100644 index 000000000..856f664d6 --- /dev/null +++ b/OpenUtau.Test/Files/ja_vcv/C_A3/oto.ini @@ -0,0 +1,1231 @@ +_.wav=- CA3,367.396,174.27,-382.603,49.27,21.043 +_.wav=a CA3,650.0,375.0,-583.333,250.0,83.333 +_.wav=a CA3,1297.444,375,-583,250,83 +_.wav=i CA3,1782.874,375.0,-583.333,250.0,83.333 +_.wav=a CA3,2265.514,375,-583,250,83 +_.wav=u CA3,2741.125,375.0,-583.333,250.0,83.333 +_.wav=e CA3,3277.07,375.0,-583.333,250.0,83.333 +_.wav=a RCA3,4134,533,217,250,83 +_.wav=- CA3,304,145,4318,32,9 +_.wav=i CA3,560.0,375.0,-583.333,250.0,83.333 +_.wav=i CA3,1060.0,375.0,-583.333,250.0,83.333 +_.wav=u CA3,1555.596,375.0,-583.333,250.0,83.333 +_.wav=a CA3,2063.482,375.0,-583.333,250.0,83.333 +_.wav=e CA3,2560.0,375.0,-583.333,250.0,83.333 +_.wav=i CA3,3076.449,375.0,-583.333,250.0,83.333 +_.wav=e RCA3,4067,612,211,250,83 +_񂢂悢₢.wav=- CA3,314.253,150.744,-359.078,60.325,30.864 +_񂢂悢₢.wav=e CA3,638.047,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=n CA3,1129.081,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e CA3,1693.084,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e CA3,2192.551,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=o CA3,2590.0,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e CA3,3198.504,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=a CA3,3720.419,375.0,-583.333,250.0,83.333 +_񃔂.wav=- CA3,305.836,179.162,-387.495,77.16,49.102 +_񃔂.wav=a CA3,618.406,375.0,-583.333,250.0,83.333 +_񃔂.wav=n CA3,1134.694,375.0,-583.333,250.0,83.333 +_񃔂.wav=a CA3,1636.968,375.0,-583.333,250.0,83.333 +_񃔂.wav=a CA3,2122.406,375.0,-583.333,250.0,83.333 +_񃔂.wav=i CA3,2616.261,375.0,-583.333,250.0,83.333 +_񃔂.wav=a CA3,3114.327,375.0,-583.333,250.0,83.333 +_񃔂.wav=u CA3,3619.41,375.0,-583.333,250.0,83.333 +_񂤂.wav=- CA3,398.428,176.571,-384.904,60.325,37.878 +_񂤂.wav=i CA3,703.984,375.0,-583.333,250.0,83.333 +_񂤂.wav=n CA3,1195.025,375.0,-583.333,250.0,83.333 +_񂤂.wav=i CA3,1700.0,375.0,-583.333,250.0,83.333 +_񂤂.wav=i CA3,2237.452,375.0,-583.333,250.0,83.333 +_񂤂.wav=u CA3,2720.085,375.0,-583.333,250.0,83.333 +_񂤂.wav=i CA3,3201.316,375.0,-583.333,250.0,83.333 +_񂤂.wav=e CA3,3730.0,375.0,-583.333,250.0,83.333 +_񃔂.wav=- CA3,368.968,184.809,-393.142,75.757,35.072 +_񃔂.wav=i CA3,647.867,375.0,-583.333,250.0,83.333 +_񃔂.wav=n CA3,1207.651,375.0,-583.333,250.0,83.333 +_񃔂.wav=i CA3,1684.67,375.0,-583.333,250.0,83.333 +_񃔂.wav=i CA3,2151.869,375.0,-583.333,250.0,83.333 +_񃔂.wav=u CA3,2661.158,375.0,-583.333,250.0,83.333 +_񃔂.wav=i CA3,3174.657,375.0,-583.333,250.0,83.333 +_񃔂.wav=e CA3,3678.334,375.0,-583.333,250.0,83.333 +_.wav=- CA3,340.909,179.712,-388.045,54.712,39.281 +_.wav=u CA3,630.0,375.0,-583.333,250.0,83.333 +_.wav=u CA3,1145.919,375.0,-583.333,250.0,83.333 +_.wav=i CA3,1658.015,375,-583,250,83 +_.wav=i CA3,1658.015,375,-583,250,83 +_.wav=o CA3,2160.288,375.0,-583.333,250.0,83.333 +_.wav=a CA3,2665.368,375.0,-583.333,250.0,83.333 +_.wav=a CA3,2665.368,375,-583.333,250,83.333 +_.wav=o CA3,3178.865,375.0,-583.333,250.0,83.333 +_.wav=i RCA3,4229,538,122,250,83 +_䂢.wav=- CA3,244.107,168.49,-376.823,43.49,33.67 +_䂢.wav=u CA3,541.245,375.0,-583.333,250.0,83.333 +_䂢.wav=e CA3,1030.0,375.0,-583.333,250.0,83.333 +_䂢.wav=u CA3,1549.984,375.0,-583.333,250.0,83.333 +_䂢.wav=o CA3,2017.185,375.0,-583.333,250.0,83.333 +_䂢.wav=i CA3,2532.084,375.0,-583.333,250.0,83.333 +_䂢.wav=u CA3,2997.883,375.0,-583.333,250.0,83.333 +_䂢.wav=i CA3,3571.705,375.0,-583.333,250.0,83.333 +_񃔂.wav=- CA3,192.199,248.456,-456.789,123.456,85.578 +_񃔂.wav=e CA3,530.0,375.0,-583.333,250.0,83.333 +_񃔂.wav=n CA3,1070.157,375.0,-583.333,250.0,83.333 +_񃔂.wav=e CA3,1587.863,375.0,-583.333,250.0,83.333 +_񃔂.wav=e CA3,2097.15,375.0,-583.333,250.0,83.333 +_񃔂.wav=o CA3,2617.665,375.0,-583.333,250.0,83.333 +_񃔂.wav=e CA3,3080.656,375.0,-583.333,250.0,83.333 +_񃔂.wav=a CA3,3577.317,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- CA3,265.151,244.246,-452.58,119.247,93.995 +_񂤂키.wav=e CA3,636.644,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n CA3,1098.219,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e CA3,1610.313,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e CA3,2122.408,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o CA3,2642.919,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e CA3,3119.942,375.0,-583.333,250.0,83.333 +_񂤂키.wav=a CA3,3594.154,375.0,-583.333,250.0,83.333 +_񃔂.wav=- CA3,343.714,192.34,-400.674,67.34,44.893 +_񃔂.wav=o CA3,649.27,375.0,-583.333,250.0,83.333 +_񃔂.wav=n CA3,1197.826,375.0,-583.333,250.0,83.333 +_񃔂.wav=o CA3,1687.476,375.0,-583.333,250.0,83.333 +_񃔂.wav=o CA3,2174.317,375.0,-583.333,250.0,83.333 +_񃔂.wav=a CA3,2683.607,375.0,-583.333,250.0,83.333 +_񃔂.wav=o CA3,3167.643,375.0,-583.333,250.0,83.333 +_񃔂.wav=i CA3,3676.93,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- CA3,325.476,178.31,-386.643,53.31,30.864 +_񂤂키.wav=o CA3,645.061,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n CA3,1169.767,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o CA3,1680.0,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o CA3,2189.752,375.0,-583.333,250.0,83.333 +_񂤂키.wav=a CA3,2703.25,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o CA3,3190.0,375.0,-583.333,250.0,83.333 +_񂤂키.wav=i CA3,3669.916,375.0,-583.333,250.0,83.333 +_񃔃.wav=- CA3,171.156,270.902,-479.235,145.902,116.442 +_񃔃.wav=u CA3,541.246,375.0,-583.333,250.0,83.333 +_񃔃.wav=n CA3,1094.004,375.0,-583.333,250.0,83.333 +_񃔃.wav=u CA3,1611.713,375.0,-583.333,250.0,83.333 +_񃔃.wav=u CA3,2071.897,375.0,-583.333,250.0,83.333 +_񃔃.wav=e CA3,2569.961,375.0,-583.333,250.0,83.333 +_񃔃.wav=u CA3,3056.803,375.0,-583.333,250.0,83.333 +_񃔃.wav=o CA3,3536.631,375.0,-583.333,250.0,83.333 +_.wav=- CA3,367.564,171.294,-379.627,46.294,32.267 +_.wav=e CA3,669.999,375.0,-583.333,250.0,83.333 +_.wav=e CA3,1186.606,375.0,-583.333,250.0,83.333 +_.wav=u CA3,1715.535,375.0,-583.333,250.0,83.333 +_.wav=u CA3,1715.535,375,-583.333,250,83.333 +_.wav=o CA3,2169.999,375.0,-583.333,250.0,83.333 +_.wav=e CA3,2686.413,375.0,-583.333,250.0,83.333 +_.wav=e CA3,2686.413,375,-583.333,250,83.333 +_.wav=o CA3,3289,375,-583,250,83 +_.wav=o CA3,3289,375,-583,250,83 +_.wav=o RCA3,4062,574,260,250,83 +_񂠂.wav=- CA3,220.258,165.684,-374.017,40.683,26.655 +_񂠂.wav=- CA3,220.258,165.684,-374.017,40.683,26.655 +_񂠂.wav=o CA3,591.75,375.0,-583.333,250.0,83.333 +_񂠂.wav=u CA3,1046.306,375.0,-583.333,250.0,83.333 +_񂠂.wav=n CA3,1517.716,375.0,-583.333,250.0,83.333 +_񂠂.wav=a CA3,2004.557,375.0,-583.333,250.0,83.333 +_񂠂.wav=n CA3,2536.292,375.0,-583.333,250.0,83.333 +_񂠂.wav=n CA3,3027.343,375.0,-583.333,250.0,83.333 +_񂠂.wav=u RCA3,3903,614,391,250,83 +_ĂĂエłł.wav=- CA3,346.52,162.877,-371.211,37.878,28.058 +_ĂĂエłł.wav=o ĂCA3,638.047,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u CA3,1106.639,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n ĂCA3,1650.999,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u CA3,2125.215,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=o łCA3,2629.998,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u CA3,3150.807,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n łCA3,3648.873,375.0,-583.333,250.0,83.333 +_񂩂.wav=- CA3,368,156,-364,31,10 +_񂩂.wav=a CA3,674.523,375.0,-583.333,250.0,83.333 +_񂩂.wav=n CA3,1176.787,375.0,-583.333,250.0,83.333 +_񂩂.wav=a CA3,1702.911,375,-583,250,83 +_񂩂.wav=a CA3,2212.2,375.0,-583.333,250.0,83.333 +_񂩂.wav=i CA3,2706.055,375.0,-583.333,250.0,83.333 +_񂩂.wav=a CA3,3192.899,375.0,-583.333,250.0,83.333 +_񂩂.wav=u CA3,3683.946,375.0,-583.333,250.0,83.333 +_񂪂.wav=- CA3,220.258,164.279,-372.612,39.279,23.849 +_񂪂.wav=a CA3,513.187,375.0,-583.333,250.0,83.333 +_񂪂.wav=n CA3,1026.665,375.0,-583.333,250.0,83.333 +_񂪂.wav=a CA3,1524.73,375.0,-583.333,250.0,83.333 +_񂪂.wav=a CA3,2036.825,375.0,-583.333,250.0,83.333 +_񂪂.wav=i CA3,2527.876,375.0,-583.333,250.0,83.333 +_񂪂.wav=a CA3,3013.315,375.0,-583.333,250.0,83.333 +_񂪂.wav=u CA3,3522.604,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=- CA3,321.268,179.713,-388.046,54.713,33.67 +_񂫂傫Ⴋ.wav=e CA3,621.212,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=n CA3,1161.354,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e CA3,1677.657,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e CA3,2168.707,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=o CA3,2677.995,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e CA3,3176.062,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=a CA3,3686.75,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=- CA3,416.666,158.333,-366.666,33.333,16.835 +_񂬂催Ⴌ.wav=e CA3,708.194,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=n CA3,1240.0,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e CA3,1752.017,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e CA3,2254.291,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=o CA3,2755.163,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e CA3,3246.213,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=a CA3,3769.525,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=- CA3,378.787,196.212,-404.545,71.212,40.684 +_カɂɂɂɂ.wav=i CA3,705.387,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u CA3,1217.472,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i CA3,1690.285,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=e CA3,2191.151,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i ɂCA3,2689.218,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u CA3,3197.104,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i ɂCA3,3688.154,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=- CA3,186.588,171.295,-379.628,46.295,26.655 +_񂫂ႫႫႫカ.wav=a CA3,492.143,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=n CA3,1018.248,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a CA3,1519.119,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a CA3,2035.423,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=i CA3,2526.471,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a CA3,3039.973,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=u CA3,3516.991,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=- CA3,248.316,206.369,-414.702,81.369,56.116 +_񂬂ႬႬႬガ.wav=a CA3,581.93,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=n CA3,1096.814,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a CA3,1597.686,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a CA3,2104.169,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=i CA3,2616.264,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a CA3,3132.569,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=u CA3,3618.008,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=- CA3,338.103,186.727,-395.059,61.727,32.267 +_񂫂カカカ傫.wav=u CA3,621.212,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=n CA3,1116.456,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u CA3,1606.105,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u CA3,2084.527,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=e CA3,2591.01,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u CA3,3086.27,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=o CA3,3599.769,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=- CA3,303.03,216.188,-424.521,91.188,74.354 +_񂬂ガガガ催.wav=u CA3,653.479,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=n CA3,1180.995,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u CA3,1684.672,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u CA3,2174.319,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=e CA3,2675.189,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u CA3,3176.062,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=o CA3,3703.586,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=- CA3,366.161,168.838,-377.171,43.838,26.655 +_񂫂傫傫Ⴋ傫.wav=o CA3,668.911,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=n CA3,1221.682,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o CA3,1730.972,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o CA3,2207.993,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=a CA3,2719.999,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o CA3,3217,375,-583,250,83 +_񂫂傫傫Ⴋ傫.wav=i CA3,3706.392,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=- CA3,210.437,227.411,-435.744,102.411,82.772 +_񂬂催催Ⴌ催.wav=o CA3,576.318,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=n CA3,1070.158,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o CA3,1582.252,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o CA3,2078.915,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=a CA3,2595.219,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o CA3,3080.658,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=i CA3,3578.723,375.0,-583.333,250.0,83.333 +_񂫂.wav=- CA3,479.797,171.296,-379.628,46.296,26.655 +_񂫂.wav=i CA3,760.101,375.0,-583.333,250.0,83.333 +_񂫂.wav=n CA3,1290.0,375.0,-583.333,250.0,83.333 +_񂫂.wav=i CA3,1799.999,375.0,-583.333,250.0,83.333 +_񂫂.wav=i CA3,2289.999,375.0,-583.333,250.0,83.333 +_񂫂.wav=u CA3,2766.384,375.0,-583.333,250.0,83.333 +_񂫂.wav=i CA3,3260.241,375.0,-583.333,250.0,83.333 +_񂫂.wav=e CA3,3737.256,375.0,-583.333,250.0,83.333 +_񂬂.wav=- CA3,216.049,209.174,-417.507,84.174,50.505 +_񂬂.wav=i CA3,530.0,375.0,-583.333,250.0,83.333 +_񂬂.wav=n CA3,1088.396,375.0,-583.333,250.0,83.333 +_񂬂.wav=i CA3,1610.0,375.0,-583.333,250.0,83.333 +_񂬂.wav=i CA3,2085.929,375.0,-583.333,250.0,83.333 +_񂬂.wav=u CA3,2585.399,375.0,-583.333,250.0,83.333 +_񂬂.wav=i CA3,3082.062,375.0,-583.333,250.0,83.333 +_񂬂.wav=e CA3,3591.35,375.0,-583.333,250.0,83.333 +_񂭂.wav=- CA3,416.666,181.115,-389.448,56.115,35.072 +_񂭂.wav=a CA3,709.595,375.0,-583.333,250.0,83.333 +_񂭂.wav=n CA3,1220.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=a CA3,1747.808,375.0,-583.333,250.0,83.333 +_񂭂.wav=a CA3,2250.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=i CA3,2743.939,375.0,-583.333,250.0,83.333 +_񂭂.wav=a CA3,3240.598,375.0,-583.333,250.0,83.333 +_񂭂.wav=u CA3,3728.839,375.0,-583.333,250.0,83.333 +_񂮂.wav=- CA3,239.898,158.67,-367.002,33.67,14.029 +_񂮂.wav=a CA3,506.171,375.0,-583.333,250.0,83.333 +_񂮂.wav=n CA3,1028.068,375.0,-583.333,250.0,83.333 +_񂮂.wav=a CA3,1523.328,375.0,-583.333,250.0,83.333 +_񂮂.wav=a CA3,2028.408,375.0,-583.333,250.0,83.333 +_񂮂.wav=i CA3,2534.89,375.0,-583.333,250.0,83.333 +_񂮂.wav=a CA3,3030.151,375.0,-583.333,250.0,83.333 +_񂮂.wav=u CA3,3538.038,375.0,-583.333,250.0,83.333 +_񂭂.wav=- CA3,248.316,195.144,-403.477,70.144,46.296 +_񂭂.wav=i CA3,551.066,375.0,-583.333,250.0,83.333 +_񂭂.wav=n CA3,1078.575,375.0,-583.333,250.0,83.333 +_񂭂.wav=i CA3,1571.029,375.0,-583.333,250.0,83.333 +_񂭂.wav=i CA3,2067.69,375.0,-583.333,250.0,83.333 +_񂭂.wav=u CA3,2579.999,375.0,-583.333,250.0,83.333 +_񂭂.wav=i CA3,3065.225,375.0,-583.333,250.0,83.333 +_񂭂.wav=e CA3,3585.738,375.0,-583.333,250.0,83.333 +_񂮂.wav=- CA3,283.389,188.13,-396.463,63.13,39.281 +_񂮂.wav=i CA3,576.318,375.0,-583.333,250.0,83.333 +_񂮂.wav=n CA3,1115.053,375.0,-583.333,250.0,83.333 +_񂮂.wav=i CA3,1622.94,375.0,-583.333,250.0,83.333 +_񂮂.wav=i CA3,2122.408,375.0,-583.333,250.0,83.333 +_񂮂.wav=u CA3,2621.877,375.0,-583.333,250.0,83.333 +_񂮂.wav=i CA3,3087.672,375.0,-583.333,250.0,83.333 +_񂮂.wav=e CA3,3590.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=- CA3,304.433,170.564,-378.897,45.564,12.626 +_񂭂.wav=e CA3,604.377,375.0,-583.333,250.0,83.333 +_񂭂.wav=n CA3,1117.86,375.0,-583.333,250.0,83.333 +_񂭂.wav=e CA3,1629.955,375.0,-583.333,250.0,83.333 +_񂭂.wav=e CA3,2139.245,375.0,-583.333,250.0,83.333 +_񂭂.wav=o CA3,2631.699,375.0,-583.333,250.0,83.333 +_񂭂.wav=e CA3,3129.763,375.0,-583.333,250.0,83.333 +_񂭂.wav=a CA3,3622.217,375.0,-583.333,250.0,83.333 +_񂮂.wav=- CA3,363.355,172.697,-381.03,47.697,25.252 +_񂮂.wav=e CA3,675.925,375.0,-583.333,250.0,83.333 +_񂮂.wav=n CA3,1168.369,375.0,-583.333,250.0,83.333 +_񂮂.wav=e CA3,1669.238,375.0,-583.333,250.0,83.333 +_񂮂.wav=e CA3,2180.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=o CA3,2675.19,375.0,-583.333,250.0,83.333 +_񂮂.wav=e CA3,3153.614,375.0,-583.333,250.0,83.333 +_񂮂.wav=a CA3,3661.499,375.0,-583.333,250.0,83.333 +_񂭂.wav=- CA3,353.535,174.101,-382.434,49.101,26.655 +_񂭂.wav=o CA3,684.343,375.0,-583.333,250.0,83.333 +_񂭂.wav=n CA3,1204.846,375.0,-583.333,250.0,83.333 +_񂭂.wav=o CA3,1704.315,375.0,-583.333,250.0,83.333 +_񂭂.wav=o CA3,2185.544,375.0,-583.333,250.0,83.333 +_񂭂.wav=a CA3,2697.639,375.0,-583.333,250.0,83.333 +_񂭂.wav=o CA3,3200.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=i CA3,3700.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=- CA3,468.574,143.237,-351.57,18.237,0.0 +_񂮂.wav=o CA3,730.639,375.0,-583.333,250.0,83.333 +_񂮂.wav=n CA3,1255.353,375.0,-583.333,250.0,83.333 +_񂮂.wav=o CA3,1746.404,375.0,-583.333,250.0,83.333 +_񂮂.wav=o CA3,2219.218,375.0,-583.333,250.0,83.333 +_񂮂.wav=a CA3,2714.473,375.0,-583.333,250.0,83.333 +_񂮂.wav=o CA3,3236.39,375.0,-583.333,250.0,83.333 +_񂮂.wav=i CA3,3735.854,375.0,-583.333,250.0,83.333 +_.wav=- CA3,265.151,167.087,-375.42,42.087,0.0 +_.wav=u CA3,527.216,375.0,-583.333,250.0,83.333 +_.wav=e CA3,1061.741,375.0,-583.333,250.0,83.333 +_.wav=u CA3,1545.775,375.0,-583.333,250.0,83.333 +_.wav=o CA3,2053.661,375.0,-583.333,250.0,83.333 +_.wav=u CA3,2544.711,375.0,-583.333,250.0,83.333 +_.wav=e CA3,3044.181,375.0,-583.333,250.0,83.333 +_.wav=u CA3,3545.052,375.0,-583.333,250.0,83.333 +_񂭂.wav=- CA3,255.331,185.324,-393.657,60.324,16.835 +_񂭂.wav=u CA3,580.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=n CA3,1120.666,375.0,-583.333,250.0,83.333 +_񂭂.wav=u CA3,1615.926,375.0,-583.333,250.0,83.333 +_񂭂.wav=u CA3,2073.303,375.0,-583.333,250.0,83.333 +_񂭂.wav=e CA3,2592.415,375.0,-583.333,250.0,83.333 +_񂭂.wav=u CA3,3086.271,375.0,-583.333,250.0,83.333 +_񂭂.wav=o CA3,3577.321,375.0,-583.333,250.0,83.333 +_񂮂.wav=- CA3,360.549,155.863,-364.196,30.863,18.237 +_񂮂.wav=u CA3,659.09,375.0,-583.333,250.0,83.333 +_񂮂.wav=n CA3,1178.188,375.0,-583.333,250.0,83.333 +_񂮂.wav=u CA3,1681.867,375.0,-583.333,250.0,83.333 +_񂮂.wav=u CA3,2147.662,375.0,-583.333,250.0,83.333 +_񂮂.wav=e CA3,2665.368,375.0,-583.333,250.0,83.333 +_񂮂.wav=u CA3,3152.212,375.0,-583.333,250.0,83.333 +_񂮂.wav=o CA3,3637.649,375.0,-583.333,250.0,83.333 +_񂯂.wav=- CA3,328.282,166.715,-375.049,41.715,25.252 +_񂯂.wav=e CA3,629.63,375.0,-583.333,250.0,83.333 +_񂯂.wav=n CA3,1150.129,375.0,-583.333,250.0,83.333 +_񂯂.wav=e CA3,1646.793,375.0,-583.333,250.0,83.333 +_񂯂.wav=e CA3,2167.305,375.0,-583.333,250.0,83.333 +_񂯂.wav=o CA3,2635.906,375.0,-583.333,250.0,83.333 +_񂯂.wav=e CA3,3139.585,375.0,-583.333,250.0,83.333 +_񂯂.wav=a CA3,3636.246,375.0,-583.333,250.0,83.333 +_񂰂.wav=- CA3,374.579,174.1,-382.432,49.1,29.461 +_񂰂.wav=e CA3,698.372,375.0,-583.333,250.0,83.333 +_񂰂.wav=n CA3,1216.069,375.0,-583.333,250.0,83.333 +_񂰂.wav=e CA3,1719.747,375.0,-583.333,250.0,83.333 +_񂰂.wav=e CA3,2219.214,375.0,-583.333,250.0,83.333 +_񂰂.wav=o CA3,2734.116,375.0,-583.333,250.0,83.333 +_񂰂.wav=e CA3,3206.928,375.0,-583.333,250.0,83.333 +_񂰂.wav=a CA3,3713.406,375.0,-583.333,250.0,83.333 +_񂱂.wav=- CA3,378.787,167.087,-375.42,42.087,21.043 +_񂱂.wav=o CA3,701.179,375.0,-583.333,250.0,83.333 +_񂱂.wav=n CA3,1195.026,375.0,-583.333,250.0,83.333 +_񂱂.wav=o CA3,1718.345,375.0,-583.333,250.0,83.333 +_񂱂.wav=o CA3,2209.396,375.0,-583.333,250.0,83.333 +_񂱂.wav=a CA3,2710.267,375.0,-583.333,250.0,83.333 +_񂱂.wav=o CA3,3225.167,375.0,-583.333,250.0,83.333 +_񂱂.wav=i CA3,3727.437,375.0,-583.333,250.0,83.333 +_񂲂.wav=- CA3,241.301,147.446,-355.779,22.446,0.0 +_񂲂.wav=o CA3,510.0,375.0,-583.333,250.0,83.333 +_񂲂.wav=n CA3,1050.517,375.0,-583.333,250.0,83.333 +_񂲂.wav=o CA3,1540.164,375.0,-583.333,250.0,83.333 +_񂲂.wav=o CA3,2035.422,375.0,-583.333,250.0,83.333 +_񂲂.wav=a CA3,2534.891,375.0,-583.333,250.0,83.333 +_񂲂.wav=o CA3,3045.582,375.0,-583.333,250.0,83.333 +_񂲂.wav=i CA3,3550.663,375.0,-583.333,250.0,83.333 +_񂳂.wav=- CA3,116,261,4324,149,94 +_񂳂.wav=a CA3,525.814,375.0,-583.333,250.0,83.333 +_񂳂.wav=n CA3,1016.845,375.0,-583.333,250.0,83.333 +_񂳂.wav=a CA3,1519.119,375.0,-583.333,250.0,83.333 +_񂳂.wav=a CA3,2034.019,375.0,-583.333,250.0,83.333 +_񂳂.wav=i CA3,2532.086,375.0,-583.333,250.0,83.333 +_񂳂.wav=a CA3,3072.24,375.0,-583.333,250.0,83.333 +_񂳂.wav=u CA3,3543.649,375.0,-583.333,250.0,83.333 +_񂴂.wav=- CA3,277.777,187.221,-395.555,62.221,37.878 +_񂴂.wav=a CA3,590.0,375.0,-583.333,250.0,83.333 +_񂴂.wav=n CA3,1109.443,375.0,-583.333,250.0,83.333 +_񂴂.wav=a CA3,1606.104,375.0,-583.333,250.0,83.333 +_񂴂.wav=a CA3,2122.408,375.0,-583.333,250.0,83.333 +_񂴂.wav=i CA3,2627.489,375.0,-583.333,250.0,83.333 +_񂴂.wav=a CA3,3126.955,375.0,-583.333,250.0,83.333 +_񂴂.wav=u CA3,3619.412,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=- CA3,314.253,280.746,-489.079,155.746,116.442 +_񂵂債Ⴕ.wav=e CA3,726.43,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=n CA3,1253.951,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e CA3,1763.24,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e CA3,2249.999,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=o CA3,2742.534,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e CA3,3261.645,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=a CA3,3759.999,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=- CA3,246.913,198.086,-406.418,73.086,43.49 +_񂶂傶Ⴖ.wav=e CA3,570.0,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=n CA3,1096.814,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e CA3,1615.925,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e CA3,2130.0,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=o CA3,2620.0,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e CA3,3098.895,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=a CA3,3590.0,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=- CA3,136.083,268.916,-477.249,143.916,99.607 +_񂵂ႵႵႵサ.wav=a CA3,530.0,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=n CA3,1043.501,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a CA3,1520.0,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a CA3,2034.019,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=i CA3,2530.683,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a CA3,3056.806,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=u CA3,3536.633,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=- CA3,284.792,233.024,-441.357,108.024,82.772 +_񂶂ႶႶႶザ.wav=a CA3,625.42,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=n CA3,1166.964,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a CA3,1660.0,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a CA3,2165.901,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=i CA3,2652.741,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a CA3,3173.256,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=u CA3,3654.484,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=- CA3,235.69,315.796,-524.128,190.796,130.471 +_񂵂サササ債.wav=u CA3,653.478,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=n CA3,1189.412,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u CA3,1680.0,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u CA3,2161.692,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=e CA3,2673.787,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u CA3,3166.241,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=o CA3,3659.999,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=- CA3,253.928,185.324,-393.657,60.324,30.864 +_񂶂ザザザ傶.wav=u CA3,524.41,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=n CA3,1050.0,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u CA3,1559.804,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u CA3,2043.84,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=e CA3,2553.129,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u CA3,3032.956,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=o CA3,3553.468,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=- CA3,168.35,270.902,-479.235,145.902,99.607 +_񂵂債債Ⴕ債.wav=o CA3,538.439,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=n CA3,1078.576,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o CA3,1580.85,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o CA3,2074.706,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=a CA3,2591.009,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o CA3,3098.895,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=i CA3,3590.0,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=- CA3,331.088,193.742,-402.074,68.742,51.907 +_񂶂傶傶Ⴖ傶.wav=o CA3,660.493,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=n CA3,1169.771,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o CA3,1662.224,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o CA3,2150.469,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=a CA3,2638.712,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o CA3,3145.196,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=i CA3,3667.111,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=- CA3,218.855,283.527,-491.861,158.528,113.636 +_񂵂サ.wav=i CA3,598.765,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=n CA3,1120.666,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i CA3,1628.553,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i CA3,2136.437,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=u CA3,2647.13,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i CA3,3091.883,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=e CA3,3634.844,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=- CA3,413.86,191.139,-399.472,66.139,39.281 +_񂶂ザ.wav=i CA3,685.746,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=n CA3,1248.338,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i CA3,1757.628,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i CA3,2244.468,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=u CA3,2730.0,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i CA3,3201.316,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=e CA3,3724.63,375.0,-583.333,250.0,83.333 +_񂷂.wav=- CA3,220.258,274.739,-483.073,149.739,112.233 +_񂷂.wav=i CA3,619.999,375.0,-583.333,250.0,83.333 +_񂷂.wav=n CA3,1149.999,375.0,-583.333,250.0,83.333 +_񂷂.wav=i CA3,1656.612,375.0,-583.333,250.0,83.333 +_񂷂.wav=i CA3,2139.998,375.0,-583.333,250.0,83.333 +_񂷂.wav=u CA3,2633.1,375.0,-583.333,250.0,83.333 +_񂷂.wav=i CA3,3121.346,375.0,-583.333,250.0,83.333 +_񂷂.wav=e CA3,3613.798,375.0,-583.333,250.0,83.333 +_񂸂.wav=- CA3,368.967,176.032,-384.365,51.032,30.864 +_񂸂.wav=i CA3,674.522,375.0,-583.333,250.0,83.333 +_񂸂.wav=n CA3,1200.0,375.0,-583.333,250.0,83.333 +_񂸂.wav=i CA3,1687.478,375.0,-583.333,250.0,83.333 +_񂸂.wav=i CA3,2196.767,375.0,-583.333,250.0,83.333 +_񂸂.wav=u CA3,2690.0,375.0,-583.333,250.0,83.333 +_񂸂.wav=i CA3,3173.256,375.0,-583.333,250.0,83.333 +_񂸂.wav=e CA3,3690.0,375.0,-583.333,250.0,83.333 +_񂷂.wav=- CA3,239.898,295.101,-503.434,170.101,105.218 +_񂷂.wav=u CA3,645.06,375.0,-583.333,250.0,83.333 +_񂷂.wav=n CA3,1185.204,375.0,-583.333,250.0,83.333 +_񂷂.wav=u CA3,1683.269,375.0,-583.333,250.0,83.333 +_񂷂.wav=u CA3,2163.096,375.0,-583.333,250.0,83.333 +_񂷂.wav=e CA3,2700.446,375.0,-583.333,250.0,83.333 +_񂷂.wav=u CA3,3170.0,375.0,-583.333,250.0,83.333 +_񂷂.wav=o CA3,3704.99,375.0,-583.333,250.0,83.333 +_񂸂.wav=- CA3,415.263,190.936,-399.269,65.935,37.878 +_񂸂.wav=u CA3,718.013,375.0,-583.333,250.0,83.333 +_񂸂.wav=n CA3,1259.999,375.0,-583.333,250.0,83.333 +_񂸂.wav=u CA3,1760.434,375.0,-583.333,250.0,83.333 +_񂸂.wav=u CA3,2249.999,375.0,-583.333,250.0,83.333 +_񂸂.wav=e CA3,2756.564,375.0,-583.333,250.0,83.333 +_񂸂.wav=u CA3,3257.435,375.0,-583.333,250.0,83.333 +_񂸂.wav=o CA3,3783.553,375.0,-583.333,250.0,83.333 +_񂹂.wav=- CA3,297.418,283.529,-491.862,158.529,119.248 +_񂹂.wav=e CA3,743.265,375.0,-583.333,250.0,83.333 +_񂹂.wav=n CA3,1246.936,375.0,-583.333,250.0,83.333 +_񂹂.wav=e CA3,1761.838,375.0,-583.333,250.0,83.333 +_񂹂.wav=e CA3,2261.306,375.0,-583.333,250.0,83.333 +_񂹂.wav=o CA3,2757.969,375.0,-583.333,250.0,83.333 +_񂹂.wav=e CA3,3244.81,375.0,-583.333,250.0,83.333 +_񂹂.wav=a CA3,3745,375,-583,250,83 +_񂺂.wav=- CA3,263.748,210.577,-418.91,85.577,57.519 +_񂺂.wav=e CA3,594.556,375.0,-583.333,250.0,83.333 +_񂺂.wav=n CA3,1103.829,375.0,-583.333,250.0,83.333 +_񂺂.wav=e CA3,1607.507,375.0,-583.333,250.0,83.333 +_񂺂.wav=e CA3,2099.961,375.0,-583.333,250.0,83.333 +_񂺂.wav=o CA3,2612.057,375.0,-583.333,250.0,83.333 +_񂺂.wav=e CA3,3107.314,375.0,-583.333,250.0,83.333 +_񂺂.wav=a CA3,3603.977,375.0,-583.333,250.0,83.333 +_񂻂.wav=- CA3,143.097,275.902,-569.196,154.902,90.902 +_񂻂.wav=o CA3,567.901,375.0,-583.333,250.0,83.333 +_񂻂.wav=n CA3,1065.95,375.0,-583.333,250.0,83.333 +_񂻂.wav=o CA3,1578.044,375.0,-583.333,250.0,83.333 +_񂻂.wav=o CA3,2062.08,375.0,-583.333,250.0,83.333 +_񂻂.wav=a CA3,2567.16,375.0,-583.333,250.0,83.333 +_񂻂.wav=o CA3,3108.718,375.0,-583.333,250.0,83.333 +_񂻂.wav=i CA3,3605.379,375.0,-583.333,250.0,83.333 +_񂼂.wav=- CA3,363.355,189.534,-397.867,64.534,42.087 +_񂼂.wav=o CA3,670.314,375.0,-583.333,250.0,83.333 +_񂼂.wav=n CA3,1158.547,375.0,-583.333,250.0,83.333 +_񂼂.wav=o CA3,1639.775,375.0,-583.333,250.0,83.333 +_񂼂.wav=o CA3,2140.0,375.0,-583.333,250.0,83.333 +_񂼂.wav=a CA3,2637.308,375.0,-583.333,250.0,83.333 +_񂼂.wav=o CA3,3155.017,375.0,-583.333,250.0,83.333 +_񂼂.wav=i CA3,3646.067,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=- CA3,342.312,146.042,-354.375,21.042,0.0 +_񂽂ĂƂ.wav=a CA3,642.255,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=n CA3,1148.726,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=a CA3,1667.837,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=a ĂCA3,2224.827,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=i CA3,2690.623,375,-583,250,83 +_񂽂ĂƂ.wav=a ƂCA3,3191.497,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=u CA3,3629.232,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=- CA3,402.637,139.028,-347.361,14.028,0.0 +_񂾂łǂ.wav=a CA3,696.969,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=n CA3,1204.846,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a CA3,1704.314,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a łCA3,2217.813,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=i CA3,2734.118,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a ǂCA3,3216.749,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=u CA3,3678.334,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=- CA3,245.51,219.488,-427.822,94.488,58.922 +_񂿂傿Ⴟ.wav=e CA3,566.497,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=n CA3,1119.263,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e CA3,1618.732,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e CA3,2120.0,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=o CA3,2619.07,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e CA3,3118.538,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=a CA3,3610.0,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=- CA3,321.268,193.731,-402.064,68.731,42.087 +_񂿂ႿႿႿタ.wav=a CA3,635.241,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=n CA3,1183.801,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a CA3,1679.06,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a CA3,2192.558,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=i CA3,2662.563,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a CA3,3163.435,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=u CA3,3651.678,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=- CA3,183.782,216.188,-424.521,91.188,46.296 +_񂿂タタタ傿.wav=u CA3,489.337,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=n CA3,1050.0,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u CA3,1540.0,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u CA3,2050.857,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=e CA3,2570.0,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u CA3,3058.211,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=o CA3,3560.0,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=- CA3,367.564,174.101,-382.434,49.101,29.461 +_񂿂傿傿Ⴟ傿.wav=o CA3,654.882,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=n CA3,1190.0,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o CA3,1676.254,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o CA3,2190.0,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=a CA3,2676.593,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o CA3,3190.093,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=i CA3,3657.291,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=- CA3,374.579,220.42,-428.753,95.42,60.325 +_񂿂タ.wav=i CA3,673.121,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=n CA3,1265.175,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i CA3,1743.599,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i CA3,2236.051,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=u CA3,2730.0,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i CA3,3190.0,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=e CA3,3716.212,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚CA3,238.496,190.936,-399.269,65.936,33.67 +_‚‚‚‚‚‚‚.wav=a CA3,565.095,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚CA3,1065.948,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚CA3,1569.627,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚CA3,2100.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚CA3,2560.146,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a CA3,3094.687,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚CA3,3566.096,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚CA3,290.404,206.367,-414.7,81.367,47.699 +_‚‚‚‚‚‚‚.wav=i CA3,604.377,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚CA3,1119.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚CA3,1631.358,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i CA3,2126.618,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚CA3,2596.622,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚CA3,3112.927,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚CA3,3629.231,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚CA3,186.588,206.368,-414.701,81.368,47.699 +_‚‚‚‚‚‚‚.wav=e CA3,510.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚CA3,1010.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚CA3,1510.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚CA3,2019.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚CA3,2519.459,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚CA3,3007.703,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚CA3,3504.363,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚CA3,276.374,183.922,-392.255,58.922,40.684 +_‚‚‚‚‚‚‚.wav=o CA3,576.318,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚CA3,1078.575,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚CA3,1564.014,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚CA3,2060.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚CA3,2561.549,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚CA3,3103.106,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚CA3,3610.993,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=- CA3,380.19,194.809,-403.142,69.809,30.864 +_‚‚‚‚‚‚.wav=u CA3,689.955,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=n CA3,1220.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u CA3,1730.971,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚CA3,2236.051,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=e CA3,2736.922,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚CA3,3212.54,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=o CA3,3719.018,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=- ĂCA3,347.923,167.076,-375.409,42.076,0.0 +_ĂĂĂƂĂĂĂ.wav=i CA3,652.076,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=n ĂCA3,1210.0,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ĂCA3,1725.36,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ƂCA3,2230.0,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=u ĂCA3,2731.311,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i CA3,3219.557,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=e ĂCA3,3737.256,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=- łCA3,273.569,146.042,-354.375,21.042,0.0 +_łłłǂłłł.wav=i CA3,544.052,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=n łCA3,1060.0,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i łCA3,1558.403,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i ǂCA3,2066.288,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=u łCA3,2569.966,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i CA3,3049.793,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=e łCA3,3559.999,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=- ĂCA3,440.516,154.483,-362.816,29.483,0.0 +_ĂĂ゠ĂアĂウĂ.wav=u ĂCA3,740.0,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u CA3,1217.474,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=a ĂCA3,1745.001,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u CA3,2193.964,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=i ĂCA3,2727.1,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u CA3,3202.72,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=e ĂCA3,3726.034,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=- łCA3,277.777,147.222,-355.555,22.222,0.0 +_łł゠łアłウł.wav=u łCA3,588.945,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u CA3,1039.293,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=a łCA3,1564.014,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u CA3,2027.006,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=i łCA3,2560.0,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u CA3,3042.778,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=e łCA3,3573.111,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=- CA3,331.088,157.265,-365.598,32.265,0.0 +_ĂĂĂƂĂ.wav=e CA3,617.003,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=n CA3,1096.816,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e CA3,1613.119,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e CA3,2109.782,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=o CA3,2610.654,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e CA3,3110.0,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=a CA3,3619.41,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=- CA3,388.608,146.391,-354.724,21.391,0.0 +_łłłǂł.wav=e CA3,664.702,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=n CA3,1150.129,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e CA3,1683.269,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e CA3,2184.14,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=o CA3,2672.386,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e CA3,3148.001,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=a CA3,3675.528,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=- ƂCA3,220.258,176.907,-385.24,51.907,0.0 +_ƂƂƂĂƂƂƂ.wav=u CA3,501.964,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=n ƂCA3,1056.127,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u ƂCA3,1550.0,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u CA3,2059.275,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=e ƂCA3,2586.801,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u CA3,3063.821,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=o ƂCA3,3568.902,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=- ǂCA3,321.268,150.251,-358.584,25.251,0.0 +_ǂǂǂłǂǂǂ.wav=u CA3,604.377,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=n ǂCA3,1105.232,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u ǂCA3,1630.0,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u CA3,2091.542,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=e ǂCA3,2590.0,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u CA3,3089.075,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=o ǂCA3,3630.633,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=- CA3,377.384,147.615,-355.948,22.615,0.0 +_ƂƂƂƂĂ.wav=o CA3,663.3,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=n CA3,1145.919,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o CA3,1653.806,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o CA3,2161.693,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=a CA3,2668.178,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o ĂCA3,3179.999,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=i CA3,3659.999,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=- CA3,412.457,152.542,-360.875,27.542,0.0 +_ǂǂǂǂł.wav=o CA3,723.625,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=n CA3,1223.085,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o CA3,1735.18,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o CA3,2250.081,375,-583,250,83 +_ǂǂǂǂł.wav=a CA3,2771.999,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o łCA3,3270.0,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=i CA3,3765.315,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=- CA3,391.414,210.577,-418.91,85.577,12.626 +_ȂȂȂɂȂʂ.wav=a CA3,719.416,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=n CA3,1202.038,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a CA3,1716.939,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a CA3,2203.781,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=i CA3,2707.457,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a CA3,3234.988,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=u CA3,3721.824,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂCA3,315.656,193.741,-402.075,68.742,14.029 +_ɂɂɂɂɂɂɂ.wav=e CA3,636.644,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂCA3,1131.888,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂCA3,1625.745,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂCA3,2102.767,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂCA3,2607.846,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂCA3,3094.688,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂCA3,3599.999,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂCA3,338.103,199.353,-407.686,74.352,19.64 +_ɂɂɂɂɂɂɂ.wav=a CA3,691.358,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂCA3,1207.653,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂCA3,1707.12,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a CA3,2202.38,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂCA3,2720.087,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂCA3,3223.763,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂCA3,3734.452,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂCA3,204.826,195.143,-403.476,70.143,22.446 +_ɂɂɂɂɂɂɂ.wav=u CA3,527.216,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂCA3,1040.692,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂCA3,1551.383,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂCA3,2059.269,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂCA3,2554.529,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂCA3,3068.026,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂCA3,3566.091,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂCA3,347.923,192.338,-400.672,67.339,18.237 +_ɂɂɂɂɂɂɂ.wav=o CA3,666.104,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂCA3,1175.381,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂCA3,1673.446,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂCA3,2171.511,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂCA3,2676.591,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o CA3,3178.866,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂCA3,3690.96,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=- CA3,248.316,175.503,-383.836,50.503,9.82 +_ɂɂɂʂɂ˂.wav=i CA3,545.454,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=n CA3,1042.097,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i CA3,1568.221,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i CA3,2039.63,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=u CA3,2541.904,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i CA3,3045.582,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=e CA3,3567.497,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=- CA3,273.569,210.577,-418.91,85.577,18.237 +_ʂʂʂ˂ʂ̂.wav=u CA3,598.765,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=n CA3,1117.856,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u CA3,1611.713,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u CA3,2092.943,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=e CA3,2610.649,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u CA3,3133.967,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=o CA3,3633.435,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=- CA3,357,195,4124,91,30 +_˂˂˂̂˂Ȃ.wav=e CA3,681.537,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=n CA3,1159.999,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e CA3,1674.85,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e CA3,2185.542,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=o CA3,2687.816,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e CA3,3176.06,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=a CA3,3683.946,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=- CA3,158.529,211.979,-420.313,86.98,26.655 +_̂̂̂Ȃ̂ɂ.wav=o CA3,525.813,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=n CA3,1020,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=o CA3,1527.536,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=o CA3,2005.972,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=a CA3,2518.065,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o CA3,3016.131,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=i CA3,3519.804,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=- CA3,230.078,200.757,-409.09,75.757,36.475 +_͂͂͂Ђ͂ӂ.wav=a CA3,566.498,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=n CA3,1081.38,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a CA3,1585.058,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a CA3,2067.691,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=i CA3,2572.77,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a CA3,3084.866,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=u CA3,3577.32,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=- CA3,251.122,143.237,-351.57,18.237,0.0 +_΂΂΂т΂Ԃ.wav=a CA3,538.439,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=n CA3,1029.471,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a CA3,1533.148,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a CA3,2052.259,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=i CA3,2568.564,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a CA3,3056.808,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=u CA3,3536.635,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=- CA3,373.176,143.236,-351.569,18.236,0.0 +_ςςς҂ςՂ.wav=a CA3,668.911,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=n CA3,1164.159,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a CA3,1652.404,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a CA3,2156.08,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=i CA3,2675.192,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a CA3,3156.421,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=u CA3,3647.47,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂCA3,265.151,239.848,-448.181,114.848,78.563 +_ЂЂЂЂЂЂЂ.wav=e CA3,625.42,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂCA3,1150.129,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂCA3,1652.404,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂCA3,2157.483,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂCA3,2651.34,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂCA3,3149.404,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂCA3,3653.08,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тCA3,269.36,197.95,-406.283,72.95,28.058 +_ттттттт.wav=e CA3,605.78,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тCA3,1130.488,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тCA3,1627.15,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тCA3,2115.393,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тCA3,2626.086,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тCA3,3119.942,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тCA3,3616.605,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂CA3,342.312,139.027,-347.36,14.027,0.0 +_҂҂҂҂҂҂҂.wav=e CA3,617.003,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂CA3,1140.0,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂CA3,1638.374,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂CA3,2174.32,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂CA3,2679.401,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂CA3,3156.419,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂CA3,3655.887,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=- CA3,385.802,139.028,-347.36,14.028,0.0 +_тттт҂҂҂҂.wav=i тCA3,685.747,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u CA3,1162.756,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i тCA3,1659.419,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=e CA3,2164.499,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂CA3,2670.982,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u CA3,3173.257,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂CA3,3667.111,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=- CA3,213.243,195.145,-403.478,70.145,40.684 +_ЂЂЂЂ݂݂݂݂.wav=i ЂCA3,546.857,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u CA3,1043.502,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ЂCA3,1510.701,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=e CA3,2014.378,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ݂CA3,2519.458,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u CA3,3011.912,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ݂CA3,3522.604,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂCA3,171.156,233.843,-442.176,108.843,65.937 +_ЂЂЂЂЂЂЂ.wav=a CA3,493.546,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂCA3,1032.277,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂCA3,1535.955,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a CA3,2021.392,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂCA3,2534.891,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂCA3,3032.955,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂCA3,3528.216,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тCA3,390.011,216.188,-424.521,91.187,33.67 +_ттттттт.wav=a CA3,740.46,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тCA3,1231.503,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тCA3,1726.762,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a CA3,2237.455,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тCA3,2725.698,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тCA3,3223.764,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тCA3,3726.033,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂CA3,251.122,137.625,-345.958,12.625,0.0 +_҂҂҂҂҂҂҂.wav=a CA3,537.037,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂CA3,1019.651,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂CA3,1507.895,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a CA3,2004.556,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂CA3,2513.845,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂CA3,3003.493,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂CA3,3524.006,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂCA3,228.675,246.322,-454.655,121.322,72.951 +_ЂЂЂЂЂЂЂ.wav=u CA3,572.109,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂCA3,1095.413,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂCA3,1601.895,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂCA3,2081.722,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂCA3,2619.07,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂCA3,3094.689,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂCA3,3615.202,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тCA3,287.598,137.625,-345.958,12.625,0.0 +_ттттттт.wav=u CA3,565.096,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тCA3,1067.352,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тCA3,1555.596,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тCA3,2053.662,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тCA3,2562.952,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тCA3,3054.002,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тCA3,3564.694,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂CA3,296.015,139.028,-347.361,14.028,0.0 +_҂҂҂҂҂҂҂.wav=u CA3,563.692,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂CA3,1078.577,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂CA3,1583.657,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂CA3,2070.498,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂CA3,2582.594,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂CA3,3087.672,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂CA3,3580.127,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂCA3,361.952,210.577,-418.91,85.577,47.699 +_ЂЂЂЂЂЂЂ.wav=o CA3,703.983,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂCA3,1223.086,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂCA3,1712.734,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂCA3,2186.947,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂCA3,2707.46,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o CA3,3204.123,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂCA3,3699.377,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тCA3,426.487,140.431,-348.764,15.431,4.208 +_ттттттт.wav=o CA3,681.537,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тCA3,1202.04,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тCA3,1676.254,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тCA3,2175.722,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тCA3,2677.998,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o CA3,3178.869,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тCA3,3682.544,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂CA3,405.443,143.236,-351.568,18.236,0.0 +_҂҂҂҂҂҂҂.wav=o CA3,680.134,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂CA3,1196.428,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂CA3,1705.717,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂CA3,2191.156,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂CA3,2711.669,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o CA3,3219.556,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂CA3,3724.63,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=- CA3,307.239,207.76,-416.093,82.76,47.699 +_ЂЂЂӂЂւ.wav=i CA3,667.508,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=n CA3,1180.992,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i CA3,1676.252,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i CA3,2170.109,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=u CA3,2670.98,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i CA3,3148.0,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=e CA3,3658.693,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=- CA3,343.714,134.82,-343.153,9.82,0.0 +_тттԂтׂ.wav=i CA3,618.406,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=n CA3,1137.501,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i CA3,1620.135,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i CA3,2129.998,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=u CA3,2630.295,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i CA3,3139.584,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=e CA3,3622.217,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=- CA3,408.249,146.749,-355.083,21.75,0.0 +_҂҂҂Ղ҂؂.wav=i CA3,689.955,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=n CA3,1203.443,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i CA3,1698.703,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i CA3,2220.62,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=u CA3,2707.459,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i CA3,3206.928,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=e CA3,3703.586,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂCA3,294.612,211.979,-420.313,86.979,36.475 +_ӂӂӂӂӂӂӂ.wav=a CA3,640.0,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂCA3,1123.473,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂCA3,1636.971,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂCA3,2133.631,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂCA3,2642.921,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a CA3,3145.196,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂCA3,3650.276,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂCA3,360.549,247.053,-455.386,122.053,72.951 +_ӂӂӂӂӂӂӂ.wav=i CA3,710.997,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂCA3,1207.653,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂCA3,1694.493,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i CA3,2200.975,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂCA3,2694.832,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂCA3,3188.689,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂCA3,3686.752,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂCA3,238.496,249.857,-458.19,124.857,61.728 +_ӂӂӂӂӂӂӂ.wav=e CA3,586.139,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂCA3,1082.786,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂCA3,1576.642,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂCA3,2091.543,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂCA3,2586.802,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂCA3,3094.689,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂCA3,3587.142,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂCA3,315.656,200.756,-409.089,75.756,40.684 +_ӂӂӂӂӂӂӂ.wav=o CA3,653.478,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂCA3,1164.159,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂCA3,1649.596,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂCA3,2140.648,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂCA3,2648.535,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂCA3,3149.406,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂCA3,3637.649,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=- CA3,202.02,203.562,-411.895,78.562,35.072 +_ӂӂӂӂӂӂ.wav=u CA3,517.395,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=n CA3,1050.0,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u CA3,1521.924,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂCA3,2021.393,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=e CA3,2554.529,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂCA3,3024.537,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=o CA3,3531.019,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=- CA3,361.952,217.591,-425.923,92.591,44.893 +_ӂӂӂւӂق.wav=u CA3,729.236,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=n CA3,1225.89,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u CA3,1711.328,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u CA3,2186.947,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=e CA3,2706.055,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u CA3,3209.733,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=o CA3,3703.586,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=- CA3,303.03,240.038,-448.371,115.038,54.713 +_ԂԂԂׂԂڂ.wav=u CA3,670.314,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=n CA3,1209.055,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u CA3,1705.717,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u CA3,2182.738,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=e CA3,2696.234,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u CA3,3215.346,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=o CA3,3709.198,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=- CA3,293.209,148.849,-357.182,23.849,0.0 +_ՂՂՂ؂Ղۂ.wav=u CA3,573.512,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=n CA3,1099.623,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u CA3,1617.329,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u CA3,2083.125,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=e CA3,2586.803,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u CA3,3070.0,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=o CA3,3573.112,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=- CA3,223.063,211.936,-420.268,86.936,58.922 +_ւււقւ͂.wav=e CA3,586.139,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=n CA3,1088.396,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e CA3,1582.252,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e CA3,2066.288,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=o CA3,2558.741,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e CA3,3068.029,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=a CA3,3549.261,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=- CA3,159.932,225.067,-433.4,100.067,57.519 +_ׂׂׂڂׂ΂.wav=e CA3,520.202,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=n CA3,1030.0,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e CA3,1517.716,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e CA3,2024.199,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=o CA3,2534.89,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e CA3,3039.972,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=a CA3,3549.998,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=- CA3,308.641,141.834,-350.167,16.834,0.0 +_؂؂؂ۂ؂ς.wav=e CA3,624.016,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=n CA3,1092.606,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e CA3,1590.672,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e CA3,2105.573,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=o CA3,2585.397,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e CA3,3101.703,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=a CA3,3605.379,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=- CA3,228.675,210.577,-418.91,85.577,54.713 +_ققق͂قЂ.wav=o CA3,591.75,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=n CA3,1147.319,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o CA3,1621.535,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o CA3,2142.046,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=a CA3,2609.248,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o CA3,3115.731,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=i CA3,3577.32,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=- CA3,209.034,234.427,-442.76,109.427,71.548 +_ڂڂڂ΂ڂт.wav=o CA3,581.93,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=n CA3,1100.0,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o CA3,1597.687,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o CA3,2090.14,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=a CA3,2592.413,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o CA3,3082.062,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=i CA3,3602.575,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=- CA3,416.666,143.236,-351.569,18.236,0.0 +_ۂۂۂςۂ҂.wav=o CA3,690.0,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=n CA3,1225.89,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o CA3,1708.524,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o CA3,2177.125,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=a CA3,2672.386,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o CA3,3166.242,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=i CA3,3683.946,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=- CA3,339.506,199.353,-407.686,74.353,26.655 +_܂܂܂݂܂ނ.wav=a CA3,677.328,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=n CA3,1168.37,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a CA3,1663,375,-583,250,83 +_܂܂܂݂܂ނ.wav=a CA3,2164.495,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=i CA3,2642.919,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a CA3,3164.834,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=u CA3,3648.87,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂CA3,339.506,197.95,-406.283,72.949,30.864 +_݂݂݂݂݂݂݂.wav=e CA3,649.27,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂CA3,1148.725,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂CA3,1665.028,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂CA3,2168.705,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂CA3,2656.95,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂CA3,3160.625,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂CA3,3657.288,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂CA3,204.826,188.13,-396.463,63.13,19.64 +_݂݂݂݂݂݂݂.wav=a CA3,501.964,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂CA3,1042.095,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂CA3,1545.773,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a CA3,2038.224,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂CA3,2518.051,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂CA3,3024.533,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂CA3,3539.434,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂CA3,281.986,203.562,-411.895,78.562,36.475 +_݂݂݂݂݂݂݂.wav=u CA3,541.245,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂CA3,1096.814,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂CA3,1624.34,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂CA3,2098.557,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂CA3,2610.651,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂CA3,3125.551,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂CA3,3609.587,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂CA3,179.573,202.157,-410.491,77.158,33.67 +_݂݂݂݂݂݂݂.wav=o CA3,480.92,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂CA3,1002.812,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂CA3,1499.474,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂CA3,1984.913,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂CA3,2485.783,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o CA3,2990.863,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂CA3,3508.567,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=- CA3,370.37,209.173,-417.505,84.173,30.864 +_݂݂݂ނ݂߂.wav=i CA3,705.387,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=n CA3,1213.261,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i CA3,1714.132,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i CA3,2200.974,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=u CA3,2707.455,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i CA3,3212.535,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=e CA3,3717.616,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=- CA3,227.272,200.757,-409.09,75.757,28.058 +_ނނނ߂ނ.wav=u CA3,576.318,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=n CA3,1068.753,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u CA3,1572.429,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u CA3,2057.868,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=e CA3,2561,375,-583,250,83 +_ނނނ߂ނ.wav=u CA3,3070.834,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=o CA3,3574,375,-583,250,83 +_߂߂߂߂܂.wav=- CA3,307.239,196.547,-404.88,71.547,33.67 +_߂߂߂߂܂.wav=e CA3,642.255,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=n CA3,1134.694,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e CA3,1632.757,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e CA3,2135.031,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=o CA3,2638.709,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e CA3,3132.566,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=a CA3,3625.02,375.0,-583.333,250.0,83.333 +_܂݂.wav=- CA3,336.7,195.145,-403.478,70.145,37.878 +_܂݂.wav=o CA3,670.314,375.0,-583.333,250.0,83.333 +_܂݂.wav=n CA3,1204.841,375.0,-583.333,250.0,83.333 +_܂݂.wav=o CA3,1693.086,375.0,-583.333,250.0,83.333 +_܂݂.wav=o CA3,2185.538,375.0,-583.333,250.0,83.333 +_܂݂.wav=a CA3,2690.62,375.0,-583.333,250.0,83.333 +_܂݂.wav=o CA3,3204.118,375.0,-583.333,250.0,83.333 +_܂݂.wav=i CA3,3707.796,375.0,-583.333,250.0,83.333 +_₢.wav=- CA3,189.393,213.383,-421.715,88.383,40.684 +_₢.wav=a CA3,527.216,375.0,-583.333,250.0,83.333 +_₢.wav=n CA3,1068.75,375.0,-583.333,250.0,83.333 +_₢.wav=a CA3,1531.744,375.0,-583.333,250.0,83.333 +_₢.wav=a CA3,1990.0,375.0,-583.333,250.0,83.333 +_₢.wav=i CA3,2555.932,375.0,-583.333,250.0,83.333 +_₢.wav=a CA3,3039.969,375.0,-583.333,250.0,83.333 +_₢.wav=u CA3,3543.645,375.0,-583.333,250.0,83.333 +_䂢.wav=- CA3,256.734,189.533,-397.866,64.533,35.072 +_䂢.wav=u CA3,586.139,375.0,-583.333,250.0,83.333 +_䂢.wav=n CA3,1123.467,375.0,-583.333,250.0,83.333 +_䂢.wav=u CA3,1601.892,375.0,-583.333,250.0,83.333 +_䂢.wav=u CA3,2105.569,375.0,-583.333,250.0,83.333 +_䂢.wav=e CA3,2602.232,375.0,-583.333,250.0,83.333 +_䂢.wav=u CA3,3114.328,375,-583,250,83 +_䂢.wav=o CA3,3601.169,375.0,-583.333,250.0,83.333 +_悢.wav=- CA3,394.219,204.966,-413.299,79.966,42.087 +_悢.wav=o CA3,685.746,375.0,-583.333,250.0,83.333 +_悢.wav=n CA3,1218.873,375.0,-583.333,250.0,83.333 +_悢.wav=o CA3,1719.745,375.0,-583.333,250.0,83.333 +_悢.wav=o CA3,2205.183,375.0,-583.333,250.0,83.333 +_悢.wav=a CA3,2714.474,375.0,-583.333,250.0,83.333 +_悢.wav=o CA3,3190.093,375.0,-583.333,250.0,83.333 +_悢.wav=i CA3,3720.421,375.0,-583.333,250.0,83.333 +_.wav=- CA3,223.063,203.562,-411.894,78.562,29.461 +_.wav=a CA3,544.051,375.0,-583.333,250.0,83.333 +_.wav=n CA3,1043.5,375.0,-583.333,250.0,83.333 +_.wav=a CA3,1575.235,375.0,-583.333,250.0,83.333 +_.wav=a CA3,2057.87,375.0,-583.333,250.0,83.333 +_.wav=i CA3,2572.77,375.0,-583.333,250.0,83.333 +_.wav=a CA3,3059.613,375.0,-583.333,250.0,83.333 +_.wav=u CA3,3538.038,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=- 肥CA3,346.52,226.009,-434.342,101.009,58.922 +_肥肥肥肥肥.wav=e CA3,692.761,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=n 肥CA3,1224.489,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e 肥CA3,1700.106,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e CA3,2196.767,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=o 肥CA3,2713.073,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e CA3,3201.316,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=a 肥CA3,3703.587,375.0,-583.333,250.0,83.333 +_.wav=- CA3,246.913,169.891,-378.224,44.891,0.0 +_.wav=a CA3,560.0,375.0,-583.333,250.0,83.333 +_.wav=n CA3,1077.172,375.0,-583.333,250.0,83.333 +_.wav=a CA3,1576.642,375.0,-583.333,250.0,83.333 +_.wav=a CA3,2076.11,375.0,-583.333,250.0,83.333 +_.wav=i CA3,2588.203,375.0,-583.333,250.0,83.333 +_.wav=a CA3,3094.685,375.0,-583.333,250.0,83.333 +_.wav=u CA3,3566.097,375.0,-583.333,250.0,83.333 +_肥.wav=- CA3,319.865,188.129,-396.462,63.129,0.0 +_肥.wav=u CA3,659.091,375.0,-583.333,250.0,83.333 +_肥.wav=n CA3,1159.999,375.0,-583.333,250.0,83.333 +_肥.wav=u CA3,1641.18,375.0,-583.333,250.0,83.333 +_肥.wav=u 肥CA3,2102.765,375.0,-583.333,250.0,83.333 +_肥.wav=e CA3,2621.877,375.0,-583.333,250.0,83.333 +_肥.wav=u CA3,3108.719,375.0,-583.333,250.0,83.333 +_肥.wav=o CA3,3615.202,375.0,-583.333,250.0,83.333 +_.wav=- CA3,227.272,189.532,-397.865,64.532,35.072 +_.wav=o CA3,528.619,375.0,-583.333,250.0,83.333 +_.wav=n CA3,1037.888,375.0,-583.333,250.0,83.333 +_.wav=o CA3,1538.76,375.0,-583.333,250.0,83.333 +_.wav=o CA3,2038.228,375.0,-583.333,250.0,83.333 +_.wav=a CA3,2533.488,375.0,-583.333,250.0,83.333 +_.wav=o CA3,3032.957,375.0,-583.333,250.0,83.333 +_.wav=i CA3,3546.453,375.0,-583.333,250.0,83.333 +_肥ガ.wav=- CA3,266.554,176.907,-385.24,51.907,0.0 +_肥ガ.wav=i CA3,563.692,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u CA3,1074.366,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i 肥CA3,1573.835,375.0,-583.333,250.0,83.333 +_肥ガ.wav=e CA3,2102.767,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i CA3,2628.892,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u CA3,3121.345,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i CA3,3625.022,375.0,-583.333,250.0,83.333 +_.wav=- CA3,283.389,207.771,-416.104,82.771,22.446 +_.wav=i CA3,609.988,375.0,-583.333,250.0,83.333 +_.wav=n CA3,1143.11,375.0,-583.333,250.0,83.333 +_.wav=i CA3,1622.941,375.0,-583.333,250.0,83.333 +_.wav=i CA3,2140.648,375.0,-583.333,250.0,83.333 +_.wav=u CA3,2630.296,375.0,-583.333,250.0,83.333 +_.wav=i CA3,3114.33,375,-583,250,83 +_.wav=e CA3,3625.022,375.0,-583.333,250.0,83.333 +_.wav=- CA3,328.282,206.369,-414.702,81.369,19.64 +_.wav=u CA3,668.911,375.0,-583.333,250.0,83.333 +_.wav=n CA3,1190.816,375.0,-583.333,250.0,83.333 +_.wav=u CA3,1691.687,375,-583,250,83 +_.wav=u CA3,2198.171,375.0,-583.333,250.0,83.333 +_.wav=e CA3,2694.833,375.0,-583.333,250.0,83.333 +_.wav=u CA3,3180.271,375.0,-583.333,250.0,83.333 +_.wav=o CA3,3693.766,375.0,-583.333,250.0,83.333 +_.wav=- CA3,214.646,200.353,-408.686,75.353,28.058 +_.wav=e CA3,520.203,375.0,-583.333,250.0,83.333 +_.wav=n CA3,1044.904,375.0,-583.333,250.0,83.333 +_.wav=e CA3,1545.775,375.0,-583.333,250.0,83.333 +_.wav=e CA3,2034.02,375.0,-583.333,250.0,83.333 +_.wav=o CA3,2526.473,375.0,-583.333,250.0,83.333 +_.wav=e CA3,3016.121,375.0,-583.333,250.0,83.333 +_.wav=a CA3,3509.978,375.0,-583.333,250.0,83.333 +_.wav=- CA3,281.986,190.936,-399.269,65.936,32.267 +_.wav=o CA3,574.915,375.0,-583.333,250.0,83.333 +_.wav=n CA3,1079.979,375.0,-583.333,250.0,83.333 +_.wav=o CA3,1569.628,375.0,-583.333,250.0,83.333 +_.wav=o CA3,2050.856,375.0,-583.333,250.0,83.333 +_.wav=a CA3,2555.935,375.0,-583.333,250.0,83.333 +_.wav=o CA3,3061.015,375.0,-583.333,250.0,83.333 +_.wav=i CA3,3561.886,375.0,-583.333,250.0,83.333 +_키키.wav=- CA3,307.239,207.772,-416.105,82.772,37.878 +_키키.wav=a CA3,625.42,375.0,-583.333,250.0,83.333 +_키키.wav=n CA3,1136.097,375.0,-583.333,250.0,83.333 +_키키.wav=a CA3,1639.999,375.0,-583.333,250.0,83.333 +_키키.wav=a CA3,2144.857,375.0,-583.333,250.0,83.333 +_키키.wav=i CA3,2639.998,375.0,-583.333,250.0,83.333 +_키키.wav=a CA3,3133.972,375.0,-583.333,250.0,83.333 +_키키.wav=u CA3,3641.857,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=- CA3,294.612,169.893,-378.226,44.893,32.267 +_񂢂񂦂񂨂.wav=n CA3,601.571,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=i CA3,1086.993,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n CA3,1589.267,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=e CA3,2080.0,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n CA3,2560.145,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n CA3,2560.145,375,-583.333,250,83.333 +_񂢂񂦂񂨂.wav=o CA3,3096.089,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n RCA3,4010,571,346,250,83 diff --git a/OpenUtau.Test/Files/ja_vcv/C_C5/oto.ini b/OpenUtau.Test/Files/ja_vcv/C_C5/oto.ini new file mode 100644 index 000000000..883825a5c --- /dev/null +++ b/OpenUtau.Test/Files/ja_vcv/C_C5/oto.ini @@ -0,0 +1,1257 @@ +_.wav=- CC5,510.662,179.711,4176.667,54.711,28.058 +_.wav=a CC5,799.382,375.0,-583.333,250.0,83.333 +_.wav=a CC5,1255.331,375,-583,250,83 +_.wav=i CC5,1767.397,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2255.611,375.0,-583.333,250.0,83.333 +_.wav=u CC5,2774.691,375.0,-583.333,250.0,83.333 +_.wav=e CC5,3269.921,375.0,-583.333,250.0,83.333 +_.wav=a CC5,3997,613,195,250,83 +_.wav=- CC5,315.656,192.339,4319.447,67.339,35.072 +_.wav=i CC5,595.959,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1089.786,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1595.538,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2090.067,375.0,-583.333,250.0,83.333 +_.wav=e CC5,2590.91,375.0,-583.333,250.0,83.333 +_.wav=i CC5,3093.153,375.0,-583.333,250.0,83.333 +_.wav=e CC5,3791.805,596.521,489.618,249.999,83.0 +_₢.wav=- CC5,258.136,197.951,4374.159,72.951,37.878 +_₢.wav=i CC5,577.722,375.0,-583.333,250.0,83.333 +_₢.wav=i CC5,1079.966,375.0,-583.333,250.0,83.333 +_₢.wav=u CC5,1569.584,375.0,-583.333,250.0,83.333 +_₢.wav=a CC5,2070.426,375.0,-583.333,250.0,83.333 +_₢.wav=e CC5,2510.942,375.0,-583.333,250.0,83.333 +_₢.wav=i CC5,3067.901,375.0,-583.333,250.0,83.333 +_悢.wav=- CC5,374.579,175.504,4316.668,50.504,30.892 +_悢.wav=e CC5,691.358,375.0,-583.333,250.0,83.333 +_悢.wav=e CC5,1225.869,375,-583,250,83 +_悢.wav=u CC5,1701.459,375,-583,250,83 +_悢.wav=o CC5,2182.659,375.0,-583.333,250.0,83.333 +_悢.wav=e CC5,2663.859,375.0,-583.333,250.0,83.333 +_悢.wav=o CC5,3178.731,375,-583,250,83 +_.wav=- CC5,228.675,157.267,4406.668,32.266,15.432 +_.wav=a CC5,542.648,375.0,-583.333,250.0,83.333 +_.wav=a CC5,1071.548,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1596.24,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2090.067,375.0,-583.333,250.0,83.333 +_.wav=u CC5,2604.937,375.0,-583.333,250.0,83.333 +_.wav=e CC5,3111.39,375.0,-583.333,250.0,83.333 +_.wav=- CC5,326.879,155.864,4342.593,30.864,15.432 +_.wav=i CC5,632.435,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1108.024,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1634.118,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2157.406,375.0,-583.333,250.0,83.333 +_.wav=e CC5,2669.471,375.0,-583.333,250.0,83.333 +_.wav=i CC5,3184.343,375.0,-583.333,250.0,83.333 +_키.wav=- CC5,321.972,177.608,4317.341,52.608,25.252 +_키.wav=i CC5,614.197,375.0,-583.333,250.0,83.333 +_키.wav=i CC5,1115.039,375.0,-583.333,250.0,83.333 +_키.wav=u CC5,1629.91,375.0,-583.333,250.0,83.333 +_키.wav=a CC5,2104.096,375.0,-583.333,250.0,83.333 +_키.wav=e CC5,2627.384,375.0,-583.333,250.0,83.333 +_키.wav=i CC5,3140.852,375.0,-583.333,250.0,83.333 +_.wav=- CC5,382.996,169.893,4271.045,44.893,19.64 +_.wav=u CC5,647.867,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1131.874,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1625.701,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1625.701,375,-583.333,250,83.333 +_.wav=o CC5,2122.334,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2693.321,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2693.321,375,-583.333,250,83.333 +_.wav=o CC5,3161.896,375.0,-583.333,250.0,83.333 +_.wav=i CC5,3869.787,553.612,349.326,259.0,83.0 +_.wav=- CC5,371.773,150.25,4310.327,25.25,9.82 +_.wav=u CC5,674.522,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1151.514,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1671.997,375.0,-583.333,250.0,83.333 +_.wav=o CC5,2167.227,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2662.457,375.0,-583.333,250.0,83.333 +_.wav=o CC5,3167.508,375.0,-583.333,250.0,83.333 +_.wav=- CC5,371.774,196.548,4207.913,71.548,42.087 +_.wav=e CC5,682.94,375.0,-583.333,250.0,83.333 +_.wav=e CC5,1195.707,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1708.473,375.0,-583.333,250.0,83.333 +_.wav=o CC5,2212.121,375.0,-583.333,250.0,83.333 +_.wav=e CC5,2725.589,375.0,-583.333,250.0,83.333 +_.wav=o CC5,3215.207,375.0,-583.333,250.0,83.333 +_.wav=- CC5,436.307,160.071,4224.748,35.071,8.417 +_.wav=e CC5,726.43,375.0,-583.333,250.0,83.333 +_.wav=e CC5,1249.719,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1763.187,375.0,-583.333,250.0,83.333 +_.wav=o CC5,2294.892,375.0,-583.333,250.0,83.333 +_.wav=e CC5,2822.39,375.0,-583.333,250.0,83.333 +_.wav=o CC5,3330.245,375.0,-583.333,250.0,83.333 +_키.wav=- CC5,408.249,204.963,4178.452,79.964,54.712 +_키.wav=o CC5,743.265,375.0,-583.333,250.0,83.333 +_키.wav=u CC5,1239.898,375.0,-583.333,250.0,83.333 +_키.wav=i CC5,1750.561,375.0,-583.333,250.0,83.333 +_키.wav=o CC5,2274,375,-583,250,83 +_키.wav=a CC5,2750.841,375.0,-583.333,250.0,83.333 +_키.wav=o CC5,3261.502,375.0,-583.333,250.0,83.333 +_񃔂.wav=- CC5,301.627,148.847,4359.429,23.847,9.82 +_񃔂.wav=o CC5,598.766,375.0,-583.333,250.0,83.333 +_񃔂.wav=u CC5,1098,375,-583,250,83 +_񃔂.wav=n CC5,1590.628,375.0,-583.333,250.0,83.333 +_񃔂.wav=a CC5,2085.859,375.0,-583.333,250.0,83.333 +_񃔂.wav=n CC5,2576.879,375.0,-583.333,250.0,83.333 +_.wav=- CC5,414.423,203.0,4197.001,78.0,41.525 +_.wav=e CC5,747.474,375.0,-583.333,250.0,83.333 +_.wav=e CC5,1193.601,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1622.895,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1622.895,375,-583.333,250,83.333 +_.wav=o CC5,2191.077,375.0,-583.333,250.0,83.333 +_.wav=e CC5,2703.142,375.0,-583.333,250.0,83.333 +_.wav=e CC5,2703.142,375,-583.333,250,83.333 +_.wav=o CC5,3218.013,375.0,-583.333,250.0,83.333 +_.wav=o CC5,3218.013,375,-583.333,250,83.333 +_.wav=o CC5,3939.113,524.972,391.414,250.0,83.0 +_񂠂.wav=- CC5,339.506,199.354,4298.0,74.354,42.087 +_񂠂.wav=- CC5,339.506,199.354,4298,74.354,42.087 +_񂠂.wav=o CC5,661.896,375.0,-583.333,250.0,83.333 +_񂠂.wav=u CC5,1070.145,375.0,-583.333,250.0,83.333 +_񂠂.wav=n CC5,1575.197,375.0,-583.333,250.0,83.333 +_񂠂.wav=a CC5,2102.692,375.0,-583.333,250.0,83.333 +_񂠂.wav=n CC5,2602.132,375.0,-583.333,250.0,83.333 +_񂠂.wav=n CC5,3072.109,375.0,-583.333,250.0,83.333 +_񂠂.wav=u CC5,3857.743,471.661,474.0,250.0,83.0 +_.wav=- CC5,378.087,148.148,4266.835,23.147,8.417 +_.wav=a CC5,652,375,-583,250,83 +_.wav=a CC5,1183.782,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1686,375,-583,250,83 +_.wav=a CC5,2193.883,375.0,-583.333,250.0,83.333 +_.wav=u CC5,2703.143,375,-583,250,83 +_.wav=e CC5,3189.955,375.0,-583.333,250.0,83.333 +_.wav=- CC5,371.773,148.847,4319.447,23.848,8.417 +_.wav=a CC5,646.464,375,-583,250,83 +_.wav=a CC5,1176.767,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1684.624,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2181.258,375.0,-583.333,250.0,83.333 +_.wav=u CC5,2683.5,375.0,-583.333,250.0,83.333 +_.wav=e CC5,3171,375,-583,250,83 +_カ傫傫.wav=- CC5,392.817,167.087,4226.855,42.087,22.446 +_カ傫傫.wav=e CC5,698.372,375.0,-583.333,250.0,83.333 +_カ傫傫.wav=e CC5,1202.02,375.0,-583.333,250.0,83.333 +_カ傫傫.wav=u CC5,1708.473,375.0,-583.333,250.0,83.333 +_カ傫傫.wav=o CC5,2212.12,375.0,-583.333,250.0,83.333 +_カ傫傫.wav=e CC5,2728.395,375.0,-583.333,250.0,83.333 +_カ傫傫.wav=o CC5,3237.654,375.0,-583.333,250.0,83.333 +_ガ催催.wav=- CC5,230.078,162.879,4405.726,37.879,19.64 +_ガ催催.wav=e CC5,525.813,375.0,-583.333,250.0,83.333 +_ガ催催.wav=e CC5,1026.655,375.0,-583.333,250.0,83.333 +_ガ催催.wav=u CC5,1545.735,375.0,-583.333,250.0,83.333 +_ガ催催.wav=o CC5,2040.965,375.0,-583.333,250.0,83.333 +_ガ催催.wav=e CC5,2543.209,375.0,-583.333,250.0,83.333 +_ガ催催.wav=o CC5,3055.274,375.0,-583.333,250.0,83.333 +_カႫ.wav=- CC5,287.598,169.892,4372.056,44.892,33.67 +_カႫ.wav=i CC5,584,375,-583,250,83 +_カႫ.wav=i CC5,1085.578,375.0,-583.333,250.0,83.333 +_カႫ.wav=u CC5,1582.21,375.0,-583.333,250.0,83.333 +_カႫ.wav=a CC5,2085.859,375.0,-583.333,250.0,83.333 +_カႫ.wav=e CC5,2604.937,375.0,-583.333,250.0,83.333 +_カႫ.wav=i CC5,3109.988,375.0,-583.333,250.0,83.333 +_ガႬ.wav=- CC5,312.85,164.281,4285.074,39.281,18.237 +_ガႬ.wav=i CC5,622.615,375,-583,250,83 +_ガႬ.wav=i CC5,1147.306,375.0,-583.333,250.0,83.333 +_ガႬ.wav=u CC5,1648.148,375.0,-583.333,250.0,83.333 +_ガႬ.wav=a CC5,2134.961,375.0,-583.333,250.0,83.333 +_ガႬ.wav=e CC5,2644.219,375.0,-583.333,250.0,83.333 +_ガႬ.wav=i CC5,3139.451,375.0,-583.333,250.0,83.333 +_.wav=- CC5,441.919,175.504,4193.184,50.504,33.67 +_.wav=i CC5,767.115,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1273.569,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1767,375,-583,250,83 +_.wav=a CC5,2269,375,-583,250,83 +_.wav=e CC5,2770.482,375.0,-583.333,250.0,83.333 +_.wav=i CC5,3269.922,375.0,-583.333,250.0,83.333 +_.wav=- CC5,397.025,169.893,4245.793,44.893,25.252 +_.wav=i CC5,709.595,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1211.84,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1733.726,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2234.567,375.0,-583.333,250.0,83.333 +_.wav=e CC5,2745.23,375.0,-583.333,250.0,83.333 +_.wav=i CC5,3239.057,375.0,-583.333,250.0,83.333 +_ႫႫႫカ.wav=- CC5,432,168,4198,43,29 +_ႫႫႫカ.wav=a CC5,750.281,375.0,-583.333,250.0,83.333 +_ႫႫႫカ.wav=a CC5,1279.18,375.0,-583.333,250.0,83.333 +_ႫႫႫカ.wav=i CC5,1788.439,375.0,-583.333,250.0,83.333 +_ႫႫႫカ.wav=a CC5,2292.087,375.0,-583.333,250.0,83.333 +_ႫႫႫカ.wav=u CC5,2791.527,375.0,-583.333,250.0,83.333 +_ႫႫႫカ.wav=e CC5,3290.965,375.0,-583.333,250.0,83.333 +_ႬႬႬガ.wav=- CC5,319.865,157.266,4262.065,32.266,15.433 +_ႬႬႬガ.wav=a CC5,600.168,375.0,-583.333,250.0,83.333 +_ႬႬႬガ.wav=a CC5,1103.815,375.0,-583.333,250.0,83.333 +_ႬႬႬガ.wav=i CC5,1608.866,375.0,-583.333,250.0,83.333 +_ႬႬႬガ.wav=a CC5,2095.679,375.0,-583.333,250.0,83.333 +_ႬႬႬガ.wav=u CC5,2593.714,375.0,-583.333,250.0,83.333 +_ႬႬႬガ.wav=e CC5,3080.528,375.0,-583.333,250.0,83.333 +_カカ傫Ⴋ傫.wav=- CC5,308.643,175.504,4257.015,50.504,28.058 +_カカ傫Ⴋ傫.wav=u CC5,631.031,375.0,-583.333,250.0,83.333 +_カカ傫Ⴋ傫.wav=u CC5,1113.636,375.0,-583.333,250.0,83.333 +_カカ傫Ⴋ傫.wav=i CC5,1622.895,375.0,-583.333,250.0,83.333 +_カカ傫Ⴋ傫.wav=o CC5,2122.334,375.0,-583.333,250.0,83.333 +_カカ傫Ⴋ傫.wav=a CC5,2611.952,375.0,-583.333,250.0,83.333 +_カカ傫Ⴋ傫.wav=o CC5,3131,375,-583,250,83 +_ガガ催Ⴌ催.wav=- CC5,419.472,151.653,4220.539,26.653,9.82 +_ガガ催Ⴌ催.wav=u CC5,696.968,375.0,-583.333,250.0,83.333 +_ガガ催Ⴌ催.wav=u CC5,1202.02,375.0,-583.333,250.0,83.333 +_ガガ催Ⴌ催.wav=i CC5,1714.085,375.0,-583.333,250.0,83.333 +_ガガ催Ⴌ催.wav=o CC5,2226.149,375.0,-583.333,250.0,83.333 +_ガガ催Ⴌ催.wav=a CC5,2728.395,375.0,-583.333,250.0,83.333 +_ガガ催Ⴌ催.wav=o CC5,3227.834,375.0,-583.333,250.0,83.333 +_傫񂫂񂫂.wav=- CC5,227,171,4406,46,27 +_傫񂫂񂫂.wav=o CC5,530.022,375.0,-583.333,250.0,83.333 +_傫񂫂񂫂.wav=u CC5,1007.014,375.0,-583.333,250.0,83.333 +_傫񂫂񂫂.wav=n CC5,1505.051,375.0,-583.333,250.0,83.333 +_傫񂫂񂫂.wav=a CC5,2025.533,375.0,-583.333,250.0,83.333 +_傫񂫂񂫂.wav=n CC5,2546.016,375.0,-583.333,250.0,83.333 +_催񂬂񂬂.wav=- CC5,331.088,154.46,4321.55,29.46,14.029 +_催񂬂񂬂.wav=o CC5,609.988,375.0,-583.333,250.0,83.333 +_催񂬂񂬂.wav=u CC5,1103.815,375.0,-583.333,250.0,83.333 +_催񂬂񂬂.wav=n CC5,1620.089,375.0,-583.333,250.0,83.333 +_催񂬂񂬂.wav=a CC5,2111.111,375.0,-583.333,250.0,83.333 +_催񂬂񂬂.wav=n CC5,2600.729,375.0,-583.333,250.0,83.333 +_.wav=- CC5,367.565,154.46,4237.375,29.46,14.029 +_.wav=a CC5,660.493,375.0,-583.333,250.0,83.333 +_.wav=a CC5,1200.617,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1714.085,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2226.15,375.0,-583.333,250.0,83.333 +_.wav=u CC5,2743.827,375.0,-583.333,250.0,83.333 +_.wav=e CC5,3246.072,375.0,-583.333,250.0,83.333 +_.wav=- CC5,326.879,140.432,4324.355,15.432,4.208 +_.wav=a CC5,598.765,375.0,-583.333,250.0,83.333 +_.wav=a CC5,1109.427,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1604.657,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2126.542,375.0,-583.333,250.0,83.333 +_.wav=u CC5,2632.995,375.0,-583.333,250.0,83.333 +_.wav=e CC5,3112.795,375.0,-583.333,250.0,83.333 +_.wav=- CC5,272.166,160.072,4391.696,35.072,21.043 +_.wav=i CC5,565.095,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1063.131,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1576.599,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2081.649,375.0,-583.333,250.0,83.333 +_.wav=e CC5,2593.714,375.0,-583.333,250.0,83.333 +_.wav=i CC5,3095.959,375.0,-583.333,250.0,83.333 +_.wav=- CC5,416.666,161.475,4261.225,36.475,23.849 +_.wav=i CC5,708.194,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1179.573,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1652.356,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2167.227,375.0,-583.333,250.0,83.333 +_.wav=e CC5,2662.457,375.0,-583.333,250.0,83.333 +_.wav=i CC5,3171.717,375.0,-583.333,250.0,83.333 +_.wav=- CC5,364.758,154.46,4278.059,29.46,9.819 +_.wav=e CC5,649.27,375.0,-583.333,250.0,83.333 +_.wav=e CC5,1153,375,-583,250,83 +_.wav=u CC5,1663.58,375.0,-583.333,250.0,83.333 +_.wav=o CC5,2156.004,375.0,-583.333,250.0,83.333 +_.wav=e CC5,2654.04,375.0,-583.333,250.0,83.333 +_.wav=o CC5,3159.09,375.0,-583.333,250.0,83.333 +_.wav=- CC5,262.347,162.878,4394.501,37.878,25.252 +_.wav=e CC5,573.512,375.0,-583.333,250.0,83.333 +_.wav=e CC5,1063.131,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1559.764,375.0,-583.333,250.0,83.333 +_.wav=o CC5,2064.813,375.0,-583.333,250.0,83.333 +_.wav=e CC5,2579.685,375.0,-583.333,250.0,83.333 +_.wav=o CC5,3124.017,375.0,-583.333,250.0,83.333 +_񂭂񂫂񂫂.wav=- CC5,444.725,154.461,4205.107,29.46,16.835 +_񂭂񂫂񂫂.wav=o CC5,741.863,375.0,-583.333,250.0,83.333 +_񂭂񂫂񂫂.wav=n CC5,1224.466,375.0,-583.333,250.0,83.333 +_񂭂񂫂񂫂.wav=a CC5,1735.129,375.0,-583.333,250.0,83.333 +_񂭂񂫂񂫂.wav=n CC5,2223.345,375.0,-583.333,250.0,83.333 +_񂭂񂫂񂫂.wav=e CC5,2729.797,375.0,-583.333,250.0,83.333 +_񂭂񂫂񂫂.wav=n CC5,3226.43,375.0,-583.333,250.0,83.333 +_񂮂񂬂񂬂.wav=- CC5,354.938,140.429,4301.909,15.429,4.208 +_񂮂񂬂񂬂.wav=o CC5,629.63,375.0,-583.333,250.0,83.333 +_񂮂񂬂񂬂.wav=n CC5,1113.636,375.0,-583.333,250.0,83.333 +_񂮂񂬂񂬂.wav=a CC5,1645.341,375.0,-583.333,250.0,83.333 +_񂮂񂬂񂬂.wav=n CC5,2130.751,375.0,-583.333,250.0,83.333 +_񂮂񂬂񂬂.wav=e CC5,2644.219,375.0,-583.333,250.0,83.333 +_񂮂񂬂񂬂.wav=n CC5,3153.479,375.0,-583.333,250.0,83.333 +_.wav=- CC5,253.929,160.072,4366.443,35.072,22.446 +_.wav=u CC5,562,375,-583,250,83 +_.wav=u CC5,1065.937,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1576.599,375,-583,250,83 +_.wav=o CC5,2071.83,375,-583,250,83 +_.wav=a CC5,2568.462,375,-583,250,83 +_.wav=o CC5,3087.542,375.0,-583.333,250.0,83.333 +_.wav=- CC5,260.942,143.237,4362.234,18.237,9.82 +_.wav=u CC5,548.26,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1039.281,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1556.958,375,-583,250,83 +_.wav=o CC5,2054.994,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2564.252,375.0,-583.333,250.0,83.333 +_.wav=o CC5,3073.511,375.0,-583.333,250.0,83.333 +_.wav=- CC5,311.448,157.266,4349.608,32.266,16.835 +_.wav=u CC5,602.974,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1095.399,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1593.434,375.0,-583.333,250.0,83.333 +_.wav=o CC5,2094.275,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2610.549,375.0,-583.333,250.0,83.333 +_.wav=o CC5,3150.673,375.0,-583.333,250.0,83.333 +_.wav=- CC5,228.675,151.654,4426.668,26.654,12.626 +_.wav=u CC5,514.59,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1001.402,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1505.051,375.0,-583.333,250.0,83.333 +_.wav=o CC5,2001.683,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2492.703,375.0,-583.333,250.0,83.333 +_.wav=o CC5,3015.993,375.0,-583.333,250.0,83.333 +_.wav=- CC5,375.982,143.236,4278.059,18.236,9.82 +_.wav=e CC5,666.105,375.0,-583.333,250.0,83.333 +_.wav=e CC5,1165.544,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1681.818,375,-583,250,83 +_.wav=o CC5,2182.659,375.0,-583.333,250.0,83.333 +_.wav=e CC5,2680.695,375.0,-583.333,250.0,83.333 +_.wav=o CC5,3170.314,375,-583,250,83 +_.wav=- CC5,352.132,154.46,4363.637,29.46,16.835 +_.wav=e CC5,626.823,375.0,-583.333,250.0,83.333 +_.wav=e CC5,1112.233,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1614.478,375.0,-583.333,250.0,83.333 +_.wav=o CC5,2109.708,375.0,-583.333,250.0,83.333 +_.wav=e CC5,2611.952,375.0,-583.333,250.0,83.333 +_.wav=o CC5,3124.017,375.0,-583.333,250.0,83.333 +_񂩂.wav=- CC5,435.156,178.999,4217.0,25.0,10.971 +_񂩂.wav=o CC5,732.042,375.0,-583.333,250.0,83.333 +_񂩂.wav=u CC5,1223.063,375.0,-583.333,250.0,83.333 +_񂩂.wav=n CC5,1712.682,375.0,-583.333,250.0,83.333 +_񂩂.wav=a CC5,2191.077,375.0,-583.333,250.0,83.333 +_񂩂.wav=n CC5,2721.379,375.0,-583.333,250.0,83.333 +_񂪂.wav=- CC5,408.249,144.64,4259.821,19.64,12.626 +_񂪂.wav=o CC5,695.565,375.0,-583.333,250.0,83.333 +_񂪂.wav=u CC5,1193.602,375.0,-583.333,250.0,83.333 +_񂪂.wav=n CC5,1681.818,375.0,-583.333,250.0,83.333 +_񂪂.wav=a CC5,2171.437,375.0,-583.333,250.0,83.333 +_񂪂.wav=n CC5,2672.278,375.0,-583.333,250.0,83.333 +_.wav=- CC5,171.156,276.514,4320.147,151.514,103.816 +_.wav=a CC5,593.153,375.0,-583.333,250.0,83.333 +_.wav=a CC5,1112.233,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1603.254,375,-583,250,83 +_.wav=a CC5,2119.528,375.0,-583.333,250.0,83.333 +_.wav=u CC5,2613.355,375.0,-583.333,250.0,83.333 +_.wav=e CC5,3129.629,375.0,-583.333,250.0,83.333 +_.wav=- CC5,214.646,202.159,4386.084,77.159,43.488 +_.wav=a CC5,563.692,375.0,-583.333,250.0,83.333 +_.wav=a CC5,1075.757,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1579.405,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2085.858,375.0,-583.333,250.0,83.333 +_.wav=u CC5,2579.685,375.0,-583.333,250.0,83.333 +_.wav=e CC5,3095.959,375,-583,250,83 +_サ債債.wav=- CC5,145.903,294.752,4393.1,169.752,127.665 +_サ債債.wav=e CC5,570.708,375.0,-583.333,250.0,83.333 +_サ債債.wav=e CC5,1070.146,375.0,-583.333,250.0,83.333 +_サ債債.wav=u CC5,1586.419,375.0,-583.333,250.0,83.333 +_サ債債.wav=o CC5,2073.232,375.0,-583.333,250.0,83.333 +_サ債債.wav=e CC5,2571.269,375.0,-583.333,250.0,83.333 +_サ債債.wav=o CC5,3091.75,375.0,-583.333,250.0,83.333 +_ザ傶傶.wav=- CC5,280.583,213.383,4339.788,88.383,56.116 +_ザ傶傶.wav=e CC5,626.823,375.0,-583.333,250.0,83.333 +_ザ傶傶.wav=e CC5,1166.947,375.0,-583.333,250.0,83.333 +_ザ傶傶.wav=u CC5,1684.624,375.0,-583.333,250.0,83.333 +_ザ傶傶.wav=o CC5,2178.452,375.0,-583.333,250.0,83.333 +_ザ傶傶.wav=e CC5,2669.471,375.0,-583.333,250.0,83.333 +_ザ傶傶.wav=o CC5,3159.091,375.0,-583.333,250.0,83.333 +_サႵ.wav=- CC5,242.802,268,4267,143,95 +_サႵ.wav=i CC5,646.464,375,-583,250,83 +_サႵ.wav=i CC5,1162.738,375.0,-583.333,250.0,83.333 +_サႵ.wav=u CC5,1666.386,375.0,-583.333,250.0,83.333 +_サႵ.wav=a CC5,2179.854,375.0,-583.333,250.0,83.333 +_サႵ.wav=e CC5,2682,375,-583,250,83 +_サႵ.wav=i CC5,3180.134,375.0,-583.333,250.0,83.333 +_ザႶ.wav=- CC5,425.084,178.312,4163.02,53.311,29.461 +_ザႶ.wav=i CC5,750.28,375.0,-583.333,250.0,83.333 +_ザႶ.wav=i CC5,1242.704,375.0,-583.333,250.0,83.333 +_ザႶ.wav=u CC5,1728.114,375.0,-583.333,250.0,83.333 +_ザႶ.wav=a CC5,2240.18,375.0,-583.333,250.0,83.333 +_ザႶ.wav=e CC5,2752.243,375.0,-583.333,250.0,83.333 +_ザႶ.wav=i CC5,3262.906,375.0,-583.333,250.0,83.333 +_ႵႵႵサ.wav=- CC5,140.291,296.155,4332.775,171.155,134.681 +_ႵႵႵサ.wav=a CC5,576.318,375.0,-583.333,250.0,83.333 +_ႵႵႵサ.wav=a CC5,1078.562,375,-583,250,83 +_ႵႵႵサ.wav=i CC5,1599.046,375.0,-583.333,250.0,83.333 +_ႵႵႵサ.wav=a CC5,2105.5,375.0,-583.333,250.0,83.333 +_ႵႵႵサ.wav=u CC5,2603.535,375.0,-583.333,250.0,83.333 +_ႵႵႵサ.wav=e CC5,3115.6,375.0,-583.333,250.0,83.333 +_ႶႶႶザ.wav=- CC5,338.103,186.727,4265.433,61.727,33.669 +_ႶႶႶザ.wav=a CC5,667.507,375.0,-583.333,250.0,83.333 +_ႶႶႶザ.wav=a CC5,1187.991,375.0,-583.333,250.0,83.333 +_ႶႶႶザ.wav=i CC5,1688.832,375.0,-583.333,250.0,83.333 +_ႶႶႶザ.wav=a CC5,2206.509,375.0,-583.333,250.0,83.333 +_ႶႶႶザ.wav=u CC5,2711.56,375.0,-583.333,250.0,83.333 +_ႶႶႶザ.wav=e CC5,3205.387,375.0,-583.333,250.0,83.333 +_ササ債Ⴕ債.wav=- CC5,332.491,275.112,4216.332,150.111,105.218 +_ササ債Ⴕ債.wav=u CC5,743.265,375.0,-583.333,250.0,83.333 +_ササ債Ⴕ債.wav=u CC5,1245.51,375,-583,250,83 +_ササ債Ⴕ債.wav=i CC5,1747.755,375.0,-583.333,250.0,83.333 +_ササ債Ⴕ債.wav=o CC5,2230.359,375.0,-583.333,250.0,83.333 +_ササ債Ⴕ債.wav=a CC5,2745.23,375.0,-583.333,250.0,83.333 +_ササ債Ⴕ債.wav=o CC5,3254.489,375.0,-583.333,250.0,83.333 +_ザザ傶Ⴖ傶.wav=- CC5,253.928,190.936,4359.429,65.935,47.699 +_ザザ傶Ⴖ傶.wav=u CC5,579.124,375.0,-583.333,250.0,83.333 +_ザザ傶Ⴖ傶.wav=u CC5,1079.966,375.0,-583.333,250.0,83.333 +_ザザ傶Ⴖ傶.wav=i CC5,1608.866,375.0,-583.333,250.0,83.333 +_ザザ傶Ⴖ傶.wav=o CC5,2120.93,375.0,-583.333,250.0,83.333 +_ザザ傶Ⴖ傶.wav=a CC5,2623.176,375.0,-583.333,250.0,83.333 +_ザザ傶Ⴖ傶.wav=o CC5,3141,375,-583,250,83 +_債񂵂񂵂.wav=- CC5,207.176,262.0,4323.001,166.0,122.509 +_債񂵂񂵂.wav=o CC5,638.047,375.0,-583.333,250.0,83.333 +_債񂵂񂵂.wav=u CC5,1154.32,375.0,-583.333,250.0,83.333 +_債񂵂񂵂.wav=n CC5,1662.178,375.0,-583.333,250.0,83.333 +_債񂵂񂵂.wav=a CC5,2168.629,375.0,-583.333,250.0,83.333 +_債񂵂񂵂.wav=n CC5,2658.249,375.0,-583.333,250.0,83.333 +_傶񂶂񂶂.wav=- CC5,391.414,182.518,4231.765,57.518,36.475 +_傶񂶂񂶂.wav=o CC5,734.848,375.0,-583.333,250.0,83.333 +_傶񂶂񂶂.wav=u CC5,1217.452,375.0,-583.333,250.0,83.333 +_傶񂶂񂶂.wav=n CC5,1730.919,375.0,-583.333,250.0,83.333 +_傶񂶂񂶂.wav=a CC5,2242.986,375.0,-583.333,250.0,83.333 +_傶񂶂񂶂.wav=n CC5,2743.827,375.0,-583.333,250.0,83.333 +_.wav=- CC5,311.449,237.231,4282.268,112.232,77.16 +_.wav=i CC5,681.537,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1183.783,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1693.041,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2199,375,-583,250,83 +_.wav=e CC5,2712.962,375.0,-583.333,250.0,83.333 +_.wav=i CC5,3218.013,375.0,-583.333,250.0,83.333 +_.wav=- CC5,329.685,176.906,4322.952,51.906,32.266 +_.wav=i CC5,638.047,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1137.485,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1629.91,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2133.557,375.0,-583.333,250.0,83.333 +_.wav=e CC5,2630.189,375.0,-583.333,250.0,83.333 +_.wav=i CC5,3149.27,375.0,-583.333,250.0,83.333 +_.wav=- CC5,353.535,245.649,4207.913,120.648,89.784 +_.wav=u CC5,747.474,375,-583,250,83 +_.wav=u CC5,1235.69,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1739.338,375.0,-583.333,250.0,83.333 +_.wav=o CC5,2223.344,375,-583,250,83 +_.wav=a CC5,2735.408,375,-583,250,83 +_.wav=o CC5,3243.265,375.0,-583.333,250.0,83.333 +_.wav=- CC5,368.967,214.787,4233.166,89.787,43.492 +_.wav=u CC5,713.804,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1216.049,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1705.667,375.0,-583.333,250.0,83.333 +_.wav=o CC5,2205.106,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2705.948,375.0,-583.333,250.0,83.333 +_.wav=o CC5,3201.179,375.0,-583.333,250.0,83.333 +_.wav=- CC5,112.233,280.723,4387.488,155.723,112.234 +_.wav=e CC5,523.007,375.0,-583.333,250.0,83.333 +_.wav=e CC5,1057.519,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1582.211,375.0,-583.333,250.0,83.333 +_.wav=o CC5,2085.859,375.0,-583.333,250.0,83.333 +_.wav=e CC5,2604.937,375.0,-583.333,250.0,83.333 +_.wav=o CC5,3113,375,-583,250,83 +_.wav=- CC5,166.947,213.382,4415.546,88.382,43.491 +_.wav=e CC5,524.41,375.0,-583.333,250.0,83.333 +_.wav=e CC5,1026.655,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1534.511,375.0,-583.333,250.0,83.333 +_.wav=o CC5,2042.368,375.0,-583.333,250.0,83.333 +_.wav=e CC5,2543.209,375.0,-583.333,250.0,83.333 +_.wav=o CC5,3055.274,375.0,-583.333,250.0,83.333 +_񂳂.wav=- CC5,251.123,263.888,4313.132,138.888,102.413 +_񂳂.wav=o CC5,685.746,375.0,-583.333,250.0,83.333 +_񂳂.wav=u CC5,1186.588,375.0,-583.333,250.0,83.333 +_񂳂.wav=n CC5,1646.745,375.0,-583.333,250.0,83.333 +_񂳂.wav=a CC5,2171.436,375.0,-583.333,250.0,83.333 +_񂳂.wav=n CC5,2635.801,375.0,-583.333,250.0,83.333 +_񂴂.wav=- CC5,238.496,237.233,4332.775,112.233,64.536 +_񂴂.wav=o CC5,624.017,375.0,-583.333,250.0,83.333 +_񂴂.wav=u CC5,1126.262,375.0,-583.333,250.0,83.333 +_񂴂.wav=n CC5,1593.434,375.0,-583.333,250.0,83.333 +_񂴂.wav=a CC5,2108.305,375.0,-583.333,250.0,83.333 +_񂴂.wav=n CC5,2632.996,375.0,-583.333,250.0,83.333 +_ĂƂĂ.wav=- CC5,277.778,140.43,4330.808,15.43,0.0 +_ĂƂĂ.wav=a CC5,546.858,459,3917,250,83 +_ĂƂĂ.wav=a ĂCC5,1047.699,375.0,-583.333,250.0,83.333 +_ĂƂĂ.wav=i CC5,1590.628,375,-583,250,83 +_ĂƂĂ.wav=a ƂCC5,2098.484,375.0,-583.333,250.0,83.333 +_ĂƂĂ.wav=u CC5,2610.549,375.0,-583.333,250.0,83.333 +_ĂƂĂ.wav=e CC5,3119.808,375.0,-583.333,250.0,83.333 +_łǂł.wav=- CC5,453.142,109.427,4158.249,12.625,4.208 +_łǂł.wav=a CC5,736.251,375.0,-583.333,250.0,83.333 +_łǂł.wav=a łCC5,1230.078,375.0,-583.333,250.0,83.333 +_łǂł.wav=i CC5,1739.337,375.0,-583.333,250.0,83.333 +_łǂł.wav=a ǂCC5,2262.626,375.0,-583.333,250.0,83.333 +_łǂł.wav=u CC5,2767,375,-583,250,83 +_łǂł.wav=e CC5,3267.115,375,-583,250,83 +_タ傿傿.wav=- CC5,375.982,200.756,4209.316,75.756,37.877 +_タ傿傿.wav=e CC5,705.387,375.0,-583.333,250.0,83.333 +_タ傿傿.wav=e CC5,1227.273,375.0,-583.333,250.0,83.333 +_タ傿傿.wav=u CC5,1721.099,375.0,-583.333,250.0,83.333 +_タ傿傿.wav=o CC5,2231.761,375.0,-583.333,250.0,83.333 +_タ傿傿.wav=e CC5,2722.783,375.0,-583.333,250.0,83.333 +_タ傿傿.wav=o CC5,3227.834,375.0,-583.333,250.0,83.333 +_タႿ.wav=- CC5,269.36,199.639,4344.001,74.639,50.639 +_タႿ.wav=i CC5,597.363,375.0,-583.333,250.0,83.333 +_タႿ.wav=i CC5,1108.024,375.0,-583.333,250.0,83.333 +_タႿ.wav=u CC5,1599.046,375.0,-583.333,250.0,83.333 +_タႿ.wav=a CC5,2115.319,375.0,-583.333,250.0,83.333 +_タႿ.wav=e CC5,2627.384,375.0,-583.333,250.0,83.333 +_タႿ.wav=i CC5,3147.867,375.0,-583.333,250.0,83.333 +_ႿႿႿタ.wav=- CC5,189.393,202.159,4416.668,77.159,44.893 +_ႿႿႿタ.wav=a CC5,541.246,375.0,-583.333,250.0,83.333 +_ႿႿႿタ.wav=a CC5,1047.699,375.0,-583.333,250.0,83.333 +_ႿႿႿタ.wav=i CC5,1554.152,375.0,-583.333,250.0,83.333 +_ႿႿႿタ.wav=a CC5,2078.842,375.0,-583.333,250.0,83.333 +_ႿႿႿタ.wav=u CC5,2588.103,375.0,-583.333,250.0,83.333 +_ႿႿႿタ.wav=e CC5,3087.542,375.0,-583.333,250.0,83.333 +_タタ傿Ⴟ傿.wav=- CC5,332.491,190.937,4261.225,65.937,30.865 +_タタ傿Ⴟ傿.wav=u CC5,663.299,375.0,-583.333,250.0,83.333 +_タタ傿Ⴟ傿.wav=u CC5,1134.68,375.0,-583.333,250.0,83.333 +_タタ傿Ⴟ傿.wav=i CC5,1652.356,375.0,-583.333,250.0,83.333 +_タタ傿Ⴟ傿.wav=o CC5,2170.033,375.0,-583.333,250.0,83.333 +_タタ傿Ⴟ傿.wav=a CC5,2680.696,375.0,-583.333,250.0,83.333 +_タタ傿Ⴟ傿.wav=o CC5,3208.192,375.0,-583.333,250.0,83.333 +_傿񂿂񂿂.wav=- CC5,218.855,206.367,4388.89,81.368,39.28 +_傿񂿂񂿂.wav=o CC5,562.289,375.0,-583.333,250.0,83.333 +_傿񂿂񂿂.wav=u CC5,1032.267,375.0,-583.333,250.0,83.333 +_傿񂿂񂿂.wav=n CC5,1547.138,375.0,-583.333,250.0,83.333 +_傿񂿂񂿂.wav=a CC5,2056.397,375.0,-583.333,250.0,83.333 +_傿񂿂񂿂.wav=n CC5,2565.656,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚CC5,291.806,185.323,4314.537,60.323,26.654 +_‚‚‚‚‚‚‚.wav=a ‚CC5,611.391,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚CC5,1144.5,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚CC5,1628.507,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a CC5,2136.363,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚CC5,2640.011,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚CC5,3124.017,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚CC5,331.088,199.351,4250.002,74.351,40.683 +_‚‚‚‚‚‚‚.wav=i ‚CC5,643.658,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i CC5,1149,375,-583,250,83 +_‚‚‚‚‚‚‚.wav=u ‚CC5,1649.551,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚CC5,2151.796,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚CC5,2670.875,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚CC5,3177.328,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚CC5,223.063,211.98,4384.682,86.98,60.326 +_‚‚‚‚‚‚‚.wav=e ‚CC5,569.304,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e CC5,1081.369,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚CC5,1593.434,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚CC5,2085.859,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚CC5,2611.952,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚CC5,3077.721,375.0,-583.333,250.0,83.333 +_‚‚‚.wav=- ‚CC5,326.879,185.325,4290.684,60.325,30.864 +_‚‚‚.wav=o CC5,650.673,375,-583,250,83 +_‚‚‚.wav=u CC5,1154.32,375.0,-583.333,250.0,83.333 +_‚‚‚.wav=n ‚CC5,1645.342,375.0,-583.333,250.0,83.333 +_‚‚‚.wav=a CC5,2171.436,375.0,-583.333,250.0,83.333 +_‚‚‚.wav=n CC5,2680.696,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- CC5,394.219,209.175,4202.302,84.175,61.727 +_‚‚‚‚‚‚‚.wav=u CC5,727.834,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚CC5,1221.661,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚CC5,1744.949,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚CC5,2240.18,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚CC5,2738.214,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚CC5,3253.086,375.0,-583.333,250.0,83.333 +_ĂĂƂĂĂ.wav=- ĂCC5,322.671,141.834,4325.758,16.834,5.611 +_ĂĂƂĂĂ.wav=i ĂCC5,601.571,375.0,-583.333,250.0,83.333 +_ĂĂƂĂĂ.wav=i ƂCC5,1117.845,375.0,-583.333,250.0,83.333 +_ĂĂƂĂĂ.wav=u CC5,1627.104,375.0,-583.333,250.0,83.333 +_ĂĂƂĂĂ.wav=a CC5,2157,375,-583,250,83 +_ĂĂƂĂĂ.wav=e ĂCC5,2676.486,375.0,-583.333,250.0,83.333 +_ĂĂƂĂĂ.wav=i CC5,3190,375,-583,250,83 +_łłǂłł.wav=- łCC5,277.777,140.43,4387.488,15.431,7.014 +_łłǂłł.wav=i łCC5,549.664,375.0,-583.333,250.0,83.333 +_łłǂłł.wav=i ǂCC5,1056.116,375.0,-583.333,250.0,83.333 +_łłǂłł.wav=u CC5,1565,375,-583,250,83 +_łłǂłł.wav=a CC5,2069.024,375.0,-583.333,250.0,83.333 +_łłǂłł.wav=e łCC5,2581.087,375.0,-583.333,250.0,83.333 +_łłǂłł.wav=i CC5,3088,375,-583,250,83 +_ĂĂƂƂĂƂ.wav=- CC5,458.754,141.028,4146.0,14.028,2.805 +_ĂĂƂƂĂƂ.wav=e CC5,745,375,-583,250,83 +_ĂĂƂƂĂƂ.wav=e ƂCC5,1239.898,375.0,-583.333,250.0,83.333 +_ĂĂƂƂĂƂ.wav=u CC5,1764.59,375,-583,250,83 +_ĂĂƂƂĂƂ.wav=o CC5,2267,375,-583,250,83 +_ĂĂƂƂĂƂ.wav=e CC5,2784.511,375.0,-583.333,250.0,83.333 +_ĂĂƂƂĂƂ.wav=o CC5,3302.188,375,-583,250,83 +_łłǂǂłǂ.wav=- CC5,418.069,139.028,4262.628,14.028,7.014 +_łłǂǂłǂ.wav=e CC5,697,375,-583,250,83 +_łłǂǂłǂ.wav=e ǂCC5,1185.186,375.0,-583.333,250.0,83.333 +_łłǂǂłǂ.wav=u CC5,1686.026,375.0,-583.333,250.0,83.333 +_łłǂǂłǂ.wav=o CC5,2193.883,375.0,-583.333,250.0,83.333 +_łłǂǂłǂ.wav=e CC5,2701.739,375.0,-583.333,250.0,83.333 +_łłǂǂłǂ.wav=o CC5,3226,375,-583,250,83 +_ĂウĂエĂĂ.wav=- ĂCC5,298.822,155.863,4349.608,30.863,19.64 +_ĂウĂエĂĂ.wav=u CC5,595.959,375.0,-583.333,250.0,83.333 +_ĂウĂエĂĂ.wav=e ĂCC5,1122.053,375.0,-583.333,250.0,83.333 +_ĂウĂエĂĂ.wav=u CC5,1578.002,375.0,-583.333,250.0,83.333 +_ĂウĂエĂĂ.wav=o ĂCC5,2112.515,375.0,-583.333,250.0,83.333 +_ĂウĂエĂĂ.wav=u CC5,2652.637,375.0,-583.333,250.0,83.333 +_ĂウĂエĂĂ.wav=n ĂCC5,3105.779,375.0,-583.333,250.0,83.333 +_łウłエłł.wav=- łCC5,455.948,140.432,4192.481,15.432,0.0 +_łウłエłł.wav=u CC5,726.43,375.0,-583.333,250.0,83.333 +_łウłエłł.wav=e łCC5,1221.661,375.0,-583.333,250.0,83.333 +_łウłエłł.wav=u CC5,1750.561,375.0,-583.333,250.0,83.333 +_łウłエłł.wav=o łCC5,2237.373,375.0,-583.333,250.0,83.333 +_łウłエłł.wav=u CC5,2767.676,375.0,-583.333,250.0,83.333 +_łウłエłł.wav=n łCC5,3201.178,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂ.wav=- ĂCC5,255.331,146.042,4395.905,21.042,8.417 +_ĂĂ゠ĂアĂ.wav=u ĂCC5,510.381,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂ.wav=u CC5,1026.655,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂ.wav=a ĂCC5,1556.958,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂ.wav=u CC5,2039.562,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂ.wav=i ĂCC5,2562.85,375.0,-583.333,250.0,83.333 +_łł゠łアł.wav=- łCC5,392.817,146.043,4301.909,21.043,9.82 +_łł゠łアł.wav=u łCC5,675.925,375.0,-583.333,250.0,83.333 +_łł゠łアł.wav=u CC5,1162.738,375.0,-583.333,250.0,83.333 +_łł゠łアł.wav=a łCC5,1667.79,375.0,-583.333,250.0,83.333 +_łł゠łアł.wav=u CC5,2168.629,375.0,-583.333,250.0,83.333 +_łł゠łアł.wav=i łCC5,2659.653,375.0,-583.333,250.0,83.333 +_ƂƂĂƂƂĂ.wav=- ƂCC5,380.191,146.043,4278.059,21.043,9.82 +_ƂƂĂƂƂĂ.wav=u ƂCC5,671.717,375.0,-583.333,250.0,83.333 +_ƂƂĂƂƂĂ.wav=u ĂCC5,1159.932,375.0,-583.333,250.0,83.333 +_ƂƂĂƂƂĂ.wav=i CC5,1676.206,375.0,-583.333,250.0,83.333 +_ƂƂĂƂƂĂ.wav=o CC5,2199.494,375.0,-583.333,250.0,83.333 +_ƂƂĂƂƂĂ.wav=a CC5,2715.767,375.0,-583.333,250.0,83.333 +_ƂƂĂƂƂĂ.wav=o ĂCC5,3223.625,375.0,-583.333,250.0,83.333 +_ǂǂłǂǂł.wav=- ǂCC5,374.579,143.235,4336.668,18.236,2.805 +_ǂǂłǂǂł.wav=u ǂCC5,639.45,375.0,-583.333,250.0,83.333 +_ǂǂłǂǂł.wav=u łCC5,1129.069,375.0,-583.333,250.0,83.333 +_ǂǂłǂǂł.wav=i CC5,1642.536,375.0,-583.333,250.0,83.333 +_ǂǂłǂǂł.wav=o CC5,2160.212,375.0,-583.333,250.0,83.333 +_ǂǂłǂǂł.wav=a CC5,2661.055,375.0,-583.333,250.0,83.333 +_ǂǂłǂǂł.wav=o łCC5,3175.924,375.0,-583.333,250.0,83.333 +_ƂƂ񂽂Ƃ.wav=- CC5,311.447,137.626,4377.667,12.626,1.402 +_ƂƂ񂽂Ƃ.wav=o ƂCC5,602.974,375.0,-583.333,250.0,83.333 +_ƂƂ񂽂Ƃ.wav=u CC5,1101.01,375.0,-583.333,250.0,83.333 +_ƂƂ񂽂Ƃ.wav=n CC5,1572.39,375.0,-583.333,250.0,83.333 +_ƂƂ񂽂Ƃ.wav=a CC5,2112.515,375.0,-583.333,250.0,83.333 +_ƂƂ񂽂Ƃ.wav=n ƂCC5,2586.7,375.0,-583.333,250.0,83.333 +_ǂǂ񂾂ǂ.wav=- CC5,272.166,136.222,4416.668,11.222,0.0 +_ǂǂ񂾂ǂ.wav=o ǂCC5,559.483,375.0,-583.333,250.0,83.333 +_ǂǂ񂾂ǂ.wav=u CC5,1077.16,375.0,-583.333,250.0,83.333 +_ǂǂ񂾂ǂ.wav=n CC5,1568,375,-583,250,83 +_ǂǂ񂾂ǂ.wav=a CC5,2083.052,375.0,-583.333,250.0,83.333 +_ǂǂ񂾂ǂ.wav=n ǂCC5,2575.477,375.0,-583.333,250.0,83.333 +_ȂȂɂȂʂ˂.wav=- CC5,402.637,186.726,4271.045,61.727,28.057 +_ȂȂɂȂʂ˂.wav=a CC5,709.594,375,-583,250,83 +_ȂȂɂȂʂ˂.wav=a CC5,1209.033,375.0,-583.333,250.0,83.333 +_ȂȂɂȂʂ˂.wav=i CC5,1708,375,-583,250,83 +_ȂȂɂȂʂ˂.wav=a CC5,2219.135,375.0,-583.333,250.0,83.333 +_ȂȂɂȂʂ˂.wav=u CC5,2703.142,375.0,-583.333,250.0,83.333 +_ȂȂɂȂʂ˂.wav=e CC5,3212.401,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂCC5,325.479,188.129,4287.881,63.129,33.67 +_ɂɂɂɂɂɂɂ.wav=e ɂCC5,653.479,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂCC5,1164.14,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂCC5,1671.997,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂCC5,2165.823,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂCC5,2666.665,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂCC5,3175.924,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- CC5,415.264,178.31,4206.51,53.31,30.864 +_ɂɂɂɂɂɂɂ.wav=i CC5,725.028,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂCC5,1214.646,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂCC5,1723.905,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂCC5,2226.149,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e CC5,2741.02,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂCC5,3268.519,375.0,-583.333,250.0,83.333 +_ɂɂʂȂ˂ɂ.wav=- CC5,210.437,178.311,4416.668,53.31,23.849 +_ɂɂʂȂ˂ɂ.wav=i CC5,541.245,375.0,-583.333,250.0,83.333 +_ɂɂʂȂ˂ɂ.wav=i CC5,1040.685,375.0,-583.333,250.0,83.333 +_ɂɂʂȂ˂ɂ.wav=u CC5,1524.691,375,-583,250,83 +_ɂɂʂȂ˂ɂ.wav=a CC5,2026.937,375.0,-583.333,250.0,83.333 +_ɂɂʂȂ˂ɂ.wav=e CC5,2548.821,375.0,-583.333,250.0,83.333 +_ɂɂʂȂ˂ɂ.wav=i CC5,3051.066,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂCC5,349.328,197.951,4245.792,72.951,42.087 +_ɂɂɂɂɂɂɂ.wav=a ɂCC5,668.911,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a CC5,1173.961,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂCC5,1687.428,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂCC5,2213.524,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂCC5,2696.127,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂCC5,3206.79,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂ.wav=- ɂCC5,279.181,171.295,4373.459,46.295,32.267 +_ɂɂɂɂɂɂ.wav=u ɂCC5,565.096,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂ.wav=u CC5,1068.742,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂ.wav=i ɂCC5,1572.389,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂ.wav=o ɂCC5,2088.664,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂ.wav=a ɂCC5,2592.312,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂ.wav=o CC5,3109.988,375,-583,250,83 +_ɂɂɂɂ.wav=- ɂCC5,343.717,174.101,4252.807,49.101,30.864 +_ɂɂɂɂ.wav=o ɂCC5,668.911,375.0,-583.333,250.0,83.333 +_ɂɂɂɂ.wav=u CC5,1178.17,375.0,-583.333,250.0,83.333 +_ɂɂɂɂ.wav=n ɂCC5,1657.968,375.0,-583.333,250.0,83.333 +_ɂɂɂɂ.wav=a CC5,2171.436,375.0,-583.333,250.0,83.333 +_ɂɂɂɂ.wav=n ɂCC5,2668.069,375.0,-583.333,250.0,83.333 +_ʂʂɂ̂Ȃ̂.wav=- CC5,262.345,171.295,4366.443,46.295,22.446 +_ʂʂɂ̂Ȃ̂.wav=u CC5,600.168,375.0,-583.333,250.0,83.333 +_ʂʂɂ̂Ȃ̂.wav=u CC5,1084.176,375.0,-583.333,250.0,83.333 +_ʂʂɂ̂Ȃ̂.wav=i CC5,1599.046,375.0,-583.333,250.0,83.333 +_ʂʂɂ̂Ȃ̂.wav=o CC5,2100,375,-583,250,83 +_ʂʂɂ̂Ȃ̂.wav=a CC5,2613.355,375.0,-583.333,250.0,83.333 +_ʂʂɂ̂Ȃ̂.wav=o CC5,3117.003,375.0,-583.333,250.0,83.333 +_˂˂ʂ̂˂̂.wav=- CC5,335.297,176.906,4313.132,51.906,22.446 +_˂˂ʂ̂˂̂.wav=e CC5,664.702,375.0,-583.333,250.0,83.333 +_˂˂ʂ̂˂̂.wav=e CC5,1159.932,375.0,-583.333,250.0,83.333 +_˂˂ʂ̂˂̂.wav=u CC5,1661,375,-583,250,83 +_˂˂ʂ̂˂̂.wav=o CC5,2171,375,-583,250,83 +_˂˂ʂ̂˂̂.wav=e CC5,2673.681,375,-583,250,83 +_˂˂ʂ̂˂̂.wav=o CC5,3184,375,-583,250,83 +_̂ʂȂ.wav=- CC5,406.846,186.727,4219.138,61.727,28.058 +_̂ʂȂ.wav=o CC5,751.683,375.0,-583.333,250.0,83.333 +_̂ʂȂ.wav=u CC5,1248.316,375.0,-583.333,250.0,83.333 +_̂ʂȂ.wav=n CC5,1702.861,375,-583,250,83 +_̂ʂȂ.wav=a CC5,2251.401,375.0,-583.333,250.0,83.333 +_̂ʂȂ.wav=n CC5,2734.006,375.0,-583.333,250.0,83.333 +_͂͂Ђ͂ӂւ.wav=- CC5,301.627,192.339,4348.207,67.339,30.865 +_͂͂Ђ͂ӂւ.wav=a CC5,619.809,375,-583,250,83 +_͂͂Ђ͂ӂւ.wav=a CC5,1157.126,375.0,-583.333,250.0,83.333 +_͂͂Ђ͂ӂւ.wav=i CC5,1638.327,375.0,-583.333,250.0,83.333 +_͂͂Ђ͂ӂւ.wav=a CC5,2127.947,375,-583,250,83 +_͂͂Ђ͂ӂւ.wav=u CC5,2647.024,375.0,-583.333,250.0,83.333 +_͂͂Ђ͂ӂւ.wav=e CC5,3118.406,375.0,-583.333,250.0,83.333 +_΂΂т΂Ԃׂ.wav=- CC5,368.967,144.639,4304.716,19.639,8.417 +_΂΂т΂Ԃׂ.wav=a CC5,652.075,375,-583,250,83 +_΂΂т΂Ԃׂ.wav=a CC5,1138.889,375.0,-583.333,250.0,83.333 +_΂΂т΂Ԃׂ.wav=i CC5,1632.716,375.0,-583.333,250.0,83.333 +_΂΂т΂Ԃׂ.wav=a CC5,2141.975,375.0,-583.333,250.0,83.333 +_΂΂т΂Ԃׂ.wav=u CC5,2651.234,375.0,-583.333,250.0,83.333 +_΂΂т΂Ԃׂ.wav=e CC5,3138,375,-583,250,83 +_ςς҂ςՂ؂.wav=- CC5,291.808,143.237,4387.487,18.237,7.014 +_ςς҂ςՂ؂.wav=a CC5,562.289,375.0,-583.333,250.0,83.333 +_ςς҂ςՂ؂.wav=a CC5,1057.519,375.0,-583.333,250.0,83.333 +_ςς҂ςՂ؂.wav=i CC5,1558.361,375.0,-583.333,250.0,83.333 +_ςς҂ςՂ؂.wav=a CC5,2077.44,375.0,-583.333,250.0,83.333 +_ςς҂ςՂ؂.wav=u CC5,2593.714,375.0,-583.333,250.0,83.333 +_ςς҂ςՂ؂.wav=e CC5,3083.333,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂCC5,314.253,262.483,4210.72,137.483,108.022 +_ЂЂЂЂЂЂЂ.wav=e ЂCC5,723.625,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂCC5,1210.437,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂCC5,1716.891,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂCC5,2242.985,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂCC5,2741.02,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂCC5,3267.116,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тCC5,289.001,144.639,4367.847,19.639,12.626 +_ттттттт.wav=e тCC5,560.886,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тCC5,1050.504,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тCC5,1548.54,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тCC5,2045.173,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тCC5,2558.64,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тCC5,3052.47,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂CC5,460.157,141.834,4189.675,16.834,5.611 +_҂҂҂҂҂҂҂.wav=e ҂CC5,716.61,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂CC5,1213.243,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂CC5,1716.89,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂CC5,2210.718,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂CC5,2714.365,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂CC5,3202.582,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- CC5,290.404,186.727,4314.535,61.727,35.072 +_ЂЂЂЂЂЂЂ.wav=i CC5,602.973,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂCC5,1119.248,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂCC5,1628.507,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂCC5,2144.781,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e CC5,2637.205,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂCC5,3159.09,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- CC5,382.996,141.835,4299.102,16.834,5.611 +_ттттттт.wav=i CC5,639.449,375,-583,250,83 +_ттттттт.wav=i тCC5,1141.695,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тCC5,1642.536,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тCC5,2129.349,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e CC5,2642.817,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тCC5,3149.27,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- CC5,311.447,110.969,4332.775,8.417,1.404 +_҂҂҂҂҂҂҂.wav=i CC5,563.692,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂CC5,1053.31,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂CC5,1569.584,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂CC5,2067.621,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e CC5,2579.685,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂CC5,3093.153,375.0,-583.333,250.0,83.333 +_ЂЂӂ͂ւЂ.wav=- CC5,366.161,176.907,4292.088,51.907,32.266 +_ЂЂӂ͂ւЂ.wav=i CC5,689.955,375.0,-583.333,250.0,83.333 +_ЂЂӂ͂ւЂ.wav=i CC5,1176.767,375,-583,250,83 +_ЂЂӂ͂ւЂ.wav=u CC5,1679.013,375.0,-583.333,250.0,83.333 +_ЂЂӂ͂ւЂ.wav=a CC5,2202.301,375.0,-583.333,250.0,83.333 +_ЂЂӂ͂ւЂ.wav=e CC5,2675.084,375.0,-583.333,250.0,83.333 +_ЂЂӂ͂ւЂ.wav=i CC5,3208.193,375.0,-583.333,250.0,83.333 +_ттԂ΂ׂт.wav=- CC5,422.278,137.625,4255.614,12.624,0.0 +_ттԂ΂ׂт.wav=i CC5,706.79,375.0,-583.333,250.0,83.333 +_ттԂ΂ׂт.wav=i CC5,1203.423,375.0,-583.333,250.0,83.333 +_ттԂ΂ׂт.wav=u CC5,1701.459,375.0,-583.333,250.0,83.333 +_ттԂ΂ׂт.wav=a CC5,2216.33,375.0,-583.333,250.0,83.333 +_ттԂ΂ׂт.wav=e CC5,2729.797,375.0,-583.333,250.0,83.333 +_ттԂ΂ׂт.wav=i CC5,3250.279,375.0,-583.333,250.0,83.333 +_҂҂Ղς؂҂.wav=- CC5,402.638,139.028,4272.448,14.028,5.611 +_҂҂Ղς؂҂.wav=i CC5,652.075,375.0,-583.333,250.0,83.333 +_҂҂Ղς؂҂.wav=i CC5,1152.918,375.0,-583.333,250.0,83.333 +_҂҂Ղς؂҂.wav=u CC5,1645.342,375.0,-583.333,250.0,83.333 +_҂҂Ղς؂҂.wav=a CC5,2146.183,375.0,-583.333,250.0,83.333 +_҂҂Ղς؂҂.wav=e CC5,2648.428,375.0,-583.333,250.0,83.333 +_҂҂Ղς؂҂.wav=i CC5,3171.717,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂCC5,157.126,235.83,4411.338,110.83,79.966 +_ЂЂЂЂЂЂЂ.wav=a ЂCC5,534.231,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a CC5,1040.685,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂCC5,1566.778,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂCC5,2074.634,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂCC5,2579.685,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂCC5,3074.915,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тCC5,296.015,134.82,4339.788,9.82,7.014 +_ттттттт.wav=a тCC5,563.692,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a CC5,1074.354,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тCC5,1575.196,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тCC5,2076.038,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тCC5,2590.0,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тCC5,3073.512,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂CC5,259.54,137.626,4416.668,12.626,4.208 +_҂҂҂҂҂҂҂.wav=a ҂CC5,525.814,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a CC5,1029.461,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂CC5,1528.9,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂CC5,2047.979,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂CC5,2568.462,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂CC5,3066.497,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂ.wav=- ЂCC5,305.836,238.634,4276.655,113.634,89.786 +_ЂЂЂЂЂЂ.wav=u ЂCC5,684.343,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂ.wav=u CC5,1176.767,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂ.wav=i ЂCC5,1686.026,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂ.wav=o ЂCC5,2196.69,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂ.wav=a ЂCC5,2711.56,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂ.wav=o CC5,3212.401,375.0,-583.333,250.0,83.333 +_тттттт.wav=- тCC5,465.768,136.223,4223.344,11.223,4.208 +_тттттт.wav=u тCC5,748.877,375.0,-583.333,250.0,83.333 +_тттттт.wav=u CC5,1251.122,375.0,-583.333,250.0,83.333 +_тттттт.wav=i тCC5,1725.308,375.0,-583.333,250.0,83.333 +_тттттт.wav=o тCC5,2216.328,375.0,-583.333,250.0,83.333 +_тттттт.wav=a тCC5,2735.408,375.0,-583.333,250.0,83.333 +_тттттт.wav=o CC5,3255.892,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂.wav=- ҂CC5,382.996,141.835,4265.434,16.834,5.613 +_҂҂҂҂҂҂.wav=u ҂CC5,633.838,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂.wav=u CC5,1122.053,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂.wav=i ҂CC5,1629.91,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂.wav=o ҂CC5,2137.765,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂.wav=a ҂CC5,2652.636,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂.wav=o CC5,3147.866,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ.wav=- ЂCC5,186.589,244.247,4351.011,119.247,77.16 +_ЂЂЂЂ.wav=o ЂCC5,563.692,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ.wav=u CC5,1071.548,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ.wav=n ЂCC5,1552.749,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ.wav=a CC5,2050.785,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ.wav=n ЂCC5,2572.671,375.0,-583.333,250.0,83.333 +_тттт.wav=- тCC5,346.52,139.028,4308.925,14.028,0.0 +_тттт.wav=o тCC5,614.197,375.0,-583.333,250.0,83.333 +_тттт.wav=u CC5,1110.83,375.0,-583.333,250.0,83.333 +_тттт.wav=n тCC5,1601.851,375.0,-583.333,250.0,83.333 +_тттт.wav=a CC5,2123.736,375.0,-583.333,250.0,83.333 +_тттт.wav=n тCC5,2604.938,375.0,-583.333,250.0,83.333 +_҂҂҂҂.wav=- ҂CC5,279.181,134.819,4391.696,9.819,0.0 +_҂҂҂҂.wav=o ҂CC5,528.619,375.0,-583.333,250.0,83.333 +_҂҂҂҂.wav=u CC5,1036.474,375.0,-583.333,250.0,83.333 +_҂҂҂҂.wav=n ҂CC5,1499.438,375.0,-583.333,250.0,83.333 +_҂҂҂҂.wav=a CC5,2036.756,375.0,-583.333,250.0,83.333 +_҂҂҂҂.wav=n ҂CC5,2527.778,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂCC5,274.971,255.471,4220.541,130.471,102.414 +_ӂӂӂӂӂӂӂ.wav=a ӂCC5,663.299,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂCC5,1179.573,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂCC5,1712.682,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a CC5,2203.703,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂCC5,2724.186,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂCC5,3230.64,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂCC5,89.786,242.844,4398.711,117.844,89.785 +_ӂӂӂӂӂӂӂ.wav=i ӂCC5,469.695,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i CC5,964.926,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂCC5,1499.437,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂCC5,2014.309,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂCC5,2530.583,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂCC5,3045.454,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂCC5,276.374,230.216,4289.282,105.217,71.546 +_ӂӂӂӂӂӂӂ.wav=e ӂCC5,653.478,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e CC5,1147.306,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂCC5,1667.79,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂCC5,2165.824,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂCC5,2670.875,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂCC5,3168.911,375.0,-583.333,250.0,83.333 +_ӂӂЂЂ.wav=- ӂCC5,318.462,255.469,4242.987,130.469,110.829 +_ӂӂЂЂ.wav=o CC5,698.372,375.0,-583.333,250.0,83.333 +_ӂӂЂЂ.wav=n ӂCC5,1203.423,375.0,-583.333,250.0,83.333 +_ӂӂЂЂ.wav=a CC5,1698.653,375.0,-583.333,250.0,83.333 +_ӂӂЂЂ.wav=n ЂCC5,2192.481,375.0,-583.333,250.0,83.333 +_ӂӂЂЂ.wav=e CC5,2710.157,375.0,-583.333,250.0,83.333 +_ӂӂЂЂ.wav=n ЂCC5,3192.76,375.0,-583.333,250.0,83.333 +_ӂӂЂق͂ق.wav=- CC5,447.53,167.088,4200.9,42.087,19.64 +_ӂӂЂق͂ق.wav=u CC5,765.712,375.0,-583.333,250.0,83.333 +_ӂӂЂق͂ق.wav=u CC5,1263.748,375.0,-583.333,250.0,83.333 +_ӂӂЂق͂ق.wav=i CC5,1747.755,375,-583,250,83 +_ӂӂЂق͂ق.wav=o CC5,2250.0,375,-583,250,83 +_ӂӂЂق͂ق.wav=a CC5,2746.632,375.0,-583.333,250.0,83.333 +_ӂӂЂق͂ق.wav=o CC5,3269.922,375.0,-583.333,250.0,83.333 +_ԂԂтڂ΂ڂ.wav=- CC5,293.209,136.222,4416.668,11.222,1.402 +_ԂԂтڂ΂ڂ.wav=u CC5,559.483,375.0,-583.333,250.0,83.333 +_ԂԂтڂ΂ڂ.wav=u CC5,1049.102,375.0,-583.333,250.0,83.333 +_ԂԂтڂ΂ڂ.wav=i CC5,1561.167,375.0,-583.333,250.0,83.333 +_ԂԂтڂ΂ڂ.wav=o CC5,2062,400,-583,250,83 +_ԂԂтڂ΂ڂ.wav=a CC5,2575.477,375.0,-583.333,250.0,83.333 +_ԂԂтڂ΂ڂ.wav=o CC5,3072.109,375.0,-583.333,250.0,83.333 +_ՂՂ҂ۂςۂ.wav=- CC5,419.472,136.221,4244.389,11.222,2.805 +_ՂՂ҂ۂςۂ.wav=u CC5,677.328,375.0,-583.333,250.0,83.333 +_ՂՂ҂ۂςۂ.wav=u CC5,1161.335,375.0,-583.333,250.0,83.333 +_ՂՂ҂ۂςۂ.wav=i CC5,1687.429,375.0,-583.333,250.0,83.333 +_ՂՂ҂ۂςۂ.wav=o CC5,2189.674,375.0,-583.333,250.0,83.333 +_ՂՂ҂ۂςۂ.wav=a CC5,2693.322,375.0,-583.333,250.0,83.333 +_ՂՂ҂ۂςۂ.wav=o CC5,3201.179,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- CC5,258.138,188.13,4365.04,63.13,40.684 +_ӂӂӂӂӂӂӂ.wav=u CC5,567.901,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂCC5,1065.937,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂCC5,1590.629,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂCC5,2088.665,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂCC5,2603.535,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂCC5,3097.363,375.0,-583.333,250.0,83.333 +_ււӂقւق.wav=- CC5,267.957,178.31,4376.263,53.31,25.252 +_ււӂقւق.wav=e CC5,583.333,375.0,-583.333,250.0,83.333 +_ււӂقւق.wav=e CC5,1079.966,375.0,-583.333,250.0,83.333 +_ււӂقւق.wav=u CC5,1570.987,375,-583,250,83 +_ււӂقւق.wav=o CC5,2081.649,375.0,-583.333,250.0,83.333 +_ււӂقւق.wav=e CC5,2593.714,375.0,-583.333,250.0,83.333 +_ււӂقւق.wav=o CC5,3101.571,375.0,-583.333,250.0,83.333 +_ׂׂԂڂׂڂ.wav=- CC5,335.297,141.834,4345.4,16.834,9.82 +_ׂׂԂڂׂڂ.wav=e CC5,607.182,375.0,-583.333,250.0,83.333 +_ׂׂԂڂׂڂ.wav=e CC5,1101.01,375.0,-583.333,250.0,83.333 +_ׂׂԂڂׂڂ.wav=u CC5,1600,375,-583,250,83 +_ׂׂԂڂׂڂ.wav=o CC5,2104.096,375.0,-583.333,250.0,83.333 +_ׂׂԂڂׂڂ.wav=e CC5,2620.37,375.0,-583.333,250.0,83.333 +_ׂׂԂڂׂڂ.wav=o CC5,3129.629,375.0,-583.333,250.0,83.333 +_؂؂Ղۂ؂ۂ.wav=- CC5,235.693,143.235,4416.668,18.235,8.417 +_؂؂Ղۂ؂ۂ.wav=e CC5,508.978,375.0,-583.333,250.0,83.333 +_؂؂Ղۂ؂ۂ.wav=e CC5,1009.819,375.0,-583.333,250.0,83.333 +_؂؂Ղۂ؂ۂ.wav=u CC5,1526.094,375.0,-583.333,250.0,83.333 +_؂؂Ղۂ؂ۂ.wav=o CC5,2017.116,375.0,-583.333,250.0,83.333 +_؂؂Ղۂ؂ۂ.wav=e CC5,2522.167,375.0,-583.333,250.0,83.333 +_؂؂Ղۂ؂ۂ.wav=o CC5,2999.158,375.0,-583.333,250.0,83.333 +_قӂ͂.wav=- CC5,324.077,175.503,4285.074,50.503,28.058 +_قӂ͂.wav=o CC5,645.061,375.0,-583.333,250.0,83.333 +_قӂ͂.wav=u CC5,1133.277,375.0,-583.333,250.0,83.333 +_قӂ͂.wav=n CC5,1666.386,375.0,-583.333,250.0,83.333 +_قӂ͂.wav=a CC5,2179.854,375.0,-583.333,250.0,83.333 +_قӂ͂.wav=n CC5,2647.025,375.0,-583.333,250.0,83.333 +_ڂԂ΂.wav=- CC5,429.292,137.626,4280.865,12.625,5.611 +_ڂԂ΂.wav=o CC5,689.955,375.0,-583.333,250.0,83.333 +_ڂԂ΂.wav=u CC5,1175.364,375.0,-583.333,250.0,83.333 +_ڂԂ΂.wav=n CC5,1677.61,375.0,-583.333,250.0,83.333 +_ڂԂ΂.wav=a CC5,2189.674,375.0,-583.333,250.0,83.333 +_ڂԂ΂.wav=n CC5,2698.933,375.0,-583.333,250.0,83.333 +_ۂՂς.wav=- CC5,340.909,137.625,4343.997,12.625,1.403 +_ۂՂς.wav=o CC5,601.571,375.0,-583.333,250.0,83.333 +_ۂՂς.wav=u CC5,1110.83,375.0,-583.333,250.0,83.333 +_ۂՂς.wav=n CC5,1596.24,375.0,-583.333,250.0,83.333 +_ۂՂς.wav=a CC5,2136.363,375.0,-583.333,250.0,83.333 +_ۂՂς.wav=n CC5,2618.966,375.0,-583.333,250.0,83.333 +_܂܂݂܂ނ߂.wav=- CC5,172.558,240.439,4388.0,68.439,20.438 +_܂܂݂܂ނ߂.wav=a CC5,503.367,375.0,-583.333,250.0,83.333 +_܂܂݂܂ނ߂.wav=a CC5,1005.611,375.0,-583.333,250.0,83.333 +_܂܂݂܂ނ߂.wav=i CC5,1506.454,375.0,-583.333,250.0,83.333 +_܂܂݂܂ނ߂.wav=a CC5,2010.101,375.0,-583.333,250.0,83.333 +_܂܂݂܂ނ߂.wav=u CC5,2505.331,375,-583,250,83 +_܂܂݂܂ނ߂.wav=e CC5,3006.173,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂CC5,290.404,197.948,4342.593,72.949,33.67 +_݂݂݂݂݂݂݂.wav=e ݂CC5,617.003,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂CC5,1115.039,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂CC5,1597.643,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂CC5,2091.469,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂CC5,2576.879,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂CC5,3080.527,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- CC5,374.579,182.519,4240.181,57.519,33.67 +_݂݂݂݂݂݂݂.wav=i CC5,671.718,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂CC5,1192.199,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂CC5,1700.055,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂CC5,2212.12,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e CC5,2721.379,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂CC5,3215.207,375.0,-583.333,250.0,83.333 +_݂݂ނ܂߂݂.wav=- CC5,314.253,168.489,4351.012,43.49,18.239 +_݂݂ނ܂߂݂.wav=i CC5,615.6,375.0,-583.333,250.0,83.333 +_݂݂ނ܂߂݂.wav=i CC5,1110.83,375.0,-583.333,250.0,83.333 +_݂݂ނ܂߂݂.wav=u CC5,1594.837,375,-583,250,83 +_݂݂ނ܂߂݂.wav=a CC5,2101.29,375,-583,250,83 +_݂݂ނ܂߂݂.wav=e CC5,2617.564,375.0,-583.333,250.0,83.333 +_݂݂ނ܂߂݂.wav=i CC5,3107.182,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂CC5,265.151,190.937,4325.758,65.937,43.49 +_݂݂݂݂݂݂݂.wav=a ݂CC5,594.556,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a CC5,1122.053,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂CC5,1621.493,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂CC5,2132.154,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂CC5,2631.594,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂CC5,3119.809,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂.wav=- ݂CC5,210.437,169.893,4411.336,44.892,26.655 +_݂݂݂݂݂݂.wav=u ݂CC5,523.007,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂.wav=u CC5,1012.626,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂.wav=i ݂CC5,1524.691,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂.wav=o ݂CC5,2026.937,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂.wav=a ݂CC5,2558.641,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂.wav=o CC5,3063,375,-583,250,83 +_݂݂݂݂.wav=- ݂CC5,335.298,182.519,4257.015,57.519,30.864 +_݂݂݂݂.wav=o ݂CC5,650.673,375.0,-583.333,250.0,83.333 +_݂݂݂݂.wav=u CC5,1138.888,375.0,-583.333,250.0,83.333 +_݂݂݂݂.wav=n ݂CC5,1632.716,375.0,-583.333,250.0,83.333 +_݂݂݂݂.wav=a CC5,2143.377,375.0,-583.333,250.0,83.333 +_݂݂݂݂.wav=n ݂CC5,2642.817,375.0,-583.333,250.0,83.333 +_ނނ݂܂.wav=- CC5,373.176,193.742,4271.045,68.742,29.461 +_ނނ݂܂.wav=u CC5,699.775,375.0,-583.333,250.0,83.333 +_ނނ݂܂.wav=u CC5,1186.588,375.0,-583.333,250.0,83.333 +_ނނ݂܂.wav=i CC5,1686.026,375.0,-583.333,250.0,83.333 +_ނނ݂܂.wav=o CC5,2184.062,375.0,-583.333,250.0,83.333 +_ނނ݂܂.wav=a CC5,2690,375,-583,250,83 +_ނނ݂܂.wav=o CC5,3212.401,375.0,-583.333,250.0,83.333 +_߂߂ނ߂.wav=- CC5,409.652,178.31,4238.777,53.31,28.057 +_߂߂ނ߂.wav=e CC5,727.834,375.0,-583.333,250.0,83.333 +_߂߂ނ߂.wav=e CC5,1221.661,375.0,-583.333,250.0,83.333 +_߂߂ނ߂.wav=u CC5,1740.74,375.0,-583.333,250.0,83.333 +_߂߂ނ߂.wav=o CC5,2248,375,-583,250,83 +_߂߂ނ߂.wav=e CC5,2753.647,375.0,-583.333,250.0,83.333 +_߂߂ނ߂.wav=o CC5,3251.683,375.0,-583.333,250.0,83.333 +_ނ܂ނ.wav=- CC5,269.36,176.639,4390.0,51.639,26.655 +_ނ܂ނ.wav=o CC5,594.556,375.0,-583.333,250.0,83.333 +_ނ܂ނ.wav=u CC5,1095.399,375.0,-583.333,250.0,83.333 +_ނ܂ނ.wav=n CC5,1575.196,375.0,-583.333,250.0,83.333 +_ނ܂ނ.wav=a CC5,2087.261,375.0,-583.333,250.0,83.333 +_ނ܂ނ.wav=n CC5,2609.147,375.0,-583.333,250.0,83.333 +_ނ܂ނ.wav=u CC5,3114.197,375.0,-583.333,250.0,83.333 +_₢䂢.wav=- CC5,401.236,181.115,4235.973,56.115,36.475 +_₢䂢.wav=a CC5,720.819,375.0,-583.333,250.0,83.333 +_₢䂢.wav=a CC5,1203.423,375.0,-583.333,250.0,83.333 +_₢䂢.wav=i CC5,1707.07,375.0,-583.333,250.0,83.333 +_₢䂢.wav=a CC5,2245.79,375.0,-583.333,250.0,83.333 +_₢䂢.wav=u CC5,2726.991,375.0,-583.333,250.0,83.333 +_₢䂢.wav=e CC5,3223.625,375.0,-583.333,250.0,83.333 +_䂢悢.wav=- CC5,270.765,172.697,4348.206,47.697,28.058 +_䂢悢.wav=u CC5,612.794,375.0,-583.333,250.0,83.333 +_䂢悢.wav=u CC5,1095.399,375.0,-583.333,250.0,83.333 +_䂢悢.wav=i CC5,1613,375,-583,250,83 +_䂢悢.wav=o CC5,2137.766,375.0,-583.333,250.0,83.333 +_䂢悢.wav=a CC5,2640.011,375.0,-583.333,250.0,83.333 +_䂢悢.wav=o CC5,3145.062,375.0,-583.333,250.0,83.333 +_.wav=- CC5,388.608,186.727,4247.195,61.726,32.266 +_.wav=o CC5,696.969,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1187.992,375.0,-583.333,250.0,83.333 +_.wav=n CC5,1652.356,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2172.839,375.0,-583.333,250.0,83.333 +_.wav=n CC5,2672.278,375.0,-583.333,250.0,83.333 +_.wav=- CC5,303.03,182.519,4338.384,57.519,39.281 +_.wav=a CC5,618.406,375,-583,250,83 +_.wav=a CC5,1127.665,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1638.327,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2141,375,-583,250,83 +_.wav=u CC5,2661.054,375.0,-583.333,250.0,83.333 +_.wav=e CC5,3145,375,-583,250,83 +_肥肥肥.wav=- 肥CC5,380.19,174.1,4290.684,49.1,18.235 +_肥肥肥.wav=e 肥CC5,681.537,375.0,-583.333,250.0,83.333 +_肥肥肥.wav=e CC5,1178.17,375.0,-583.333,250.0,83.333 +_肥肥肥.wav=u CC5,1670.594,375.0,-583.333,250.0,83.333 +_肥肥肥.wav=o 肥CC5,2163.019,375.0,-583.333,250.0,83.333 +_肥肥肥.wav=e CC5,2647.025,375.0,-583.333,250.0,83.333 +_肥肥肥.wav=o CC5,3142.256,375.0,-583.333,250.0,83.333 +_肥.wav=- CC5,397.025,181.115,4240.181,56.116,30.864 +_肥.wav=a CC5,694.163,375.0,-583.333,250.0,83.333 +_肥.wav=a CC5,1218.855,375.0,-583.333,250.0,83.333 +_肥.wav=i CC5,1728.114,375.0,-583.333,250.0,83.333 +_肥.wav=a CC5,2237.372,375.0,-583.333,250.0,83.333 +_肥.wav=u 肥CC5,2741.02,375.0,-583.333,250.0,83.333 +_肥.wav=e CC5,3229.236,375.0,-583.333,250.0,83.333 +_.wav=- CC5,291.806,183.921,4299.105,58.921,23.849 +_.wav=u CC5,595.959,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1078.562,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1583.613,375.0,-583.333,250.0,83.333 +_.wav=o CC5,2076.038,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2592.312,375.0,-583.333,250.0,83.333 +_.wav=o CC5,3091,375,-583,250,83 +_.wav=- CC5,224.466,182.518,4418.351,57.519,29.461 +_.wav=o CC5,525.813,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1028.058,375.0,-583.333,250.0,83.333 +_.wav=n CC5,1520.483,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2047.979,375.0,-583.333,250.0,83.333 +_.wav=n CC5,2546.016,375.0,-583.333,250.0,83.333 +_肥肥.wav=- CC5,234.287,200.756,4356.623,75.756,51.907 +_肥肥.wav=i CC5,553,375,-583,250,83 +_肥肥.wav=i CC5,1060.325,375.0,-583.333,250.0,83.333 +_肥肥.wav=u CC5,1537.317,375.0,-583.333,250.0,83.333 +_肥肥.wav=a 肥CC5,2047.979,375.0,-583.333,250.0,83.333 +_肥肥.wav=e CC5,2553.03,375.0,-583.333,250.0,83.333 +_肥肥.wav=i 肥CC5,3072.11,375.0,-583.333,250.0,83.333 +_.wav=- CC5,360.549,185.325,4261.224,60.325,25.25 +_.wav=i CC5,696.969,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1209,375,-583,250,83 +_.wav=u CC5,1697.251,375,-583,250,83 +_.wav=a CC5,2201,375,-583,250,83 +_.wav=e CC5,2704.546,375.0,-583.333,250.0,83.333 +_.wav=i CC5,3203.985,375.0,-583.333,250.0,83.333 +_.wav=- CC5,203.423,190.934,4397.307,65.934,32.264 +_.wav=u CC5,535.634,375,-583,250,83 +_.wav=u CC5,1019.64,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1519.079,375.0,-583.333,250.0,83.333 +_.wav=o CC5,2020,375,-583,250,83 +_.wav=a CC5,2553.029,375.0,-583.333,250.0,83.333 +_.wav=o CC5,3049.663,375.0,-583.333,250.0,83.333 +_.wav=- CC5,242.704,210.295,4352.001,85.295,50.295 +_.wav=e CC5,563.692,375.0,-583.333,250.0,83.333 +_.wav=e CC5,1068.742,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1575.196,375.0,-583.333,250.0,83.333 +_.wav=o CC5,2081,375,-583,250,83 +_.wav=e CC5,2600.729,375.0,-583.333,250.0,83.333 +_.wav=o CC5,3103,375,-583,250,83 +_.wav=- CC5,331.088,268.911,4209.0,87.911,50.505 +_.wav=o CC5,663.3,375.0,-583.333,250.0,83.333 +_.wav=u CC5,1147.306,375.0,-583.333,250.0,83.333 +_.wav=n CC5,1656.566,375.0,-583.333,250.0,83.333 +_.wav=a CC5,2178.452,375.0,-583.333,250.0,83.333 +_.wav=n CC5,2675.084,375.0,-583.333,250.0,83.333 +_키키.wav=- CC5,259.539,189.533,4417.0,64.533,37.533 +_키키.wav=a CC5,574.915,375,-583,250,83 +_키키.wav=a CC5,1067.34,375.0,-583.333,250.0,83.333 +_키키.wav=i CC5,1569.584,375.0,-583.333,250.0,83.333 +_키키.wav=a CC5,2054.993,375.0,-583.333,250.0,83.333 +_키키.wav=u CC5,2576.879,375.0,-583.333,250.0,83.333 +_키키.wav=e CC5,3083.333,375,-583,250,83 +_񂢂.wav=- CC5,228.68,230.215,4335.581,129.065,56.116 +_񂢂.wav=n CC5,528.619,375.0,-583.333,250.0,83.333 +_񂢂.wav=e CC5,1101.01,375.0,-583.333,250.0,83.333 +_񂢂.wav=n CC5,1583.613,375.0,-583.333,250.0,83.333 +_񂢂.wav=o CC5,2085.858,375.0,-583.333,250.0,83.333 +_񂢂.wav=n CC5,2579.685,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=- CC5,266.554,228.814,4366.666,103.814,64.533 +_񂢂񂦂񂨂.wav=n CC5,551.066,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=i CC5,1057.519,375,-583,250,83 +_񂢂񂦂񂨂.wav=n CC5,1547.139,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=e CC5,2049.382,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n CC5,2579.685,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n CC5,2579.685,375,-583.333,250,83.333 +_񂢂񂦂񂨂.wav=o CC5,3069.303,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n RCC5,3886,495,-583,250,83 +_񂢂񂦂񂨂.wav=o CC5,3899,541,460,250,83 +_񂤂񂤂񂤂.wav=- CC5,260.942,214.056,4316.668,89.056,51.907 +_񂤂񂤂񂤂.wav=n CC5,548.261,375.0,-583.333,250.0,83.333 +_񂤂񂤂񂤂.wav=i CC5,1064.534,375.0,-583.333,250.0,83.333 +_񂤂񂤂񂤂.wav=n CC5,1554.151,375.0,-583.333,250.0,83.333 +_񂤂񂤂񂤂.wav=e CC5,2069.024,375.0,-583.333,250.0,83.333 +_񂤂񂤂񂤂.wav=n CC5,2599.326,375.0,-583.333,250.0,83.333 +_񃔂񃔂񃔂.wav=- CC5,319.865,195.133,4276.668,70.133,44.893 +_񃔂񃔂񃔂.wav=n CC5,645.061,375.0,-583.333,250.0,83.333 +_񃔂񃔂񃔂.wav=i CC5,1140.291,375.0,-583.333,250.0,83.333 +_񃔂񃔂񃔂.wav=n CC5,1624.298,375.0,-583.333,250.0,83.333 +_񃔂񃔂񃔂.wav=e CC5,2111.111,375.0,-583.333,250.0,83.333 +_񃔂񃔂񃔂.wav=n CC5,2630.191,375.0,-583.333,250.0,83.333 +_񂫂񂯂.wav=- CC5,260.942,188.411,4416.668,84.175,51.907 +_񂫂񂯂.wav=n CC5,576.318,375.0,-583.333,250.0,83.333 +_񂫂񂯂.wav=i CC5,1060.325,375.0,-583.333,250.0,83.333 +_񂫂񂯂.wav=n CC5,1562.57,375.0,-583.333,250.0,83.333 +_񂫂񂯂.wav=e CC5,2056.397,375.0,-583.333,250.0,83.333 +_񂫂񂯂.wav=n CC5,2560.044,375.0,-583.333,250.0,83.333 +_񂬂񂰂.wav=- CC5,443.324,188.33,4186.667,64.531,25.25 +_񂬂񂰂.wav=n CC5,737.654,375.0,-583.333,250.0,83.333 +_񂬂񂰂.wav=i CC5,1244.107,375.0,-583.333,250.0,83.333 +_񂬂񂰂.wav=n CC5,1736.532,375.0,-583.333,250.0,83.333 +_񂬂񂰂.wav=e CC5,2220.538,375.0,-583.333,250.0,83.333 +_񂬂񂰂.wav=n CC5,2721.379,375.0,-583.333,250.0,83.333 +_񂭂񂭂񂭂.wav=- CC5,262.347,207.903,4346.669,85.577,39.28 +_񂭂񂭂񂭂.wav=n CC5,552.469,375.0,-583.333,250.0,83.333 +_񂭂񂭂񂭂.wav=i CC5,1057.519,375.0,-583.333,250.0,83.333 +_񂭂񂭂񂭂.wav=n CC5,1538.72,375.0,-583.333,250.0,83.333 +_񂭂񂭂񂭂.wav=e CC5,2043.771,375.0,-583.333,250.0,83.333 +_񂭂񂭂񂭂.wav=n CC5,2555.836,375.0,-583.333,250.0,83.333 +_񂮂񂮂񂮂.wav=- CC5,368.967,226.031,4196.668,103.815,61.728 +_񂮂񂮂񂮂.wav=n CC5,696.968,375.0,-583.333,250.0,83.333 +_񂮂񂮂񂮂.wav=i CC5,1199.214,375.0,-583.333,250.0,83.333 +_񂮂񂮂񂮂.wav=n CC5,1688.831,375.0,-583.333,250.0,83.333 +_񂮂񂮂񂮂.wav=e CC5,2172.839,375.0,-583.333,250.0,83.333 +_񂮂񂮂񂮂.wav=n CC5,2670.875,375.0,-583.333,250.0,83.333 +_񂵂񂵂񂵂.wav=- CC5,380.19,174.806,4236.668,49.805,25.252 +_񂵂񂵂񂵂.wav=n CC5,703.983,375.0,-583.333,250.0,83.333 +_񂵂񂵂񂵂.wav=i CC5,1203.423,375.0,-583.333,250.0,83.333 +_񂵂񂵂񂵂.wav=n CC5,1695.847,375.0,-583.333,250.0,83.333 +_񂵂񂵂񂵂.wav=e CC5,2210.718,375.0,-583.333,250.0,83.333 +_񂵂񂵂񂵂.wav=n CC5,2697.529,375.0,-583.333,250.0,83.333 +_񂶂񂶂񂶂.wav=- CC5,237.093,217.905,4336.668,95.398,49.102 +_񂶂񂶂񂶂.wav=n CC5,549.663,375.0,-583.333,250.0,83.333 +_񂶂񂶂񂶂.wav=i CC5,1050.504,375.0,-583.333,250.0,83.333 +_񂶂񂶂񂶂.wav=n CC5,1533.108,375.0,-583.333,250.0,83.333 +_񂶂񂶂񂶂.wav=e CC5,2040.966,375.0,-583.333,250.0,83.333 +_񂶂񂶂񂶂.wav=n CC5,2546.015,375.0,-583.333,250.0,83.333 +_񂷂񂹂.wav=- CC5,422.278,215.31,4246.669,95.398,44.893 +_񂷂񂹂.wav=n CC5,725.029,375.0,-583.333,250.0,83.333 +_񂷂񂹂.wav=i CC5,1239.898,375.0,-583.333,250.0,83.333 +_񂷂񂹂.wav=n CC5,1693.041,375.0,-583.333,250.0,83.333 +_񂷂񂹂.wav=e CC5,2226.15,375.0,-583.333,250.0,83.333 +_񂷂񂹂.wav=n CC5,2672.278,375.0,-583.333,250.0,83.333 +_񂸂񂺂.wav=- CC5,356.341,241.44,4246.669,116.44,60.325 +_񂸂񂺂.wav=n CC5,684.343,375.0,-583.333,250.0,83.333 +_񂸂񂺂.wav=i CC5,1183.782,375.0,-583.333,250.0,83.333 +_񂸂񂺂.wav=n CC5,1657.968,375.0,-583.333,250.0,83.333 +_񂸂񂺂.wav=e CC5,2178.452,375.0,-583.333,250.0,83.333 +_񂸂񂺂.wav=n CC5,2690.515,375.0,-583.333,250.0,83.333 +_񂿂񂿂񂿂.wav=- CC5,283.389,202.832,4316.668,85.578,53.31 +_񂿂񂿂񂿂.wav=n CC5,629.629,375.0,-583.333,250.0,83.333 +_񂿂񂿂񂿂.wav=i CC5,1133.277,375.0,-583.333,250.0,83.333 +_񂿂񂿂񂿂.wav=n CC5,1615.881,375.0,-583.333,250.0,83.333 +_񂿂񂿂񂿂.wav=e CC5,2101.29,375.0,-583.333,250.0,83.333 +_񂿂񂿂񂿂.wav=n CC5,2625.982,375.0,-583.333,250.0,83.333 +_‚‚‚.wav=- CC5,434.904,182.181,4216.668,67.339,42.087 +_‚‚‚.wav=n ‚CC5,739.057,375.0,-583.333,250.0,83.333 +_‚‚‚.wav=i CC5,1246.913,375.0,-583.333,250.0,83.333 +_‚‚‚.wav=n ‚CC5,1722.502,375.0,-583.333,250.0,83.333 +_‚‚‚.wav=e CC5,2234.567,375.0,-583.333,250.0,83.333 +_‚‚‚.wav=n ‚CC5,2726.992,375.0,-583.333,250.0,83.333 +_ĂĂ.wav=- CC5,331.089,161.788,4336.668,43.489,18.237 +_ĂĂ.wav=n ĂCC5,619.809,375.0,-583.333,250.0,83.333 +_ĂĂ.wav=i CC5,1165.543,375.0,-583.333,250.0,83.333 +_ĂĂ.wav=n CC5,1615.881,375.0,-583.333,250.0,83.333 +_ĂĂ.wav=e CC5,2140.572,375.0,-583.333,250.0,83.333 +_ĂĂ.wav=n CC5,2603.535,375.0,-583.333,250.0,83.333 +_łł.wav=- CC5,279.18,175.818,4336.668,50.818,22.446 +_łł.wav=n łCC5,581.93,375.0,-583.333,250.0,83.333 +_łł.wav=i CC5,1113.636,375.0,-583.333,250.0,83.333 +_łł.wav=n CC5,1603,375,-583,250,83 +_łł.wav=e CC5,2094.275,375.0,-583.333,250.0,83.333 +_łł.wav=n CC5,2589.507,375.0,-583.333,250.0,83.333 +_ɂɂ肥.wav=- CC5,235.69,199.307,4356.668,75.757,46.296 +_ɂɂ肥.wav=n ɂCC5,567.901,375.0,-583.333,250.0,83.333 +_ɂɂ肥.wav=e CC5,1068.742,375.0,-583.333,250.0,83.333 +_ɂɂ肥.wav=n ɂCC5,1568.181,375.0,-583.333,250.0,83.333 +_ɂɂ肥.wav=o CC5,2074.634,375.0,-583.333,250.0,83.333 +_ɂɂ肥.wav=n 肥CC5,2560.044,375.0,-583.333,250.0,83.333 +_ɂ˂.wav=- CC5,269.766,169.487,4376.668,44.487,27.652 +_ɂ˂.wav=n CC5,569.304,375.0,-583.333,250.0,83.333 +_ɂ˂.wav=i CC5,1093.995,375.0,-583.333,250.0,83.333 +_ɂ˂.wav=n CC5,1542,375,-583,250,83 +_ɂ˂.wav=e CC5,2045.173,375.0,-583.333,250.0,83.333 +_ɂ˂.wav=n CC5,2513.748,375.0,-583.333,250.0,83.333 +_ттт.wav=- CC5,387.205,200.755,4246.669,77.16,43.49 +_ттт.wav=n CC5,696.969,375.0,-583.333,250.0,83.333 +_ттт.wav=i CC5,1199.214,375.0,-583.333,250.0,83.333 +_ттт.wav=n тCC5,1690.235,375.0,-583.333,250.0,83.333 +_ттт.wav=e CC5,2207.912,375.0,-583.333,250.0,83.333 +_ттт.wav=n тCC5,2683.501,375.0,-583.333,250.0,83.333 +_҂҂҂.wav=- CC5,293.209,221.787,4276.668,96.787,67.338 +_҂҂҂.wav=n CC5,631.032,375.0,-583.333,250.0,83.333 +_҂҂҂.wav=i CC5,1134.68,375.0,-583.333,250.0,83.333 +_҂҂҂.wav=n ҂CC5,1615.881,375.0,-583.333,250.0,83.333 +_҂҂҂.wav=e CC5,2123.736,375.0,-583.333,250.0,83.333 +_҂҂҂.wav=n ҂CC5,2590.91,375.0,-583.333,250.0,83.333 +_Ђւ.wav=- CC5,433.501,131.496,4226.669,46.296,25.252 +_Ђւ.wav=n CC5,725.028,375.0,-583.333,250.0,83.333 +_Ђւ.wav=i CC5,1214.646,375.0,-583.333,250.0,83.333 +_Ђւ.wav=n CC5,1709.877,375.0,-583.333,250.0,83.333 +_Ђւ.wav=e CC5,2227.553,375.0,-583.333,250.0,83.333 +_Ђւ.wav=n CC5,2760.662,375.0,-583.333,250.0,83.333 +_тׂ.wav=- CC5,434.904,170.093,4186.667,88.383,46.296 +_тׂ.wav=n CC5,753.086,375.0,-583.333,250.0,83.333 +_тׂ.wav=i CC5,1269.36,375.0,-583.333,250.0,83.333 +_тׂ.wav=n CC5,1746.352,375.0,-583.333,250.0,83.333 +_тׂ.wav=e CC5,2287.878,375.0,-583.333,250.0,83.333 +_тׂ.wav=n CC5,2760.662,375.0,-583.333,250.0,83.333 +_҂؂.wav=- CC5,342.312,192.685,4256.668,89.785,49.102 +_҂؂.wav=n CC5,678.731,375.0,-583.333,250.0,83.333 +_҂؂.wav=i CC5,1207.631,375.0,-583.333,250.0,83.333 +_҂؂.wav=n CC5,1681.819,375.0,-583.333,250.0,83.333 +_҂؂.wav=e CC5,2202.301,375.0,-583.333,250.0,83.333 +_҂؂.wav=n CC5,2704.546,375.0,-583.333,250.0,83.333 +_ӂӂӂ.wav=- CC5,253.928,120.026,4396.668,63.13,40.684 +_ӂӂӂ.wav=n ӂCC5,534.231,375.0,-583.333,250.0,83.333 +_ӂӂӂ.wav=i CC5,1035.072,375.0,-583.333,250.0,83.333 +_ӂӂӂ.wav=n ӂCC5,1533.108,375.0,-583.333,250.0,83.333 +_ӂӂӂ.wav=e CC5,2046.576,375.0,-583.333,250.0,83.333 +_ӂӂӂ.wav=n ӂCC5,2551.627,375.0,-583.333,250.0,83.333 +_݂݂.wav=- CC5,293.209,211.788,4286.668,105.218,53.31 +_݂݂.wav=n ݂CC5,619.81,375.0,-583.333,250.0,83.333 +_݂݂.wav=e CC5,1130.471,375.0,-583.333,250.0,83.333 +_݂݂.wav=n ݂CC5,1635.522,375.0,-583.333,250.0,83.333 +_݂݂.wav=o CC5,2120.932,375.0,-583.333,250.0,83.333 +_݂݂.wav=n CC5,2628.787,375.0,-583.333,250.0,83.333 +_݂߂.wav=- CC5,332.491,182.507,4276.668,63.13,28.058 +_݂߂.wav=n CC5,631.031,375.0,-583.333,250.0,83.333 +_݂߂.wav=i CC5,1159.933,375.0,-583.333,250.0,83.333 +_݂߂.wav=n CC5,1610.269,375.0,-583.333,250.0,83.333 +_݂߂.wav=e CC5,2115.319,375.0,-583.333,250.0,83.333 +_݂߂.wav=n CC5,2611.952,375.0,-583.333,250.0,83.333 +_݂߂.wav=o CC5,3129.629,375.0,-583.333,250.0,83.333 +_.wav=- CC5,448.933,170.061,4266.668,61.729,33.67 +_.wav=n CC5,739.057,375.0,-583.333,250.0,83.333 +_.wav=i CC5,1230.079,375.0,-583.333,250.0,83.333 +_.wav=n CC5,1744.949,375.0,-583.333,250.0,83.333 +_.wav=e CC5,2212.12,375.0,-583.333,250.0,83.333 +_.wav=n CC5,2738.215,375.0,-583.333,250.0,83.333 diff --git a/OpenUtau.Test/Files/ja_vcv/C_D4/oto.ini b/OpenUtau.Test/Files/ja_vcv/C_D4/oto.ini new file mode 100644 index 000000000..bab07a25d --- /dev/null +++ b/OpenUtau.Test/Files/ja_vcv/C_D4/oto.ini @@ -0,0 +1,1231 @@ +_.wav=- CD4,477,170,4109,49,14 +_.wav=a CD4,790.966,375.0,-583.333,250.0,83.333 +_.wav=a CD4,1216.072,375.0,-583.333,250.0,83.333 +_.wav=i CD4,1809.533,375.0,-583.333,250.0,83.333 +_.wav=a CD4,2269.718,375.0,-583.333,250.0,83.333 +_.wav=u CD4,2804.256,375.0,-583.333,250.0,83.333 +_.wav=e CD4,3302.319,375.0,-583.333,250.0,83.333 +_.wav=a RCD4,4064,579,225,250,83 +_.wav=- CD4,272.166,193.742,4325.758,68.742,39.281 +_.wav=i CD4,595.959,375.0,-583.333,250.0,83.333 +_.wav=i CD4,1053.31,375.0,-583.333,250.0,83.333 +_.wav=u CD4,1587.822,375.0,-583.333,250.0,83.333 +_.wav=a CD4,2069.024,375.0,-583.333,250.0,83.333 +_.wav=e CD4,2551.627,375,-583,250,83 +_.wav=i CD4,3118.406,375,-583,250,83 +_.wav=e RCD4,3812,623,485,250,83 +_񂢂悢₢.wav=- CD4,361.952,234.427,4195.287,109.427,56.116 +_񂢂悢₢.wav=e CD4,716.61,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=n CD4,1230.078,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e CD4,1740.74,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e CD4,2258.418,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=o CD4,2732.603,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e CD4,3254.489,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=a CD4,3766.553,375.0,-583.333,250.0,83.333 +_񃔂.wav=- CD4,283.389,214.786,4293.491,89.786,53.31 +_񃔂.wav=a CD4,657.687,375.0,-583.333,250.0,83.333 +_񃔂.wav=n CD4,1159.932,375.0,-583.333,250.0,83.333 +_񃔂.wav=a CD4,1662.177,375.0,-583.333,250.0,83.333 +_񃔂.wav=a CD4,2167.227,375.0,-583.333,250.0,83.333 +_񃔂.wav=i CD4,2676.486,375.0,-583.333,250.0,83.333 +_񃔂.wav=a CD4,3180.134,375.0,-583.333,250.0,83.333 +_񃔂.wav=u CD4,3675.363,375.0,-583.333,250.0,83.333 +_񂤂.wav=- CD4,366.161,240.038,4185.739,115.037,74.354 +_񂤂.wav=i CD4,753.086,375.0,-583.333,250.0,83.333 +_񂤂.wav=n CD4,1238.516,375.0,-583.333,250.0,83.333 +_񂤂.wav=i CD4,1764.64,375.0,-583.333,250.0,83.333 +_񂤂.wav=i CD4,2217.81,375.0,-583.333,250.0,83.333 +_񂤂.wav=u CD4,2766.375,375.0,-583.333,250.0,83.333 +_񂤂.wav=i CD4,3282.678,375.0,-583.333,250.0,83.333 +_񂤂.wav=e CD4,3769.999,375.0,-583.333,250.0,83.333 +_񃔂.wav=- CD4,354.938,193.741,4243.26,68.741,32.267 +_񃔂.wav=i CD4,698.372,375.0,-583.333,250.0,83.333 +_񃔂.wav=n CD4,1204.844,375.0,-583.333,250.0,83.333 +_񃔂.wav=i CD4,1722.55,375.0,-583.333,250.0,83.333 +_񃔂.wav=i CD4,2237.449,375.0,-583.333,250.0,83.333 +_񃔂.wav=u CD4,2767.779,375.0,-583.333,250.0,83.333 +_񃔂.wav=i CD4,3286.884,375.0,-583.333,250.0,83.333 +_񃔂.wav=e CD4,3783.54,375.0,-583.333,250.0,83.333 +_.wav=- CD4,377.384,181.116,4233.166,56.116,30.864 +_.wav=u CD4,670.0,375.0,-583.333,250.0,83.333 +_.wav=u CD4,1127.665,375,-583,250,83 +_.wav=i CD4,1656.565,375.0,-583.333,250.0,83.333 +_.wav=i CD4,1656.565,375,-583.333,250,83.333 +_.wav=o CD4,2151,375,-583,250,83 +_.wav=a CD4,2700.336,375.0,-583.333,250.0,83.333 +_.wav=a CD4,2700.336,375,-583.333,250,83.333 +_.wav=o CD4,3194.163,375.0,-583.333,250.0,83.333 +_.wav=i RCD4,3934,682,283,250,83 +_䂢.wav=- CD4,312.85,183.921,4294.895,58.921,35.072 +_䂢.wav=u CD4,620.0,375.0,-583.333,250.0,83.333 +_䂢.wav=e CD4,1060.325,375.0,-583.333,250.0,83.333 +_䂢.wav=u CD4,1618.686,375.0,-583.333,250.0,83.333 +_䂢.wav=o CD4,2099.887,375.0,-583.333,250.0,83.333 +_䂢.wav=i CD4,2616.161,375.0,-583.333,250.0,83.333 +_䂢.wav=u CD4,3091.75,375.0,-583.333,250.0,83.333 +_䂢.wav=i CD4,3630.471,375.0,-583.333,250.0,83.333 +_񃔂.wav=- CD4,287.598,238.635,4265.433,113.635,74.354 +_񃔂.wav=e CD4,643.658,375.0,-583.333,250.0,83.333 +_񃔂.wav=n CD4,1190.796,375.0,-583.333,250.0,83.333 +_񃔂.wav=e CD4,1667.79,375.0,-583.333,250.0,83.333 +_񃔂.wav=e CD4,2178.451,375.0,-583.333,250.0,83.333 +_񃔂.wav=o CD4,2687.709,375.0,-583.333,250.0,83.333 +_񃔂.wav=e CD4,3180.134,375.0,-583.333,250.0,83.333 +_񃔂.wav=a CD4,3689.393,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- CD4,274.971,218.995,4297.7,93.995,60.325 +_񂤂키.wav=e CD4,636.644,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n CD4,1115.039,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e CD4,1628.507,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e CD4,2134.96,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o CD4,2654.04,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e CD4,3136.644,375.0,-583.333,250.0,83.333 +_񂤂키.wav=a CD4,3655.723,375.0,-583.333,250.0,83.333 +_񃔂.wav=- CD4,328.282,207.77,4255.614,82.77,47.699 +_񃔂.wav=o CD4,656.285,375.0,-583.333,250.0,83.333 +_񃔂.wav=n CD4,1220.258,375.0,-583.333,250.0,83.333 +_񃔂.wav=o CD4,1721.099,375.0,-583.333,250.0,83.333 +_񃔂.wav=o CD4,2221.941,375.0,-583.333,250.0,83.333 +_񃔂.wav=a CD4,2719.999,375.0,-583.333,250.0,83.333 +_񃔂.wav=o CD4,3258.698,375.0,-583.333,250.0,83.333 +_񃔂.wav=i CD4,3732.884,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- CD4,363.355,211.98,4216.603,86.979,51.907 +_񂤂키.wav=o CD4,727.833,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n CD4,1221.678,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o CD4,1723.952,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o CD4,2199.567,375.0,-583.333,250.0,83.333 +_񂤂키.wav=a CD4,2717.272,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o CD4,3209.723,375.0,-583.333,250.0,83.333 +_񂤂키.wav=i CD4,3721.812,375.0,-583.333,250.0,83.333 +_񃔃.wav=- CD4,179.573,195.426,4416.667,70.426,37.878 +_񃔃.wav=u CD4,576.318,375.0,-583.333,250.0,83.333 +_񃔃.wav=n CD4,1050.504,375.0,-583.333,250.0,83.333 +_񃔃.wav=u CD4,1547.139,375.0,-583.333,250.0,83.333 +_񃔃.wav=u CD4,2033.95,375.0,-583.333,250.0,83.333 +_񃔃.wav=e CD4,2530.584,375.0,-583.333,250.0,83.333 +_񃔃.wav=u CD4,3039.842,375.0,-583.333,250.0,83.333 +_񃔃.wav=o CD4,3536.475,375.0,-583.333,250.0,83.333 +_.wav=- CD4,423,184,4112,43,21 +_.wav=e CD4,720,327,3821,250,83 +_.wav=e CD4,1225.889,375.0,-583.333,250.0,83.333 +_.wav=u CD4,1718.34,375.0,-583.333,250.0,83.333 +_.wav=u CD4,1718.34,375,-583.333,250,83.333 +_.wav=o CD4,2177.122,375,-583,250,83 +_.wav=e CD4,2703.243,375.0,-583.333,250.0,83.333 +_.wav=e CD4,2703.243,375,-583.333,250,83.333 +_.wav=o CD4,3275.662,375,-583,250,83 +_.wav=o CD4,3275.662,375,-583,250,83 +_.wav=o RCD4,3888,693,290,250,83 +_񂠂.wav=- CD4,280.583,199.354,4311.729,74.354,39.281 +_񂠂.wav=- CD4,280.583,199.354,4311.729,74.354,39.281 +_񂠂.wav=o CD4,601.57,375.0,-583.333,250.0,83.333 +_񂠂.wav=u CD4,1064.533,375.0,-583.333,250.0,83.333 +_񂠂.wav=n CD4,1540.123,375.0,-583.333,250.0,83.333 +_񂠂.wav=a CD4,2069.023,375.0,-583.333,250.0,83.333 +_񂠂.wav=n CD4,2574.074,375.0,-583.333,250.0,83.333 +_񂠂.wav=n CD4,3048.259,375.0,-583.333,250.0,83.333 +_񂠂.wav=u RCD4,3848,519,467,250,83 +_ĂĂエłł.wav=- CD4,367.564,178.31,4245.792,53.31,32.267 +_ĂĂエłł.wav=o ĂCD4,677.328,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u CD4,1175.364,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n ĂCD4,1684.624,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u CD4,2160.213,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=o łCD4,2701.74,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u CD4,3178.732,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n łCD4,3699.214,375.0,-583.333,250.0,83.333 +_񂩂.wav=- CD4,381,151,4168,31,5 +_񂩂.wav=a CD4,660.493,375.0,-583.333,250.0,83.333 +_񂩂.wav=n CD4,1176.767,375.0,-583.333,250.0,83.333 +_񂩂.wav=a CD4,1693.041,375,-583,250,83 +_񂩂.wav=a CD4,2223.345,375.0,-583.333,250.0,83.333 +_񂩂.wav=i CD4,2712.962,375.0,-583.333,250.0,83.333 +_񂩂.wav=a CD4,3239.057,375.0,-583.333,250.0,83.333 +_񂩂.wav=u CD4,3727.272,375.0,-583.333,250.0,83.333 +_񂪂.wav=- CD4,239.898,144.639,4407.129,19.639,0.0 +_񂪂.wav=a CD4,534.231,375.0,-583.333,250.0,83.333 +_񂪂.wav=n CD4,1044.893,375.0,-583.333,250.0,83.333 +_񂪂.wav=a CD4,1558.361,375.0,-583.333,250.0,83.333 +_񂪂.wav=a CD4,2052.188,375.0,-583.333,250.0,83.333 +_񂪂.wav=i CD4,2564.252,375.0,-583.333,250.0,83.333 +_񂪂.wav=a CD4,3073.512,375.0,-583.333,250.0,83.333 +_񂪂.wav=u CD4,3572.951,375,-583,250,83 +_񂫂傫Ⴋ.wav=- CD4,336.7,186.727,4268.239,61.727,32.267 +_񂫂傫Ⴋ.wav=e CD4,659.09,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=n CD4,1175.364,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e CD4,1686.026,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e CD4,2216.33,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=o CD4,2708.754,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e CD4,3199.776,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=a CD4,3702.02,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=- CD4,461.56,178.308,4152.069,53.308,23.849 +_񂬂催Ⴌ.wav=e CD4,767.115,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=n CD4,1290.0,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e CD4,1796.908,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e CD4,2297.777,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=o CD4,2816.884,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e CD4,3298.111,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=a CD4,3803.181,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=- CD4,387,187,4177,79,40 +_カɂɂɂɂ.wav=i CD4,739.999,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u CD4,1249.999,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i CD4,1732.371,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=e CD4,2224.819,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i ɂCD4,2736.915,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u CD4,3241.993,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i ɂCD4,3738.647,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=- CD4,199.214,172.698,4416.668,47.698,19.64 +_񂫂ႫႫႫカ.wav=a CD4,542.647,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=n CD4,1035.072,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a CD4,1565.375,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a CD4,2080.246,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=i CD4,2569.865,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a CD4,3101.571,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=u CD4,3572.951,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=- CD4,315.656,154.46,4321.55,29.46,8.417 +_񂬂ႬႬႬガ.wav=a CD4,598.765,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=n CD4,1113.636,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a CD4,1622.895,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a CD4,2126.544,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=i CD4,2624.578,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a CD4,3136.644,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=u CD4,3627.665,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=- CD4,310.044,190.937,4290.684,65.937,30.864 +_񂫂カカカ傫.wav=u CD4,622.615,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=n CD4,1159.932,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u CD4,1677.609,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u CD4,2150.0,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=e CD4,2668.069,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u CD4,3173.12,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=o CD4,3693.602,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=- CD4,425.084,162.876,4203.706,37.876,14.029 +_񂬂ガガガ催.wav=u CD4,712.401,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=n CD4,1229.999,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u CD4,1728.114,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u CD4,2226.149,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=e CD4,2736.812,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u CD4,3233.445,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=o CD4,3734.287,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=- CD4,458.754,169.892,4163.292,44.891,28.058 +_񂫂傫傫Ⴋ傫.wav=o CD4,755.892,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=n CD4,1250.0,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o CD4,1778.669,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o CD4,2278.135,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=a CD4,2790.229,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o CD4,3303.725,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=i CD4,3798.973,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=- CD4,290.404,160.071,4341.191,35.071,12.626 +_񂬂催催Ⴌ催.wav=o CD4,580.527,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=n CD4,1117.845,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o CD4,1614.478,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o CD4,2123.737,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=a CD4,2631.594,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o CD4,3135.241,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=i CD4,3623.456,375.0,-583.333,250.0,83.333 +_񂫂.wav=- CD4,419.472,204.965,4167.502,79.965,33.67 +_񂫂.wav=i CD4,737.654,375.0,-583.333,250.0,83.333 +_񂫂.wav=n CD4,1300.0,375.0,-583.333,250.0,83.333 +_񂫂.wav=i CD4,1820.0,375.0,-583.333,250.0,83.333 +_񂫂.wav=i CD4,2314.614,375,-583,250,83 +_񂫂.wav=u CD4,2820.0,375.0,-583.333,250.0,83.333 +_񂫂.wav=i CD4,3300.0,375.0,-583.333,250.0,83.333 +_񂫂.wav=e CD4,3820.0,375.0,-583.333,250.0,83.333 +_񂬂.wav=- CD4,325.476,179.523,4286.667,54.523,25.252 +_񂬂.wav=i CD4,636.644,375.0,-583.333,250.0,83.333 +_񂬂.wav=n CD4,1160.0,375.0,-583.333,250.0,83.333 +_񂬂.wav=i CD4,1676.206,375.0,-583.333,250.0,83.333 +_񂬂.wav=i CD4,2167.227,375.0,-583.333,250.0,83.333 +_񂬂.wav=u CD4,2680.0,375.0,-583.333,250.0,83.333 +_񂬂.wav=i CD4,3164.702,375.0,-583.333,250.0,83.333 +_񂬂.wav=e CD4,3660.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=- CD4,437.71,174.101,4180.127,49.101,15.432 +_񂭂.wav=a CD4,754.489,375.0,-583.333,250.0,83.333 +_񂭂.wav=n CD4,1244.129,375.0,-583.333,250.0,83.333 +_񂭂.wav=a CD4,1792.7,375.0,-583.333,250.0,83.333 +_񂭂.wav=a CD4,2313.209,375.0,-583.333,250.0,83.333 +_񂭂.wav=i CD4,2804.259,375.0,-583.333,250.0,83.333 +_񂭂.wav=a CD4,3321.964,375.0,-583.333,250.0,83.333 +_񂭂.wav=u CD4,3835.448,375.0,-583.333,250.0,83.333 +_񂮂.wav=- CD4,274.971,162.878,4353.817,37.878,5.611 +_񂮂.wav=a CD4,565.095,375.0,-583.333,250.0,83.333 +_񂮂.wav=n CD4,1060.325,375.0,-583.333,250.0,83.333 +_񂮂.wav=a CD4,1561.167,375.0,-583.333,250.0,83.333 +_񂮂.wav=a CD4,2046.576,375.0,-583.333,250.0,83.333 +_񂮂.wav=i CD4,2546.015,375.0,-583.333,250.0,83.333 +_񂮂.wav=a CD4,3018.799,375.0,-583.333,250.0,83.333 +_񂮂.wav=u CD4,3533.67,375.0,-583.333,250.0,83.333 +_񂭂.wav=- CD4,276.374,200.757,4314.535,75.757,43.49 +_񂭂.wav=i CD4,601.571,375.0,-583.333,250.0,83.333 +_񂭂.wav=n CD4,1116.442,375.0,-583.333,250.0,83.333 +_񂭂.wav=i CD4,1617.283,375.0,-583.333,250.0,83.333 +_񂭂.wav=i CD4,2119.528,375.0,-583.333,250.0,83.333 +_񂭂.wav=u CD4,2648.428,375.0,-583.333,250.0,83.333 +_񂭂.wav=i CD4,3135.241,375.0,-583.333,250.0,83.333 +_񂭂.wav=e CD4,3622.053,375.0,-583.333,250.0,83.333 +_񂮂.wav=- CD4,279.18,209.173,4303.313,84.173,51.907 +_񂮂.wav=i CD4,633.838,375.0,-583.333,250.0,83.333 +_񂮂.wav=n CD4,1150.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=i CD4,1660.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=i CD4,2140.572,375.0,-583.333,250.0,83.333 +_񂮂.wav=u CD4,2652.637,375.0,-583.333,250.0,83.333 +_񂮂.wav=i CD4,3146.464,375.0,-583.333,250.0,83.333 +_񂮂.wav=e CD4,3640.29,375.0,-583.333,250.0,83.333 +_񂭂.wav=- CD4,356.341,178.658,4256.667,53.658,23.849 +_񂭂.wav=e CD4,667.508,375.0,-583.333,250.0,83.333 +_񂭂.wav=n CD4,1176.767,375.0,-583.333,250.0,83.333 +_񂭂.wav=e CD4,1690.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=e CD4,2216.329,375.0,-583.333,250.0,83.333 +_񂭂.wav=o CD4,2689.113,375.0,-583.333,250.0,83.333 +_񂭂.wav=e CD4,3192.759,375.0,-583.333,250.0,83.333 +_񂭂.wav=a CD4,3682.379,375.0,-583.333,250.0,83.333 +_񂮂.wav=- CD4,392.817,171.295,4227.554,46.295,28.058 +_񂮂.wav=e CD4,723.625,375.0,-583.333,250.0,83.333 +_񂮂.wav=n CD4,1203.423,375.0,-583.333,250.0,83.333 +_񂮂.wav=e CD4,1722.502,375.0,-583.333,250.0,83.333 +_񂮂.wav=e CD4,2198.092,375.0,-583.333,250.0,83.333 +_񂮂.wav=o CD4,2725.589,375.0,-583.333,250.0,83.333 +_񂮂.wav=e CD4,3222.222,375.0,-583.333,250.0,83.333 +_񂮂.wav=a CD4,3709.034,375.0,-583.333,250.0,83.333 +_񂭂.wav=- CD4,398.428,176.571,4216.939,51.571,22.446 +_񂭂.wav=o CD4,695.567,375.0,-583.333,250.0,83.333 +_񂭂.wav=n CD4,1203.441,375.0,-583.333,250.0,83.333 +_񂭂.wav=o CD4,1725.356,375.0,-583.333,250.0,83.333 +_񂭂.wav=o CD4,2223.419,375.0,-583.333,250.0,83.333 +_񂭂.wav=a CD4,2725.69,375.0,-583.333,250.0,83.333 +_񂭂.wav=o CD4,3258.829,375.0,-583.333,250.0,83.333 +_񂭂.wav=i CD4,3748.467,375.0,-583.333,250.0,83.333 +_񂮂.wav=- CD4,471.38,164.279,4156.279,39.279,18.237 +_񂮂.wav=o CD4,768.519,375.0,-583.333,250.0,83.333 +_񂮂.wav=n CD4,1272.187,375.0,-583.333,250.0,83.333 +_񂮂.wav=o CD4,1780.072,375.0,-583.333,250.0,83.333 +_񂮂.wav=o CD4,2290.763,375.0,-583.333,250.0,83.333 +_񂮂.wav=a CD4,2811.274,375.0,-583.333,250.0,83.333 +_񂮂.wav=o CD4,3316.35,375.0,-583.333,250.0,83.333 +_񂮂.wav=i CD4,3800.375,375.0,-583.333,250.0,83.333 +_.wav=- CD4,259.539,151.46,4339.001,53.46,9.82 +_.wav=u CD4,570.0,375.0,-583.333,250.0,83.333 +_.wav=e CD4,1090.0,375.0,-583.333,250.0,83.333 +_.wav=u CD4,1620.089,375.0,-583.333,250.0,83.333 +_.wav=o CD4,2102.692,375.0,-583.333,250.0,83.333 +_.wav=u CD4,2616.162,375.0,-583.333,250.0,83.333 +_.wav=e CD4,3107.182,375.0,-583.333,250.0,83.333 +_.wav=u CD4,3602.413,375.0,-583.333,250.0,83.333 +_񂭂.wav=- CD4,318.462,188.129,4285.074,63.129,21.043 +_񂭂.wav=u CD4,621.212,375.0,-583.333,250.0,83.333 +_񂭂.wav=n CD4,1152.918,375.0,-583.333,250.0,83.333 +_񂭂.wav=u CD4,1657.968,375.0,-583.333,250.0,83.333 +_񂭂.wav=u CD4,2139.169,375.0,-583.333,250.0,83.333 +_񂭂.wav=e CD4,2647.025,375.0,-583.333,250.0,83.333 +_񂭂.wav=u CD4,3154.882,374,-583,250,83 +_񂭂.wav=o CD4,3661.334,375.0,-583.333,250.0,83.333 +_񂮂.wav=- CD4,373.176,161.823,4256.667,36.823,11.223 +_񂮂.wav=u CD4,684.343,375.0,-583.333,250.0,83.333 +_񂮂.wav=n CD4,1218.855,375.0,-583.333,250.0,83.333 +_񂮂.wav=u CD4,1726.711,375.0,-583.333,250.0,83.333 +_񂮂.wav=u CD4,2224.747,375.0,-583.333,250.0,83.333 +_񂮂.wav=e CD4,2731.2,375.0,-583.333,250.0,83.333 +_񂮂.wav=u CD4,3243.265,375.0,-583.333,250.0,83.333 +_񂮂.wav=o CD4,3749.999,375.0,-583.333,250.0,83.333 +_񂯂.wav=- CD4,378.787,160.071,4252.808,35.071,0.0 +_񂯂.wav=e CD4,682.94,375.0,-583.333,250.0,83.333 +_񂯂.wav=n CD4,1171.156,375.0,-583.333,250.0,83.333 +_񂯂.wav=e CD4,1697.25,375.0,-583.333,250.0,83.333 +_񂯂.wav=e CD4,2209.315,375.0,-583.333,250.0,83.333 +_񂯂.wav=o CD4,2715.767,375.0,-583.333,250.0,83.333 +_񂯂.wav=e CD4,3212.401,375,-583,250,83 +_񂯂.wav=a CD4,3716.049,375.0,-583.333,250.0,83.333 +_񂰂.wav=- CD4,446.127,158.871,4186.94,33.871,12.626 +_񂰂.wav=e CD4,734.848,375.0,-583.333,250.0,83.333 +_񂰂.wav=n CD4,1244.129,375.0,-583.333,250.0,83.333 +_񂰂.wav=e CD4,1761.833,375.0,-583.333,250.0,83.333 +_񂰂.wav=e CD4,2240.254,375.0,-583.333,250.0,83.333 +_񂰂.wav=o CD4,2769.182,375.0,-583.333,250.0,83.333 +_񂰂.wav=e CD4,3257.426,375.0,-583.333,250.0,83.333 +_񂰂.wav=a CD4,3761.093,375.0,-583.333,250.0,83.333 +_񂱂.wav=- CD4,451,156,4124,27,10 +_񂱂.wav=o CD4,734.848,375.0,-583.333,250.0,83.333 +_񂱂.wav=n CD4,1225.889,375.0,-583.333,250.0,83.333 +_񂱂.wav=o CD4,1747.803,375,-583,250,83 +_񂱂.wav=o CD4,2245.867,375.0,-583.333,250.0,83.333 +_񂱂.wav=a CD4,2749.541,375,-583,250,83 +_񂱂.wav=o CD4,3264.441,375.0,-583.333,250.0,83.333 +_񂱂.wav=i CD4,3769.511,375.0,-583.333,250.0,83.333 +_񂲂.wav=- CD4,300.224,151.654,4339.788,26.654,12.626 +_񂲂.wav=o CD4,588.945,375.0,-583.333,250.0,83.333 +_񂲂.wav=n CD4,1085.578,375.0,-583.333,250.0,83.333 +_񂲂.wav=o CD4,1618.686,375.0,-583.333,250.0,83.333 +_񂲂.wav=o CD4,2125.14,375.0,-583.333,250.0,83.333 +_񂲂.wav=a CD4,2635.803,375.0,-583.333,250.0,83.333 +_񂲂.wav=o CD4,3142.255,375.0,-583.333,250.0,83.333 +_񂲂.wav=i CD4,3647.307,375.0,-583.333,250.0,83.333 +_񂳂.wav=- CD4,140.291,270.903,4380.472,145.903,68.742 +_񂳂.wav=a CD4,545.454,375.0,-583.333,250.0,83.333 +_񂳂.wav=n CD4,1035.072,375.0,-583.333,250.0,83.333 +_񂳂.wav=a CD4,1548.541,375,-583,250,83 +_񂳂.wav=a CD4,2062.009,375.0,-583.333,250.0,83.333 +_񂳂.wav=i CD4,2583.894,375.0,-583.333,250.0,83.333 +_񂳂.wav=a CD4,3076.317,375.0,-583.333,250.0,83.333 +_񂳂.wav=u CD4,3542.087,375.0,-583.333,250.0,83.333 +_񂴂.wav=- CD4,319.865,181.116,4290.684,56.116,19.64 +_񂴂.wav=a CD4,632.435,375.0,-583.333,250.0,83.333 +_񂴂.wav=n CD4,1140.0,375.0,-583.333,250.0,83.333 +_񂴂.wav=a CD4,1669.191,375.0,-583.333,250.0,83.333 +_񂴂.wav=a CD4,2179.999,375.0,-583.333,250.0,83.333 +_񂴂.wav=i CD4,2689.999,375.0,-583.333,250.0,83.333 +_񂴂.wav=a CD4,3208.192,375.0,-583.333,250.0,83.333 +_񂴂.wav=u CD4,3695.004,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=- CD4,356.341,278.658,4156.939,153.658,116.442 +_񂵂債Ⴕ.wav=e CD4,751.683,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=n CD4,1287.621,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e CD4,1798.312,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e CD4,2306.196,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=o CD4,2818.287,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e CD4,3314.949,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=a CD4,3846.671,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=- CD4,335.297,186.726,4269.642,61.726,36.475 +_񂶂傶Ⴖ.wav=e CD4,629.628,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=n CD4,1140.0,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e CD4,1638.327,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e CD4,2150.0,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=o CD4,2660.0,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e CD4,3147.866,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=a CD4,3645.903,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=- CD4,169.753,284.932,4336.981,159.932,116.442 +_񂵂ႵႵႵサ.wav=a CD4,574.915,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=n CD4,1110.83,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a CD4,1620.089,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a CD4,2144.781,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=i CD4,2631.594,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a CD4,3138.047,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=u CD4,3616.442,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=- CD4,332.491,192.508,4266.667,67.508,37.878 +_񂶂ႶႶႶザ.wav=a CD4,670.314,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=n CD4,1185.185,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a CD4,1690.0,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a CD4,2200.0,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=i CD4,2700.0,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a CD4,3220.0,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=u CD4,3710.437,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=- CD4,235.69,312.989,4242.988,187.989,148.709 +_񂵂サササ債.wav=u CD4,656.285,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=n CD4,1220.0,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u CD4,1707.071,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u CD4,2180.0,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=e CD4,2710.156,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u CD4,3180.134,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=o CD4,3690.0,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=- CD4,258.136,182.519,4351.011,57.519,37.878 +_񂶂ザザザ傶.wav=u CD4,558.079,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=n CD4,1080.0,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u CD4,1594.837,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u CD4,2066.217,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=e CD4,2596.52,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u CD4,3093.154,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=o CD4,3595.397,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=- CD4,176.767,283.529,4331.37,158.529,123.456 +_񂵂債債Ⴕ債.wav=o CD4,595.959,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=n CD4,1113.636,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o CD4,1620.0,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o CD4,2120.93,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=a CD4,2604.937,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o CD4,3133.838,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=i CD4,3599.607,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=- CD4,422.278,172.72,4196.669,47.72,25.252 +_񂶂傶傶Ⴖ傶.wav=o CD4,709.594,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=n CD4,1219.999,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o CD4,1719.999,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o CD4,2219.999,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=a CD4,2724.187,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o CD4,3229.999,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=i CD4,3699.999,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=- CD4,227.272,297.727,4266.667,172.727,122.053 +_񂵂サ.wav=i CD4,628.226,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=n CD4,1170.0,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i CD4,1680.0,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i CD4,2174.243,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=u CD4,2684.904,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i CD4,3153.48,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=e CD4,3657.125,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=- CD4,418.069,196.93,4176.939,71.93,49.102 +_񂶂ザ.wav=i CD4,740.0,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=n CD4,1270.0,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i CD4,1742.191,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i CD4,2240.0,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=u CD4,2770.0,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i CD4,3259.999,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=e CD4,3739.999,375.0,-583.333,250.0,83.333 +_񂷂.wav=- CD4,195.005,272.305,4324.356,147.305,113.636 +_񂷂.wav=i CD4,562.289,375.0,-583.333,250.0,83.333 +_񂷂.wav=n CD4,1126.262,375.0,-583.333,250.0,83.333 +_񂷂.wav=i CD4,1614.478,375.0,-583.333,250.0,83.333 +_񂷂.wav=i CD4,2134.96,375.0,-583.333,250.0,83.333 +_񂷂.wav=u CD4,2619.999,375.0,-583.333,250.0,83.333 +_񂷂.wav=i CD4,3128.225,375.0,-583.333,250.0,83.333 +_񂷂.wav=e CD4,3619.999,375.0,-583.333,250.0,83.333 +_񂸂.wav=- CD4,353.535,181.464,4256.667,56.464,32.267 +_񂸂.wav=i CD4,684.343,375.0,-583.333,250.0,83.333 +_񂸂.wav=n CD4,1189.999,375.0,-583.333,250.0,83.333 +_񂸂.wav=i CD4,1699.999,375.0,-583.333,250.0,83.333 +_񂸂.wav=i CD4,2229.999,375.0,-583.333,250.0,83.333 +_񂸂.wav=u CD4,2719.998,375.0,-583.333,250.0,83.333 +_񂸂.wav=i CD4,3209.997,375.0,-583.333,250.0,83.333 +_񂸂.wav=e CD4,3719.997,375.0,-583.333,250.0,83.333 +_񂷂.wav=- CD4,304,375,-583,168,109 +_񂷂.wav=u CD4,719.999,375.0,-583.333,250.0,83.333 +_񂷂.wav=n CD4,1242.704,375.0,-583.333,250.0,83.333 +_񂷂.wav=u CD4,1729.517,375.0,-583.333,250.0,83.333 +_񂷂.wav=u CD4,2203.703,375.0,-583.333,250.0,83.333 +_񂷂.wav=e CD4,2723,375,-583,250,83 +_񂷂.wav=u CD4,3213.804,375.0,-583.333,250.0,83.333 +_񂷂.wav=o CD4,3729.999,375.0,-583.333,250.0,83.333 +_񂸂.wav=- CD4,453.142,191.857,4146.939,66.857,39.281 +_񂸂.wav=u CD4,758.698,375.0,-583.333,250.0,83.333 +_񂸂.wav=n CD4,1300.0,375.0,-583.333,250.0,83.333 +_񂸂.wav=u CD4,1792.699,375.0,-583.333,250.0,83.333 +_񂸂.wav=u CD4,2280.0,375.0,-583.333,250.0,83.333 +_񂸂.wav=e CD4,2800.0,375.0,-583.333,250.0,83.333 +_񂸂.wav=u CD4,3288.29,375.0,-583.333,250.0,83.333 +_񂸂.wav=o CD4,3817.21,375.0,-583.333,250.0,83.333 +_񂹂.wav=- CD4,317.059,283.529,4191.35,158.529,119.248 +_񂹂.wav=e CD4,741.863,375.0,-583.333,250.0,83.333 +_񂹂.wav=n CD4,1255.352,375.0,-583.333,250.0,83.333 +_񂹂.wav=e CD4,1766.042,375.0,-583.333,250.0,83.333 +_񂹂.wav=e CD4,2257.089,375.0,-583.333,250.0,83.333 +_񂹂.wav=o CD4,2767.779,375.0,-583.333,250.0,83.333 +_񂹂.wav=e CD4,3254.62,375,-583,250,83 +_񂹂.wav=a CD4,3768.107,375.0,-583.333,250.0,83.333 +_񂺂.wav=- CD4,273.569,189.533,4328.564,64.533,37.878 +_񂺂.wav=e CD4,590.347,375.0,-583.333,250.0,83.333 +_񂺂.wav=n CD4,1090.0,375.0,-583.333,250.0,83.333 +_񂺂.wav=e CD4,1617.283,375.0,-583.333,250.0,83.333 +_񂺂.wav=e CD4,2126.542,375.0,-583.333,250.0,83.333 +_񂺂.wav=o CD4,2637.205,375.0,-583.333,250.0,83.333 +_񂺂.wav=e CD4,3121.212,375.0,-583.333,250.0,83.333 +_񂺂.wav=a CD4,3630.0,375.0,-583.333,250.0,83.333 +_񂻂.wav=- CD4,180.685,375.0,4236.315,149.0,102.704 +_񂻂.wav=o CD4,559.483,375.0,-583.333,250.0,83.333 +_񂻂.wav=n CD4,1085.578,375.0,-583.333,250.0,83.333 +_񂻂.wav=o CD4,1590.0,375.0,-583.333,250.0,83.333 +_񂻂.wav=o CD4,2099.887,375.0,-583.333,250.0,83.333 +_񂻂.wav=a CD4,2595.116,375.0,-583.333,250.0,83.333 +_񂻂.wav=o CD4,3094.556,375.0,-583.333,250.0,83.333 +_񂻂.wav=i CD4,3610.83,375.0,-583.333,250.0,83.333 +_񂼂.wav=- CD4,360.549,174.45,4256.667,49.45,29.461 +_񂼂.wav=o CD4,668.911,375.0,-583.333,250.0,83.333 +_񂼂.wav=n CD4,1170.0,375.0,-583.333,250.0,83.333 +_񂼂.wav=o CD4,1687.429,375.0,-583.333,250.0,83.333 +_񂼂.wav=o CD4,2195.286,375.0,-583.333,250.0,83.333 +_񂼂.wav=a CD4,2679.999,375.0,-583.333,250.0,83.333 +_񂼂.wav=o CD4,3199.999,375.0,-583.333,250.0,83.333 +_񂼂.wav=i CD4,3696.408,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=- CD4,360,160,4187,30,6 +_񂽂ĂƂ.wav=a CD4,656.285,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=n CD4,1134.68,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=a CD4,1667.789,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=a ĂCD4,2198.093,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=i CD4,2683,375,-583,250,83 +_񂽂ĂƂ.wav=a ƂCD4,3199.775,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=u CD4,3685.186,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=- CD4,444.725,139.028,4208.185,14.028,0.0 +_񂾂łǂ.wav=a CD4,726.43,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=n CD4,1217.471,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a CD4,1742,375,-583,250,83 +_񂾂łǂ.wav=a łCD4,2231.836,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=i CD4,2741.125,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a ǂCD4,3249.999,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=u CD4,3729.999,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=- CD4,318.462,196.537,4276.667,71.537,46.296 +_񂿂傿Ⴟ.wav=e CD4,639.449,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=n CD4,1160.0,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e CD4,1680.415,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e CD4,2177.048,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=o CD4,2690.515,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e CD4,3203.984,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=a CD4,3709.999,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=- CD4,322.671,183.92,4285.074,58.92,40.684 +_񂿂ႿႿႿタ.wav=a CD4,636.645,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=n CD4,1151.514,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a CD4,1649.999,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a CD4,2186.868,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=i CD4,2665.263,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a CD4,3205.388,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=u CD4,3672.558,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=- CD4,225.869,218.995,4346.802,93.995,56.116 +_񂿂タタタ傿.wav=u CD4,551.066,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=n CD4,1090.0,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u CD4,1600.0,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u CD4,2081.649,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=e CD4,2610.549,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u CD4,3100.168,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=o CD4,3637.484,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=- CD4,359.147,185.852,4246.666,60.852,33.67 +_񂿂傿傿Ⴟ傿.wav=o CD4,688.552,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=n CD4,1214.646,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o CD4,1714.085,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o CD4,2210.718,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=a CD4,2710.0,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o CD4,3213.803,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=i CD4,3700.0,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=- CD4,387.205,227.794,4176.939,102.794,63.131 +_񂿂タ.wav=i CD4,733.444,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=n CD4,1269.382,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i CD4,1774.46,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i CD4,2275.329,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=u CD4,2759.999,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i CD4,3227.962,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=e CD4,3752.676,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚CD4,235.69,214.785,4341.191,89.785,58.922 +_‚‚‚‚‚‚‚.wav=a CD4,605.78,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚CD4,1093.995,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚CD4,1620.089,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚CD4,2150.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚CD4,2638.607,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a CD4,3170.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚CD4,3627.665,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚CD4,322.671,222.328,4246.666,97.328,64.534 +_‚‚‚‚‚‚‚.wav=i CD4,659.09,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚CD4,1170.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚CD4,1663.581,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i CD4,2163.019,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚CD4,2672.278,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚CD4,3163.299,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚CD4,3680.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚CD4,193.602,209.174,4388.89,84.174,60.325 +_‚‚‚‚‚‚‚.wav=e CD4,520.203,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚CD4,1028.059,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚CD4,1545.735,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚CD4,2069.023,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚CD4,2572.671,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚CD4,3062.288,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚CD4,3556.116,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚CD4,308.641,176.907,4306.118,51.907,35.072 +_‚‚‚‚‚‚‚.wav=o CD4,607.182,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚CD4,1102.413,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚CD4,1603.254,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚CD4,2119.528,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚CD4,2618.966,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚CD4,3130.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚CD4,3624.859,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=- CD4,380.193,213.381,4202.575,88.381,54.713 +_‚‚‚‚‚‚.wav=u CD4,698.372,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=n CD4,1227.292,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u CD4,1722.549,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚CD4,2207.985,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=e CD4,2719.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚CD4,3215.335,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=o CD4,3759.999,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=- ĂCD4,419.472,168.488,4203.978,43.488,26.655 +_ĂĂĂƂĂĂĂ.wav=i CD4,726.43,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=n ĂCD4,1232.905,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ĂCD4,1749.999,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ƂCD4,2254.283,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=u ĂCD4,2749.54,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i CD4,3243.395,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=e ĂCD4,3755.482,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=- łCD4,284.792,150.207,4356.668,25.207,5.611 +_łłłǂłłł.wav=i CD4,574.915,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=n łCD4,1080.0,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i łCD4,1600.0,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i ǂCD4,2101.29,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=u łCD4,2586.7,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i CD4,3107,375,-583,250,83 +_łłłǂłłł.wav=e łCD4,3609.999,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=- ĂCD4,468.574,156.425,4166.939,31.425,0.0 +_ĂĂ゠ĂアĂウĂ.wav=u ĂCD4,755.892,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u CD4,1235.711,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=a ĂCD4,1740.0,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u CD4,2223.419,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=i ĂCD4,2760.0,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u CD4,3253.216,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=e ĂCD4,3755.482,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=- łCD4,304.433,140.566,4346.668,15.566,0.0 +_łł゠łアłウł.wav=u łCD4,601.57,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u CD4,1068.742,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=a łCD4,1583.613,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u CD4,2063.411,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=i łCD4,2585.296,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u CD4,3087.542,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=e łCD4,3590.0,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=- CD4,359.147,154.46,4278.059,29.46,0.0 +_ĂĂĂƂĂ.wav=e CD4,652.076,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=n CD4,1155.724,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e CD4,1662,375,-583,250,83 +_ĂĂĂƂĂ.wav=e CD4,2182.659,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=o CD4,2693.322,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e CD4,3192.76,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=a CD4,3695,375,-583,250,83 +_łłłǂł.wav=- CD4,375,157,4202,18,8 +_łłłǂł.wav=e CD4,667.508,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=n CD4,1175.364,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e CD4,1693.041,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e CD4,2192.48,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=o CD4,2715.767,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e CD4,3196.968,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=a CD4,3704,375,-583,250,83 +_ƂƂƂĂƂƂƂ.wav=- ƂCD4,252.525,179.713,4359.428,54.713,29.461 +_ƂƂƂĂƂƂƂ.wav=u CD4,549.662,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=n ƂCD4,1070.0,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u ƂCD4,1576.6,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u CD4,2056.397,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=e ƂCD4,2595.117,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u CD4,3063.692,375,-583,250,83 +_ƂƂƂĂƂƂƂ.wav=o ƂCD4,3577.161,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=- ǂCD4,356.341,145.85,4286.668,22.443,0.0 +_ǂǂǂłǂǂǂ.wav=u CD4,622.615,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=n ǂCD4,1151.515,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u ǂCD4,1653.759,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u CD4,2137.765,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=e ǂCD4,2652.637,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u CD4,3132.435,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=o ǂCD4,3637.485,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=- CD4,371.773,150.25,4269.642,25.25,0.0 +_ƂƂƂƂĂ.wav=o CD4,654.882,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=n CD4,1145.903,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o CD4,1670.594,375,-583,250,83 +_ƂƂƂƂĂ.wav=o CD4,2175.645,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=a CD4,2686.307,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o ĂCD4,3219.416,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=i CD4,3709.999,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=- CD4,491.021,136.222,4164.695,11.222,0.0 +_ǂǂǂǂł.wav=o CD4,781.144,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=n CD4,1255.352,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o CD4,1796.908,375,-583,250,83 +_ǂǂǂǂł.wav=o CD4,2271.121,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=a CD4,2770.0,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o łCD4,3277.067,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=i CD4,3770.0,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=- CD4,374.127,179,4129,72,35 +_ȂȂȂɂȂʂ.wav=a CD4,695.567,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=n CD4,1182.389,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a CD4,1706,375,-583,250,83 +_ȂȂȂɂȂʂ.wav=a CD4,2205.178,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=i CD4,2720.0,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a CD4,3233.576,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=u CD4,3731.633,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂCD4,343.714,175.504,4272.448,50.504,0.0 +_ɂɂɂɂɂɂɂ.wav=e CD4,659.09,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂCD4,1129.068,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂCD4,1632.716,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂCD4,2147.587,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂCD4,2642.817,375.0,1836.669,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂCD4,3169.998,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂCD4,3671.156,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂCD4,436.307,175.504,4180.126,50.505,0.0 +_ɂɂɂɂɂɂɂ.wav=a CD4,750.28,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂCD4,1223.078,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂCD4,1726.758,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a CD4,2236.044,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂCD4,2742.522,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂCD4,3259.999,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂCD4,3749.999,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂCD4,235.69,183.92,4372.056,58.92,7.014 +_ɂɂɂɂɂɂɂ.wav=u CD4,552.469,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂCD4,1063.131,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂCD4,1578.003,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂCD4,2078.842,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂCD4,2595.117,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂCD4,3101.571,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂCD4,3596.802,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂCD4,366.161,188.837,4236.939,63.838,9.82 +_ɂɂɂɂɂɂɂ.wav=o CD4,734.848,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂCD4,1202.037,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂCD4,1704.309,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂCD4,2196.761,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂCD4,2697.629,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o CD4,3193,310,1417,250,78 +_ɂɂɂɂɂɂɂ.wav=i ɂCD4,3709.185,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=- CD4,249,177,4272,57,15 +_ɂɂɂʂɂ˂.wav=i CD4,560.0,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=n CD4,1054.713,326,3528,250,83 +_ɂɂɂʂɂ˂.wav=i CD4,1578.002,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i CD4,2095.679,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=u CD4,2625.982,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i CD4,3091.75,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=e CD4,3610.0,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=- CD4,301.627,203.562,4286.477,78.562,11.223 +_ʂʂʂ˂ʂ̂.wav=u CD4,622.615,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=n CD4,1150.112,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u CD4,1659.999,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u CD4,2181.258,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=e CD4,2679.998,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u CD4,3169.997,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=o CD4,3679.573,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=- CD4,329.685,217.591,4244.661,92.592,12.626 +_˂˂˂̂˂Ȃ.wav=e CD4,684.343,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=n CD4,1175.383,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e CD4,1700.0,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e CD4,2222.015,375,-583,250,83 +_˂˂˂̂˂Ȃ.wav=o CD4,2735.509,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e CD4,3232.173,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=a CD4,3741.453,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=- CD4,189,167,4356,74,32 +_̂̂̂Ȃ̂ɂ.wav=o CD4,523.007,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=n CD4,1015.432,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o CD4,1524.691,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=o CD4,2028,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=a CD4,2533.389,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o CD4,3041.245,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=i CD4,3559,375,-583,250,83 +_͂͂͂Ђ͂ӂ.wav=- CD4,256,203,4282,68,22 +_͂͂͂Ђ͂ӂ.wav=a CD4,610.0,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=n CD4,1155.723,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a CD4,1649.551,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a CD4,2156.004,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=i CD4,2654.04,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a CD4,3185.747,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=u CD4,3707.631,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=- CD4,303.03,137.624,4351.012,12.624,5.611 +_΂΂΂т΂Ԃ.wav=a CD4,580.526,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=n CD4,1089.786,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a CD4,1576.6,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a CD4,2070.427,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=i CD4,2562.85,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a CD4,3079.124,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=u CD4,3581.369,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=- CD4,385.802,136.221,4269.642,11.221,0.0 +_ςςς҂ςՂ.wav=a CD4,666.105,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=n CD4,1186.588,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a CD4,1697.251,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a CD4,2189.674,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=i CD4,2694.725,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a CD4,3203.984,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=u CD4,3695.005,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂCD4,277.777,277.917,4235.973,152.917,108.024 +_ЂЂЂЂЂЂЂ.wav=e CD4,685.747,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂCD4,1197.811,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂCD4,1716.891,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂCD4,2195.286,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂCD4,2697.53,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂCD4,3201.178,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂCD4,3702.02,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тCD4,356.341,134.819,4300.506,9.819,0.0 +_ттттттт.wav=e CD4,646.464,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тCD4,1129.069,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тCD4,1646.745,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тCD4,2156.004,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тCD4,2663.859,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тCD4,3157.687,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тCD4,3666.947,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂CD4,391.414,139.028,4261.224,14.028,4.208 +_҂҂҂҂҂҂҂.wav=e CD4,678.731,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂CD4,1186.588,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂CD4,1691.638,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂CD4,2213.525,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂CD4,2717.171,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂CD4,3216.609,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂CD4,3723.063,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=- CD4,416.666,137.625,4237.375,12.625,0.0 +_тттт҂҂҂҂.wav=i тCD4,715.207,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u CD4,1202.02,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i тCD4,1683.221,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=e CD4,2184.062,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂CD4,2684.904,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u CD4,3192.759,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂CD4,3699.214,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=- CD4,239.898,221.801,4329.967,96.801,71.548 +_ЂЂЂЂ݂݂݂݂.wav=i ЂCD4,583.333,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u CD4,1071.548,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ЂCD4,1566.778,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=e CD4,2060.605,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ݂CD4,2568.462,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u CD4,3067.901,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ݂CD4,3547.699,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂCD4,185.185,231.619,4374.862,106.619,74.354 +_ЂЂЂЂЂЂЂ.wav=a CD4,556.677,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂCD4,1067.341,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂCD4,1603.254,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a CD4,2111.111,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂCD4,2585.296,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂCD4,3109.989,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂCD4,3571.548,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тCD4,462.962,137.626,4191.35,12.626,0.0 +_ттттттт.wav=a CD4,729.999,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тCD4,1207.651,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тCD4,1722.55,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a CD4,2220.613,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тCD4,2720.078,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тCD4,3253.217,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тCD4,3738.647,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂CD4,231.481,139.028,4416.668,14.028,0.0 +_҂҂҂҂҂҂҂.wav=a CD4,546.857,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂CD4,1028.058,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂CD4,1552.749,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a CD4,2042.368,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂CD4,2539.0,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂CD4,3059.483,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂CD4,3544.893,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂCD4,223.063,289.141,4279.462,164.141,126.262 +_ЂЂЂЂЂЂЂ.wav=u CD4,635.241,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂCD4,1170.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂCD4,1640.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂCD4,2123.736,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂCD4,2641.414,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂCD4,3128.225,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂCD4,3624.859,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тCD4,284.792,139.027,4367.847,14.027,0.0 +_ттттттт.wav=u CD4,590.347,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тCD4,1078.562,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тCD4,1573.793,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тCD4,2074.636,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тCD4,2593.714,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тCD4,3104.377,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тCD4,3619.247,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂CD4,325.476,137.626,4328.564,12.626,0.0 +_҂҂҂҂҂҂҂.wav=u CD4,617.003,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂CD4,1106.621,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂CD4,1610.269,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂CD4,2094.276,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂CD4,2621.772,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂CD4,3112.794,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂CD4,3633.277,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂCD4,350.729,254.269,4186.94,129.269,95.398 +_ЂЂЂЂЂЂЂ.wav=o CD4,734.848,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂCD4,1253.949,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂCD4,1759.999,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂCD4,2268.315,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂCD4,2789.999,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o CD4,3305.128,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂCD4,3789.152,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тCD4,443.322,137.625,4210.991,12.625,0.0 +_ттттттт.wav=o CD4,744.668,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тCD4,1244.128,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тCD4,1743.594,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тCD4,2250.0,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тCD4,2766.377,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o CD4,3264.44,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тCD4,3740.049,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂CD4,460.157,143.236,4188.545,18.236,5.611 +_҂҂҂҂҂҂҂.wav=o CD4,761.502,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂CD4,1284.816,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂CD4,1774.461,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂CD4,2273.926,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂CD4,2777.602,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o CD4,3278.471,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂CD4,3780.734,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=- CD4,366.161,188.129,4237.376,63.129,43.49 +_ЂЂЂӂЂւ.wav=i CD4,688.552,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=n CD4,1216.049,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i CD4,1702.861,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i CD4,2241.582,375,-583,250,83 +_ЂЂЂӂЂւ.wav=u CD4,2745.23,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i CD4,3264.308,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=e CD4,3762.345,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=- CD4,359.147,140.431,4292.088,15.431,8.417 +_тттԂтׂ.wav=i CD4,635.241,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=n CD4,1144.5,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i CD4,1652,375,-583,250,83 +_тттԂтׂ.wav=i CD4,2167.227,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=u CD4,2658.249,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i CD4,3163.299,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=e CD4,3664.141,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=- CD4,462.962,144.64,4184.336,19.64,7.014 +_҂҂҂Ղ҂؂.wav=i CD4,746.071,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=n CD4,1252.548,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i CD4,1760.431,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i CD4,2293.567,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=u CD4,2784.617,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i CD4,3281.276,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=e CD4,3775.124,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂCD4,269.36,242.843,4279.463,117.843,88.383 +_ӂӂӂӂӂӂӂ.wav=a CD4,660.0,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂCD4,1145.903,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂCD4,1662.178,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂCD4,2184.062,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂCD4,2675.084,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a CD4,3185.745,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂCD4,3680.976,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂCD4,345.117,266.693,4174.515,141.693,101.01 +_ӂӂӂӂӂӂӂ.wav=i CD4,748.877,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂCD4,1246.933,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂCD4,1746.401,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i CD4,2233.238,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂCD4,2739.722,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂCD4,3220.948,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂCD4,3730.229,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂCD4,244.107,237.232,4310.327,112.232,82.772 +_ӂӂӂӂӂӂӂ.wav=e CD4,647.867,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂCD4,1112.233,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂCD4,1628.507,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂCD4,2143.377,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂCD4,2658.249,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂCD4,3133.838,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂCD4,3630.471,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂCD4,291.806,238.636,4261.224,113.636,88.383 +_ӂӂӂӂӂӂӂ.wav=o CD4,661.896,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂCD4,1157.126,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂCD4,1679.012,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂCD4,2182.66,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂCD4,2698.933,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂCD4,3205.387,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂCD4,3695.004,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=- CD4,232,184,4277,72,40 +_ӂӂӂӂӂӂ.wav=u CD4,595.959,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=n CD4,1101.01,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u CD4,1599.046,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂCD4,2085.859,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=e CD4,2595.116,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂCD4,3109.988,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=o CD4,3620.651,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=- CD4,361.952,220.398,4209.588,95.398,64.534 +_ӂӂӂւӂق.wav=u CD4,765.712,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=n CD4,1293.228,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u CD4,1794.1,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u CD4,2278.133,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=e CD4,2790.225,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u CD4,3289.692,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=o CD4,3791.958,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=- CD4,423.681,141.318,4226.939,16.835,5.611 +_ԂԂԂׂԂڂ.wav=u CD4,723.625,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=n CD4,1230.0,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u CD4,1730.0,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u CD4,2222,375,-583,250,83 +_ԂԂԂׂԂڂ.wav=e CD4,2743.93,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u CD4,3236.381,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=o CD4,3744.258,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=- CD4,291.806,153.058,4346.802,28.058,11.223 +_ՂՂՂ؂Ղۂ.wav=u CD4,611.391,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=n CD4,1122.053,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u CD4,1607.463,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u CD4,2092.873,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=e CD4,2614.758,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u CD4,3124.017,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=o CD4,3619.249,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=- CD4,230.078,213.383,4348.205,88.383,58.922 +_ւււقւ͂.wav=e CD4,594.556,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=n CD4,1119.248,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e CD4,1614.478,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e CD4,2126.542,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=o CD4,2631.594,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e CD4,3132.435,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=a CD4,3638.888,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=- CD4,241.301,168.49,4381.875,43.49,35.072 +_ׂׂׂڂׂ΂.wav=e CD4,555.275,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=n CD4,1049.999,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e CD4,1559.999,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e CD4,2060.607,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=o CD4,2559.998,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e CD4,3049.998,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=a CD4,3557.52,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=- CD4,318.462,161.475,4311.729,36.475,22.446 +_؂؂؂ۂ؂ς.wav=e CD4,640.852,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=n CD4,1130.0,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e CD4,1640.0,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e CD4,2153.198,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=o CD4,2665.263,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e CD4,3164.702,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=a CD4,3670.0,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=- CD4,290.404,200.756,4300.506,75.756,49.102 +_ققق͂قЂ.wav=o CD4,650.673,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=n CD4,1144.5,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o CD4,1631.313,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o CD4,2143.377,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=a CD4,2672.278,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o CD4,3184.343,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=i CD4,3661.334,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=- CD4,315.656,144.64,4331.37,19.64,11.223 +_ڂڂڂ΂ڂт.wav=o CD4,595.959,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=n CD4,1123.456,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o CD4,1629.91,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o CD4,2132.154,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=a CD4,2640.011,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o CD4,3153.479,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=i CD4,3640.291,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=- CD4,416.666,146.042,4229.23,21.042,8.417 +_ۂۂۂςۂ҂.wav=o CD4,718.013,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=n CD4,1220.278,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o CD4,1728.162,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o CD4,2223.419,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=a CD4,2724.288,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o CD4,3222.351,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=i CD4,3716.2,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=- CD4,325.476,203.562,4262.628,78.562,35.072 +_܂܂܂݂܂ނ.wav=a CD4,663.299,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=n CD4,1162.738,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a CD4,1673.4,375,-583,250,83 +_܂܂܂݂܂ނ.wav=a CD4,2178.452,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=i CD4,2679.292,375,-583,250,83 +_܂܂܂݂܂ނ.wav=a CD4,3189.955,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=u CD4,3680.976,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂CD4,373.176,192.339,4226.423,67.339,29.461 +_݂݂݂݂݂݂݂.wav=e CD4,699.775,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂CD4,1176.785,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂CD4,1673.442,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂CD4,2170.102,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂CD4,2683.596,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂CD4,3187.276,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂CD4,3696.558,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂CD4,277.777,169.892,4343.997,44.892,18.237 +_݂݂݂݂݂݂݂.wav=a CD4,583.333,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂CD4,1067.341,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂CD4,1583.613,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a CD4,2084.455,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂CD4,2581.087,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂CD4,3100.167,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂CD4,3584.174,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂CD4,328.282,176.716,4286.668,51.716,25.252 +_݂݂݂݂݂݂݂.wav=u CD4,639.45,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂CD4,1136.083,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂CD4,1643.939,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂CD4,2150.392,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂CD4,2666.665,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂CD4,3166.105,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂CD4,3654.319,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂CD4,204.826,199.353,4387.487,74.353,33.67 +_݂݂݂݂݂݂݂.wav=o CD4,544.05,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂CD4,1060.325,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂CD4,1562.57,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂CD4,2062.008,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂CD4,2557.239,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o CD4,3060.886,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂CD4,3539.281,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=- CD4,410,202,4113,67,35 +_݂݂݂ނ݂߂.wav=i CD4,726.43,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=n CD4,1241.32,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i CD4,1754.818,375,-583,250,83 +_݂݂݂ނ݂߂.wav=i CD4,2258.493,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=u CD4,2752.345,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i CD4,3250.408,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=e CD4,3752.676,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=- CD4,258.136,209.176,4324.354,84.176,37.878 +_ނނނ߂ނ.wav=u CD4,600.168,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=n CD4,1098.205,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u CD4,1613.075,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u CD4,2104.096,375,-583,250,83 +_ނނނ߂ނ.wav=e CD4,2624.579,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u CD4,3139.451,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=o CD4,3640.292,375,-583,250,83 +_߂߂߂߂܂.wav=- CD4,317.059,206.368,4268.239,81.368,44.893 +_߂߂߂߂܂.wav=e CD4,666.104,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=n CD4,1145.903,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e CD4,1655.162,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e CD4,2160.212,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=o CD4,2644,375,-583,250,83 +_߂߂߂߂܂.wav=e CD4,3149.999,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=a CD4,3659.999,375.0,-583.333,250.0,83.333 +_܂݂.wav=- CD4,387,210,4132,85,41 +_܂݂.wav=o CD4,726.43,375.0,-583.333,250.0,83.333 +_܂݂.wav=n CD4,1207.649,375.0,-583.333,250.0,83.333 +_܂݂.wav=o CD4,1730.965,375.0,-583.333,250.0,83.333 +_܂݂.wav=o CD4,2234.639,375.0,-583.333,250.0,83.333 +_܂݂.wav=a CD4,2752.346,375.0,-583.333,250.0,83.333 +_܂݂.wav=o CD4,3268.645,375.0,-583.333,250.0,83.333 +_܂݂.wav=i CD4,3768.107,375.0,-583.333,250.0,83.333 +_₢.wav=- CD4,202.02,223.203,4366.443,98.203,61.728 +_₢.wav=a CD4,556.676,375.0,-583.333,250.0,83.333 +_₢.wav=n CD4,1078.563,375.0,-583.333,250.0,83.333 +_₢.wav=a CD4,1587.822,375.0,-583.333,250.0,83.333 +_₢.wav=a CD4,2038.158,375.0,-583.333,250.0,83.333 +_₢.wav=i CD4,2600.729,375,-583,250,83 +_₢.wav=a CD4,3095.959,375.0,-583.333,250.0,83.333 +_₢.wav=u CD4,3616.442,375.0,-583.333,250.0,83.333 +_䂢.wav=- CD4,308.641,203.562,4279.463,78.562,56.116 +_䂢.wav=u CD4,639.449,375.0,-583.333,250.0,83.333 +_䂢.wav=n CD4,1129.068,375.0,-583.333,250.0,83.333 +_䂢.wav=u CD4,1674.803,375.0,-583.333,250.0,83.333 +_䂢.wav=u CD4,2174.242,375.0,-583.333,250.0,83.333 +_䂢.wav=e CD4,2712.962,375.0,-583.333,250.0,83.333 +_䂢.wav=u CD4,3213.803,375.0,-583.333,250.0,83.333 +_䂢.wav=o CD4,3728.675,375.0,-583.333,250.0,83.333 +_悢.wav=- CD4,388.608,228.815,4174.515,103.815,49.102 +_悢.wav=o CD4,740.46,375.0,-583.333,250.0,83.333 +_悢.wav=n CD4,1273.59,375.0,-583.333,250.0,83.333 +_悢.wav=o CD4,1796.907,375,-583,250,83 +_悢.wav=o CD4,2297.774,375.0,-583.333,250.0,83.333 +_悢.wav=a CD4,2822.495,375,-583,250,83 +_悢.wav=o CD4,3263.037,375.0,-583.333,250.0,83.333 +_悢.wav=i CD4,3820.015,375.0,-583.333,250.0,83.333 +_.wav=- CD4,213,257,4234,96,53 +_.wav=a CD4,570.708,375.0,-583.333,250.0,83.333 +_.wav=n CD4,1064.534,375.0,-583.333,250.0,83.333 +_.wav=a CD4,1576.599,375.0,-583.333,250.0,83.333 +_.wav=a CD4,2084.456,375.0,-583.333,250.0,83.333 +_.wav=i CD4,2589.506,375.0,-583.333,250.0,83.333 +_.wav=a CD4,3111.39,375.0,-583.333,250.0,83.333 +_.wav=u CD4,3599.999,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=- 肥CD4,411.054,179.713,4201.171,54.712,32.267 +_肥肥肥肥肥.wav=e CD4,730.0,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=n 肥CD4,1241.321,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e 肥CD4,1730.968,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e CD4,2240.254,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=o 肥CD4,2740.0,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e CD4,3218.142,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=a 肥CD4,3741.453,375.0,-583.333,250.0,83.333 +_.wav=- CD4,256.734,195.144,4339.788,70.144,35.072 +_.wav=a CD4,581.93,375.0,-583.333,250.0,83.333 +_.wav=n CD4,1070.145,375.0,-583.333,250.0,83.333 +_.wav=a CD4,1555.555,375.0,-583.333,250.0,83.333 +_.wav=a CD4,2063.411,375.0,-583.333,250.0,83.333 +_.wav=i CD4,2561.446,375.0,-583.333,250.0,83.333 +_.wav=a CD4,3070.707,375.0,-583.333,250.0,83.333 +_.wav=u CD4,3559.999,375.0,-583.333,250.0,83.333 +_肥.wav=- CD4,352.132,213.383,4226.151,88.383,56.116 +_肥.wav=u CD4,692.76,375.0,-583.333,250.0,83.333 +_肥.wav=n CD4,1203.423,375.0,-583.333,250.0,83.333 +_肥.wav=u CD4,1709.876,375.0,-583.333,250.0,83.333 +_肥.wav=u 肥CD4,2179.854,375.0,-583.333,250.0,83.333 +_肥.wav=e CD4,2694.725,375.0,-583.333,250.0,83.333 +_肥.wav=u CD4,3175.925,375.0,-583.333,250.0,83.333 +_肥.wav=o CD4,3696.408,375.0,-583.333,250.0,83.333 +_.wav=- CD4,242.704,190.936,4358.026,65.936,42.087 +_.wav=o CD4,580.527,375.0,-583.333,250.0,83.333 +_.wav=n CD4,1064.534,375.0,-583.333,250.0,83.333 +_.wav=o CD4,1572.389,375.0,-583.333,250.0,83.333 +_.wav=o CD4,2069.024,375.0,-583.333,250.0,83.333 +_.wav=a CD4,2569.866,375.0,-583.333,250.0,83.333 +_.wav=o CD4,3101.571,375,-583,250,83 +_.wav=i CD4,3586.98,375.0,-583.333,250.0,83.333 +_肥ガ.wav=- CD4,248.316,204.966,4338.384,79.966,64.534 +_肥ガ.wav=i CD4,615.601,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u CD4,1123.456,375,-583,250,83 +_肥ガ.wav=i 肥CD4,1587.822,375.0,-583.333,250.0,83.333 +_肥ガ.wav=e CD4,2122.334,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i CD4,2630.0,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u CD4,3122.615,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i CD4,3626.262,375.0,-583.333,250.0,83.333 +_.wav=- CD4,284.792,217.59,4289.282,92.591,56.116 +_.wav=i CD4,645.061,375.0,-583.333,250.0,83.333 +_.wav=n CD4,1166.947,375.0,-583.333,250.0,83.333 +_.wav=i CD4,1669.191,375.0,-583.333,250.0,83.333 +_.wav=i CD4,2158.81,375,-583,250,83 +_.wav=u CD4,2663.859,375.0,-583.333,250.0,83.333 +_.wav=i CD4,3164.702,375.0,-583.333,250.0,83.333 +_.wav=e CD4,3696.408,375.0,-583.333,250.0,83.333 +_.wav=- CD4,382.996,203.563,4205.379,78.562,57.519 +_.wav=u CD4,718.013,375.0,-583.333,250.0,83.333 +_.wav=n CD4,1232.9,375.0,-583.333,250.0,83.333 +_.wav=u CD4,1739,375,-583,250,83 +_.wav=u CD4,2226.224,375,-583,250,83 +_.wav=e CD4,2742.527,375.0,-583.333,250.0,83.333 +_.wav=u CD4,3234.977,375.0,-583.333,250.0,83.333 +_.wav=o CD4,3755.482,375.0,-583.333,250.0,83.333 +_.wav=- CD4,202.02,249.858,4339.788,124.858,79.966 +_.wav=e CD4,580.527,375.0,-583.333,250.0,83.333 +_.wav=n CD4,1092.592,375.0,-583.333,250.0,83.333 +_.wav=e CD4,1578.002,375.0,-583.333,250.0,83.333 +_.wav=e CD4,2089.998,375.0,-583.333,250.0,83.333 +_.wav=o CD4,2599.998,375.0,-583.333,250.0,83.333 +_.wav=e CD4,3102.974,375.0,-583.333,250.0,83.333 +_.wav=a CD4,3619.998,375.0,-583.333,250.0,83.333 +_.wav=- CD4,249.719,217.591,4324.356,92.591,54.713 +_.wav=o CD4,588.944,375.0,-583.333,250.0,83.333 +_.wav=n CD4,1102.413,375.0,-583.333,250.0,83.333 +_.wav=o CD4,1620.089,375,-583,250,83 +_.wav=o CD4,2099.887,375.0,-583.333,250.0,83.333 +_.wav=a CD4,2611.952,375.0,-583.333,250.0,83.333 +_.wav=o CD4,3122.615,375.0,-583.333,250.0,83.333 +_.wav=i CD4,3640.292,375.0,-583.333,250.0,83.333 +_키키.wav=- CD4,342,174,4167,62,34 +_키키.wav=a CD4,657.687,375.0,-583.333,250.0,83.333 +_키키.wav=n CD4,1147.306,375.0,-583.333,250.0,83.333 +_키키.wav=a CD4,1650.953,375,-583,250,83 +_키키.wav=a CD4,2158.81,375.0,-583.333,250.0,83.333 +_키키.wav=i CD4,2689.999,375.0,-583.333,250.0,83.333 +_키키.wav=a CD4,3168.911,375.0,-583.333,250.0,83.333 +_키키.wav=u CD4,3687.991,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=- CD4,357.744,178.308,4255.614,53.308,30.864 +_񂢂񂦂񂨂.wav=n CD4,649.999,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=i CD4,1113.636,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n CD4,1631.313,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=e CD4,2126.543,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n CD4,2647.025,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n CD4,2647.025,375,-583.333,250,83.333 +_񂢂񂦂񂨂.wav=o CD4,3117.003,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n RCD4,3849,699,284,250,83 diff --git a/OpenUtau.Test/Files/ja_vcv/C_G4/oto.ini b/OpenUtau.Test/Files/ja_vcv/C_G4/oto.ini new file mode 100644 index 000000000..5f37f25bd --- /dev/null +++ b/OpenUtau.Test/Files/ja_vcv/C_G4/oto.ini @@ -0,0 +1,1231 @@ +_.wav=- CG4,467,211,4015,54,17 +_.wav=a CG4,770.0,375.0,-583.333,250.0,83.333 +_.wav=a CG4,1239.921,375.0,-583.333,250.0,83.333 +_.wav=i CG4,1768,375,-583,250,83 +_.wav=a CG4,2248.673,375.0,-583.333,250.0,83.333 +_.wav=u CG4,2759.357,375.0,-583.333,250.0,83.333 +_.wav=e CG4,3282.673,375.0,-583.333,250.0,83.333 +_.wav=a RCG4,3854,536,478,250,83 +_.wav=- CG4,331.089,232.204,4226.0,98.204,54.713 +_.wav=i CG4,654,375,-583,250,83 +_.wav=i CG4,1103.814,375.0,-583.333,250.0,83.333 +_.wav=u CG4,1621.492,375.0,-583.333,250.0,83.333 +_.wav=a CG4,2098.484,375.0,-583.333,250.0,83.333 +_.wav=e CG4,2628.787,375.0,-583.333,250.0,83.333 +_.wav=i CG4,3125.42,375.0,-583.333,250.0,83.333 +_.wav=e RCG4,3569,576,760,250,83 +_񂢂悢₢.wav=- CG4,321.268,211.98,4258.418,86.98,57.519 +_񂢂悢₢.wav=e CG4,671.717,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=n CG4,1175.364,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e CG4,1693.041,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e CG4,2184.062,375,-583,250,83 +_񂢂悢₢.wav=o CG4,2724.186,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e CG4,3220.819,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=a CG4,3732.884,375.0,-583.333,250.0,83.333 +_񃔂.wav=- CG4,273.569,218.993,4299.104,93.993,67.34 +_񃔂.wav=a CG4,656.285,375.0,-583.333,250.0,83.333 +_񃔂.wav=n CG4,1138.888,375.0,-583.333,250.0,83.333 +_񃔂.wav=a CG4,1649.551,375.0,-583.333,250.0,83.333 +_񃔂.wav=a CG4,2147.586,375.0,-583.333,250.0,83.333 +_񃔂.wav=i CG4,2632.997,375.0,-583.333,250.0,83.333 +_񃔂.wav=a CG4,3154.881,375.0,-583.333,250.0,83.333 +_񃔂.wav=u CG4,3638.888,375.0,-583.333,250.0,83.333 +_񂤂.wav=- CG4,392.817,206.368,4192.753,81.368,56.116 +_񂤂.wav=i CG4,727.834,375.0,-583.333,250.0,83.333 +_񂤂.wav=n CG4,1246.935,375.0,-583.333,250.0,83.333 +_񂤂.wav=i CG4,1775.863,375.0,-583.333,250.0,83.333 +_񂤂.wav=i CG4,2247.269,375.0,-583.333,250.0,83.333 +_񂤂.wav=u CG4,2755.154,375.0,-583.333,250.0,83.333 +_񂤂.wav=i CG4,3256.022,375.0,-583.333,250.0,83.333 +_񂤂.wav=e CG4,3765.301,375.0,-583.333,250.0,83.333 +_񃔂.wav=- CG4,391.414,176.908,4223.616,51.908,29.461 +_񃔂.wav=i CG4,723.625,375.0,-583.333,250.0,83.333 +_񃔂.wav=n CG4,1200.636,375.0,-583.333,250.0,83.333 +_񃔂.wav=i CG4,1721.147,375.0,-583.333,250.0,83.333 +_񃔂.wav=i CG4,2207.986,375.0,-583.333,250.0,83.333 +_񃔂.wav=u CG4,2701.839,375.0,-583.333,250.0,83.333 +_񃔂.wav=i CG4,3204.113,375.0,-583.333,250.0,83.333 +_񃔂.wav=e CG4,3711.991,375.0,-583.333,250.0,83.333 +_.wav=- CG4,399.831,190.936,4200.899,65.935,47.699 +_.wav=u CG4,700.0,375.0,-583.333,250.0,83.333 +_.wav=u CG4,1182.379,375.0,-583.333,250.0,83.333 +_.wav=i CG4,1643.939,375.0,-583.333,250.0,83.333 +_.wav=i CG4,1643.939,375,-583.333,250,83.333 +_.wav=o CG4,2161.616,375.0,-583.333,250.0,83.333 +_.wav=a CG4,2680.694,375.0,-583.333,250.0,83.333 +_.wav=a CG4,2680.694,375,-583.333,250,83.333 +_.wav=o CG4,3167.508,375.0,-583.333,250.0,83.333 +_.wav=i RCG4,3723,571,588,250,83 +_䂢.wav=- CG4,270.763,164.236,4356.668,39.236,18.237 +_䂢.wav=u CG4,587.542,375.0,-583.333,250.0,83.333 +_䂢.wav=e CG4,1082.772,375.0,-583.333,250.0,83.333 +_䂢.wav=u CG4,1590.0,375.0,-583.333,250.0,83.333 +_䂢.wav=o CG4,2077.441,375.0,-583.333,250.0,83.333 +_䂢.wav=i CG4,2567.059,375.0,-583.333,250.0,83.333 +_䂢.wav=u CG4,3032.828,375.0,-583.333,250.0,83.333 +_䂢.wav=i CG4,3554.713,375.0,-583.333,250.0,83.333 +_񃔂.wav=- CG4,246.913,192.339,4352.414,67.339,40.684 +_񃔂.wav=e CG4,569.304,375.0,-583.333,250.0,83.333 +_񃔂.wav=n CG4,1077.16,375.0,-583.333,250.0,83.333 +_񃔂.wav=e CG4,1604.658,375.0,-583.333,250.0,83.333 +_񃔂.wav=e CG4,2095.679,375.0,-583.333,250.0,83.333 +_񃔂.wav=o CG4,2616.161,375.0,-583.333,250.0,83.333 +_񃔂.wav=e CG4,3102.974,375.0,-583.333,250.0,83.333 +_񃔂.wav=a CG4,3624.859,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- CG4,296.015,176.907,4318.744,51.907,30.864 +_񂤂키.wav=e CG4,635.241,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n CG4,1113.636,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e CG4,1634.118,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e CG4,2129.349,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o CG4,2638.608,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e CG4,3126.823,375.0,-583.333,250.0,83.333 +_񂤂키.wav=a CG4,3627.665,375.0,-583.333,250.0,83.333 +_񃔂.wav=- CG4,329.685,183.922,4278.059,58.922,40.684 +_񃔂.wav=o CG4,657.687,375.0,-583.333,250.0,83.333 +_񃔂.wav=n CG4,1173.961,375.0,-583.333,250.0,83.333 +_񃔂.wav=o CG4,1671.997,375.0,-583.333,250.0,83.333 +_񃔂.wav=o CG4,2165.823,375.0,-583.333,250.0,83.333 +_񃔂.wav=a CG4,2677.89,375.0,-583.333,250.0,83.333 +_񃔂.wav=o CG4,3180.134,375.0,-583.333,250.0,83.333 +_񃔂.wav=i CG4,3690.796,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- CG4,347.923,161.474,4282.54,36.475,25.252 +_񂤂키.wav=o CG4,681.537,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n CG4,1189.412,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o CG4,1709.922,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o CG4,2209.389,375,-583,250,83 +_񂤂키.wav=a CG4,2721.482,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o CG4,3222.351,375.0,-583.333,250.0,83.333 +_񂤂키.wav=i CG4,3710.588,375.0,-583.333,250.0,83.333 +_񃔃.wav=- CG4,187.991,188.13,4415.545,63.13,32.267 +_񃔃.wav=u CG4,553.872,375.0,-583.333,250.0,83.333 +_񃔃.wav=n CG4,1039.281,375.0,-583.333,250.0,83.333 +_񃔃.wav=u CG4,1538.72,375.0,-583.333,250.0,83.333 +_񃔃.wav=u CG4,2054.993,375.0,-583.333,250.0,83.333 +_񃔃.wav=e CG4,2557.238,375.0,-583.333,250.0,83.333 +_񃔃.wav=u CG4,3066.498,375.0,-583.333,250.0,83.333 +_񃔃.wav=o CG4,3586.98,375.0,-583.333,250.0,83.333 +_.wav=- CG4,406.846,183.921,4201.171,58.92,39.281 +_.wav=e CG4,730.638,375.0,-583.333,250.0,83.333 +_.wav=e CG4,1219.999,375.0,-583.333,250.0,83.333 +_.wav=u CG4,1719.999,375.0,-583.333,250.0,83.333 +_.wav=u CG4,1719.999,375,-583.333,250,83.333 +_.wav=o CG4,2238.85,375.0,-583.333,250.0,83.333 +_.wav=e CG4,2732.705,375.0,-583.333,250.0,83.333 +_.wav=e CG4,2732.705,375,-583.333,250,83.333 +_.wav=o CG4,3243.394,375.0,-583.333,250.0,83.333 +_.wav=o CG4,3243.394,375,-583.333,250,83.333 +_.wav=o RCG4,3755,606,501,250,83 +_񂠂.wav=- CG4,251.122,193.877,4346.668,68.877,42.087 +_񂠂.wav=- CG4,251.122,193.877,4346.668,68.877,42.087 +_񂠂.wav=o CG4,581.93,375.0,-583.333,250.0,83.333 +_񂠂.wav=u CG4,1058.922,375.0,-583.333,250.0,83.333 +_񂠂.wav=n CG4,1562.57,375.0,-583.333,250.0,83.333 +_񂠂.wav=a CG4,2067.62,375.0,-583.333,250.0,83.333 +_񂠂.wav=n CG4,2595.117,375.0,-583.333,250.0,83.333 +_񂠂.wav=n CG4,3056.677,375.0,-583.333,250.0,83.333 +_񂠂.wav=u RCG4,3590,536,701,250,83 +_ĂĂエłł.wav=- CG4,375.982,179.71,4250.002,54.711,37.878 +_ĂĂエłł.wav=o ĂCG4,667.508,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u CG4,1193.602,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n ĂCG4,1666.386,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u CG4,2144.781,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=o łCG4,2672.278,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u CG4,3173.12,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n łCG4,3652.917,375.0,-583.333,250.0,83.333 +_񂩂.wav=- CG4,416,170,4126,17,8 +_񂩂.wav=a CG4,678.731,375.0,-583.333,250.0,83.333 +_񂩂.wav=n CG4,1186.588,375.0,-583.333,250.0,83.333 +_񂩂.wav=a CG4,1712.682,375,-583,250,83 +_񂩂.wav=a CG4,2230.359,375.0,-583.333,250.0,83.333 +_񂩂.wav=i CG4,2741.021,375,-583,250,83 +_񂩂.wav=a CG4,3248.877,375.0,-583.333,250.0,83.333 +_񂩂.wav=u CG4,3758.136,375.0,-583.333,250.0,83.333 +_񂪂.wav=- CG4,234.287,154.46,4402.919,29.46,15.432 +_񂪂.wav=a CG4,542.648,375.0,-583.333,250.0,83.333 +_񂪂.wav=n CG4,1040.684,375.0,-583.333,250.0,83.333 +_񂪂.wav=a CG4,1558,375,-583,250,83 +_񂪂.wav=a CG4,2080.246,375.0,-583.333,250.0,83.333 +_񂪂.wav=i CG4,2586.7,375.0,-583.333,250.0,83.333 +_񂪂.wav=a CG4,3102.974,375.0,-583.333,250.0,83.333 +_񂪂.wav=u CG4,3601.01,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=- CG4,357.744,176.907,4257.015,51.907,25.252 +_񂫂傫Ⴋ.wav=e CG4,659.09,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=n CG4,1148.709,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e CG4,1671.997,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e CG4,2184.062,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=o CG4,2694.725,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e CG4,3173.12,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=a CG4,3680.975,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=- CG4,436.307,164.281,4191.35,39.281,16.835 +_񂬂催Ⴌ.wav=e CG4,761.502,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=n CG4,1225.889,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e CG4,1743.596,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e CG4,2261.3,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=o CG4,2779.005,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e CG4,3271.456,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=a CG4,3769.511,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=- CG4,403,142,4190,45,13 +_カɂɂɂɂ.wav=i CG4,712.401,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u CG4,1217.472,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i CG4,1735.177,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=e CG4,2231.836,375,-583,250,83 +_カɂɂɂɂ.wav=i ɂCG4,2728.496,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u CG4,3211.127,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i ɂCG4,3696.559,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=- CG4,255.331,167.086,4369.249,42.086,19.64 +_񂫂ႫႫႫカ.wav=a CG4,548.26,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=n CG4,1060.325,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a CG4,1572.39,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a CG4,2054.993,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=i CG4,2567.058,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a CG4,3067.901,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=u CG4,3554.713,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=- CG4,310.044,169.893,4311.729,44.893,25.252 +_񂬂ႬႬႬガ.wav=a CG4,608.584,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=n CG4,1129.068,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a CG4,1650.953,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a CG4,2146.184,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=i CG4,2648.428,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a CG4,3149.27,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=u CG4,3640.292,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=- CG4,281.986,183.922,4325.758,58.922,30.864 +_񂫂カカカ傫.wav=u CG4,587.543,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=n CG4,1088.383,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u CG4,1599.046,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u CG4,2087.262,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=e CG4,2602.131,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u CG4,3100.168,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=o CG4,3608.024,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=- CG4,296.015,213.382,4282.268,88.383,61.728 +_񂬂ガガガ催.wav=u CG4,664.702,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=n CG4,1168.351,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u CG4,1667.79,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u CG4,2172.839,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=e CG4,2679.292,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u CG4,3188.552,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=o CG4,3685.185,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=- CG4,415.263,182.518,4194.157,57.518,29.461 +_񂫂傫傫Ⴋ傫.wav=o CG4,718.012,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=n CG4,1231.502,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o CG4,1743.597,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o CG4,2229.031,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=a CG4,2728.498,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o CG4,3267.249,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=i CG4,3751.272,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=- CG4,273.569,164.28,4353.817,39.28,15.432 +_񂬂催催Ⴌ催.wav=o CG4,576.318,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=n CG4,1077.16,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o CG4,1580.808,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o CG4,2083.051,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=a CG4,2588.104,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o CG4,3107.182,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=i CG4,3592.592,375.0,-583.333,250.0,83.333 +_񂫂.wav=- CG4,467.171,179.712,4145.054,54.712,36.475 +_񂫂.wav=i CG4,781.145,375.0,-583.333,250.0,83.333 +_񂫂.wav=n CG4,1301.652,375.0,-583.333,250.0,83.333 +_񂫂.wav=i CG4,1803.926,375.0,-583.333,250.0,83.333 +_񂫂.wav=i CG4,2313,375,-583,250,83 +_񂫂.wav=u CG4,2829.513,375.0,-583.333,250.0,83.333 +_񂫂.wav=i CG4,3321.966,375.0,-583.333,250.0,83.333 +_񂫂.wav=e CG4,3843.866,375.0,-583.333,250.0,83.333 +_񂬂.wav=- CG4,225.869,218.995,4346.802,93.995,64.534 +_񂬂.wav=i CG4,563.692,375.0,-583.333,250.0,83.333 +_񂬂.wav=n CG4,1096.801,375.0,-583.333,250.0,83.333 +_񂬂.wav=i CG4,1628.506,375.0,-583.333,250.0,83.333 +_񂬂.wav=i CG4,2111.111,375.0,-583.333,250.0,83.333 +_񂬂.wav=u CG4,2637.205,375.0,-583.333,250.0,83.333 +_񂬂.wav=i CG4,3161.896,375.0,-583.333,250.0,83.333 +_񂬂.wav=e CG4,3671.156,375.0,-583.333,250.0,83.333 +_񂭂.wav=- CG4,423.681,162.878,4205.379,37.877,22.446 +_񂭂.wav=a CG4,749.999,375.0,-583.333,250.0,83.333 +_񂭂.wav=n CG4,1230.099,375.0,-583.333,250.0,83.333 +_񂭂.wav=a CG4,1753.416,375.0,-583.333,250.0,83.333 +_񂭂.wav=a CG4,2266.912,375.0,-583.333,250.0,83.333 +_񂭂.wav=i CG4,2777.603,375.0,-583.333,250.0,83.333 +_񂭂.wav=a CG4,3263.038,375.0,-583.333,250.0,83.333 +_񂭂.wav=u CG4,3752.676,375.0,-583.333,250.0,83.333 +_񂮂.wav=- CG4,262.345,150.252,4379.068,25.252,14.029 +_񂮂.wav=a CG4,538.439,375.0,-583.333,250.0,83.333 +_񂮂.wav=n CG4,1042.087,375.0,-583.333,250.0,83.333 +_񂮂.wav=a CG4,1561.167,375.0,-583.333,250.0,83.333 +_񂮂.wav=a CG4,2067.62,375.0,-583.333,250.0,83.333 +_񂮂.wav=i CG4,2572.671,375.0,-583.333,250.0,83.333 +_񂮂.wav=a CG4,3059.483,375.0,-583.333,250.0,83.333 +_񂮂.wav=u CG4,3549.102,375.0,-583.333,250.0,83.333 +_񂭂.wav=- CG4,255.331,195.144,4341.191,70.144,43.49 +_񂭂.wav=i CG4,588.945,375.0,-583.333,250.0,83.333 +_񂭂.wav=n CG4,1092.592,375.0,-583.333,250.0,83.333 +_񂭂.wav=i CG4,1601.851,375.0,-583.333,250.0,83.333 +_񂭂.wav=i CG4,2113.917,375.0,-583.333,250.0,83.333 +_񂭂.wav=u CG4,2637.205,375.0,-583.333,250.0,83.333 +_񂭂.wav=i CG4,3133.838,375.0,-583.333,250.0,83.333 +_񂭂.wav=e CG4,3637.484,375.0,-583.333,250.0,83.333 +_񂮂.wav=- CG4,227.272,221.801,4342.593,96.801,65.937 +_񂮂.wav=i CG4,591.75,375.0,-583.333,250.0,83.333 +_񂮂.wav=n CG4,1112.233,375.0,-583.333,250.0,83.333 +_񂮂.wav=i CG4,1636.925,375.0,-583.333,250.0,83.333 +_񂮂.wav=i CG4,2116.721,375.0,-583.333,250.0,83.333 +_񂮂.wav=u CG4,2616.161,375.0,-583.333,250.0,83.333 +_񂮂.wav=i CG4,3124.017,375.0,-583.333,250.0,83.333 +_񂮂.wav=e CG4,3637.485,375.0,-583.333,250.0,83.333 +_񂭂.wav=- CG4,308.641,167.087,4315.938,42.087,15.432 +_񂭂.wav=e CG4,629.63,375.0,-583.333,250.0,83.333 +_񂭂.wav=n CG4,1127.665,375.0,-583.333,250.0,83.333 +_񂭂.wav=e CG4,1645.341,375.0,-583.333,250.0,83.333 +_񂭂.wav=e CG4,2160.213,375.0,-583.333,250.0,83.333 +_񂭂.wav=o CG4,2658.249,375.0,-583.333,250.0,83.333 +_񂭂.wav=e CG4,3173.12,375.0,-583.333,250.0,83.333 +_񂭂.wav=a CG4,3680.976,375.0,-583.333,250.0,83.333 +_񂮂.wav=- CG4,368.967,162.877,4259.822,37.877,14.029 +_񂮂.wav=e CG4,682.94,375.0,-583.333,250.0,83.333 +_񂮂.wav=n CG4,1185.186,375.0,-583.333,250.0,83.333 +_񂮂.wav=e CG4,1701.459,375.0,-583.333,250.0,83.333 +_񂮂.wav=e CG4,2192.48,375.0,-583.333,250.0,83.333 +_񂮂.wav=o CG4,2712.962,375.0,-583.333,250.0,83.333 +_񂮂.wav=e CG4,3201.178,375.0,-583.333,250.0,83.333 +_񂮂.wav=a CG4,3703.423,375.0,-583.333,250.0,83.333 +_񂭂.wav=- CG4,405.443,165.682,4220.812,40.683,15.432 +_񂭂.wav=o CG4,703.983,375.0,-583.333,250.0,83.333 +_񂭂.wav=n CG4,1178.19,375.0,-583.333,250.0,83.333 +_񂭂.wav=o CG4,1681.864,375.0,-583.333,250.0,83.333 +_񂭂.wav=o CG4,2207.986,375.0,-583.333,250.0,83.333 +_񂭂.wav=a CG4,2717.276,375.0,-583.333,250.0,83.333 +_񂭂.wav=o CG4,3243.395,375.0,-583.333,250.0,83.333 +_񂭂.wav=i CG4,3728.826,375.0,-583.333,250.0,83.333 +_񂮂.wav=- CG4,409.652,157.266,4225.02,32.266,12.626 +_񂮂.wav=o CG4,732.042,375.0,-583.333,250.0,83.333 +_񂮂.wav=n CG4,1223.084,375.0,-583.333,250.0,83.333 +_񂮂.wav=o CG4,1737.983,375.0,-583.333,250.0,83.333 +_񂮂.wav=o CG4,2217.807,375.0,-583.333,250.0,83.333 +_񂮂.wav=a CG4,2728.497,375.0,-583.333,250.0,83.333 +_񂮂.wav=o CG4,3241.993,375.0,-583.333,250.0,83.333 +_񂮂.wav=i CG4,3740.05,375.0,-583.333,250.0,83.333 +_.wav=- CG4,266.554,167.086,4358.026,42.086,19.64 +_.wav=u CG4,537.036,375.0,-583.333,250.0,83.333 +_.wav=e CG4,1054.713,375,-583,250,83 +_.wav=u CG4,1558.361,375.0,-583.333,250.0,83.333 +_.wav=o CG4,2047.979,375.0,-583.333,250.0,83.333 +_.wav=u CG4,2539.001,375.0,-583.333,250.0,83.333 +_.wav=e CG4,3053.872,375.0,-583.333,250.0,83.333 +_.wav=u CG4,3554.713,375.0,-583.333,250.0,83.333 +_񂭂.wav=- CG4,325.476,158.669,4307.521,33.669,9.82 +_񂭂.wav=u CG4,597.362,375.0,-583.333,250.0,83.333 +_񂭂.wav=n CG4,1116.442,375.0,-583.333,250.0,83.333 +_񂭂.wav=u CG4,1631.313,375,-583,250,83 +_񂭂.wav=u CG4,2113.917,375.0,-583.333,250.0,83.333 +_񂭂.wav=e CG4,2631.593,375.0,-583.333,250.0,83.333 +_񂭂.wav=u CG4,3166.105,375.0,-583.333,250.0,83.333 +_񂭂.wav=o CG4,3644.5,375.0,-583.333,250.0,83.333 +_񂮂.wav=- CG4,381.593,161.475,4248.598,36.475,18.237 +_񂮂.wav=u CG4,691.358,375.0,-583.333,250.0,83.333 +_񂮂.wav=n CG4,1204.826,375.0,-583.333,250.0,83.333 +_񂮂.wav=u CG4,1716.89,375.0,-583.333,250.0,83.333 +_񂮂.wav=u CG4,2202.3,375.0,-583.333,250.0,83.333 +_񂮂.wav=e CG4,2705.948,375.0,-583.333,250.0,83.333 +_񂮂.wav=u CG4,3218.013,375.0,-583.333,250.0,83.333 +_񂮂.wav=o CG4,3700.616,375.0,-583.333,250.0,83.333 +_񂯂.wav=- CG4,357.744,158.668,4275.254,33.668,18.237 +_񂯂.wav=e CG4,664.703,375.0,-583.333,250.0,83.333 +_񂯂.wav=n CG4,1161.335,375.0,-583.333,250.0,83.333 +_񂯂.wav=e CG4,1673.4,375.0,-583.333,250.0,83.333 +_񂯂.wav=e CG4,2196.689,375.0,-583.333,250.0,83.333 +_񂯂.wav=o CG4,2711.56,375,-583,250,83 +_񂯂.wav=e CG4,3222.221,375.0,-583.333,250.0,83.333 +_񂯂.wav=a CG4,3742.704,375.0,-583.333,250.0,83.333 +_񂰂.wav=- CG4,411.054,164.28,4216.604,39.28,15.432 +_񂰂.wav=e CG4,750.281,375.0,-583.333,250.0,83.333 +_񂰂.wav=n CG4,1227.293,375.0,-583.333,250.0,83.333 +_񂰂.wav=e CG4,1756.222,375.0,-583.333,250.0,83.333 +_񂰂.wav=e CG4,2259.897,375.0,-583.333,250.0,83.333 +_񂰂.wav=o CG4,2787.423,375.0,-583.333,250.0,83.333 +_񂰂.wav=e CG4,3278.471,375.0,-583.333,250.0,83.333 +_񂰂.wav=a CG4,3780.734,375.0,-583.333,250.0,83.333 +_񂱂.wav=- CG4,419,201,4109,38,16 +_񂱂.wav=o CG4,723.625,375.0,-583.333,250.0,83.333 +_񂱂.wav=n CG4,1242.726,375.0,-583.333,250.0,83.333 +_񂱂.wav=o CG4,1753.416,375.0,-583.333,250.0,83.333 +_񂱂.wav=o CG4,2246,375,-583,250,83 +_񂱂.wav=a CG4,2756.557,375.0,-583.333,250.0,83.333 +_񂱂.wav=o CG4,3271.456,375.0,-583.333,250.0,83.333 +_񂱂.wav=i CG4,3750,375,-583,250,83 +_񂲂.wav=- CG4,199.214,230.218,4362.234,105.218,71.548 +_񂲂.wav=o CG4,593.153,375.0,-583.333,250.0,83.333 +_񂲂.wav=n CG4,1070.145,375.0,-583.333,250.0,83.333 +_񂲂.wav=o CG4,1586.419,375.0,-583.333,250.0,83.333 +_񂲂.wav=o CG4,2099,375,-583,250,83 +_񂲂.wav=a CG4,2621.773,375.0,-583.333,250.0,83.333 +_񂲂.wav=o CG4,3124.017,375.0,-583.333,250.0,83.333 +_񂲂.wav=i CG4,3631.874,375.0,-583.333,250.0,83.333 +_񂳂.wav=- CG4,144.5,335.751,4228.749,169.751,126.751 +_񂳂.wav=a CG4,593.153,375.0,-583.333,250.0,83.333 +_񂳂.wav=n CG4,1081.369,375.0,-583.333,250.0,83.333 +_񂳂.wav=a CG4,1590,375,-583,250,83 +_񂳂.wav=a CG4,2116.721,375.0,-583.333,250.0,83.333 +_񂳂.wav=i CG4,2624,375,-583,250,83 +_񂳂.wav=a CG4,3129,375,-583,250,83 +_񂳂.wav=u CG4,3609.427,375.0,-583.333,250.0,83.333 +_񂴂.wav=- CG4,300.224,188.13,4303.312,63.13,35.072 +_񂴂.wav=a CG4,649.27,375.0,-583.333,250.0,83.333 +_񂴂.wav=n CG4,1151.514,375.0,-583.333,250.0,83.333 +_񂴂.wav=a CG4,1660.774,375.0,-583.333,250.0,83.333 +_񂴂.wav=a CG4,2157.407,375.0,-583.333,250.0,83.333 +_񂴂.wav=i CG4,2676.488,375.0,-583.333,250.0,83.333 +_񂴂.wav=a CG4,3191.358,375.0,-583.333,250.0,83.333 +_񂴂.wav=u CG4,3675.363,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=- CG4,317.059,287.737,4187.142,162.737,88.383 +_񂵂債Ⴕ.wav=e CG4,720.819,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=n CG4,1249.741,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e CG4,1746.401,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e CG4,2243.061,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=o CG4,2779.006,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e CG4,3254.62,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=a CG4,3747.064,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=- CG4,213.243,265.291,4313.132,140.291,74.354 +_񂶂傶Ⴖ.wav=e CG4,633.838,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=n CG4,1129.068,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e CG4,1638.327,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e CG4,2125.14,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=o CG4,2648.428,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e CG4,3153.479,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=a CG4,3652.917,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=- CG4,176.767,275.111,4339.788,150.111,99.607 +_񂵂ႵႵႵサ.wav=a CG4,549.663,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=n CG4,1077.16,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a CG4,1583.613,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a CG4,2090.067,375,-583,250,83 +_񂵂ႵႵႵサ.wav=i CG4,2567.059,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a CG4,3076.317,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=u CG4,3570.145,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=- CG4,326.879,178.31,4286.477,53.31,28.058 +_񂶂ႶႶႶザ.wav=a CG4,645.061,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=n CG4,1159.932,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a CG4,1676.206,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a CG4,2188.271,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=i CG4,2686.307,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a CG4,3198.372,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=u CG4,3678.17,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=- CG4,305.836,280.723,4205.107,155.722,115.039 +_񂵂サササ債.wav=u CG4,685.746,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=n CG4,1209.999,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u CG4,1698.653,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u CG4,2203.703,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=e CG4,2711.56,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u CG4,3208.193,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=o CG4,3699.999,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=- CG4,144.5,272.304,4374.862,147.304,106.621 +_񂶂ザザザ傶.wav=u CG4,553.872,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=n CG4,1054.713,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u CG4,1563.973,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u CG4,2043.771,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=e CG4,2558.64,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u CG4,3070.708,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=o CG4,3568.741,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=- CG4,204.826,282.125,4304.716,157.125,120.65 +_񂵂債債Ⴕ債.wav=o CG4,621.212,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=n CG4,1109.427,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o CG4,1593.434,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o CG4,2084.455,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=a CG4,2588.104,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o CG4,3088.945,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=i CG4,3582.772,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=- CG4,402.637,195.144,4193.885,70.144,42.087 +_񂶂傶傶Ⴖ傶.wav=o CG4,740.0,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=n CG4,1220.258,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o CG4,1715.488,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o CG4,2227.553,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=a CG4,2729.797,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o CG4,3206.79,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=i CG4,3700.616,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=- CG4,202.02,282.979,4306.667,157.979,110.83 +_񂵂サ.wav=i CG4,622.615,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=n CG4,1133.277,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i CG4,1652.356,375,-583,250,83 +_񂵂サ.wav=i CG4,2134.961,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=u CG4,2648.428,375,-583,250,83 +_񂵂サ.wav=i CG4,3125.419,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=e CG4,3630,375,-583,250,83 +_񂶂ザ.wav=- CG4,342.312,182.687,4266.939,57.687,36.475 +_񂶂ザ.wav=i CG4,689.955,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=n CG4,1220.0,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i CG4,1742.192,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i CG4,2238.852,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=u CG4,2736.915,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i CG4,3227.963,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=e CG4,3740.05,375.0,-583.333,250.0,83.333 +_񂷂.wav=- CG4,228.675,251.262,4311.729,126.262,84.175 +_񂷂.wav=i CG4,645.061,375.0,-583.333,250.0,83.333 +_񂷂.wav=n CG4,1150.112,375.0,-583.333,250.0,83.333 +_񂷂.wav=i CG4,1643.938,375.0,-583.333,250.0,83.333 +_񂷂.wav=i CG4,2164.421,375.0,-583.333,250.0,83.333 +_񂷂.wav=u CG4,2658.249,375.0,-583.333,250.0,83.333 +_񂷂.wav=i CG4,3136.644,375.0,-583.333,250.0,83.333 +_񂷂.wav=e CG4,3644.5,375.0,-583.333,250.0,83.333 +_񂸂.wav=- CG4,353.535,191.464,4246.666,66.464,40.684 +_񂸂.wav=i CG4,696.968,375.0,-583.333,250.0,83.333 +_񂸂.wav=n CG4,1200.0,375.0,-583.333,250.0,83.333 +_񂸂.wav=i CG4,1697.251,375.0,-583.333,250.0,83.333 +_񂸂.wav=i CG4,2220.538,375.0,-583.333,250.0,83.333 +_񂸂.wav=u CG4,2715.767,375.0,-583.333,250.0,83.333 +_񂸂.wav=i CG4,3215.207,375.0,-583.333,250.0,83.333 +_񂸂.wav=e CG4,3732.884,375.0,-583.333,250.0,83.333 +_񂷂.wav=- CG4,265.151,282.125,4244.389,157.126,126.262 +_񂷂.wav=u CG4,685.746,375.0,-583.333,250.0,83.333 +_񂷂.wav=n CG4,1179.573,375.0,-583.333,250.0,83.333 +_񂷂.wav=u CG4,1687.429,375.0,-583.333,250.0,83.333 +_񂷂.wav=u CG4,2186.868,375.0,-583.333,250.0,83.333 +_񂷂.wav=e CG4,2697.53,375,-583,250,83 +_񂷂.wav=u CG4,3205.387,375.0,-583.333,250.0,83.333 +_񂷂.wav=o CG4,3709.035,375.0,-583.333,250.0,83.333 +_񂸂.wav=- CG4,457.351,182.517,4152.069,57.517,42.087 +_񂸂.wav=u CG4,771.324,375.0,-583.333,250.0,83.333 +_񂸂.wav=n CG4,1296.039,375.0,-583.333,250.0,83.333 +_񂸂.wav=u CG4,1789.893,375.0,-583.333,250.0,83.333 +_񂸂.wav=u CG4,2264.105,375.0,-583.333,250.0,83.333 +_񂸂.wav=e CG4,2777.6,375.0,-583.333,250.0,83.333 +_񂸂.wav=u CG4,3274.262,375.0,-583.333,250.0,83.333 +_񂸂.wav=o CG4,3768.107,375.0,-583.333,250.0,83.333 +_񂹂.wav=- CG4,335.297,272.305,4184.336,147.305,108.024 +_񂹂.wav=e CG4,779.741,375.0,-583.333,250.0,83.333 +_񂹂.wav=n CG4,1280.608,375.0,-583.333,250.0,83.333 +_񂹂.wav=e CG4,1784.283,375.0,-583.333,250.0,83.333 +_񂹂.wav=e CG4,2296.376,375.0,-583.333,250.0,83.333 +_񂹂.wav=o CG4,2805.663,375.0,-583.333,250.0,83.333 +_񂹂.wav=e CG4,3291.098,375.0,-583.333,250.0,83.333 +_񂹂.wav=a CG4,3786.346,375.0,-583.333,250.0,83.333 +_񂺂.wav=- CG4,195.005,223.203,4373.459,98.203,70.145 +_񂺂.wav=e CG4,563.692,375.0,-583.333,250.0,83.333 +_񂺂.wav=n CG4,1089.786,375.0,-583.333,250.0,83.333 +_񂺂.wav=e CG4,1600.448,375.0,-583.333,250.0,83.333 +_񂺂.wav=e CG4,2109.709,375.0,-583.333,250.0,83.333 +_񂺂.wav=o CG4,2621.773,375.0,-583.333,250.0,83.333 +_񂺂.wav=e CG4,3101.571,375.0,-583.333,250.0,83.333 +_񂺂.wav=a CG4,3602.413,375.0,-583.333,250.0,83.333 +_񂻂.wav=- CG4,190.796,290.543,4310.327,165.543,119.248 +_񂻂.wav=o CG4,612.794,375.0,-583.333,250.0,83.333 +_񂻂.wav=n CG4,1095.399,375.0,-583.333,250.0,83.333 +_񂻂.wav=o CG4,1608.866,375.0,-583.333,250.0,83.333 +_񂻂.wav=o CG4,2095.679,375.0,-583.333,250.0,83.333 +_񂻂.wav=a CG4,2614.758,375.0,-583.333,250.0,83.333 +_񂻂.wav=o CG4,3131.031,375.0,-583.333,250.0,83.333 +_񂻂.wav=i CG4,3615.039,375.0,-583.333,250.0,83.333 +_񂼂.wav=- CG4,329.685,189.533,4272.448,64.533,37.878 +_񂼂.wav=o CG4,656.285,375.0,-583.333,250.0,83.333 +_񂼂.wav=n CG4,1171.156,375.0,-583.333,250.0,83.333 +_񂼂.wav=o CG4,1681.818,375.0,-583.333,250.0,83.333 +_񂼂.wav=o CG4,2182.659,375.0,-583.333,250.0,83.333 +_񂼂.wav=a CG4,2677.891,375.0,-583.333,250.0,83.333 +_񂼂.wav=o CG4,3184.343,375.0,-583.333,250.0,83.333 +_񂼂.wav=i CG4,3675.364,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=- CG4,342.312,146.042,4303.312,21.042,7.014 +_񂽂ĂƂ.wav=a CG4,661.896,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=n CG4,1158.53,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=a CG4,1687,375,-583,250,83 +_񂽂ĂƂ.wav=a ĂCG4,2206.509,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=i CG4,2712.962,375,-583,250,83 +_񂽂ĂƂ.wav=a ƂCG4,3258.698,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=u CG4,3753.928,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=- CG4,413.86,150.252,4227.826,25.252,9.82 +_񂾂łǂ.wav=a CG4,726.43,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=n CG4,1230.1,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a CG4,1726.759,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a łCG4,2245.866,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=i CG4,2763.571,375,-583,250,83 +_񂾂łǂ.wav=a ǂCG4,3277.067,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=u CG4,3751.273,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=- CG4,252.525,218.994,4320.147,93.994,60.325 +_񂿂傿Ⴟ.wav=e CG4,586.139,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=n CG4,1102.413,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e CG4,1610.269,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e CG4,2108.305,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=o CG4,2609.147,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e CG4,3104.377,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=a CG4,3636.083,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=- CG4,296.015,196.547,4299.104,71.547,39.281 +_񂿂ႿႿႿタ.wav=a CG4,607.182,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=n CG4,1137.485,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a CG4,1636.924,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a CG4,2151.796,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=i CG4,2647.025,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a CG4,3169.999,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=u CG4,3659.932,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=- CG4,223.063,197.952,4370.652,72.952,50.505 +_񂿂タタタ傿.wav=u CG4,542.649,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=n CG4,1040.684,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u CG4,1541.526,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u CG4,2050.785,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=e CG4,2578.281,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u CG4,3059.483,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=o CG4,3563.131,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=- CG4,347.923,199.353,4244.389,74.354,39.281 +_񂿂傿傿Ⴟ傿.wav=o CG4,675.925,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=n CG4,1183.782,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o CG4,1681.818,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o CG4,2182.659,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=a CG4,2696.127,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o CG4,3208.192,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=i CG4,3697.811,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=- CG4,385.802,238.635,4167.502,113.635,71.548 +_񂿂タ.wav=i CG4,725.028,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=n CG4,1235.711,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i CG4,1760.431,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i CG4,2261.3,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=u CG4,2739.722,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i CG4,3226.56,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=e CG4,3731.633,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚CG4,223.063,206.369,4362.234,81.369,44.893 +_‚‚‚‚‚‚‚.wav=a CG4,590.347,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚CG4,1075.757,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚CG4,1579.406,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚CG4,2094.276,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚CG4,2582.491,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a CG4,3094.557,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚CG4,3601.009,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚CG4,280.583,207.771,4303.312,82.771,57.519 +_‚‚‚‚‚‚‚.wav=i CG4,664.702,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚CG4,1144.5,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚CG4,1638.327,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i CG4,2152,375,-583,250,83 +_‚‚‚‚‚‚‚.wav=u ‚CG4,2640.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚CG4,3138.047,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚CG4,3634.68,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚CG4,196.408,188.129,4407.129,63.129,32.267 +_‚‚‚‚‚‚‚.wav=e CG4,515.992,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚CG4,1029.461,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚CG4,1514.87,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚CG4,2024.13,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚CG4,2544.613,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚CG4,3046.857,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚CG4,3550.504,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚CG4,267.957,185.323,4338.386,60.323,30.864 +_‚‚‚‚‚‚‚.wav=o CG4,598.765,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚CG4,1099.608,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚CG4,1597.643,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚CG4,2088.665,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚CG4,2588.103,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚CG4,3124.017,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚CG4,3627.665,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=- CG4,340.909,206.367,4244.661,81.368,44.893 +_‚‚‚‚‚‚.wav=u CG4,680.135,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=n CG4,1206.247,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u CG4,1702.908,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚CG4,2198.165,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=e CG4,2711.662,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚CG4,3211.127,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=o CG4,3706.38,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=- ĂCG4,419.472,157.266,4215.2,32.266,5.611 +_ĂĂĂƂĂĂĂ.wav=i CG4,743.265,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=n ĂCG4,1224.489,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ĂCG4,1742.194,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ƂCG4,2272.526,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=u ĂCG4,2776.2,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i CG4,3274,375,-583,250,83 +_ĂĂĂƂĂĂĂ.wav=e ĂCG4,3783.54,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=- łCG4,301.627,136.221,4353.818,11.221,0.0 +_łłłǂłłł.wav=i CG4,601.571,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=n łCG4,1089.786,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i łCG4,1606.061,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i ǂCG4,2102.692,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=u łCG4,2589.506,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i CG4,3098.765,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=e łCG4,3603.815,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=- ĂCG4,467.171,148.848,4175.919,23.848,7.014 +_ĂĂ゠ĂアĂウĂ.wav=u ĂCG4,741.863,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u CG4,1252.546,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=a ĂCG4,1754.819,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u CG4,2243.062,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=i ĂCG4,2738.319,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u CG4,3223.756,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=e ĂCG4,3738.647,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=- łCG4,297.418,148.849,4345.399,23.849,9.82 +_łł゠łアłウł.wav=u łCG4,590.347,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u CG4,1100.0,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=a łCG4,1603.254,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u CG4,2090.067,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=i łCG4,2589.507,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u CG4,3086.138,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=e łCG4,3592.592,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=- CG4,340.909,150.251,4300.506,25.251,5.611 +_ĂĂĂƂĂ.wav=e CG4,650.673,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=n CG4,1140.291,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e CG4,1649.551,375,-583,250,83 +_ĂĂĂƂĂ.wav=e CG4,2146.183,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=o CG4,2672.278,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e CG4,3161,375,-583,250,83 +_ĂĂĂƂĂ.wav=a CG4,3661,375,-583,250,83 +_łłłǂł.wav=- CG4,395.622,150.252,4245.792,25.252,9.82 +_łłłǂł.wav=e CG4,699.775,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=n CG4,1183.782,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e CG4,1700.056,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e CG4,2198.092,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=o CG4,2724.186,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e CG4,3215.207,375,-583,250,83 +_łłłǂł.wav=a CG4,3732,375,-583,250,83 +_ƂƂƂĂƂƂƂ.wav=- ƂCG4,253.928,153.056,4384.682,28.056,4.208 +_ƂƂƂĂƂƂƂ.wav=u CG4,546.857,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=n ƂCG4,1046.296,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u ƂCG4,1579.405,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u CG4,2071.829,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=e ƂCG4,2588.103,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u CG4,3083.333,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=o ƂCG4,3599.607,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=- ǂCG4,315.656,151.654,4324.356,26.654,11.223 +_ǂǂǂłǂǂǂ.wav=u CG4,619.809,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=n ǂCG4,1120.0,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u ǂCG4,1631.312,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u CG4,2126.543,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=e ǂCG4,2640.011,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u CG4,3138.047,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=o ǂCG4,3672.558,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=- CG4,390.011,147.445,4254.21,22.444,9.82 +_ƂƂƂƂĂ.wav=o CG4,708.194,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=n CG4,1193.601,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o CG4,1702.861,375,-583,250,83 +_ƂƂƂƂĂ.wav=o CG4,2199.494,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=a CG4,2710.157,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o ĂCG4,3222.222,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=i CG4,3735.691,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=- CG4,467.171,147.828,4176.939,22.828,12.626 +_ǂǂǂǂł.wav=o CG4,767.115,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=n CG4,1259.562,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o CG4,1782.879,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o CG4,2276.733,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=a CG4,2774.796,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o łCG4,3298.113,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=i CG4,3807.39,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=- CG4,371.773,199.352,4220.812,74.353,42.087 +_ȂȂȂɂȂʂ.wav=a CG4,705.387,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=n CG4,1218.874,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a CG4,1712.728,375,-583,250,83 +_ȂȂȂɂȂʂ.wav=a CG4,2236.046,375,-583,250,83 +_ȂȂȂɂȂʂ.wav=i CG4,2739.721,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a CG4,3230.769,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=u CG4,3735.841,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂCG4,266.554,188.131,4336.981,63.131,25.252 +_ɂɂɂɂɂɂɂ.wav=e CG4,604.377,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂCG4,1051.907,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂCG4,1583.613,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂCG4,2098.484,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂCG4,2625.982,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂCG4,3119.809,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂCG4,3616.442,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂCG4,390.011,203.562,4198.366,78.562,42.087 +_ɂɂɂɂɂɂɂ.wav=a CG4,726.43,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂCG4,1239.92,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂCG4,1729.564,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a CG4,2248.673,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂCG4,2771.989,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂCG4,3264.439,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂCG4,3761.093,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂCG4,253.928,183.921,4353.817,58.921,39.281 +_ɂɂɂɂɂɂɂ.wav=u CG4,593.153,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂCG4,1035.072,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂCG4,1569.584,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂCG4,2064.814,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂCG4,2565.656,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂCG4,3067.901,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂCG4,3568.742,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂCG4,367.564,174.101,4250.273,49.101,15.432 +_ɂɂɂɂɂɂɂ.wav=o CG4,699.775,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂCG4,1200.0,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂCG4,1719.744,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂCG4,2215.002,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂCG4,2699.034,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o CG4,3206.919,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂCG4,3678.321,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=- CG4,232.884,195.145,4363.637,70.145,19.64 +_ɂɂɂʂɂ˂.wav=i CG4,594.556,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=n CG4,1074.354,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i CG4,1599.046,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i CG4,2104.096,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=u CG4,2595.117,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i CG4,3098.765,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=e CG4,3596.801,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=- CG4,289.001,214.785,4287.88,89.785,30.864 +_ʂʂʂ˂ʂ̂.wav=u CG4,642.255,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=n CG4,1133.277,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u CG4,1650.953,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u CG4,2148.989,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=e CG4,2668.069,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u CG4,3174.523,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=o CG4,3675.364,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=- CG4,346.52,211.98,4233.438,86.98,30.864 +_˂˂˂̂˂Ȃ.wav=e CG4,709.594,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=n CG4,1185.203,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e CG4,1691.684,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e CG4,2209.389,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=o CG4,2718.676,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e CG4,3220.948,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=a CG4,3730,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=- CG4,183.782,196.547,4411.338,71.547,30.864 +_̂̂̂Ȃ̂ɂ.wav=o CG4,535.633,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=n CG4,1014.029,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o CG4,1533.108,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=o CG4,2034,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=a CG4,2541.806,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o CG4,3048.261,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=i CG4,3539.999,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=- CG4,234.287,210.577,4346.802,85.577,37.878 +_͂͂͂Ђ͂ӂ.wav=a CG4,580.526,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=n CG4,1095.399,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a CG4,1629.91,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a CG4,2144.781,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=i CG4,2625.982,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a CG4,3135.241,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=u CG4,3624.859,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=- CG4,200.617,199.353,4391.696,74.353,36.475 +_΂΂΂т΂Ԃ.wav=a CG4,586.139,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=n CG4,1060.325,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a CG4,1579.405,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a CG4,2101,375,-583,250,83 +_΂΂΂т΂Ԃ.wav=i CG4,2616.161,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a CG4,3129.629,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=u CG4,3627.665,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=- CG4,384.399,146.043,4261.224,21.043,12.626 +_ςςς҂ςՂ.wav=a CG4,675.925,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=n CG4,1169.754,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a CG4,1670.594,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a CG4,2185.465,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=i CG4,2683.5,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a CG4,3187.149,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=u CG4,3689.394,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂCG4,290.404,244.247,4257.015,119.247,81.369 +_ЂЂЂЂЂЂЂ.wav=e CG4,689.955,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂCG4,1204.825,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂCG4,1733.726,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂCG4,2198.092,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂCG4,2731.2,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂCG4,3206.79,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂCG4,3709.035,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тCG4,326.881,153.057,4317.341,28.057,16.835 +_ттттттт.wav=e CG4,620.0,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тCG4,1115.039,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тCG4,1622.895,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тCG4,2144.781,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тCG4,2630.19,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тCG4,3143.658,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тCG4,3654.32,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂CG4,345.117,140.43,4306.119,15.43,5.611 +_҂҂҂҂҂҂҂.wav=e CG4,684.343,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂CG4,1168.35,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂CG4,1670.594,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂CG4,2168.63,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂CG4,2684.904,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂CG4,3189.955,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂CG4,3692.199,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=- CG4,370.37,154.46,4266.837,29.46,16.835 +_тттт҂҂҂҂.wav=i тCG4,680.134,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u CG4,1195.005,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i тCG4,1684.624,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=e CG4,2175.645,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂CG4,2680.695,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u CG4,3175.925,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂CG4,3673.961,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=- CG4,204,187,4378,60,28 +_ЂЂЂЂ݂݂݂݂.wav=i ЂCG4,545.454,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u CG4,1037.878,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ЂCG4,1535.914,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=e CG4,2043.771,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ݂CG4,2530.583,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u CG4,3049.999,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ݂CG4,3519.999,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂCG4,154.04,212.261,4416.667,87.261,46.296 +_ЂЂЂЂЂЂЂ.wav=a CG4,528.618,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂCG4,1019.641,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂCG4,1562.57,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a CG4,2035.353,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂCG4,2574.074,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂCG4,3037.037,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂCG4,3544.893,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тCG4,464.365,140.431,4187.142,15.431,4.208 +_ттттттт.wav=a CG4,751.684,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тCG4,1229.999,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тCG4,1719.999,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a CG4,2220.613,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тCG4,2721.482,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тCG4,3223.754,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тCG4,3713.395,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂CG4,242.704,139.029,4409.933,14.029,1.402 +_҂҂҂҂҂҂҂.wav=a CG4,555.275,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂CG4,1025.252,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂CG4,1547.138,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a CG4,2056.397,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂CG4,2548.821,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂CG4,3051.066,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂CG4,3556.116,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂCG4,251.122,213.383,4327.161,88.383,65.937 +_ЂЂЂЂЂЂЂ.wav=u CG4,598.765,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂCG4,1103.815,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂCG4,1611.672,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂCG4,2092.873,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂCG4,2586.7,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂCG4,3087.542,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂCG4,3578.564,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тCG4,290.404,140.431,4360.831,15.431,7.014 +_ттттттт.wav=u CG4,562.289,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тCG4,1050.504,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тCG4,1555.555,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тCG4,2057.799,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тCG4,2557.239,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тCG4,3070.708,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тCG4,3564.534,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂CG4,339.506,147.445,4304.716,22.445,14.029 +_҂҂҂҂҂҂҂.wav=u CG4,646.464,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂CG4,1131.874,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂CG4,1628.507,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂CG4,2118.125,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂CG4,2616.161,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂CG4,3122.615,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂CG4,3627.665,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂCG4,349.326,241.441,4201.171,116.44,86.98 +_ЂЂЂЂЂЂЂ.wav=o CG4,739.061,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂCG4,1244.13,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂCG4,1749.207,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂCG4,2259.897,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂCG4,2771.99,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o CG4,3243.395,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂCG4,3734.439,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тCG4,398.428,154.461,4239.049,29.461,8.417 +_ттттттт.wav=o CG4,702.581,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тCG4,1190.815,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тCG4,1697.297,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тCG4,2192.553,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тCG4,2692.019,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o CG4,3209.724,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тCG4,3713.395,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂CG4,427.89,141.833,4222.215,16.833,4.208 +_҂҂҂҂҂҂҂.wav=o CG4,781.144,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂CG4,1266.577,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂CG4,1730.967,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂CG4,2236.046,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂CG4,2759.364,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o CG4,3256.024,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂CG4,3744.258,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=- CG4,356.341,200.757,4226.151,75.757,40.684 +_ЂЂЂӂЂւ.wav=i CG4,688.552,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=n CG4,1200.617,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i CG4,1700.056,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i CG4,2191.077,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=u CG4,2693.322,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i CG4,3184.343,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=e CG4,3685.185,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=- CG4,336.7,141.834,4313.132,16.834,5.611 +_тттԂтׂ.wav=i CG4,645.061,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=n CG4,1137.485,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i CG4,1659.371,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i CG4,2174.242,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=u CG4,2676.486,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i CG4,3192.759,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=e CG4,3693.602,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=- CG4,461.56,141.834,4188.544,16.834,7.014 +_҂҂҂Ղ҂؂.wav=i CG4,739.063,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=n CG4,1246.935,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i CG4,1750.61,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i CG4,2272.522,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=u CG4,2763.572,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i CG4,3263.038,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=e CG4,3755.482,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂCG4,274.971,216.189,4300.506,91.189,67.34 +_ӂӂӂӂӂӂӂ.wav=a CG4,640.852,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂCG4,1137.485,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂCG4,1650.953,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂCG4,2146.183,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂCG4,2654.04,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a CG4,3143.658,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂCG4,3644.5,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂCG4,367.564,226.009,4198.366,101.009,61.728 +_ӂӂӂӂӂӂӂ.wav=i CG4,733.444,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂCG4,1220.28,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂCG4,1723.954,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i CG4,2223.42,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂCG4,2714.468,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂCG4,3223.755,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂCG4,3709.185,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂCG4,225.869,242.843,4322.954,117.843,71.548 +_ӂӂӂӂӂӂӂ.wav=e CG4,629.629,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂCG4,1106.62,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂCG4,1611.672,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂCG4,2118.125,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂCG4,2637.205,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂCG4,3138.047,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂCG4,3643.098,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂCG4,256.734,249.857,4285.074,124.857,101.01 +_ӂӂӂӂӂӂӂ.wav=o CG4,696.969,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂCG4,1159.932,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂCG4,1657.968,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂCG4,2161.616,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂCG4,2677.891,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂCG4,3196.969,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂCG4,3671.156,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=- CG4,204,223,4333,62,26 +_ӂӂӂӂӂӂ.wav=u CG4,535.633,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=n CG4,1039.281,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u CG4,1561.167,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂCG4,2052.188,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=e CG4,2569.865,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂCG4,3058.08,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=o CG4,3605.218,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=- CG4,391.414,174.101,4226.423,49.101,26.655 +_ӂӂӂւӂق.wav=u CG4,706.79,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=n CG4,1220.275,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u CG4,1739.386,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u CG4,2209.389,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=e CG4,2720.078,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u CG4,3188.679,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=o CG4,3683.933,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=- CG4,357.744,206.368,4227.826,81.368,70.145 +_ԂԂԂׂԂڂ.wav=u CG4,711.002,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=n CG4,1200.636,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u CG4,1698.699,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u CG4,2184.134,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=e CG4,2703.243,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u CG4,3212.531,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=o CG4,3719.999,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=- CG4,293.209,153.058,4345.399,28.058,11.223 +_ՂՂՂ؂Ղۂ.wav=u CG4,588.944,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=n CG4,1077.159,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u CG4,1582.21,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u CG4,2069.024,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=e CG4,2575.477,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u CG4,3084.736,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=o CG4,3577.161,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=- CG4,239.898,192.34,4359.428,67.34,43.49 +_ւււقւ͂.wav=e CG4,574.915,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=n CG4,1053.31,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e CG4,1555.555,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e CG4,2069.024,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=o CG4,2565.656,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e CG4,3086.139,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=a CG4,3589.786,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=- CG4,238.496,141.833,4411.338,16.833,9.82 +_ׂׂׂڂׂ΂.wav=e CG4,546.857,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=n CG4,1060.325,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e CG4,1580.0,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e CG4,2085.859,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=o CG4,2603.535,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e CG4,3097.363,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=a CG4,3634,375,-583,250,83 +_؂؂؂ۂ؂ς.wav=- CG4,345.117,148.849,4297.7,23.849,14.029 +_؂؂؂ۂ؂ς.wav=e CG4,659.999,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=n CG4,1161.335,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e CG4,1663.58,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e CG4,2185.465,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=o CG4,2693.322,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e CG4,3187.149,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=a CG4,3690.796,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=- CG4,256.734,228.813,4306.119,103.813,58.922 +_ققق͂قЂ.wav=o CG4,639.45,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=n CG4,1150.111,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o CG4,1660.774,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o CG4,2151.795,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=a CG4,2668.069,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o CG4,3161.896,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=i CG4,3636.083,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=- CG4,273.569,207.77,4310.327,82.77,58.922 +_ڂڂڂ΂ڂт.wav=o CG4,646.464,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=n CG4,1133.277,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o CG4,1635.521,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o CG4,2143.378,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=a CG4,2632.997,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o CG4,3139.451,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=i CG4,3623.456,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=- CG4,453.142,136.221,4202.575,11.221,4.208 +_ۂۂۂςۂ҂.wav=o CG4,739.057,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=n CG4,1223.084,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o CG4,1736.581,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o CG4,2245.868,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=a CG4,2734.109,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o CG4,3216.739,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=i CG4,3703.574,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=- CG4,382.996,182.519,4226.151,57.519,30.864 +_܂܂܂݂܂ނ.wav=a CG4,706.79,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=n CG4,1185.185,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a CG4,1707.07,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a CG4,2206.509,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=i CG4,2726.992,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a CG4,3251.683,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=u CG4,3713.243,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂CG4,370.37,172.698,4248.87,47.698,23.849 +_݂݂݂݂݂݂݂.wav=e CG4,680.0,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂CG4,1182.397,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂CG4,1687.476,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂CG4,2181.329,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂CG4,2687.81,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂CG4,3184.47,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂CG4,3704.977,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂CG4,224.466,188.131,4379.068,63.131,39.281 +_݂݂݂݂݂݂݂.wav=a CG4,551.066,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂CG4,1026.656,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂CG4,1547.138,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a CG4,2053.591,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂CG4,2516.553,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂CG4,3034.231,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂CG4,3504.208,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂CG4,312.85,185.324,4293.492,60.324,33.67 +_݂݂݂݂݂݂݂.wav=u CG4,602.973,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂CG4,1108.024,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂CG4,1606.06,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂CG4,2098.484,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂CG4,2596.52,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂CG4,3105.779,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂CG4,3619.249,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂CG4,241.301,183.922,4366.443,58.922,28.058 +_݂݂݂݂݂݂݂.wav=o CG4,563.692,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂CG4,1044.893,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂CG4,1537.317,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂CG4,2018.518,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂CG4,2520.763,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o CG4,3030.0,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂CG4,3523.849,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=- CG4,423.681,192.338,4175.919,67.338,30.864 +_݂݂݂ނ݂߂.wav=i CG4,739.057,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=n CG4,1242.725,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i CG4,1740.789,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i CG4,2236.046,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=u CG4,2746.736,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i CG4,3240.589,375,-583,250,83 +_݂݂݂ނ݂߂.wav=e CG4,3745.661,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=- CG4,251.122,185.324,4355.22,60.324,22.446 +_ނނނ߂ނ.wav=u CG4,588.945,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=n CG4,1090.0,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u CG4,1586.419,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u CG4,2082,375,-583,250,83 +_ނނނ߂ނ.wav=e CG4,2592.312,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u CG4,3101.571,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=o CG4,3610.83,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=- CG4,301.627,200.755,4289.282,75.756,30.864 +_߂߂߂߂܂.wav=e CG4,647.867,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=n CG4,1140.292,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e CG4,1662.177,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e CG4,2172,375,-583,250,83 +_߂߂߂߂܂.wav=o CG4,2670.875,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e CG4,3174.523,375,-583,250,83 +_߂߂߂߂܂.wav=a CG4,3676.767,375.0,-583.333,250.0,83.333 +_܂݂.wav=- CG4,357.744,203.562,4230.632,78.562,33.67 +_܂݂.wav=o CG4,710.997,375.0,-583.333,250.0,83.333 +_܂݂.wav=n CG4,1221.681,375.0,-583.333,250.0,83.333 +_܂݂.wav=o CG4,1718.34,375,-583,250,83 +_܂݂.wav=o CG4,2206.583,375.0,-583.333,250.0,83.333 +_܂݂.wav=a CG4,2727.094,375.0,-583.333,250.0,83.333 +_܂݂.wav=o CG4,3241.993,375.0,-583.333,250.0,83.333 +_܂݂.wav=i CG4,3727.423,375.0,-583.333,250.0,83.333 +_₢.wav=- CG4,193.602,208.397,4270.0,71.397,46.397 +_₢.wav=a CG4,548.26,375.0,-583.333,250.0,83.333 +_₢.wav=n CG4,1050.504,375.0,-583.333,250.0,83.333 +_₢.wav=a CG4,1542.929,375,-583,250,83 +_₢.wav=a CG4,2015.712,375.0,-583.333,250.0,83.333 +_₢.wav=i CG4,2561.447,375.0,-583.333,250.0,83.333 +_₢.wav=a CG4,3081.93,375.0,-583.333,250.0,83.333 +_₢.wav=u CG4,3572.952,375.0,-583.333,250.0,83.333 +_䂢.wav=- CG4,283.389,195.145,4313.132,70.145,47.699 +_䂢.wav=u CG4,624.017,375.0,-583.333,250.0,83.333 +_䂢.wav=n CG4,1112.233,375.0,-583.333,250.0,83.333 +_䂢.wav=u CG4,1655.162,375.0,-583.333,250.0,83.333 +_䂢.wav=u CG4,2137.765,375.0,-583.333,250.0,83.333 +_䂢.wav=e CG4,2648.428,375,-583,250,83 +_䂢.wav=u CG4,3167.508,375.0,-583.333,250.0,83.333 +_䂢.wav=o CG4,3675.363,375.0,-583.333,250.0,83.333 +_悢.wav=- CG4,406.846,181.114,4203.978,56.114,35.072 +_悢.wav=o CG4,732.045,375.0,-583.333,250.0,83.333 +_悢.wav=n CG4,1200.0,375.0,-583.333,250.0,83.333 +_悢.wav=o CG4,1736.58,375.0,-583.333,250.0,83.333 +_悢.wav=o CG4,2227.628,375.0,-583.333,250.0,83.333 +_悢.wav=a CG4,2739.72,375.0,-583.333,250.0,83.333 +_悢.wav=o CG4,3310.739,375.0,-583.333,250.0,83.333 +_悢.wav=i CG4,3777.928,375.0,-583.333,250.0,83.333 +_.wav=- CG4,232.884,214.785,4343.997,89.785,46.296 +_.wav=a CG4,587.541,375.0,-583.333,250.0,83.333 +_.wav=n CG4,1088.383,375.0,-583.333,250.0,83.333 +_.wav=a CG4,1610.269,375.0,-583.333,250.0,83.333 +_.wav=a CG4,2106.902,375.0,-583.333,250.0,83.333 +_.wav=i CG4,2602.132,375,-583,250,83 +_.wav=a CG4,3107.182,375.0,-583.333,250.0,83.333 +_.wav=u CG4,3582.772,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=- 肥CG4,430.695,171.296,4189.947,46.296,22.446 +_肥肥肥肥肥.wav=e CG4,740.0,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=n 肥CG4,1237.114,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e 肥CG4,1739.386,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e CG4,2226.223,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=o 肥CG4,2722.885,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e CG4,3219.545,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=a 肥CG4,3719.006,375.0,-583.333,250.0,83.333 +_.wav=- CG4,252.525,183.921,4355.22,58.921,35.072 +_.wav=a CG4,572.109,375.0,-583.333,250.0,83.333 +_.wav=n CG4,1091.189,375.0,-583.333,250.0,83.333 +_.wav=a CG4,1576.599,375.0,-583.333,250.0,83.333 +_.wav=a CG4,2099.887,375.0,-583.333,250.0,83.333 +_.wav=i CG4,2589.506,375.0,-583.333,250.0,83.333 +_.wav=a CG4,3093.154,375.0,-583.333,250.0,83.333 +_.wav=u CG4,3571.548,375.0,-583.333,250.0,83.333 +_肥.wav=- CG4,311.447,188.131,4292.088,63.131,35.072 +_肥.wav=u CG4,684.343,375.0,-583.333,250.0,83.333 +_肥.wav=n CG4,1151.516,375.0,-583.333,250.0,83.333 +_肥.wav=u CG4,1645.341,375.0,-583.333,250.0,83.333 +_肥.wav=u 肥CG4,2126.542,375.0,-583.333,250.0,83.333 +_肥.wav=e CG4,2648.428,375.0,-583.333,250.0,83.333 +_肥.wav=u CG4,3153.479,375.0,-583.333,250.0,83.333 +_肥.wav=o CG4,3654.319,375.0,-583.333,250.0,83.333 +_.wav=- CG4,220.258,175.504,4395.904,50.504,32.267 +_.wav=o CG4,565.095,375.0,-583.333,250.0,83.333 +_.wav=n CG4,1065.937,375.0,-583.333,250.0,83.333 +_.wav=o CG4,1563.973,375.0,-583.333,250.0,83.333 +_.wav=o CG4,2052.188,375.0,-583.333,250.0,83.333 +_.wav=a CG4,2557.238,375.0,-583.333,250.0,83.333 +_.wav=o CG4,3086.139,375.0,-583.333,250.0,83.333 +_.wav=i CG4,3585.578,375.0,-583.333,250.0,83.333 +_肥ガ.wav=- CG4,314.253,162.879,4314.534,37.879,23.849 +_肥ガ.wav=i CG4,609.988,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u CG4,1115.039,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i 肥CG4,1586.418,375.0,-583.333,250.0,83.333 +_肥ガ.wav=e CG4,2090.067,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i CG4,2590.91,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u CG4,3094.555,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i CG4,3599.607,375.0,-583.333,250.0,83.333 +_.wav=- CG4,303.03,185.323,4303.313,60.323,32.267 +_.wav=i CG4,642.255,375.0,-583.333,250.0,83.333 +_.wav=n CG4,1168.35,375.0,-583.333,250.0,83.333 +_.wav=i CG4,1670,375,-583,250,83 +_.wav=i CG4,2178.452,375.0,-583.333,250.0,83.333 +_.wav=u CG4,2662.457,375.0,-583.333,250.0,83.333 +_.wav=i CG4,3175.924,375.0,-583.333,250.0,83.333 +_.wav=e CG4,3680.976,375.0,-583.333,250.0,83.333 +_.wav=- CG4,342.312,204.964,4244.661,79.965,47.699 +_.wav=u CG4,688.552,375.0,-583.333,250.0,83.333 +_.wav=n CG4,1190.815,375.0,-583.333,250.0,83.333 +_.wav=u CG4,1684.668,375.0,-583.333,250.0,83.333 +_.wav=u CG4,2165,375,-583,250,83 +_.wav=e CG4,2696.228,375.0,-583.333,250.0,83.333 +_.wav=u CG4,3185.873,375.0,-583.333,250.0,83.333 +_.wav=o CG4,3703.573,375.0,-583.333,250.0,83.333 +_.wav=- CG4,186.588,209.174,4395.904,84.174,47.699 +_.wav=e CG4,537.037,375.0,-583.333,250.0,83.333 +_.wav=n CG4,1046.297,375.0,-583.333,250.0,83.333 +_.wav=e CG4,1537.317,375.0,-583.333,250.0,83.333 +_.wav=e CG4,2049.382,375.0,-583.333,250.0,83.333 +_.wav=o CG4,2562.85,375.0,-583.333,250.0,83.333 +_.wav=e CG4,3067.901,375.0,-583.333,250.0,83.333 +_.wav=a CG4,3556.116,375,-583,250,83 +_.wav=- CG4,259.539,174.101,4358.026,49.101,30.864 +_.wav=o CG4,595.959,375.0,-583.333,250.0,83.333 +_.wav=n CG4,1096.801,375.0,-583.333,250.0,83.333 +_.wav=o CG4,1610.27,375.0,-583.333,250.0,83.333 +_.wav=o CG4,2111.111,375.0,-583.333,250.0,83.333 +_.wav=a CG4,2630.191,375.0,-583.333,250.0,83.333 +_.wav=o CG4,3131.031,375.0,-583.333,250.0,83.333 +_.wav=i CG4,3616.442,375.0,-583.333,250.0,83.333 +_키키.wav=- CG4,374.59,219,4109,101,47 +_키키.wav=a CG4,694.163,375.0,-583.333,250.0,83.333 +_키키.wav=n CG4,1209.033,375.0,-583.333,250.0,83.333 +_키키.wav=a CG4,1709.876,375.0,-583.333,250.0,83.333 +_키키.wav=a CG4,2226.15,375.0,-583.333,250.0,83.333 +_키키.wav=i CG4,2731.2,375,-583,250,83 +_키키.wav=a CG4,3194.163,375.0,-583.333,250.0,83.333 +_키키.wav=u CG4,3735.69,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=- CG4,335.297,202.159,4254.21,77.158,46.296 +_񂢂񂦂񂨂.wav=n CG4,586.139,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=i CG4,1108.024,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n CG4,1628.507,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=e CG4,2111.111,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n CG4,2645.622,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n CG4,2645.622,375,-583.333,250,83.333 +_񂢂񂦂񂨂.wav=o CG4,3152.076,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n RCG4,3688,579,614,250,83 diff --git a/OpenUtau.Test/Files/ja_vcv/N_A3/oto.ini b/OpenUtau.Test/Files/ja_vcv/N_A3/oto.ini new file mode 100644 index 000000000..2fea1071b --- /dev/null +++ b/OpenUtau.Test/Files/ja_vcv/N_A3/oto.ini @@ -0,0 +1,1231 @@ +_.wav=- A3,563,63,-327,8,19 +_.wav=a A3,691,375,-583,250,83 +_.wav=a A3,1247.9,375.0,-583.333,250.0,83.333 +_.wav=i A3,1748,375,-583,250,83 +_.wav=a A3,2260,375,-583,250,83 +_.wav=u A3,2751,375,-583,250,83 +_.wav=e A3,3267.57,375.0,-583.333,250.0,83.333 +_.wav=a RA3,4043.981,674.554,-736.967,250.0,83.0 +_.wav=- A3,416,164,4329,13,39 +_.wav=i A3,560.0,375.0,-583.333,250.0,83.333 +_.wav=i A3,1023.344,375.0,-583.333,250.0,83.333 +_.wav=u A3,1577.57,375.0,-583.333,250.0,83.333 +_.wav=a A3,2040,375,-583,250,83 +_.wav=e A3,2543.585,375.0,-583.333,250.0,83.333 +_.wav=i A3,3054,375,-583,250,83 +_.wav=e RA3,3911.797,689.385,-739.315,250.0,83.0 +_񂢂悢₢.wav=- A3,362,205,-413,71,27 +_񂢂悢₢.wav=e A3,641.382,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=n A3,1171,375,-583,250,83 +_񂢂悢₢.wav=e A3,1648,375,-583,250,83 +_񂢂悢₢.wav=e A3,2145,375,-583,250,83 +_񂢂悢₢.wav=o A3,2640,375,-583,250,83 +_񂢂悢₢.wav=e A3,3135.386,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=a A3,3667,375,-583,250,83 +_񃔂.wav=- A3,299,167,-376,38,8 +_񃔂.wav=a A3,618.878,375.0,-583.333,250.0,83.333 +_񃔂.wav=n A3,1104,375,-583,250,83 +_񃔂.wav=a A3,1635,375,-583,250,83 +_񃔂.wav=a A3,2129.165,375.0,-583.333,250.0,83.333 +_񃔂.wav=i A3,2625.969,375.0,-583.333,250.0,83.333 +_񃔂.wav=a A3,3123,375,-583,250,83 +_񃔂.wav=u A3,3640.0,375.0,-583.333,250.0,83.333 +_񂤂.wav=- A3,426.368,145.615,-353.948,20.614,0.0 +_񂤂.wav=i A3,683.8,375.0,-583.333,250.0,83.333 +_񂤂.wav=n A3,1185.598,375.0,-583.333,250.0,83.333 +_񂤂.wav=i A3,1672.416,375.0,-583.333,250.0,83.333 +_񂤂.wav=i A3,2166.613,375.0,-583.333,250.0,83.333 +_񂤂.wav=u A3,2700.973,375.0,-583.333,250.0,83.333 +_񂤂.wav=i A3,3222.633,375.0,-583.333,250.0,83.333 +_񂤂.wav=e A3,3749.395,375.0,-583.333,250.0,83.333 +_񂤂.wav=i RA3,4356,598,28,250,83 +_񃔂.wav=- A3,364,167,-376,35,0 +_񃔂.wav=i A3,631.373,375.0,-583.333,250.0,83.333 +_񃔂.wav=n A3,1165.625,375.0,-583.333,250.0,83.333 +_񃔂.wav=i A3,1677.408,375.0,-583.333,250.0,83.333 +_񃔂.wav=i A3,2194,375,-583,250,83 +_񃔂.wav=u A3,2676.008,375.0,-583.333,250.0,83.333 +_񃔂.wav=i A3,3185.296,375.0,-583.333,250.0,83.333 +_񃔂.wav=e A3,3699.573,375.0,-583.333,250.0,83.333 +_.wav=- A3,437,175,-383,16,42 +_.wav=u A3,663.719,375.0,-583.333,250.0,83.333 +_.wav=u A3,1126,375,-583,250,83 +_.wav=i A3,1612.485,375.0,-583.333,250.0,83.333 +_.wav=i A3,1612.485,375,-583.333,250,83.333 +_.wav=o A3,2101.799,375.0,-583.333,250.0,83.333 +_.wav=a A3,2623.569,375,-583,250,83 +_.wav=a A3,2623.569,375,-583,250,83 +_.wav=o A3,3152.827,375,-583,250,83 +_䂢.wav=- A3,282,162,-371,29,55 +_䂢.wav=u A3,548.88,375.0,-583.333,250.0,83.333 +_䂢.wav=e A3,1018.318,375.0,-583.333,250.0,83.333 +_䂢.wav=u A3,1512.626,375.0,-583.333,250.0,83.333 +_䂢.wav=o A3,2011.83,375.0,-583.333,250.0,83.333 +_䂢.wav=i A3,2577,375,-583,250,83 +_䂢.wav=u A3,3050.374,375.0,-583.333,250.0,83.333 +_䂢.wav=i A3,3554.764,375.0,-583.333,250.0,83.333 +_񃔂.wav=- A3,256,180,-388,55,27 +_񃔂.wav=e A3,521.515,375.0,-583.333,250.0,83.333 +_񃔂.wav=n A3,1050.773,375.0,-583.333,250.0,83.333 +_񃔂.wav=e A3,1581,375,-583,250,83 +_񃔂.wav=e A3,2082,375,-583,250,83 +_񃔂.wav=o A3,2593.611,375.0,-583.333,250.0,83.333 +_񃔂.wav=e A3,3087.919,375.0,-583.333,250.0,83.333 +_񃔂.wav=a A3,3584.721,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- A3,294.683,174.93,-383.263,49.93,27.461 +_񂤂키.wav=e A3,571.445,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n A3,1080.731,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e A3,1600.003,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e A3,2056.863,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o A3,2596.107,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e A3,3107.89,375.0,-583.333,250.0,83.333 +_񂤂키.wav=a A3,3604.694,375.0,-583.333,250.0,83.333 +_񃔂.wav=- A3,320,185,-393,60,19 +_񃔂.wav=o A3,593.914,375.0,-583.333,250.0,83.333 +_񃔂.wav=n A3,1144,375,-583,250,83 +_񃔂.wav=o A3,1647.341,375.0,-583.333,250.0,83.333 +_񃔂.wav=o A3,2135,375,-583,250,83 +_񃔂.wav=a A3,2638.548,375.0,-583.333,250.0,83.333 +_񃔂.wav=o A3,3135.352,375.0,-583.333,250.0,83.333 +_񃔂.wav=i A3,3666,375,-583,250,83 +_񂤂키.wav=- A3,397.054,159.949,-368.282,34.949,22.468 +_񂤂키.wav=o A3,656,375,-583,250,83 +_񂤂키.wav=n A3,1190,375,-583,250,83 +_񂤂키.wav=o A3,1674,375,-583,250,83 +_񂤂키.wav=o A3,2168,371,-583,250,83 +_񂤂키.wav=a A3,2675,375,-583,250,83 +_񂤂키.wav=o A3,3152,375,-583,250,83 +_񂤂키.wav=i A3,3677.105,375.0,-583.333,250.0,83.333 +_񃔃.wav=- A3,174,170,-378,45,21 +_񃔃.wav=u A3,454.056,375.0,-583.333,250.0,83.333 +_񃔃.wav=n A3,988.307,375.0,-583.333,250.0,83.333 +_񃔃.wav=u A3,1501,375,-583,250,83 +_񃔃.wav=u A3,2017,375,-583,250,83 +_񃔃.wav=e A3,2525,375,-583,250,83 +_񃔃.wav=u A3,3007,375,-583,250,83 +_񃔃.wav=o A3,3521,375,-583,250,83 +_.wav=- A3,506,167,-376,1,31 +_.wav=e A3,710.0,375.0,-583.333,250.0,83.333 +_.wav=e A3,1195,375,-583,250,83 +_.wav=u A3,1658,375,-583,250,83 +_.wav=u A3,1660,375,-583,250,83 +_.wav=o A3,2192,375,-583,250,83 +_.wav=e A3,2720.836,375.0,-583.333,250.0,83.333 +_.wav=e A3,2720.836,375,-583.333,250,83.333 +_.wav=o A3,3352.5,375,-583,250,83 +_.wav=o A3,3352.5,375,-583,250,83 +_.wav=o RA3,4057,546,-583,250,83 +_񂠂.wav=- A3,297,175,-383,2,22 +_񂠂.wav=- A3,297,175,-383,2,22 +_񂠂.wav=o A3,491,375,-583,250,83 +_񂠂.wav=u A3,990.804,375.0,-583.333,250.0,83.333 +_񂠂.wav=n A3,1485,375,-583,250,83 +_񂠂.wav=a A3,2037.166,375.0,-583.333,250.0,83.333 +_񂠂.wav=n A3,2539.999,375.0,-583.333,250.0,83.333 +_񂠂.wav=n A3,2987,375,-583,250,83 +_񂠂.wav=u RA3,3932,429,633,250,83 +_ĂĂエłł.wav=- A3,377,170,-342,8,49 +_ĂĂエłł.wav=o ĂA3,651,375,-583,250,83 +_ĂĂエłł.wav=u A3,1108.367,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n ĂA3,1647,375,-583,250,83 +_ĂĂエłł.wav=u A3,2099.25,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=o łA3,2645,375,-583,250,83 +_ĂĂエłł.wav=u A3,3149,375,-583,250,83 +_ĂĂエłł.wav=n łA3,3641,375,-583,250,83 +_񂩂.wav=- A3,332,180,4227,35,20 +_񂩂.wav=a A3,616.329,375.0,-583.333,250.0,83.333 +_񂩂.wav=n A3,1164,375,-583,250,83 +_񂩂.wav=a A3,1659,375,-583,250,83 +_񂩂.wav=a A3,2176.642,375.0,-583.333,250.0,83.333 +_񂩂.wav=i A3,2653,375,-583,250,83 +_񂩂.wav=a A3,3165,375,-583,250,83 +_񂩂.wav=u A3,3662,375,-583,250,83 +_񂪂.wav=- A3,222,160,-368,30,5 +_񂪂.wav=a A3,486.467,375.0,-583.333,250.0,83.333 +_񂪂.wav=n A3,998.293,375.0,-583.333,250.0,83.333 +_񂪂.wav=a A3,1509,375,-583,250,83 +_񂪂.wav=a A3,2037,375,-583,250,83 +_񂪂.wav=i A3,2506,375,-583,250,83 +_񂪂.wav=a A3,3025.452,375.0,-583.333,250.0,83.333 +_񂪂.wav=u A3,3494.795,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=- A3,322.093,172.432,-380.765,47.432,24.965 +_񂫂傫Ⴋ.wav=e A3,605,375,-583,250,83 +_񂫂傫Ⴋ.wav=n A3,1145.587,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e A3,1652.377,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e A3,2157,375,-583,250,83 +_񂫂傫Ⴋ.wav=o A3,2652,375,-583,250,83 +_񂫂傫Ⴋ.wav=e A3,3135.299,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=a A3,3632.102,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=- A3,425,162,-371,38,4 +_񂬂催Ⴌ.wav=e A3,661.271,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=n A3,1225.432,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e A3,1732,375,-583,250,83 +_񂬂催Ⴌ.wav=e A3,2232,375,-583,250,83 +_񂬂催Ⴌ.wav=o A3,2733.368,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e A3,3233,375,-583,250,83 +_񂬂催Ⴌ.wav=a A3,3746.947,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=- A3,379,177,4264,48,29 +_カɂɂɂɂ.wav=i A3,703,375,-583,250,83 +_カɂɂɂɂ.wav=u A3,1215,375,-583,250,83 +_カɂɂɂɂ.wav=i A3,1705,375,-583,250,83 +_カɂɂɂɂ.wav=e A3,2200,375,-583,250,83 +_カɂɂɂɂ.wav=i ɂA3,2694,375,-583,250,83 +_カɂɂɂɂ.wav=u A3,3198,375,-583,250,83 +_カɂɂɂɂ.wav=i ɂA3,3670,375,-583,250,83 +_񂫂ႫႫႫカ.wav=- A3,223,162,-371,37,1 +_񂫂ႫႫႫカ.wav=a A3,504,375,-583,250,83 +_񂫂ႫႫႫカ.wav=n A3,1011,375,-583,250,83 +_񂫂ႫႫႫカ.wav=a A3,1507.537,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a A3,2034,375,-583,250,83 +_񂫂ႫႫႫカ.wav=i A3,2533.642,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a A3,3030.445,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=u A3,3516,375,-583,250,83 +_񂬂ႬႬႬガ.wav=- A3,295,150,-358,32,0 +_񂬂ႬႬႬガ.wav=a A3,536.441,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=n A3,1100.65,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a A3,1602,375,-583,250,83 +_񂬂ႬႬႬガ.wav=a A3,2109.236,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=i A3,2628,375,-583,250,83 +_񂬂ႬႬႬガ.wav=a A3,3130.306,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=u A3,3633,375,-583,250,83 +_񂫂カカカ傫.wav=- A3,262,182,-391,65,37 +_񂫂カカカ傫.wav=u A3,548,375,-583,250,83 +_񂫂カカカ傫.wav=n A3,1091,375,-583,250,83 +_񂫂カカカ傫.wav=u A3,1603,375,-583,250,83 +_񂫂カカカ傫.wav=u A3,2079.278,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=e A3,2600,375,-583,250,83 +_񂫂カカカ傫.wav=u A3,3075.383,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=o A3,3602,375,-583,250,83 +_񂬂ガガガ催.wav=- A3,368,166,-374,31,3 +_񂬂ガガガ催.wav=u A3,628.81,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=n A3,1175.544,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u A3,1689.823,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u A3,2180,375,-583,250,83 +_񂬂ガガガ催.wav=e A3,2715,375,-583,250,83 +_񂬂ガガガ催.wav=u A3,3178,375,-583,250,83 +_񂬂ガガガ催.wav=o A3,3702.004,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=- A3,406,167,-376,42,4 +_񂫂傫傫Ⴋ傫.wav=o A3,686.188,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=n A3,1231,375,-583,250,83 +_񂫂傫傫Ⴋ傫.wav=o A3,1724.781,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o A3,2216,375,-583,250,83 +_񂫂傫傫Ⴋ傫.wav=a A3,2715.892,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o A3,3220.185,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=i A3,3720,375,-583,250,83 +_񂬂催催Ⴌ催.wav=- A3,296,150,-358,27,0 +_񂬂催催Ⴌ催.wav=o A3,533.901,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=n A3,1075.685,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o A3,1584.971,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o A3,2086.768,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=a A3,2576.082,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o A3,3072.886,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=i A3,3575,375,-583,250,83 +_񂫂.wav=- A3,444,187,-396,58,0 +_񂫂.wav=i A3,711,375,-583,250,83 +_񂫂.wav=n A3,1252,375,-583,250,83 +_񂫂.wav=i A3,1762,375,-583,250,83 +_񂫂.wav=i A3,2246.549,375.0,-583.333,250.0,83.333 +_񂫂.wav=u A3,2745.85,375.0,-583.333,250.0,83.333 +_񂫂.wav=i A3,3220.185,375.0,-583.333,250.0,83.333 +_񂫂.wav=e A3,3716.99,375.0,-583.333,250.0,83.333 +_񂬂.wav=- A3,287,145,-353,18,0 +_񂬂.wav=i A3,542,375,-583,250,83 +_񂬂.wav=n A3,1063.202,375.0,-583.333,250.0,83.333 +_񂬂.wav=i A3,1612,375,-583,250,83 +_񂬂.wav=i A3,2062,375,-583,250,83 +_񂬂.wav=u A3,2588.565,375.0,-583.333,250.0,83.333 +_񂬂.wav=i A3,3083,375,-583,250,83 +_񂬂.wav=e A3,3613,375,-583,250,83 +_񂭂.wav=- A3,385,172,-381,48,8 +_񂭂.wav=a A3,681.242,375.0,-583.333,250.0,83.333 +_񂭂.wav=n A3,1214,375,-583,250,83 +_񂭂.wav=a A3,1704.81,375.0,-583.333,250.0,83.333 +_񂭂.wav=a A3,2239,375,-583,250,83 +_񂭂.wav=i A3,2729,375,-583,250,83 +_񂭂.wav=a A3,3222.682,375.0,-583.333,250.0,83.333 +_񂭂.wav=u A3,3712,375,-583,250,83 +_񂮂.wav=- A3,190,155,-363,30,0 +_񂮂.wav=a A3,484.014,375.0,-583.333,250.0,83.333 +_񂮂.wav=n A3,1017,375,-583,250,83 +_񂮂.wav=a A3,1530.005,375.0,-583.333,250.0,83.333 +_񂮂.wav=a A3,2041,375,-583,250,83 +_񂮂.wav=i A3,2523.656,375.0,-583.333,250.0,83.333 +_񂮂.wav=a A3,3032.942,375.0,-583.333,250.0,83.333 +_񂮂.wav=u A3,3531,375,-583,250,83 +_񂭂.wav=- A3,249,182,-391,64,0 +_񂭂.wav=i A3,481.517,375.0,-583.333,250.0,83.333 +_񂭂.wav=n A3,1068.195,375.0,-583.333,250.0,83.333 +_񂭂.wav=i A3,1564.999,375.0,-583.333,250.0,83.333 +_񂭂.wav=i A3,2074,375,-583,250,83 +_񂭂.wav=u A3,2572,375,-583,250,83 +_񂭂.wav=i A3,3068,375,-583,250,83 +_񂭂.wav=e A3,3583,375,-583,250,83 +_񂮂.wav=- A3,271,155,-363,36,-1 +_񂮂.wav=i A3,528,375,-583,250,83 +_񂮂.wav=n A3,1062,375,-583,250,83 +_񂮂.wav=i A3,1574.985,375.0,-583.333,250.0,83.333 +_񂮂.wav=i A3,2089,375,-583,250,83 +_񂮂.wav=u A3,2569,375,-583,250,83 +_񂮂.wav=i A3,3060.404,375.0,-583.333,250.0,83.333 +_񂮂.wav=e A3,3591,375,-583,250,83 +_񂭂.wav=- A3,342.02,162.978,-371.311,37.978,0.0 +_񂭂.wav=e A3,613.833,375.0,-583.333,250.0,83.333 +_񂭂.wav=n A3,1120.623,375.0,-583.333,250.0,83.333 +_񂭂.wav=e A3,1629.999,375.0,-583.333,250.0,83.333 +_񂭂.wav=e A3,2148,375,-583,250,83 +_񂭂.wav=o A3,2630.962,375.0,-583.333,250.0,83.333 +_񂭂.wav=e A3,3132.802,375.0,-583.333,250.0,83.333 +_񂭂.wav=a A3,3637,375,-583,250,83 +_񂮂.wav=- A3,352,152,-361,27,7 +_񂮂.wav=e A3,621.321,375.0,-583.333,250.0,83.333 +_񂮂.wav=n A3,1112,375,-583,250,83 +_񂮂.wav=e A3,1617.426,375.0,-583.333,250.0,83.333 +_񂮂.wav=e A3,2179.139,375.0,-583.333,250.0,83.333 +_񂮂.wav=o A3,2666,375,-583,250,83 +_񂮂.wav=e A3,3145,375,-583,250,83 +_񂮂.wav=a A3,3664.557,375.0,-583.333,250.0,83.333 +_񂭂.wav=- A3,360,170,-378,45,0 +_񂭂.wav=o A3,628.817,375.0,-583.333,250.0,83.333 +_񂭂.wav=n A3,1191,375,-583,250,83 +_񂭂.wav=o A3,1704.809,375.0,-583.333,250.0,83.333 +_񂭂.wav=o A3,2175,375,-583,250,83 +_񂭂.wav=a A3,2696,375,-583,250,83 +_񂭂.wav=o A3,3201,375,-583,250,83 +_񂭂.wav=i A3,3702.01,375.0,-583.333,250.0,83.333 +_񂮂.wav=- A3,440,150,-358,28,0 +_񂮂.wav=o A3,701.214,375.0,-583.333,250.0,83.333 +_񂮂.wav=n A3,1183,375,-583,250,83 +_񂮂.wav=o A3,1719.739,375.0,-583.333,250.0,83.333 +_񂮂.wav=o A3,2224.081,375.0,-583.333,250.0,83.333 +_񂮂.wav=a A3,2730.871,375.0,-583.333,250.0,83.333 +_񂮂.wav=o A3,3220,375,-583,250,83 +_񂮂.wav=i A3,3704.507,375.0,-583.333,250.0,83.333 +_.wav=- A3,255,157,-366,35,0 +_.wav=u A3,533,375,-583,250,83 +_.wav=e A3,1045.728,375.0,-583.333,250.0,83.333 +_.wav=u A3,1562.46,375.0,-583.333,250.0,83.333 +_.wav=o A3,2061.761,375.0,-583.333,250.0,83.333 +_.wav=u A3,2560,375,-583,250,83 +_.wav=e A3,3046,375,-583,250,83 +_.wav=u A3,3554,375,-583,250,83 +_񂭂.wav=- A3,277,167,-376,54,0 +_񂭂.wav=u A3,549,375,-583,250,83 +_񂭂.wav=n A3,1075.641,375.0,-583.333,250.0,83.333 +_񂭂.wav=u A3,1572,375,-583,250,83 +_񂭂.wav=u A3,2059,375,-583,250,83 +_񂭂.wav=e A3,2563.6,375.0,-583.333,250.0,83.333 +_񂭂.wav=u A3,3070.346,375.0,-583.333,250.0,83.333 +_񂭂.wav=o A3,3569.69,375,-583,250,83 +_񂮂.wav=- A3,349,155,-363,30,0 +_񂮂.wav=u A3,611.337,375.0,-583.333,250.0,83.333 +_񂮂.wav=n A3,1160,375,-583,250,83 +_񂮂.wav=u A3,1618,375,-583,250,83 +_񂮂.wav=u A3,2117,375,-583,250,83 +_񂮂.wav=e A3,2646,375,-583,250,83 +_񂮂.wav=u A3,3127,375,-583,250,83 +_񂮂.wav=o A3,3657.067,375.0,-583.333,250.0,83.333 +_񂯂.wav=- A3,322,160,-368,35,0 +_񂯂.wav=e A3,574,375,-583,250,83 +_񂯂.wav=n A3,1112,375,-583,250,83 +_񂯂.wav=e A3,1617.426,375.0,-583.333,250.0,83.333 +_񂯂.wav=e A3,2136.698,375.0,-583.333,250.0,83.333 +_񂯂.wav=o A3,2646,375,-583,250,83 +_񂯂.wav=e A3,3127.809,375.0,-583.333,250.0,83.333 +_񂯂.wav=a A3,3642.088,375.0,-583.333,250.0,83.333 +_񂰂.wav=- A3,428,160,-368,35,0 +_񂰂.wav=e A3,671.257,375.0,-583.333,250.0,83.333 +_񂰂.wav=n A3,1204,375,-583,250,83 +_񂰂.wav=e A3,1717,375,-583,250,83 +_񂰂.wav=e A3,2219,375,-583,250,83 +_񂰂.wav=o A3,2730,375,-583,250,83 +_񂰂.wav=e A3,3202,375,-583,250,83 +_񂰂.wav=a A3,3719.486,375.0,-583.333,250.0,83.333 +_񂱂.wav=- A3,390,176,-384,39,0 +_񂱂.wav=o A3,658,375,-583,250,83 +_񂱂.wav=n A3,1174,375,-583,250,83 +_񂱂.wav=o A3,1681,375,-583,250,83 +_񂱂.wav=o A3,2169.158,375.0,-583.333,250.0,83.333 +_񂱂.wav=a A3,2690.927,375.0,-583.333,250.0,83.333 +_񂱂.wav=o A3,3212,375,-583,250,83 +_񂱂.wav=i A3,3694.52,375.0,-583.333,250.0,83.333 +_񂲂.wav=- A3,257,192,4318,30,5 +_񂲂.wav=o A3,519.16,375.0,-583.333,250.0,83.333 +_񂲂.wav=n A3,1026,375,-583,250,83 +_񂲂.wav=o A3,1542.531,375.0,-583.333,250.0,83.333 +_񂲂.wav=o A3,2030,375,-583,250,83 +_񂲂.wav=a A3,2561.103,375.0,-583.333,250.0,83.333 +_񂲂.wav=o A3,3057,375,-583,250,83 +_񂲂.wav=i A3,3559.704,375.0,-583.333,250.0,83.333 +_񂳂.wav=- A3,25,343,-477,236,171 +_񂳂.wav=a A3,484.33,375.0,-583.333,250.0,83.333 +_񂳂.wav=n A3,1009,375,-583,250,83 +_񂳂.wav=a A3,1509,375,-583,250,83 +_񂳂.wav=a A3,2008,375,-583,250,83 +_񂳂.wav=i A3,2521.116,375.0,-583.333,250.0,83.333 +_񂳂.wav=a A3,3022.913,375,-583,250,83 +_񂳂.wav=u A3,3519.716,375.0,-583.333,250.0,83.333 +_񂴂.wav=- A3,282,170,-378,40,0 +_񂴂.wav=a A3,566.354,375.0,-583.333,250.0,83.333 +_񂴂.wav=n A3,1068.152,375.0,-583.333,250.0,83.333 +_񂴂.wav=a A3,1604.899,375.0,-583.333,250.0,83.333 +_񂴂.wav=a A3,2111.69,375.0,-583.333,250.0,83.333 +_񂴂.wav=i A3,2615.982,375.0,-583.333,250.0,83.333 +_񂴂.wav=a A3,3125.269,375.0,-583.333,250.0,83.333 +_񂴂.wav=u A3,3612,375,-583,250,83 +_񂵂債Ⴕ.wav=- A3,244,325,-533,200,72 +_񂵂債Ⴕ.wav=e A3,668,375,-583,250,83 +_񂵂債Ⴕ.wav=n A3,1230.425,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e A3,1747.202,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e A3,2234,375,-583,250,83 +_񂵂債Ⴕ.wav=o A3,2728.326,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e A3,3220.136,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=a A3,3734.415,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=- A3,274,178,-386,53,0 +_񂶂傶Ⴖ.wav=e A3,561,375,-583,250,83 +_񂶂傶Ⴖ.wav=n A3,1118,375,-583,250,83 +_񂶂傶Ⴖ.wav=e A3,1613,375,-583,250,83 +_񂶂傶Ⴖ.wav=e A3,2120,375,-583,250,83 +_񂶂傶Ⴖ.wav=o A3,2628.466,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e A3,3127.765,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=a A3,3609,375,-583,250,83 +_񂵂ႵႵႵサ.wav=- A3,102.63,366.0,-582.999,161.999,84.608 +_񂵂ႵႵႵサ.wav=a A3,499,375,-583,250,83 +_񂵂ႵႵႵサ.wav=n A3,1040.691,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a A3,1530,375,-583,250,83 +_񂵂ႵႵႵサ.wav=a A3,2059.263,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=i A3,2533.599,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a A3,3045.381,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=u A3,3532,375,-583,250,83 +_񂶂ႶႶႶザ.wav=- A3,305,182,-391,41,0 +_񂶂ႶႶႶザ.wav=a A3,583,375,-583,250,83 +_񂶂ႶႶႶザ.wav=n A3,1145.544,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a A3,1647.341,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a A3,2141.647,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=i A3,2658.424,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a A3,3167,375,-583,250,83 +_񂶂ႶႶႶザ.wav=u A3,3648,375,-583,250,83 +_񂵂サササ債.wav=- A3,254.643,279.78,-488.114,154.781,72.397 +_񂵂サササ債.wav=u A3,646.243,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=n A3,1192,375,-583,250,83 +_񂵂サササ債.wav=u A3,1684.788,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u A3,2165,375,-583,250,83 +_񂵂サササ債.wav=e A3,2664,375,-583,250,83 +_񂵂サササ債.wav=u A3,3162.717,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=o A3,3673,375,-583,250,83 +_񂶂ザザザ傶.wav=- A3,218,177,-386,52,0 +_񂶂ザザザ傶.wav=u A3,493.957,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=n A3,1045.685,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u A3,1523,375,-583,250,83 +_񂶂ザザザ傶.wav=u A3,2043,375,-583,250,83 +_񂶂ザザザ傶.wav=e A3,2542,375,-583,250,83 +_񂶂ザザザ傶.wav=u A3,3030.402,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=o A3,3547,375,-583,250,83 +_񂵂債債Ⴕ債.wav=- A3,101,327,-536,202,114 +_񂵂債債Ⴕ債.wav=o A3,557,375,-583,250,83 +_񂵂債債Ⴕ債.wav=n A3,1085,375,-583,250,83 +_񂵂債債Ⴕ債.wav=o A3,1585,375,-583,250,83 +_񂵂債債Ⴕ債.wav=o A3,2067,375,-583,250,83 +_񂵂債債Ⴕ債.wav=a A3,2571,375,-583,250,83 +_񂵂債債Ⴕ債.wav=o A3,3077.836,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=i A3,3575,375,-583,250,83 +_񂶂傶傶Ⴖ傶.wav=- A3,361.994,172.433,-380.766,47.433,0.0 +_񂶂傶傶Ⴖ傶.wav=o A3,641.251,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=n A3,1158,375,-583,250,83 +_񂶂傶傶Ⴖ傶.wav=o A3,1666,375,-583,250,83 +_񂶂傶傶Ⴖ傶.wav=o A3,2164.116,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=a A3,2660.92,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o A3,3171,375,-583,250,83 +_񂶂傶傶Ⴖ傶.wav=i A3,3679.493,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=- A3,217,290,-498,169,119 +_񂵂サ.wav=i A3,558,375,-583,250,83 +_񂵂サ.wav=n A3,1144,375,-583,250,83 +_񂵂サ.wav=i A3,1641,375,-583,250,83 +_񂵂サ.wav=i A3,2121,375,-583,250,83 +_񂵂サ.wav=u A3,2613,375,-583,250,83 +_񂵂サ.wav=i A3,3072,375,-583,250,83 +_񂵂サ.wav=e A3,3609.591,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=- A3,364,200,-408,75,37 +_񂶂ザ.wav=i A3,635,375,-583,250,83 +_񂶂ザ.wav=n A3,1207.956,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i A3,1719,375,-583,250,83 +_񂶂ザ.wav=i A3,2211.551,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=u A3,2716,375,-583,250,83 +_񂶂ザ.wav=i A3,3209,375,-583,250,83 +_񂶂ザ.wav=e A3,3730,375,-583,250,83 +_񂷂.wav=- A3,211,252,-461,127,62 +_񂷂.wav=i A3,568,375,-583,250,83 +_񂷂.wav=n A3,1090,375,-583,250,83 +_񂷂.wav=i A3,1607.397,375.0,-583.333,250.0,83.333 +_񂷂.wav=i A3,2114.186,375.0,-583.333,250.0,83.333 +_񂷂.wav=u A3,2594,375,-583,250,83 +_񂷂.wav=i A3,3077.836,375.0,-583.333,250.0,83.333 +_񂷂.wav=e A3,3602.102,375.0,-583.333,250.0,83.333 +_񂸂.wav=- A3,385,172,-381,47,20 +_񂸂.wav=i A3,656,375,-583,250,83 +_񂸂.wav=n A3,1170.509,375.0,-583.333,250.0,83.333 +_񂸂.wav=i A3,1702.264,375.0,-583.333,250.0,83.333 +_񂸂.wav=i A3,2195,375,-583,250,83 +_񂸂.wav=u A3,2694,375,-583,250,83 +_񂸂.wav=i A3,3172.703,375.0,-583.333,250.0,83.333 +_񂸂.wav=e A3,3676,375,-583,250,83 +_񂷂.wav=- A3,238,282,-491,157,113 +_񂷂.wav=u A3,580,375,-583,250,83 +_񂷂.wav=n A3,1176,375,-583,250,83 +_񂷂.wav=u A3,1661,375,-583,250,83 +_񂷂.wav=u A3,2148,375,-583,250,83 +_񂷂.wav=e A3,2664,375,-583,250,83 +_񂷂.wav=u A3,3135.256,375.0,-583.333,250.0,83.333 +_񂷂.wav=o A3,3657.024,375.0,-583.333,250.0,83.333 +_񂸂.wav=- A3,391,182,-391,54,27 +_񂸂.wav=u A3,688.684,375.0,-583.333,250.0,83.333 +_񂸂.wav=n A3,1260,375,-583,250,83 +_񂸂.wav=u A3,1769.668,375.0,-583.333,250.0,83.333 +_񂸂.wav=u A3,2260,375,-583,250,83 +_񂸂.wav=e A3,2754,375,-583,250,83 +_񂸂.wav=u A3,3227.627,375.0,-583.333,250.0,83.333 +_񂸂.wav=o A3,3731,375,-583,250,83 +_񂹂.wav=- A3,232,340,-548,232,164 +_񂹂.wav=e A3,698,375,-583,250,83 +_񂹂.wav=n A3,1210.453,375.0,-583.333,250.0,83.333 +_񂹂.wav=e A3,1721,375,-583,250,83 +_񂹂.wav=e A3,2194.074,375.0,-583.333,250.0,83.333 +_񂹂.wav=o A3,2698,375,-583,250,83 +_񂹂.wav=e A3,3187.682,375.0,-583.333,250.0,83.333 +_񂹂.wav=a A3,3691.975,375.0,-583.333,250.0,83.333 +_񂺂.wav=- A3,274,162,-371,37,0 +_񂺂.wav=e A3,562,375,-583,250,83 +_񂺂.wav=n A3,1097,375,-583,250,83 +_񂺂.wav=e A3,1581,375,-583,250,83 +_񂺂.wav=e A3,2089.221,375.0,-583.333,250.0,83.333 +_񂺂.wav=o A3,2603,375,-583,250,83 +_񂺂.wav=e A3,3085.325,375.0,-583.333,250.0,83.333 +_񂺂.wav=a A3,3592.116,375.0,-583.333,250.0,83.333 +_񂻂.wav=- A3,95,317,-511,191,126 +_񂻂.wav=o A3,522,375,-583,250,83 +_񂻂.wav=n A3,1046,375,-583,250,83 +_񂻂.wav=o A3,1544.984,375.0,-583.333,250.0,83.333 +_񂻂.wav=o A3,2042,375,-583,250,83 +_񂻂.wav=a A3,2536.095,375.0,-583.333,250.0,83.333 +_񂻂.wav=o A3,3062.857,375.0,-583.333,250.0,83.333 +_񂻂.wav=i A3,3542,375,-583,250,83 +_񂼂.wav=- A3,347,157,-366,37,0 +_񂼂.wav=o A3,623.775,375.0,-583.333,250.0,83.333 +_񂼂.wav=n A3,1140.551,375.0,-583.333,250.0,83.333 +_񂼂.wav=o A3,1631,375,-583,250,83 +_񂼂.wav=o A3,2119.178,375,-583,250,83 +_񂼂.wav=a A3,2616,375,-583,250,83 +_񂼂.wav=o A3,3132,375,-583,250,83 +_񂼂.wav=i A3,3649.535,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=- A3,340,254,4237,21,14 +_񂽂ĂƂ.wav=a A3,608.795,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=n A3,1116,375,-583,250,83 +_񂽂ĂƂ.wav=a A3,1604,375,-583,250,83 +_񂽂ĂƂ.wav=a ĂA3,2099.207,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=i A3,2612,375,-583,250,83 +_񂽂ĂƂ.wav=a ƂA3,3122.773,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=u A3,3627.066,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=- A3,453,128,4212,17,0 +_񂾂łǂ.wav=a A3,691,375,-583,250,83 +_񂾂łǂ.wav=n A3,1199,375,-583,250,83 +_񂾂łǂ.wav=a A3,1686,375,-583,250,83 +_񂾂łǂ.wav=a łA3,2187,375,-583,250,83 +_񂾂łǂ.wav=i A3,2694,375,-583,250,83 +_񂾂łǂ.wav=a ǂA3,3202.661,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=u A3,3697,375,-583,250,83 +_񂿂傿Ⴟ.wav=- A3,251,197,-406,72,45 +_񂿂傿Ⴟ.wav=e A3,578,375,-583,250,83 +_񂿂傿Ⴟ.wav=n A3,1126,375,-583,250,83 +_񂿂傿Ⴟ.wav=e A3,1634.858,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e A3,2111.69,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=o A3,2608.495,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e A3,3110.29,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=a A3,3608,375,-583,250,83 +_񂿂ႿႿႿタ.wav=- A3,322,180,-388,55,0 +_񂿂ႿႿႿタ.wav=a A3,600,375,-583,250,83 +_񂿂ႿႿႿタ.wav=n A3,1141,375,-583,250,83 +_񂿂ႿႿႿタ.wav=a A3,1654.83,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a A3,2186.585,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=i A3,2667,375,-583,250,83 +_񂿂ႿႿႿタ.wav=a A3,3177.696,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=u A3,3674,375,-583,250,83 +_񂿂タタタ傿.wav=- A3,211,200,-408,75,40 +_񂿂タタタ傿.wav=u A3,510,375,-583,250,83 +_񂿂タタタ傿.wav=n A3,1050.677,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u A3,1547.481,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u A3,2051.774,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=e A3,2558.564,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u A3,3040.388,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=o A3,3578,375,-583,250,83 +_񂿂傿傿Ⴟ傿.wav=- A3,369,172,-381,58,0 +_񂿂傿傿Ⴟ傿.wav=o A3,661,375,-583,250,83 +_񂿂傿傿Ⴟ傿.wav=n A3,1150.536,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o A3,1660,375,-583,250,83 +_񂿂傿傿Ⴟ傿.wav=o A3,2166,375,-583,250,83 +_񂿂傿傿Ⴟ傿.wav=a A3,2645.941,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o A3,3167.71,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=i A3,3664.514,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=- A3,328,207,-416,82,51 +_񂿂タ.wav=i A3,638.753,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=n A3,1207.956,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i A3,1705,375,-583,250,83 +_񂿂タ.wav=i A3,2210,375,-583,250,83 +_񂿂タ.wav=u A3,2708.354,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i A3,3200.165,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=e A3,3741.905,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚A3,213,182,-391,59,0 +_‚‚‚‚‚‚‚.wav=a A3,524.966,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚A3,1055.67,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚A3,1569.948,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚A3,2069.249,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚A3,2567,375,-583,250,83 +_‚‚‚‚‚‚‚.wav=a A3,3095,375,-583,250,83 +_‚‚‚‚‚‚‚.wav=u ‚A3,3579.633,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚A3,300,212,-421,87,0 +_‚‚‚‚‚‚‚.wav=i A3,569,375,-583,250,83 +_‚‚‚‚‚‚‚.wav=n ‚A3,1127,375,-583,250,83 +_‚‚‚‚‚‚‚.wav=i ‚A3,1618,375,-583,250,83 +_‚‚‚‚‚‚‚.wav=i A3,2130,375,-583,250,83 +_‚‚‚‚‚‚‚.wav=u ‚A3,2640.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚A3,3130.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚A3,3637.052,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚A3,158,185,-393,61,0 +_‚‚‚‚‚‚‚.wav=e A3,459,375,-583,250,83 +_‚‚‚‚‚‚‚.wav=n ‚A3,1009,375,-583,250,83 +_‚‚‚‚‚‚‚.wav=e ‚A3,1510.033,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚A3,2036.795,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚A3,2528.607,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚A3,3008,375,-583,250,83 +_‚‚‚‚‚‚‚.wav=a ‚A3,3524.71,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚A3,269,175,-383,52,0 +_‚‚‚‚‚‚‚.wav=o A3,561.362,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚A3,1070.649,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚A3,1569,375,-583,250,83 +_‚‚‚‚‚‚‚.wav=o ‚A3,2089.221,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚A3,2583.529,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚A3,3105,375,-583,250,83 +_‚‚‚‚‚‚‚.wav=i ‚A3,3587.122,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=- A3,372,243,-420,67,46 +_‚‚‚‚‚‚.wav=u A3,621,375,-583,250,83 +_‚‚‚‚‚‚.wav=n A3,1190,375,-583,250,83 +_‚‚‚‚‚‚.wav=u A3,1684.788,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚A3,2189.081,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=e A3,2708,375,-583,250,83 +_‚‚‚‚‚‚.wav=u ‚A3,3188,375,-583,250,83 +_‚‚‚‚‚‚.wav=o A3,3709.451,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=- ĂA3,379,152,-361,27,0 +_ĂĂĂƂĂĂĂ.wav=i A3,626,375,-583,250,83 +_ĂĂĂƂĂĂĂ.wav=n ĂA3,1158.025,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ĂA3,1662.32,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ƂA3,2164.116,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=u ĂA3,2678.395,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i A3,3187.682,375,-583,250,83 +_ĂĂĂƂĂĂĂ.wav=e ĂA3,3704.458,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=- łA3,238,155,-363,20,0 +_łłłǂłłł.wav=i A3,493.957,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=n łA3,1033.201,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i łA3,1537.495,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i ǂA3,2036.796,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=u łA3,2521,375,-583,250,83 +_łłłǂłłł.wav=i A3,3035.395,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=e łA3,3544,375,-583,250,83 +_ĂĂ゠ĂアĂウĂ.wav=- ĂA3,429.398,177.425,-385.758,52.425,0.0 +_ĂĂ゠ĂアĂウĂ.wav=u ĂA3,748.599,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u A3,1209,375,-583,250,83 +_ĂĂ゠ĂアĂウĂ.wav=a ĂA3,1749.697,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u A3,2203,375,-583,250,83 +_ĂĂ゠ĂアĂウĂ.wav=i ĂA3,2761,375,-583,250,83 +_ĂĂ゠ĂアĂウĂ.wav=u A3,3210.151,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=e ĂA3,3762,375,-583,250,83 +_łł゠łアłウł.wav=- łA3,284,147,-356,22,0 +_łł゠łアłウł.wav=u łA3,576.341,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u A3,1049,375,-583,250,83 +_łł゠łアłウł.wav=a łA3,1578,375,-583,250,83 +_łł゠łアłウł.wav=u A3,2039,375,-583,250,83 +_łł゠łアłウł.wav=i łA3,2571.046,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u A3,3062.857,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=e łA3,3562.157,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=- A3,302,147,-356,22,12 +_ĂĂĂƂĂ.wav=e A3,568,375,-583,250,83 +_ĂĂĂƂĂ.wav=n A3,1095.613,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e A3,1599,375,-583,250,83 +_ĂĂĂƂĂ.wav=e A3,2101.705,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=o A3,2605.997,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e A3,3082.83,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=a A3,3587.122,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=- A3,377,150,-358,15,0 +_łłłǂł.wav=e A3,632,375,-583,250,83 +_łłłǂł.wav=n A3,1160.523,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e A3,1652.333,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e A3,2171.607,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=o A3,2675.899,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e A3,3152.732,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=a A3,3644.542,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=- ƂA3,203,165,-374,40,0 +_ƂƂƂĂƂƂƂ.wav=u A3,488,375,-583,250,83 +_ƂƂƂĂƂƂƂ.wav=n ƂA3,1027,375,-583,250,83 +_ƂƂƂĂƂƂƂ.wav=u ƂA3,1505.04,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u A3,2022,375,-583,250,83 +_ƂƂƂĂƂƂƂ.wav=e ƂA3,2526,375,-583,250,83 +_ƂƂƂĂƂƂƂ.wav=u A3,3016,375,-583,250,83 +_ƂƂƂĂƂƂƂ.wav=o ƂA3,3552.171,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=- ǂA3,343,147,-356,22,0 +_ǂǂǂłǂǂǂ.wav=u A3,584,375,-583,250,83 +_ǂǂǂłǂǂǂ.wav=n ǂA3,1091,375,-583,250,83 +_ǂǂǂłǂǂǂ.wav=u ǂA3,1618,375,-583,250,83 +_ǂǂǂłǂǂǂ.wav=u A3,2101,375,-583,250,83 +_ǂǂǂłǂǂǂ.wav=e ǂA3,2598.508,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u A3,3090,375,-583,250,83 +_ǂǂǂłǂǂǂ.wav=o ǂA3,3625,375,-583,250,83 +_ƂƂƂƂĂ.wav=- A3,354,228,4134,19,9 +_ƂƂƂƂĂ.wav=o A3,642,375,-583,250,83 +_ƂƂƂƂĂ.wav=n A3,1128.069,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o A3,1651,375,-583,250,83 +_ƂƂƂƂĂ.wav=o A3,2149.137,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=a A3,2645.941,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o ĂA3,3147.738,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=i A3,3642.045,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=- A3,441,140,-348,15,0 +_ǂǂǂǂł.wav=o A3,703.663,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=n A3,1215,375,-583,250,83 +_ǂǂǂǂł.wav=o A3,1719,375,-583,250,83 +_ǂǂǂǂł.wav=o A3,2211.551,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=a A3,2717,375,-583,250,83 +_ǂǂǂǂł.wav=o łA3,3225.13,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=i A3,3734.415,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=- A3,347,217,-426,87,40 +_ȂȂȂɂȂʂ.wav=a A3,679,375,-583,250,83 +_ȂȂȂɂȂʂ.wav=n A3,1180.495,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a A3,1689,375,-583,250,83 +_ȂȂȂɂȂʂ.wav=a A3,2176,375,-583,250,83 +_ȂȂȂɂȂʂ.wav=i A3,2693,375,-583,250,83 +_ȂȂȂɂȂʂ.wav=a A3,3208,375,-583,250,83 +_ȂȂȂɂȂʂ.wav=u A3,3706,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=- ɂA3,212,207,-416,114,62 +_ɂɂɂɂɂɂɂ.wav=e A3,578,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=n ɂA3,1092,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=e ɂA3,1612.389,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂA3,2119.179,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂA3,2618,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=e ɂA3,3125.269,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂA3,3603,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=- ɂA3,346,182,-391,81,33 +_ɂɂɂɂɂɂɂ.wav=a A3,678,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=n ɂA3,1193,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=a ɂA3,1701,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=a A3,2199.067,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂA3,2709,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=a ɂA3,3210,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=u ɂA3,3701,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=- ɂA3,223,162,-371,61,24 +_ɂɂɂɂɂɂɂ.wav=u A3,521.418,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂA3,1059,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=u ɂA3,1567.453,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂA3,2049.277,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂA3,2553.571,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂA3,3032.899,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂA3,3564,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=- ɂA3,320,202,-411,124,74 +_ɂɂɂɂɂɂɂ.wav=o A3,673,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=n ɂA3,1189,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=o ɂA3,1690,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=o ɂA3,2177,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=a ɂA3,2675,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=o A3,3151,387,1285,250,83 +_ɂɂɂɂɂɂɂ.wav=i ɂA3,3679,375,-583,250,83 +_ɂɂɂʂɂ˂.wav=- A3,200,165,-373,79,45 +_ɂɂɂʂɂ˂.wav=i A3,498.95,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=n A3,1027,375,-583,250,83 +_ɂɂɂʂɂ˂.wav=i A3,1525.012,375,-583,250,83 +_ɂɂɂʂɂ˂.wav=i A3,2034.298,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=u A3,2513,375,-583,250,83 +_ɂɂɂʂɂ˂.wav=i A3,3012,375,-583,250,83 +_ɂɂɂʂɂ˂.wav=e A3,3537,375,-583,250,83 +_ʂʂʂ˂ʂ̂.wav=- A3,253,192,-401,67,37 +_ʂʂʂ˂ʂ̂.wav=u A3,568.852,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=n A3,1065.656,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u A3,1589.92,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u A3,2074,375,-583,250,83 +_ʂʂʂ˂ʂ̂.wav=e A3,2581,375,-583,250,83 +_ʂʂʂ˂ʂ̂.wav=u A3,3068,375,-583,250,83 +_ʂʂʂ˂ʂ̂.wav=o A3,3596,377,-583,250,83 +_˂˂˂̂˂Ȃ.wav=- A3,340,241,-467,102,46 +_˂˂˂̂˂Ȃ.wav=e A3,653,375,-583,250,83 +_˂˂˂̂˂Ȃ.wav=n A3,1125,375,-583,250,83 +_˂˂˂̂˂Ȃ.wav=e A3,1647.341,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e A3,2160,375,-583,250,83 +_˂˂˂̂˂Ȃ.wav=o A3,2658.424,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e A3,3147,375,-583,250,83 +_˂˂˂̂˂Ȃ.wav=a A3,3664,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=- A3,182,177,-386,67,31 +_̂̂̂Ȃ̂ɂ.wav=o A3,496.453,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=n A3,987,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=o A3,1495,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=o A3,1988,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=a A3,2496.151,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=o A3,3007,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=i A3,3501,375,-583,250,83 +_͂͂͂Ђ͂ӂ.wav=- A3,198,190,-398,78,52 +_͂͂͂Ђ͂ӂ.wav=a A3,531.404,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=n A3,1075,375,-583,250,83 +_͂͂͂Ђ͂ӂ.wav=a A3,1554,375,-583,250,83 +_͂͂͂Ђ͂ӂ.wav=a A3,2090,375,-583,250,83 +_͂͂͂Ђ͂ӂ.wav=i A3,2559,375,-583,250,83 +_͂͂͂Ђ͂ӂ.wav=a A3,3071,375,-583,250,83 +_͂͂͂Ђ͂ӂ.wav=u A3,3572.143,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=- A3,256,145,-353,16,0 +_΂΂΂т΂Ԃ.wav=a A3,523,375,-583,250,83 +_΂΂΂т΂Ԃ.wav=n A3,1033.201,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a A3,1528,375,-583,250,83 +_΂΂΂т΂Ԃ.wav=a A3,2036,375,-583,250,83 +_΂΂΂т΂Ԃ.wav=i A3,2561.06,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a A3,3070,375,-583,250,83 +_΂΂΂т΂Ԃ.wav=u A3,3552.171,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=- A3,380,137,-346,14,1 +_ςςς҂ςՂ.wav=a A3,626.553,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=n A3,1128,375,-583,250,83 +_ςςς҂ςՂ.wav=a A3,1664.816,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a A3,2156,375,-583,250,83 +_ςςς҂ςՂ.wav=i A3,2658.424,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a A3,3145.242,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=u A3,3644.542,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂA3,270,215,-423,107,62 +_ЂЂЂЂЂЂЂ.wav=e A3,638.753,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂA3,1150,375,-583,250,83 +_ЂЂЂЂЂЂЂ.wav=e ЂA3,1651,375,-583,250,83 +_ЂЂЂЂЂЂЂ.wav=e ЂA3,2150,375,-583,250,83 +_ЂЂЂЂЂЂЂ.wav=o ЂA3,2653.431,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂA3,3152.731,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂA3,3659.999,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тA3,327.042,142.475,-350.808,17.475,0.0 +_ттттттт.wav=e A3,581.334,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тA3,1101,375,-583,250,83 +_ттттттт.wav=e тA3,1601,375,-583,250,83 +_ттттттт.wav=e тA3,2106.698,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тA3,2605.997,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тA3,3102.801,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тA3,3612.087,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂A3,354.506,144.97,-353.303,19.97,0.0 +_҂҂҂҂҂҂҂.wav=e A3,615,375,-583,250,83 +_҂҂҂҂҂҂҂.wav=n ҂A3,1120.579,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂A3,1630,375,-583,250,83 +_҂҂҂҂҂҂҂.wav=e ҂A3,2149.137,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂A3,2634,375,-583,250,83 +_҂҂҂҂҂҂҂.wav=e ҂A3,3123,375,-583,250,83 +_҂҂҂҂҂҂҂.wav=a ҂A3,3612.087,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=- A3,369,147,-356,14,0 +_тттт҂҂҂҂.wav=i тA3,638.754,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u A3,1155.53,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i тA3,1659,375,-583,250,83 +_тттт҂҂҂҂.wav=e A3,2139.151,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂A3,2635,375,-583,250,83 +_тттт҂҂҂҂.wav=u A3,3132.759,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂A3,3649.535,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=- A3,220,180,-388,75,50 +_ЂЂЂЂ݂݂݂݂.wav=i ЂA3,536,375,-583,250,83 +_ЂЂЂЂ݂݂݂݂.wav=u A3,1025,375,-583,250,83 +_ЂЂЂЂ݂݂݂݂.wav=i ЂA3,1530.005,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=e A3,2019.32,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ݂A3,2521.116,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u A3,3018,375,-583,250,83 +_ЂЂЂЂ݂݂݂݂.wav=i ݂A3,3511,375,-583,250,83 +_ЂЂЂЂЂЂЂ.wav=- ЂA3,158,190,-398,92,53 +_ЂЂЂЂЂЂЂ.wav=a A3,510,375,-583,250,83 +_ЂЂЂЂЂЂЂ.wav=n ЂA3,1019,375,-583,250,83 +_ЂЂЂЂЂЂЂ.wav=a ЂA3,1548,375,-583,250,83 +_ЂЂЂЂЂЂЂ.wav=a A3,2049.277,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂA3,2541.087,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂA3,3050,375,-583,250,83 +_ЂЂЂЂЂЂЂ.wav=u ЂA3,3539,375,-583,250,83 +_ттттттт.wav=- тA3,429.398,137.479,-345.813,12.479,0.0 +_ттттттт.wav=a A3,688.684,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тA3,1192,375,-583,250,83 +_ттттттт.wav=a тA3,1702.264,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a A3,2214.046,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тA3,2715.843,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тA3,3209,375,-583,250,83 +_ттттттт.wav=u тA3,3696,375,-583,250,83 +_҂҂҂҂҂҂҂.wav=- ҂A3,250,145,-353,34,3 +_҂҂҂҂҂҂҂.wav=a A3,523,375,-583,250,83 +_҂҂҂҂҂҂҂.wav=n ҂A3,1033.201,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂A3,1521,375,-583,250,83 +_҂҂҂҂҂҂҂.wav=a A3,2041.788,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂A3,2538.592,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂A3,3017.92,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂A3,3525,375,-583,250,83 +_ЂЂЂЂЂЂЂ.wav=- ЂA3,256,190,-398,82,46 +_ЂЂЂЂЂЂЂ.wav=u A3,582,375,-583,250,83 +_ЂЂЂЂЂЂЂ.wav=n ЂA3,1103.103,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂA3,1617.383,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂA3,2100.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂA3,2600.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂA3,3075.339,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂA3,3604.599,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тA3,264.629,147.467,-355.8,22.467,0.0 +_ттттттт.wav=u A3,526.411,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тA3,1045.685,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тA3,1557,375,-583,250,83 +_ттттттт.wav=u тA3,2039.291,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тA3,2568.549,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тA3,3052.872,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тA3,3552.171,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂A3,307,155,-363,39,0 +_҂҂҂҂҂҂҂.wav=u A3,573.845,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂A3,1078.138,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂A3,1574,375,-583,250,83 +_҂҂҂҂҂҂҂.wav=u ҂A3,2081.732,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂A3,2593.515,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂A3,3094,375,-583,250,83 +_҂҂҂҂҂҂҂.wav=o ҂A3,3587.122,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂA3,357,192,-401,83,46 +_ЂЂЂЂЂЂЂ.wav=o A3,653.733,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂA3,1218,375,-583,250,83 +_ЂЂЂЂЂЂЂ.wav=o ЂA3,1715,375,-583,250,83 +_ЂЂЂЂЂЂЂ.wav=o ЂA3,2216.544,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂA3,2701,375,-583,250,83 +_ЂЂЂЂЂЂЂ.wav=o A3,3215.144,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂA3,3719.437,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тA3,394,147,-356,18,0 +_ттттттт.wav=o A3,657,375,-583,250,83 +_ттттттт.wav=n тA3,1173.004,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тA3,1687,375,-583,250,83 +_ттттттт.wav=o тA3,2189.081,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тA3,2695.871,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o A3,3182.69,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тA3,3706.955,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂A3,429,145,-353,26,7 +_҂҂҂҂҂҂҂.wav=o A3,705,375,-583,250,83 +_҂҂҂҂҂҂҂.wav=n ҂A3,1237,375,-583,250,83 +_҂҂҂҂҂҂҂.wav=o ҂A3,1727,375,-583,250,83 +_҂҂҂҂҂҂҂.wav=o ҂A3,2216.543,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂A3,2729,375,-583,250,83 +_҂҂҂҂҂҂҂.wav=o A3,3227.626,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂A3,3745,375,-583,250,83 +_ЂЂЂӂЂւ.wav=- A3,280,172,-381,73,49 +_ЂЂЂӂЂւ.wav=i A3,617,375,-583,250,83 +_ЂЂЂӂЂւ.wav=n A3,1132,375,-583,250,83 +_ЂЂЂӂЂւ.wav=i A3,1615,375,-583,250,83 +_ЂЂЂӂЂւ.wav=i A3,2129.165,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=u A3,2636,375,-583,250,83 +_ЂЂЂӂЂւ.wav=i A3,3130,375,-583,250,83 +_ЂЂЂӂЂւ.wav=e A3,3640,375,-583,250,83 +_тттԂтׂ.wav=- A3,369,140,-348,18,0 +_тттԂтׂ.wav=i A3,613,375,-583,250,83 +_тттԂтׂ.wav=n A3,1113.089,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i A3,1617.383,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i A3,2106.697,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=u A3,2601.004,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i A3,3110.29,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=e A3,3619.577,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=- A3,421.911,147.466,-355.799,22.466,0.0 +_҂҂҂Ղ҂؂.wav=i A3,698,375,-583,250,83 +_҂҂҂Ղ҂؂.wav=n A3,1207.956,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i A3,1712.25,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i A3,2213,375,-583,250,83 +_҂҂҂Ղ҂؂.wav=u A3,2698.368,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i A3,3210,375,-583,250,83 +_҂҂҂Ղ҂؂.wav=e A3,3701.961,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂA3,275,195,-403,104,69 +_ӂӂӂӂӂӂӂ.wav=a A3,621.279,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂA3,1143.046,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂA3,1634.858,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂA3,2156,375,-583,250,83 +_ӂӂӂӂӂӂӂ.wav=i ӂA3,2645.941,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a A3,3150,375,-583,250,83 +_ӂӂӂӂӂӂӂ.wav=u ӂA3,3666,375,-583,250,83 +_ӂӂӂӂӂӂӂ.wav=- ӂA3,341,205,-413,108,69 +_ӂӂӂӂӂӂӂ.wav=i A3,658.726,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂA3,1170,375,-583,250,83 +_ӂӂӂӂӂӂӂ.wav=i ӂA3,1687.284,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i A3,2187,375,-583,250,83 +_ӂӂӂӂӂӂӂ.wav=u ӂA3,2707,375,-583,250,83 +_ӂӂӂӂӂӂӂ.wav=i ӂA3,3197.668,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂA3,3701.961,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂA3,218,215,-423,99,54 +_ӂӂӂӂӂӂӂ.wav=e A3,562,375,-583,250,83 +_ӂӂӂӂӂӂӂ.wav=n ӂA3,1085.628,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂA3,1602.405,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂA3,2101,375,-583,250,83 +_ӂӂӂӂӂӂӂ.wav=o ӂA3,2613.487,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂA3,3125.269,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂA3,3627.066,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂA3,295,170,-378,71,35 +_ӂӂӂӂӂӂӂ.wav=o A3,646,375,-583,250,83 +_ӂӂӂӂӂӂӂ.wav=n ӂA3,1189,375,-583,250,83 +_ӂӂӂӂӂӂӂ.wav=o ӂA3,1694,375,-583,250,83 +_ӂӂӂӂӂӂӂ.wav=o ӂA3,2171,375,-583,250,83 +_ӂӂӂӂӂӂӂ.wav=a ӂA3,2680.892,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂA3,3170.207,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂA3,3672.003,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=- A3,180,184,4353,92,63 +_ӂӂӂӂӂӂ.wav=u A3,513.929,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=n A3,1041,375,-583,250,83 +_ӂӂӂӂӂӂ.wav=u A3,1557.467,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂA3,2053,375,-583,250,83 +_ӂӂӂӂӂӂ.wav=e A3,2560,375,-583,250,83 +_ӂӂӂӂӂӂ.wav=u ӂA3,3070.346,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=o A3,3547,375,-583,250,83 +_ӂӂӂւӂق.wav=- A3,350,167,-376,55,33 +_ӂӂӂւӂق.wav=u A3,633,375,-583,250,83 +_ӂӂӂւӂق.wav=n A3,1218,375,-583,250,83 +_ӂӂӂւӂق.wav=u A3,1694.774,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u A3,2181,375,-583,250,83 +_ӂӂӂւӂق.wav=e A3,2695.87,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u A3,3172.703,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=o A3,3691.975,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=- A3,314.559,212.376,-420.709,87.376,47.433 +_ԂԂԂׂԂڂ.wav=u A3,636.258,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=n A3,1182.991,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u A3,1687.284,375,-583,250,83 +_ԂԂԂׂԂڂ.wav=u A3,2159.123,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=e A3,2673.403,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u A3,3180.194,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=o A3,3684.487,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=- A3,234.672,157.453,-365.786,32.453,0.0 +_ՂՂՂ؂Ղۂ.wav=u A3,526.411,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=n A3,1030.705,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u A3,1549.977,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u A3,2041.788,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=e A3,2558.564,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u A3,3045.381,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=o A3,3562.157,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=- A3,256,172,-381,60,42 +_ւււقւ͂.wav=e A3,518.922,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=n A3,1020.719,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e A3,1530.005,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e A3,2019.32,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=o A3,2538.592,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e A3,3037.892,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=a A3,3527.206,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=- A3,227.181,137.481,-345.815,12.482,0.0 +_ׂׂׂڂׂ΂.wav=e A3,501.445,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=n A3,1023.215,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e A3,1505.04,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e A3,2016.822,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=o A3,2521.116,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e A3,3012.927,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=a A3,3509.732,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=- A3,297.084,139.978,-348.311,14.978,0.0 +_؂؂؂ۂ؂ς.wav=e A3,586.328,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=n A3,1123.075,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e A3,1619.879,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e A3,2121.676,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=o A3,2603.5,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e A3,3110.29,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=a A3,3627.066,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=- A3,264,165,-373,40,23 +_ققق͂قЂ.wav=o A3,594.626,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=n A3,1080.635,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o A3,1604.899,375,-583,250,83 +_ققق͂قЂ.wav=o A3,2094.214,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=a A3,2583.529,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o A3,3075.339,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=i A3,3552.171,374.825,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=- A3,284.601,144.971,-353.305,19.971,0.0 +_ڂڂڂ΂ڂт.wav=o A3,583.832,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=n A3,1065.656,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o A3,1584.928,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o A3,2081.732,375,-583,250,83 +_ڂڂڂ΂ڂт.wav=a A3,2586.025,375,-583,250,83 +_ڂڂڂ΂ڂт.wav=o A3,3072.843,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=i A3,3574.64,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=- A3,357.002,147.466,-355.799,22.466,0.0 +_ۂۂۂςۂ҂.wav=o A3,643.747,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=n A3,1168.012,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o A3,1679.794,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o A3,2171.607,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=a A3,2680.0,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o A3,3175.2,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=i A3,3674.5,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=- A3,351,269,-465,62,35 +_܂܂܂݂܂ނ.wav=a A3,641.251,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=n A3,1138.054,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a A3,1644.844,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a A3,2144.144,375,-583,250,83 +_܂܂܂݂܂ނ.wav=i A3,2633,375,-583,250,83 +_܂܂܂݂܂ނ.wav=a A3,3145.242,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=u A3,3644.542,375,-583,250,83 +_݂݂݂݂݂݂݂.wav=- ݂A3,354.503,187.41,-395.744,62.411,27.461 +_݂݂݂݂݂݂݂.wav=e A3,651.237,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂A3,1187.984,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂A3,1682.293,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂A3,2174.102,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂A3,2688.382,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂A3,3175.2,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂A3,3662.017,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂A3,207.211,177.425,-385.758,52.425,0.0 +_݂݂݂݂݂݂݂.wav=a A3,513.929,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂A3,1020.718,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂A3,1534.998,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a A3,2036.795,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂A3,2531.102,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂A3,3047.877,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂A3,3557.163,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂A3,292.091,164.943,-373.276,39.943,0.0 +_݂݂݂݂݂݂݂.wav=u A3,603.803,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂A3,1100.607,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂A3,1624.872,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂A3,2111.69,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂A3,2630.962,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂A3,3115.283,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂A3,3602.102,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂A3,214.699,177.424,-385.757,52.425,0.0 +_݂݂݂݂݂݂݂.wav=o A3,506.44,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂A3,1000.747,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂A3,1500.048,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂A3,1999.347,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂A3,2503.64,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o A3,3007.933,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂A3,3517.221,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=- A3,416,187,-419,56,28 +_݂݂݂ނ݂߂.wav=i A3,671.209,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=n A3,1192.977,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i A3,1692.278,375,-583,250,83 +_݂݂݂ނ݂߂.wav=i A3,2191.578,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=u A3,2700.864,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i A3,3195.172,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=e A3,3716.94,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=- A3,207,200,4413,80,32 +_ނނނ߂ނ.wav=u A3,531.404,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=n A3,1043.186,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u A3,1539.991,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u A3,2029.304,375,-583,250,83 +_ނނނ߂ނ.wav=e A3,2553.571,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u A3,3040.388,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=o A3,3577.136,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=- A3,289.594,189.909,-398.242,64.909,37.447 +_߂߂߂߂܂.wav=e A3,601.307,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=n A3,1105.6,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e A3,1612.389,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e A3,2129.165,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=o A3,2623.473,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e A3,3120.277,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=a A3,3617.08,375.0,-583.333,250.0,83.333 +_܂݂.wav=- A3,376.974,167.439,-375.772,42.439,0.0 +_܂݂.wav=o A3,671.209,375.0,-583.333,250.0,83.333 +_܂݂.wav=n A3,1185.488,375.0,-583.333,250.0,83.333 +_܂݂.wav=o A3,1689.781,375.0,-583.333,250.0,83.333 +_܂݂.wav=o A3,2169.109,375.0,-583.333,250.0,83.333 +_܂݂.wav=a A3,2688.382,375.0,-583.333,250.0,83.333 +_܂݂.wav=o A3,3167.71,375.0,-583.333,250.0,83.333 +_܂݂.wav=i A3,3691.975,375.0,-583.333,250.0,83.333 +_₢.wav=- A3,242.161,212.376,-420.709,87.376,47.433 +_₢.wav=a A3,531.404,375.0,-583.333,250.0,83.333 +_₢.wav=n A3,1030.704,375.0,-583.333,250.0,83.333 +_₢.wav=a A3,1532.503,375.0,-583.333,250.0,83.333 +_₢.wav=a A3,1976.879,375.0,-583.333,250.0,83.333 +_₢.wav=i A3,2561.06,375.0,-583.333,250.0,83.333 +_₢.wav=a A3,2987.962,375.0,-583.333,250.0,83.333 +_₢.wav=u A3,3562.157,375,-583,250,83 +_䂢.wav=- A3,277,167,-376,42,17 +_䂢.wav=u A3,558.866,375.0,-583.333,250.0,83.333 +_䂢.wav=n A3,1068.151,375.0,-583.333,250.0,83.333 +_䂢.wav=u A3,1572.446,375.0,-583.333,250.0,83.333 +_䂢.wav=u A3,2056.768,375.0,-583.333,250.0,83.333 +_䂢.wav=e A3,2580.0,375.0,-583.333,250.0,83.333 +_䂢.wav=u A3,3055.367,375.0,-583.333,250.0,83.333 +_䂢.wav=o A3,3584.625,375.0,-583.333,250.0,83.333 +_悢.wav=- A3,419.413,174.929,-383.262,49.929,19.972 +_悢.wav=o A3,696.174,375.0,-583.333,250.0,83.333 +_悢.wav=n A3,1200.467,375.0,-583.333,250.0,83.333 +_悢.wav=o A3,1672.306,375,-583,250,83 +_悢.wav=o A3,2151.634,375.0,-583.333,250.0,83.333 +_悢.wav=a A3,2643.445,375.0,-583.333,250.0,83.333 +_悢.wav=o A3,3152.731,375.0,-583.333,250.0,83.333 +_悢.wav=i A3,3731.919,375.0,-583.333,250.0,83.333 +_.wav=- A3,219.694,187.41,-395.743,62.41,29.958 +_.wav=a A3,513.929,375.0,-583.333,250.0,83.333 +_.wav=n A3,1043.186,375.0,-583.333,250.0,83.333 +_.wav=a A3,1542,375,-583,250,83 +_.wav=a A3,2039.291,375.0,-583.333,250.0,83.333 +_.wav=i A3,2536.095,375.0,-583.333,250.0,83.333 +_.wav=a A3,3025.409,375,-583,250,83 +_.wav=u A3,3534.696,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=- 肥A3,404.433,164.944,-373.277,39.944,0.0 +_肥肥肥肥肥.wav=e A3,691.181,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=n 肥A3,1192.977,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e 肥A3,1697.271,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e A3,2191.578,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=o 肥A3,2703.361,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e A3,3182.689,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=a 肥A3,3684.486,375.0,-583.333,250.0,83.333 +_.wav=- A3,249.65,187.41,-395.742,62.41,34.949 +_.wav=a A3,583.831,375.0,-583.333,250.0,83.333 +_.wav=n A3,1080.636,375.0,-583.333,250.0,83.333 +_.wav=a A3,1567.453,375.0,-583.333,250.0,83.333 +_.wav=a A3,2076.739,375.0,-583.333,250.0,83.333 +_.wav=i A3,2570.0,375.0,-583.333,250.0,83.333 +_.wav=a A3,3062.857,375.0,-583.333,250.0,83.333 +_.wav=u A3,3564.654,375.0,-583.333,250.0,83.333 +_肥.wav=- A3,347.013,157.985,-366.318,32.985,7.488 +_肥.wav=u A3,638.754,374.825,-583.333,250.0,83.332 +_肥.wav=n A3,1160.523,375.0,-583.333,250.0,83.333 +_肥.wav=u A3,1659.823,375.0,-583.333,250.0,83.333 +_肥.wav=u 肥A3,2124.172,375.0,-583.333,250.0,83.333 +_肥.wav=e A3,2638.452,375.0,-583.333,250.0,83.333 +_肥.wav=u A3,3130.262,375.0,-583.333,250.0,83.333 +_肥.wav=o A3,3639.549,375.0,-583.333,250.0,83.333 +_.wav=- A3,194.727,224.859,-433.192,99.859,54.923 +_.wav=o A3,491.46,375.0,-583.333,250.0,83.333 +_.wav=n A3,1018.222,375.0,-583.333,250.0,83.333 +_.wav=o A3,1522.515,375.0,-583.333,250.0,83.333 +_.wav=o A3,1994.354,375.0,-583.333,250.0,83.333 +_.wav=a A3,2523.613,375.0,-583.333,250.0,83.333 +_.wav=o A3,3017.92,375.0,-583.333,250.0,83.333 +_.wav=i A3,3522.213,375.0,-583.333,250.0,83.333 +_肥ガ.wav=- A3,301,170,-378,45,22 +_肥ガ.wav=i A3,580.0,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u A3,1058.167,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i 肥A3,1564.956,375.0,-583.333,250.0,83.333 +_肥ガ.wav=e A3,2091.718,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i A3,2581.032,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u A3,3077.836,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i A3,3572.143,375.0,-583.333,250.0,83.333 +_.wav=- A3,272.118,157.454,-365.787,32.454,14.978 +_.wav=i A3,566.354,375.0,-583.333,250.0,83.333 +_.wav=n A3,1095.613,375.0,-583.333,250.0,83.333 +_.wav=i A3,1604.899,375.0,-583.333,250.0,83.333 +_.wav=i A3,2089.221,375.0,-583.333,250.0,83.333 +_.wav=u A3,2586.025,375.0,-583.333,250.0,83.333 +_.wav=i A3,3075.339,375.0,-583.333,250.0,83.333 +_.wav=e A3,3619.577,375.0,-583.333,250.0,83.333 +_.wav=- A3,347.013,189.908,-398.241,64.908,39.944 +_.wav=u A3,643.747,375.0,-583.333,250.0,83.333 +_.wav=n A3,1182.992,375.0,-583.333,250.0,83.333 +_.wav=u A3,1684.788,375.0,-583.333,250.0,83.333 +_.wav=u A3,2169.109,375.0,-583.333,250.0,83.333 +_.wav=e A3,2675.899,375.0,-583.333,250.0,83.333 +_.wav=u A3,3157.723,375.0,-583.333,250.0,83.333 +_.wav=o A3,3664.514,375.0,-583.333,250.0,83.333 +_.wav=- A3,194.727,187.41,-395.744,62.411,37.447 +_.wav=e A3,508.936,375.0,-583.333,250.0,83.333 +_.wav=n A3,1010.733,375.0,-583.333,250.0,83.333 +_.wav=e A3,1502.544,375.0,-583.333,250.0,83.333 +_.wav=e A3,1994.354,375.0,-583.333,250.0,83.333 +_.wav=o A3,2483.669,375.0,-583.333,250.0,83.333 +_.wav=e A3,3007.935,375.0,-583.333,250.0,83.333 +_.wav=a A3,3527.206,375.0,-583.333,250.0,83.333 +_.wav=- A3,242.16,199.894,-408.227,74.894,54.923 +_.wav=o A3,528.907,375.0,-583.333,250.0,83.333 +_.wav=n A3,1090.62,375.0,-583.333,250.0,83.333 +_.wav=o A3,1587.426,375.0,-583.333,250.0,83.333 +_.wav=o A3,2074.242,375.0,-583.333,250.0,83.333 +_.wav=a A3,2583.529,375.0,-583.333,250.0,83.333 +_.wav=o A3,3052.871,375.0,-583.333,250.0,83.333 +_.wav=i A3,3564,375,-583,250,83 +_키키.wav=- A3,340,221,-400,25,12 +_키키.wav=a A3,616.286,375.0,-583.333,250.0,83.333 +_키키.wav=n A3,1130.565,375.0,-583.333,250.0,83.333 +_키키.wav=a A3,1629.865,375,-583,250,83 +_키키.wav=a A3,2139.151,375.0,-583.333,250.0,83.333 +_키키.wav=i A3,2633.459,375.0,-583.333,250.0,83.333 +_키키.wav=a A3,3130.261,375.0,-583.333,250.0,83.333 +_키키.wav=u A3,3634.556,375,-583,250,83 +_񂢂񂦂񂨂.wav=- A3,307.071,197.397,-405.73,72.397,42.44 +_񂢂񂦂񂨂.wav=n A3,578.838,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=i A3,1080.635,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n A3,1569.949,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=e A3,2089.221,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n A3,2608.495,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n A3,2608.495,375,-583.333,250,83.333 +_񂢂񂦂񂨂.wav=o A3,3130.262,375,-583.333,250,83.333 +_񂢂񂦂񂨂.wav=n RA3,4009,557,-583,250,83 diff --git a/OpenUtau.Test/Files/ja_vcv/N_C5/oto.ini b/OpenUtau.Test/Files/ja_vcv/N_C5/oto.ini new file mode 100644 index 000000000..118a857bf --- /dev/null +++ b/OpenUtau.Test/Files/ja_vcv/N_C5/oto.ini @@ -0,0 +1,1231 @@ +_.wav=- C5,468,136,-344,5,12 +_.wav=a C5,786,375,-583,250,83 +_.wav=a C5,1218.662,375.0,-583.333,250.0,83.333 +_.wav=i C5,1754.69,375.0,-583.333,250.0,83.333 +_.wav=a C5,2248.997,375.0,-583.333,250.0,83.333 +_.wav=u C5,2753.29,375.0,-583.333,250.0,83.333 +_.wav=e C5,3238,608,1113,203,83 +_.wav=a RC5,3767,553,669,250,83 +_.wav=- C5,474,131,4108,12,32 +_.wav=i C5,794,375,-583,250,83 +_.wav=i C5,1189.637,375.0,-583.333,250.0,83.333 +_.wav=u C5,1703.379,375.0,-583.333,250.0,83.333 +_.wav=a C5,2201.564,375,-583,250,83 +_.wav=e C5,2710.544,375.0,-583.333,250.0,83.333 +_.wav=i C5,3216,408,1197,250,83 +_.wav=e RC5,3785,949,100,250,83 +_񂢂悢₢.wav=- C5,446,176,-384,51,17 +_񂢂悢₢.wav=e C5,753.593,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=n C5,1190.481,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e C5,1729.725,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e C5,2239.011,375.0,-583.332,250.0,83.332 +_񂢂悢₢.wav=o C5,2680.892,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e C5,3232.619,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=a C5,3726.926,375.0,-583.333,250.0,83.333 +_񃔂.wav=- C5,426.901,184.915,-393.247,59.915,19.972 +_񃔂.wav=a C5,733.946,375.0,-583.333,250.0,83.333 +_񃔂.wav=n C5,1230.425,375.0,-583.333,250.0,83.333 +_񃔂.wav=a C5,1747.201,375.0,-583.333,250.0,83.333 +_񃔂.wav=a C5,2253.99,375.0,-583.333,250.0,83.333 +_񃔂.wav=i C5,2760.78,375.0,-583.333,250.0,83.333 +_񃔂.wav=a C5,3245.102,375.0,-583.333,250.0,83.333 +_񃔂.wav=u C5,3759.997,375.0,-583.333,250.0,83.333 +_񂤂.wav=- C5,441.88,173.119,-381.452,48.119,24.965 +_񂤂.wav=i C5,739.751,375.0,-583.333,250.0,83.333 +_񂤂.wav=n C5,1202.964,375.0,-583.333,250.0,83.333 +_񂤂.wav=i C5,1727.228,375.0,-583.333,250.0,83.333 +_񂤂.wav=i C5,2214.046,375.0,-583.333,250.0,83.333 +_񂤂.wav=u C5,2740.808,375.0,-583.333,250.0,83.333 +_񂤂.wav=i C5,3247.598,375.0,-583.333,250.0,83.333 +_񂤂.wav=e C5,3736.912,375.0,-583.333,250.0,83.333 +_񂤂.wav=i RC5,4240,536,-583,250,83 +_񃔂.wav=- C5,481.824,144.971,-353.304,19.971,0.0 +_񃔂.wav=i C5,751.36,375.0,-583.333,250.0,83.333 +_񃔂.wav=n C5,1250.397,375.0,-583.333,250.0,83.333 +_񃔂.wav=i C5,1762.179,375.0,-583.333,250.0,83.333 +_񃔂.wav=i C5,2271.466,375.0,-583.333,250.0,83.333 +_񃔂.wav=u C5,2748.298,375.0,-583.333,250.0,83.333 +_񃔂.wav=i C5,3250.095,375.0,-583.333,250.0,83.333 +_񃔂.wav=e C5,3769.368,375.0,-583.333,250.0,83.333 +_.wav=- C5,476,126,-368,10,20 +_.wav=u C5,740.0,375.0,-583.333,250.0,83.333 +_.wav=u C5,1200.466,375.0,-583.333,250.0,83.333 +_.wav=i C5,1712.25,375.0,-583.333,250.0,83.333 +_.wav=i C5,1712.25,375,-583.333,250,83.333 +_.wav=o C5,2221.536,375.0,-583.333,250.0,83.333 +_.wav=a C5,2710.85,375.0,-583.333,250.0,83.333 +_.wav=a C5,2710.85,375,-583.333,250,83.333 +_.wav=o C5,3230.123,375.0,-583.333,250.0,83.333 +_䂢.wav=- C5,431.894,212.202,-474.335,67.404,39.944 +_䂢.wav=u C5,748.6,375.0,-583.333,250.0,83.333 +_䂢.wav=e C5,1215.76,375.0,-583.333,250.0,83.333 +_䂢.wav=u C5,1729.999,375.0,-583.333,250.0,83.333 +_䂢.wav=o C5,2209.053,375.0,-583.333,250.0,83.333 +_䂢.wav=i C5,2785.745,375.0,-583.333,250.0,83.333 +_䂢.wav=u C5,3220.136,375.0,-583.333,250.0,83.333 +_䂢.wav=i C5,3721.933,375.0,-583.333,250.0,83.333 +_񃔂.wav=- C5,441.88,162.447,-370.78,37.447,0.0 +_񃔂.wav=e C5,745.555,375.0,-583.333,250.0,83.333 +_񃔂.wav=n C5,1225.431,375.0,-583.333,250.0,83.333 +_񃔂.wav=e C5,1749.697,375.0,-583.333,250.0,83.333 +_񃔂.wav=e C5,2256.487,375.0,-583.333,250.0,83.333 +_񃔂.wav=o C5,2765.773,375.0,-583.333,250.0,83.333 +_񃔂.wav=e C5,3240.109,375.0,-583.333,250.0,83.333 +_񃔂.wav=a C5,3749.395,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- C5,464.35,179.922,-388.255,54.922,0.0 +_񂤂키.wav=e C5,760.068,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n C5,1205.46,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e C5,1729.725,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e C5,2189.081,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o C5,2718.339,358.174,-583.332,250.0,83.332 +_񂤂키.wav=e C5,3205.158,375.0,-583.333,250.0,83.333 +_񂤂키.wav=a C5,3731.919,375.0,-583.333,250.0,83.333 +_񃔂.wav=- C5,471.838,157.454,-365.787,32.454,0.0 +_񃔂.wav=o C5,763.579,375.0,-583.333,250.0,83.333 +_񃔂.wav=n C5,1270.369,375.0,-583.333,250.0,83.333 +_񃔂.wav=o C5,1780.0,375.0,-583.333,250.0,83.333 +_񃔂.wav=o C5,2269.999,375.0,-583.333,250.0,83.333 +_񃔂.wav=a C5,2753.292,375.0,-583.333,250.0,83.333 +_񃔂.wav=o C5,3235.116,375.0,-583.333,250.0,83.333 +_񃔂.wav=i C5,3736.912,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- C5,426.901,177.426,-385.759,52.426,9.986 +_񂤂키.wav=o C5,725.238,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n C5,1210.453,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o C5,1714.746,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o C5,2226.529,375.0,-583.333,250.0,83.333 +_񂤂키.wav=a C5,2715.843,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o C5,3240.0,375.0,-583.333,250.0,83.333 +_񂤂키.wav=i C5,3704.458,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o RC5,4148,555,-583,250,83 +_񃔃.wav=- C5,426.901,179.922,-388.255,54.922,0.0 +_񃔃.wav=u C5,736.848,375.0,-583.333,250.0,83.333 +_񃔃.wav=n C5,1260.384,375.0,-583.333,250.0,83.333 +_񃔃.wav=u C5,1759.999,375.0,-583.333,250.0,83.333 +_񃔃.wav=u C5,2256.487,375.0,-583.333,250.0,83.333 +_񃔃.wav=e C5,2765.773,375.0,-583.333,250.0,83.333 +_񃔃.wav=u C5,3245.102,375.0,-583.333,250.0,83.333 +_񃔃.wav=o C5,3741.905,375.0,-583.333,250.0,83.333 +_񃔃.wav=u RC5,4178,517,290,250,83 +_.wav=- C5,486,170,-378,9,35 +_.wav=e C5,740.0,375.0,-583.333,250.0,83.333 +_.wav=e C5,1225.432,375.0,-583.333,250.0,83.333 +_.wav=u C5,1729.725,375.0,-583.333,250.0,83.333 +_.wav=u C5,1729.725,375,-583.333,250,83.333 +_.wav=o C5,2234.018,375.0,-583.333,250.0,83.333 +_.wav=e C5,2778.256,375,-583.333,250,83.333 +_.wav=e C5,2778.256,375,-583.333,250,83.333 +_.wav=o C5,3240.0,375.0,-583.333,250.0,83.333 +_.wav=o C5,3240,375,-583.333,250,83.333 +_񂠂.wav=- C5,475,173,-381,13,33 +_񂠂.wav=- C5,475,173,-381,13,33 +_񂠂.wav=o C5,743.607,359.846,-583.333,250.0,83.332 +_񂠂.wav=u C5,1247.687,375.0,-583.333,250.0,83.333 +_񂠂.wav=n C5,1692,375,-583,250,83 +_񂠂.wav=a C5,2231.522,375.0,-583.333,250.0,83.333 +_񂠂.wav=n C5,2790.0,375.0,-583.333,250.0,83.333 +_񂠂.wav=n C5,3207.654,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=- C5,481.824,163.175,-371.508,38.175,0.0 +_ĂĂエłł.wav=o ĂC5,758.586,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u C5,1272.866,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n ĂC5,1752.195,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u C5,2273.962,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=o łC5,2723.333,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u C5,3242.605,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n łC5,3724.431,375.0,-583.333,250.0,83.333 +_񂩂.wav=- C5,485,192,-358,16,7 +_񂩂.wav=a C5,777.483,375.0,-583.333,250.0,83.333 +_񂩂.wav=n C5,1237.914,375.0,-583.333,250.0,83.333 +_񂩂.wav=a C5,1739.711,375.0,-583.333,250.0,83.333 +_񂩂.wav=a C5,2234.018,375.0,-583.333,250.0,83.333 +_񂩂.wav=i C5,2735.815,375.0,-583.333,250.0,83.333 +_񂩂.wav=a C5,3245.102,375.0,-583.333,250.0,83.333 +_񂩂.wav=u C5,3736.912,375.0,-583.333,250.0,83.333 +_񂪂.wav=- C5,461.852,144.971,-353.304,19.971,0.0 +_񂪂.wav=a C5,748.458,375.0,-583.333,250.0,83.333 +_񂪂.wav=n C5,1230.425,375.0,-583.333,250.0,83.333 +_񂪂.wav=a C5,1734.718,375.0,-583.333,250.0,83.333 +_񂪂.wav=a C5,2234.895,375.0,-583.333,250.0,83.333 +_񂪂.wav=i C5,2737.524,375.0,-583.333,250.0,83.333 +_񂪂.wav=a C5,3246.811,375.0,-583.333,250.0,83.333 +_񂪂.wav=u C5,3751,375,-583,250,83 +_񂫂傫Ⴋ.wav=- C5,444.451,154.957,-363.29,29.956,0.0 +_񂫂傫Ⴋ.wav=e C5,723.709,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=n C5,1237.988,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e C5,1744.778,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e C5,2254.065,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=o C5,2768.344,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e C5,3245.176,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=a C5,3751.965,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=- C5,444.451,144.971,-353.304,19.971,0.0 +_񂬂催Ⴌ.wav=e C5,748.458,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=n C5,1223.009,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e C5,1744.778,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e C5,2236.589,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=o C5,2750.868,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e C5,3237.686,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=a C5,3727.0,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=- C5,436,172,-381,31,21 +_カɂɂɂɂ.wav=i C5,726.206,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u C5,1218.016,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i C5,1722.31,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=e C5,2231.596,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i ɂC5,2733.393,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u C5,3220.212,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i ɂC5,3717.014,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=- C5,426.975,164.942,-373.275,39.942,0.0 +_񂫂ႫႫႫカ.wav=a C5,693.31,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=n C5,1225.505,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a C5,1744.777,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a C5,2226.603,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=i C5,2735.889,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a C5,3252.665,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=u C5,3751.965,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=- C5,461.926,144.97,-353.304,19.971,0.0 +_񂬂ႬႬႬガ.wav=a C5,761.157,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=n C5,1215.52,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a C5,1727.303,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a C5,2214.121,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=i C5,2725.902,374.826,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a C5,3225.204,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=u C5,3724.504,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=- C5,414.493,187.411,-395.744,62.411,0.0 +_񂫂カカカ傫.wav=u C5,741.185,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=n C5,1250.471,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u C5,1742.282,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u C5,2229.1,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=e C5,2733.393,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u C5,3237.686,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=o C5,3764.448,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=- C5,394.521,202.389,-410.722,77.388,0.0 +_񂬂ガガガ催.wav=u C5,736.848,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=n C5,1198.044,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u C5,1724.806,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u C5,2231.596,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=e C5,2733.393,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u C5,3232.693,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=o C5,3741.979,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=- C5,394.521,197.396,-405.729,72.396,0.0 +_񂫂傫傫Ⴋ傫.wav=o C5,793.611,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=n C5,1257.96,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o C5,1757.261,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o C5,2261.554,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=a C5,2763.351,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o C5,3247.672,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=i C5,3736.986,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=- C5,431.968,154.956,-363.289,29.956,0.0 +_񂬂催催Ⴌ催.wav=o C5,731.199,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=n C5,1210.526,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o C5,1732.295,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o C5,2241.582,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=a C5,2753.365,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o C5,3225.204,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=i C5,3734.491,375.0,-583.333,250.0,83.333 +_񂫂.wav=- C5,416.989,164.943,-373.276,39.943,0.0 +_񂫂.wav=i C5,731.042,375.0,-583.333,250.0,83.333 +_񂫂.wav=n C5,1247.974,375.0,-583.333,250.0,83.333 +_񂫂.wav=i C5,1732.296,375.0,-583.333,250.0,83.333 +_񂫂.wav=i C5,2229.1,375.0,-583.333,250.0,83.333 +_񂫂.wav=u C5,2735.889,375.0,-583.333,250.0,83.333 +_񂫂.wav=i C5,3225.204,375.0,-583.333,250.0,83.333 +_񂫂.wav=e C5,3746.973,375.0,-583.333,250.0,83.333 +_񂬂.wav=- C5,431.968,199.894,-408.227,74.894,0.0 +_񂬂.wav=i C5,788.618,375.0,-583.333,250.0,83.333 +_񂬂.wav=n C5,1250.471,375.0,-583.333,250.0,83.333 +_񂬂.wav=i C5,1770.0,375.0,-583.333,250.0,83.333 +_񂬂.wav=i C5,2259.999,375.0,-583.333,250.0,83.333 +_񂬂.wav=u C5,2758.359,375.0,-583.333,250.0,83.333 +_񂬂.wav=i C5,3257.658,375.0,-583.333,250.0,83.333 +_񂬂.wav=e C5,3749.469,375.0,-583.333,250.0,83.333 +_񂭂.wav=- C5,469.416,149.963,-358.295,24.963,0.0 +_񂭂.wav=a C5,771.678,375.0,-583.333,250.0,83.333 +_񂭂.wav=n C5,1232.994,379.82,-583.332,250.0,83.333 +_񂭂.wav=a C5,1752.268,375.0,-583.333,250.0,83.333 +_񂭂.wav=a C5,2231.596,375.0,-583.333,250.0,83.333 +_񂭂.wav=i C5,2720.91,375.0,-583.333,250.0,83.333 +_񂭂.wav=a C5,3230.197,375.0,-583.333,250.0,83.333 +_񂭂.wav=u C5,3736.986,375.0,-583.333,250.0,83.333 +_񂮂.wav=- C5,451.94,147.468,-355.801,22.467,0.0 +_񂮂.wav=a C5,754.262,375.0,-583.333,250.0,83.333 +_񂮂.wav=n C5,1228.002,375.0,-583.333,250.0,83.333 +_񂮂.wav=a C5,1757.261,375.0,-583.333,250.0,83.333 +_񂮂.wav=a C5,2249.072,375.0,-583.333,250.0,83.333 +_񂮂.wav=i C5,2728.401,375.0,-583.333,250.0,83.333 +_񂮂.wav=a C5,3232.693,375.0,-583.333,250.0,83.333 +_񂮂.wav=u C5,3712.021,375.0,-583.333,250.0,83.333 +_񂭂.wav=- C5,414.493,169.936,-378.269,44.936,0.0 +_񂭂.wav=i C5,742.653,375.0,-583.333,250.0,83.333 +_񂭂.wav=n C5,1213.023,375.0,-583.333,250.0,83.333 +_񂭂.wav=i C5,1714.82,375.0,-583.333,250.0,83.333 +_񂭂.wav=i C5,2229.1,375.0,-583.333,250.0,83.333 +_񂭂.wav=u C5,2738.386,375.0,-583.333,250.0,83.333 +_񂭂.wav=i C5,3225.203,375.0,-583.333,250.0,83.333 +_񂭂.wav=e C5,3736.987,375.0,-583.333,250.0,83.333 +_񂮂.wav=- C5,464.423,157.452,-365.785,32.452,12.482 +_񂮂.wav=i C5,745.556,375.0,-583.333,250.0,83.333 +_񂮂.wav=n C5,1203.036,375.0,-583.333,250.0,83.333 +_񂮂.wav=i C5,1724.806,375.0,-583.333,250.0,83.333 +_񂮂.wav=i C5,2244.079,375.0,-583.333,250.0,83.333 +_񂮂.wav=u C5,2733.393,375.0,-583.333,250.0,83.333 +_񂮂.wav=i C5,3215.218,375.0,-583.333,250.0,83.333 +_񂮂.wav=e C5,3741.98,375.0,-583.333,250.0,83.333 +_񂭂.wav=- C5,446.947,147.468,-355.8,22.468,0.0 +_񂭂.wav=e C5,757.166,375.0,-583.333,250.0,83.333 +_񂭂.wav=n C5,1245.478,375.0,-583.333,250.0,83.333 +_񂭂.wav=e C5,1742.282,375.0,-583.333,250.0,83.333 +_񂭂.wav=e C5,2261.554,375.0,-583.333,250.0,83.333 +_񂭂.wav=o C5,2755.861,375.0,-583.333,250.0,83.333 +_񂭂.wav=e C5,3255.163,375.0,-583.333,250.0,83.333 +_񂭂.wav=a C5,3749.469,375.0,-583.333,250.0,83.333 +_񂮂.wav=- C5,444.451,157.453,-365.786,32.453,0.0 +_񂮂.wav=e C5,739.751,375.0,-583.333,250.0,83.333 +_񂮂.wav=n C5,1218.016,375.0,-583.333,250.0,83.333 +_񂮂.wav=e C5,1744.778,375.0,-583.333,250.0,83.333 +_񂮂.wav=e C5,2221.61,375.0,-583.333,250.0,83.333 +_񂮂.wav=o C5,2700.938,375.0,-583.333,250.0,83.333 +_񂮂.wav=e C5,3192.749,375.0,-583.333,250.0,83.333 +_񂮂.wav=a C5,3712.021,375.0,-583.333,250.0,83.333 +_񂭂.wav=- C5,416.989,157.453,-365.786,32.453,0.0 +_񂭂.wav=o C5,731.199,375.0,-583.333,250.0,83.333 +_񂭂.wav=n C5,1230.499,375.0,-583.333,250.0,83.333 +_񂭂.wav=o C5,1742.282,375.0,-583.333,250.0,83.333 +_񂭂.wav=o C5,2236.589,375.0,-583.333,250.0,83.333 +_񂭂.wav=a C5,2755.861,375.0,-583.333,250.0,83.333 +_񂭂.wav=o C5,3230.197,375.0,-583.333,250.0,83.333 +_񂭂.wav=i C5,3739.482,375.0,-583.333,250.0,83.333 +_񂮂.wav=- C5,459.43,157.453,-365.786,32.453,0.0 +_񂮂.wav=o C5,741.185,375.0,-583.333,250.0,83.333 +_񂮂.wav=n C5,1195.548,375.0,-583.333,250.0,83.333 +_񂮂.wav=o C5,1729.799,375.0,-583.333,250.0,83.333 +_񂮂.wav=o C5,2234.093,375.0,-583.333,250.0,83.333 +_񂮂.wav=a C5,2703.435,375.0,-583.333,250.0,83.333 +_񂮂.wav=o C5,3225.203,375.0,-583.333,250.0,83.333 +_񂮂.wav=i C5,3739.482,375.0,-583.333,250.0,83.333 +_.wav=- C5,445,160,-368,29,15 +_.wav=u C5,743.681,375.0,-583.333,250.0,83.333 +_.wav=e C5,1240.485,375.0,-583.333,250.0,83.333 +_.wav=u C5,1757.261,375.0,-583.333,250.0,83.333 +_.wav=o C5,2276.533,375.0,-583.333,250.0,83.333 +_.wav=u C5,2748.372,375.0,-583.333,250.0,83.333 +_.wav=e C5,3247.672,375.0,-583.333,250.0,83.333 +_.wav=u C5,3744.476,375.0,-583.333,250.0,83.333 +_񂭂.wav=- C5,436.961,152.461,-360.794,27.461,0.0 +_񂭂.wav=u C5,739.751,375.0,-583.333,250.0,83.333 +_񂭂.wav=n C5,1225.506,375.0,-583.333,250.0,83.333 +_񂭂.wav=u C5,1742.282,375.0,-583.333,250.0,83.333 +_񂭂.wav=u C5,2224.107,375.0,-583.333,250.0,83.333 +_񂭂.wav=e C5,2758.357,375.0,-583.333,250.0,83.333 +_񂭂.wav=u C5,3255.163,375.0,-583.333,250.0,83.333 +_񂭂.wav=o C5,3764.448,375.0,-583.333,250.0,83.333 +_񂮂.wav=- C5,446.947,154.957,-363.29,29.957,0.0 +_񂮂.wav=u C5,728.141,375.0,-583.333,250.0,83.333 +_񂮂.wav=n C5,1215.52,375.0,-583.333,250.0,83.333 +_񂮂.wav=u C5,1749.771,375.0,-583.333,250.0,83.333 +_񂮂.wav=u C5,2229.1,375.0,-583.333,250.0,83.333 +_񂮂.wav=e C5,2745.875,375.0,-583.333,250.0,83.333 +_񂮂.wav=u C5,3222.707,375.0,-583.333,250.0,83.333 +_񂮂.wav=o C5,3736.986,375.0,-583.333,250.0,83.333 +_񂯂.wav=- C5,464,150,-358,11,5 +_񂯂.wav=e C5,731.199,375.0,-583.333,250.0,83.333 +_񂯂.wav=n C5,1210.527,375.0,-583.333,250.0,83.333 +_񂯂.wav=e C5,1717.317,375.0,-583.333,250.0,83.333 +_񂯂.wav=e C5,2226.603,375.0,-583.333,250.0,83.333 +_񂯂.wav=o C5,2748.372,375.0,-583.333,250.0,83.333 +_񂯂.wav=e C5,3235.19,375.0,-583.333,250.0,83.333 +_񂯂.wav=a C5,3744.476,375.0,-583.333,250.0,83.333 +_񂰂.wav=- C5,429.472,172.432,-380.765,47.432,7.489 +_񂰂.wav=e C5,728.141,375.0,-583.333,250.0,83.333 +_񂰂.wav=n C5,1218.016,375.0,-583.333,250.0,83.333 +_񂰂.wav=e C5,1722.31,375.0,-583.333,250.0,83.333 +_񂰂.wav=e C5,2201.638,375.0,-583.333,250.0,83.333 +_񂰂.wav=o C5,2690.952,375.0,-583.333,250.0,83.333 +_񂰂.wav=e C5,3182.763,375.0,-583.333,250.0,83.333 +_񂰂.wav=a C5,3712.021,375.0,-583.333,250.0,83.333 +_񂱂.wav=- C5,482,157,-366,22,9 +_񂱂.wav=o C5,778.632,375.0,-583.333,250.0,83.333 +_񂱂.wav=n C5,1257.961,375.0,-583.333,250.0,83.333 +_񂱂.wav=o C5,1744.778,375.0,-583.333,250.0,83.333 +_񂱂.wav=o C5,2229.1,375.0,-583.333,250.0,83.333 +_񂱂.wav=a C5,2753.365,375.0,-583.333,250.0,83.333 +_񂱂.wav=o C5,3265.147,375.0,-583.333,250.0,83.333 +_񂱂.wav=i C5,3754.462,375.0,-583.333,250.0,83.333 +_񂲂.wav=- C5,451.94,149.964,-358.297,24.964,0.0 +_񂲂.wav=o C5,748.674,375.0,-583.333,250.0,83.333 +_񂲂.wav=n C5,1235.492,375.0,-583.333,250.0,83.333 +_񂲂.wav=o C5,1762.254,375.0,-583.333,250.0,83.333 +_񂲂.wav=o C5,2249.072,375.0,-583.333,250.0,83.333 +_񂲂.wav=a C5,2748.372,375.0,-583.333,250.0,83.333 +_񂲂.wav=o C5,3235.19,375.0,-583.333,250.0,83.333 +_񂲂.wav=i C5,3751.964,375.0,-583.333,250.0,83.333 +_񂳂.wav=- C5,385,255,-463,130,89 +_񂳂.wav=a C5,777.482,375.0,-583.333,250.0,83.333 +_񂳂.wav=n C5,1250.471,375.0,-583.333,250.0,83.333 +_񂳂.wav=a C5,1749.771,375.0,-583.333,250.0,83.333 +_񂳂.wav=a C5,2234.093,375.0,-583.333,250.0,83.333 +_񂳂.wav=i C5,2760.854,375.0,-583.333,250.0,83.333 +_񂳂.wav=a C5,3262.651,375.0,-583.333,250.0,83.333 +_񂳂.wav=u C5,3754.462,375.0,-583.333,250.0,83.333 +_񂴂.wav=- C5,446.947,179.921,-388.254,54.921,0.0 +_񂴂.wav=a C5,751.362,375.0,-583.333,250.0,83.333 +_񂴂.wav=n C5,1260.457,375.0,-583.333,250.0,83.333 +_񂴂.wav=a C5,1754.764,375.0,-583.333,250.0,83.333 +_񂴂.wav=a C5,2271.54,375.0,-583.333,250.0,83.333 +_񂴂.wav=i C5,2753.365,375.0,-583.333,250.0,83.333 +_񂴂.wav=a C5,3255.163,375.0,-583.333,250.0,83.333 +_񂴂.wav=u C5,3744.476,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=- C5,289.668,302.25,-510.583,177.25,39.944 +_񂵂債Ⴕ.wav=e C5,781.129,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=n C5,1265.45,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e C5,1769.743,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e C5,2256.561,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=o C5,2778.33,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e C5,3260.154,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=a C5,3761.951,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=- C5,429.472,184.914,-393.247,59.914,0.0 +_񂶂傶Ⴖ.wav=e C5,771.144,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=n C5,1208.03,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e C5,1734.792,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e C5,2239.087,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=o C5,2725.903,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e C5,3227.7,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=a C5,3704.531,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=- C5,337.101,282.279,-490.612,157.278,0.0 +_񂵂ႵႵႵサ.wav=a C5,754.262,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=n C5,1247.974,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a C5,1742.282,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a C5,2256.561,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=i C5,2755.861,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a C5,3250.169,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=u C5,3749.469,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=- C5,449.444,184.916,-393.249,59.915,0.0 +_񂶂ႶႶႶザ.wav=a C5,771.678,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=n C5,1270.443,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a C5,1767.248,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a C5,2256.561,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=i C5,2758.359,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a C5,3250.169,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=u C5,3761.951,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=- C5,382.038,247.328,-455.661,122.328,0.0 +_񂵂サササ債.wav=u C5,742.654,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=n C5,1252.967,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u C5,1737.289,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u C5,2251.568,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=e C5,2755.861,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u C5,3270.14,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=o C5,3786.916,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=- C5,424.479,212.375,-420.708,87.374,0.0 +_񂶂ザザザ傶.wav=u C5,765.873,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=n C5,1247.974,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u C5,1732.296,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u C5,2249.072,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=e C5,2753.365,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u C5,3245.176,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=o C5,3734.49,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=- C5,334.605,274.788,-483.121,149.788,42.44 +_񂵂債債Ⴕ債.wav=o C5,788.618,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=n C5,1242.981,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o C5,1744.777,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o C5,2246.575,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=a C5,2735.889,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o C5,3235,414,1205,250,83 +_񂵂債債Ⴕ債.wav=i C5,3746.972,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=- C5,409.5,187.41,-395.743,62.409,0.0 +_񂶂傶傶Ⴖ傶.wav=o C5,768.646,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=n C5,1235.493,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o C5,1727.303,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o C5,2261.554,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=a C5,2735.889,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o C5,3252.665,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=i C5,3724.504,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=- C5,389,250,-458,114,80 +_񂵂サ.wav=i C5,761.156,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=n C5,1247.974,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i C5,1757.261,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i C5,2234.093,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=u C5,2738.386,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i C5,3242.679,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=e C5,3761.951,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=- C5,399.514,204.887,-413.22,79.887,14.979 +_񂶂ザ.wav=i C5,745.555,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=n C5,1240.485,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i C5,1764.75,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i C5,2266.547,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=u C5,2793.31,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i C5,3262.651,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=e C5,3759.455,375.0,-583.333,250.0,83.333 +_񂷂.wav=- C5,354.577,219.865,-428.198,94.865,24.965 +_񂷂.wav=i C5,758.66,375.0,-583.333,250.0,83.333 +_񂷂.wav=n C5,1252.966,375.0,-583.333,250.0,83.333 +_񂷂.wav=i C5,1754.764,375.0,-583.333,250.0,83.333 +_񂷂.wav=i C5,2246.575,375.0,-583.333,250.0,83.333 +_񂷂.wav=u C5,2753.365,375.0,-583.333,250.0,83.333 +_񂷂.wav=i C5,3232.693,375.0,-583.333,250.0,83.333 +_񂷂.wav=e C5,3749.469,375.0,-583.333,250.0,83.333 +_񂸂.wav=- C5,424.479,192.404,-400.737,67.404,12.482 +_񂸂.wav=i C5,736.192,375.0,-583.333,250.0,83.333 +_񂸂.wav=n C5,1247.974,375.0,-583.333,250.0,83.333 +_񂸂.wav=i C5,1742.282,375.0,-583.333,250.0,83.333 +_񂸂.wav=i C5,2226.603,375.0,-583.333,250.0,83.333 +_񂸂.wav=u C5,2725.903,375.0,-583.333,250.0,83.333 +_񂸂.wav=i C5,3252.665,375.0,-583.333,250.0,83.333 +_񂸂.wav=e C5,3756.958,375.0,-583.333,250.0,83.333 +_񂷂.wav=- C5,340,265,-473,128,89 +_񂷂.wav=u C5,751.361,375.0,-583.333,250.0,83.333 +_񂷂.wav=n C5,1232.995,375.0,-583.333,250.0,83.333 +_񂷂.wav=u C5,1734.792,375.0,-583.333,250.0,83.333 +_񂷂.wav=u C5,2236.589,375.0,-583.333,250.0,83.333 +_񂷂.wav=e C5,2753.365,375.0,-583.333,250.0,83.333 +_񂷂.wav=u C5,3242.679,375.0,-583.333,250.0,83.333 +_񂷂.wav=o C5,3761.951,375.0,-583.333,250.0,83.333 +_񂸂.wav=- C5,429.472,204.888,-413.221,79.887,0.0 +_񂸂.wav=u C5,760.068,375.0,-583.333,250.0,83.333 +_񂸂.wav=n C5,1272.938,375.0,-583.333,250.0,83.333 +_񂸂.wav=u C5,1764.75,375.0,-583.333,250.0,83.333 +_񂸂.wav=u C5,2266.547,375.0,-583.333,250.0,83.333 +_񂸂.wav=e C5,2778.33,375.0,-583.333,250.0,83.333 +_񂸂.wav=u C5,3262.651,375.0,-583.333,250.0,83.333 +_񂸂.wav=o C5,3749.469,375.0,-583.333,250.0,83.333 +_񂹂.wav=- C5,327,260,-468,138,96 +_񂹂.wav=e C5,719.433,375.0,-583.333,250.0,83.333 +_񂹂.wav=n C5,1210.527,375.0,-583.333,250.0,83.333 +_񂹂.wav=e C5,1732.295,375.0,-583.333,250.0,83.333 +_񂹂.wav=e C5,2249.071,375.0,-583.333,250.0,83.333 +_񂹂.wav=o C5,2753.365,375.0,-583.333,250.0,83.333 +_񂹂.wav=e C5,3240.183,375.0,-583.333,250.0,83.333 +_񂹂.wav=a C5,3741.98,375.0,-583.333,250.0,83.333 +_񂺂.wav=- C5,404.507,209.879,-418.212,84.879,4.993 +_񂺂.wav=e C5,726.206,375.0,-583.333,250.0,83.333 +_񂺂.wav=n C5,1225.506,375.0,-583.333,250.0,83.333 +_񂺂.wav=e C5,1727.303,375.0,-583.333,250.0,83.333 +_񂺂.wav=e C5,2236.589,375.0,-583.333,250.0,83.333 +_񂺂.wav=o C5,2740.882,375.0,-583.333,250.0,83.333 +_񂺂.wav=e C5,3237.686,375.0,-583.333,250.0,83.333 +_񂺂.wav=a C5,3736.986,375.0,-583.333,250.0,83.333 +_񂻂.wav=- C5,315,310,-518,185,141 +_񂻂.wav=o C5,776.136,375.0,-583.333,250.0,83.333 +_񂻂.wav=n C5,1240.485,375.0,-583.333,250.0,83.333 +_񂻂.wav=o C5,1732.296,375.0,-583.333,250.0,83.333 +_񂻂.wav=o C5,2234.093,375.0,-583.333,250.0,83.333 +_񂻂.wav=a C5,2750.868,375.0,-583.333,250.0,83.333 +_񂻂.wav=o C5,3245.176,375.0,-583.333,250.0,83.333 +_񂻂.wav=i C5,3734.49,375.0,-583.333,250.0,83.333 +_񂼂.wav=- C5,431.968,202.392,-410.725,77.391,14.979 +_񂼂.wav=o C5,762.971,375.0,-583.333,250.0,83.333 +_񂼂.wav=n C5,1252.966,375.0,-583.333,250.0,83.333 +_񂼂.wav=o C5,1769.743,375.0,-583.333,250.0,83.333 +_񂼂.wav=o C5,2256.561,375.0,-583.333,250.0,83.333 +_񂼂.wav=a C5,2758.358,375.0,-583.333,250.0,83.333 +_񂼂.wav=o C5,3245.176,375.0,-583.333,250.0,83.333 +_񂼂.wav=i C5,3734.49,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=- C5,461,147,-356,13,4 +_񂽂ĂƂ.wav=a C5,756.164,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=n C5,1230.5,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=a C5,1757.261,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=a ĂC5,2254.065,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=i C5,2735.888,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=a ƂC5,3255.163,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=u C5,3759.455,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=- C5,496.877,134.985,-343.318,9.985,0.0 +_񂾂łǂ.wav=a C5,793.612,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=n C5,1285.422,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a C5,1772.24,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a łC5,2264.051,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=i C5,2760.854,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a ǂC5,3270.141,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=u C5,3766.944,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=- C5,404.507,204.886,-413.219,79.886,7.489 +_񂿂傿Ⴟ.wav=e C5,736.848,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=n C5,1225.505,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e C5,1742.282,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e C5,2259.058,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=o C5,2758.357,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e C5,3257.658,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=a C5,3776.93,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=- C5,454.437,189.908,-398.241,64.908,0.0 +_񂿂ႿႿႿタ.wav=a C5,774.581,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=n C5,1280.429,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a C5,1772.24,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a C5,2264.051,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=i C5,2753.365,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a C5,3247.672,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=u C5,3734.49,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=- C5,446.947,187.412,-395.744,62.412,0.0 +_񂿂タタタ傿.wav=u C5,751.361,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=n C5,1262.953,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u C5,1762.254,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u C5,2269.044,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=e C5,2765.847,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u C5,3275.134,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=o C5,3764.448,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=- C5,416.989,194.901,-403.234,69.9,0.0 +_񂿂傿傿Ⴟ傿.wav=o C5,773.64,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=n C5,1257.961,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o C5,1742.282,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o C5,2274.038,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=a C5,2750.868,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o C5,3260.154,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=i C5,3756.958,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=- C5,406,175,-383,42,31 +_񂿂タ.wav=i C5,731.043,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=n C5,1252.966,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i C5,1767.247,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i C5,2276.533,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=u C5,2750.868,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i C5,3272.637,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=e C5,3761.951,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚C5,414.493,199.893,-408.226,74.893,0.0 +_‚‚‚‚‚‚‚.wav=a C5,757.166,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚C5,1257.96,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚C5,1782.226,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚C5,2266.547,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚C5,2768.344,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a C5,3265.147,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚C5,3759.455,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚C5,421.982,177.426,-385.759,52.425,0.0 +_‚‚‚‚‚‚‚.wav=i C5,731.199,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚C5,1232.995,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚C5,1734.792,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i C5,2241.582,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚C5,2745.875,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚C5,3245.176,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚C5,3756.958,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚C5,421.982,184.914,-393.248,59.915,0.0 +_‚‚‚‚‚‚‚.wav=e C5,751.17,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚C5,1255.464,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚C5,1767.247,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚C5,2264.051,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚C5,2765.848,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚C5,3277.63,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚C5,3756.958,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚C5,402.01,197.398,-405.731,72.397,4.993 +_‚‚‚‚‚‚‚.wav=o C5,746.178,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚C5,1257.961,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚C5,1752.267,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚C5,2261.554,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚C5,2783.323,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚C5,3270.141,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚C5,3751.965,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=- C5,431,182,-391,55,37 +_‚‚‚‚‚‚.wav=u C5,707.823,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=n C5,1235.492,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u C5,1769.743,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚C5,2264.051,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=e C5,2778.33,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚C5,3262.651,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=o C5,3754.462,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=- ĂC5,501.87,137.483,-345.816,12.483,0.0 +_ĂĂĂƂĂĂĂ.wav=i C5,793.611,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=n ĂC5,1240.485,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ĂC5,1737.289,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ƂC5,2266.547,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=u ĂC5,2755.861,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i C5,3250.169,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=e ĂC5,3756.958,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=- łC5,489.388,139.978,-348.311,14.978,0.0 +_łłłǂłłł.wav=i C5,763.652,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=n łC5,1232.995,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i łC5,1787.218,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i ǂC5,2269.044,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=u łC5,2758.359,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i C5,3250.169,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=e łC5,3746.973,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=- ĂC5,484.395,142.473,-350.806,17.473,4.993 +_ĂĂ゠ĂアĂウĂ.wav=u ĂC5,743.681,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u C5,1302.897,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=a ĂC5,1752.268,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u C5,2234.093,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=i ĂC5,2748.372,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u C5,3255.162,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=e ĂC5,3744.476,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=- łC5,484.395,139.977,-348.31,14.977,0.0 +_łł゠łアłウł.wav=u łC5,761.157,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u C5,1257.96,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=a łC5,1742.282,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u C5,2224.107,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=i łC5,2720.91,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u C5,3227.7,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=e łC5,3709.525,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=- C5,475,137,4163,22,18 +_ĂĂĂƂĂ.wav=e C5,778.632,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=n C5,1270.443,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e C5,1757,375,2690,250,83 +_ĂĂĂƂĂ.wav=e C5,2259.999,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=o C5,2758.357,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e C5,3240.183,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=a C5,3737,399,710,250,83 +_łłłǂł.wav=- C5,474.409,127.494,-335.827,14.978,14.978 +_łłłǂł.wav=e C5,758.66,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=n C5,1250.471,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e C5,1749.771,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e C5,2249.071,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=o C5,2730.897,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e C5,3222.707,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=a C5,3729.497,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=- ƂC5,454.437,144.971,-353.304,19.97,0.0 +_ƂƂƂĂƂƂƂ.wav=u C5,748.458,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=n ƂC5,1247.974,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u ƂC5,1732.296,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u C5,2226.603,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=e ƂC5,2738.386,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u C5,3230.197,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=o ƂC5,3744.476,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=- ǂC5,489.388,147.466,-355.799,22.465,0.0 +_ǂǂǂłǂǂǂ.wav=u C5,794.899,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=n ǂC5,1270.443,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u ǂC5,1744.777,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u C5,2249.071,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=e ǂC5,2755.861,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u C5,3247.672,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=o ǂC5,3729.497,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=- C5,501,162,-371,8,0 +_ƂƂƂƂĂ.wav=o C5,776.136,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=n C5,1262.953,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o C5,1749.771,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o C5,2244.079,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=a C5,2748.372,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o ĂC5,3257.658,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=i C5,3731.993,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=- C5,501.87,144.97,-353.304,19.97,0.0 +_ǂǂǂǂł.wav=o C5,803.597,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=n C5,1275.436,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o C5,1742.282,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o C5,2249.072,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=a C5,2748.372,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o łC5,3225.204,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=i C5,3712.021,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=- C5,422,192,-401,67,39 +_ȂȂȂɂȂʂ.wav=a C5,741.185,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=n C5,1225.505,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a C5,1734.792,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a C5,2231.596,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=i C5,2735.889,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a C5,3242.679,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=u C5,3731.993,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂC5,486.891,164.943,-373.276,39.943,0.0 +_ɂɂɂɂɂɂɂ.wav=e C5,809.41,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂC5,1223.009,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂC5,1757.261,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂC5,2246.575,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂC5,2745.875,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂC5,3220.212,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂC5,3729.497,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂC5,439.458,167.263,-383.26,49.928,0.0 +_ɂɂɂɂɂɂɂ.wav=a C5,748.457,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂC5,1230.5,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂC5,1762.254,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a C5,2279.029,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂC5,2760.854,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂC5,3262.651,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂC5,3736.986,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂC5,446.947,167.439,-375.772,42.439,0.0 +_ɂɂɂɂɂɂɂ.wav=u C5,754.262,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂC5,1230.499,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂC5,1719.813,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂC5,2224.107,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂC5,2720.91,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂC5,3210.225,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂC5,3727.0,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂC5,426.975,182.418,-390.751,57.418,0.0 +_ɂɂɂɂɂɂɂ.wav=o C5,786.122,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂC5,1228.002,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂC5,1747.274,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂC5,2229.1,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂC5,2743.379,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o C5,3247.672,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂC5,3784.419,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=- C5,437,180,-388,55,42 +_ɂɂɂʂɂ˂.wav=i C5,733.694,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=n C5,1225.505,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i C5,1752.268,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i C5,2236.589,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=u C5,2753.366,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i C5,3212.721,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=e C5,3749.469,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=- C5,410,205,-414,80,55 +_ʂʂʂ˂ʂ̂.wav=u C5,768.646,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=n C5,1220.513,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u C5,1747.274,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u C5,2239.086,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=e C5,2745.875,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u C5,3233,375,1262,250,83 +_ʂʂʂ˂ʂ̂.wav=o C5,3744.476,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=- C5,410,195,-403,70,48 +_˂˂˂̂˂Ȃ.wav=e C5,761.157,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=n C5,1242.982,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e C5,1757.261,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e C5,2239.087,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=o C5,2738.386,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e C5,3222.707,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=a C5,3729.497,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=- C5,477,187,-396,62,42 +_̂̂̂Ȃ̂ɂ.wav=o C5,803.597,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=n C5,1240.485,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o C5,1749.771,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o C5,2239.086,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=a C5,2733.393,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o C5,3227.7,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=i C5,3719.999,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=- C5,418,205,-413,67,32 +_͂͂͂Ђ͂ӂ.wav=a C5,736.847,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=n C5,1242.982,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a C5,1759.999,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a C5,2274.037,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=i C5,2775.834,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a C5,3252.665,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=u C5,3769.441,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=- C5,464.425,144.97,-353.303,19.97,0.0 +_΂΂΂т΂Ԃ.wav=a C5,762.971,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=n C5,1267.946,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a C5,1747.274,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a C5,2236.589,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=i C5,2735.89,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a C5,3240.183,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=u C5,3729.497,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=- C5,491.884,144.97,-353.303,19.969,0.0 +_ςςς҂ςՂ.wav=a C5,794.898,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=n C5,1277.932,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a C5,1767.248,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a C5,2279.03,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=i C5,2760.854,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a C5,3255.163,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=u C5,3756.958,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂC5,434.465,167.438,-375.771,42.438,0.0 +_ЂЂЂЂЂЂЂ.wav=e C5,777.483,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂC5,1237.988,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂC5,1737.289,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂC5,2241.582,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂC5,2730.896,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂC5,3230.197,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂC5,3727.0,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тC5,436.961,147.468,-355.801,22.468,0.0 +_ттттттт.wav=e C5,716.531,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тC5,1228.002,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тC5,1732.296,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тC5,2214.122,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тC5,2735.889,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тC5,3222.707,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тC5,3709.524,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂C5,461.926,147.467,-355.8,22.467,0.0 +_҂҂҂҂҂҂҂.wav=e C5,738.688,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂C5,1250.471,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂C5,1762.254,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂C5,2251.568,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂C5,2765.847,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂C5,3257.658,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂C5,3739.482,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=- C5,469.416,132.488,-340.821,7.488,0.0 +_тттт҂҂҂҂.wav=i тC5,743.681,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u C5,1257.961,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i тC5,1752.267,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=e C5,2239.087,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂C5,2730.896,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u C5,3235.19,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂C5,3722.007,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=- C5,474,162,-371,22,10 +_ЂЂЂЂ݂݂݂݂.wav=i ЂC5,758.66,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u C5,1240.485,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ЂC5,1717.317,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=e C5,2209.127,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ݂C5,2728.4,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u C5,3230.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ݂C5,3709.525,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂC5,434.465,192.403,-400.736,67.403,9.986 +_ЂЂЂЂЂЂЂ.wav=a C5,762.971,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂC5,1228.002,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂC5,1737.289,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a C5,2239.087,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂC5,2745.875,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂC5,3252.665,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂC5,3754.462,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тC5,416.989,172.433,-380.766,47.433,0.0 +_ттттттт.wav=a C5,763.652,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тC5,1242.981,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тC5,1729.799,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a C5,2226.603,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тC5,2705.931,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тC5,3215.218,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тC5,3694.547,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂C5,476.905,142.474,-350.806,17.474,0.0 +_҂҂҂҂҂҂҂.wav=a C5,765.873,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂C5,1272.938,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂C5,1767.247,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a C5,2269.044,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂C5,2770.84,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂C5,3260.156,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂C5,3761.951,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂC5,404.507,187.411,-395.744,62.411,0.0 +_ЂЂЂЂЂЂЂ.wav=u C5,753.666,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂC5,1228.002,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂC5,1732.296,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂC5,2234.093,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂC5,2718.413,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂC5,3215.218,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂC5,3722.007,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тC5,404.507,187.41,-395.743,62.41,0.0 +_ттттттт.wav=u C5,746.178,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тC5,1215.52,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тC5,1724.806,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тC5,2231.596,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тC5,2738.386,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тC5,3225.203,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тC5,3712.021,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂C5,441.954,147.468,-355.801,22.468,0.0 +_҂҂҂҂҂҂҂.wav=u C5,748.457,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂C5,1232.995,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂C5,1717.317,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂C5,2241.582,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂C5,2748.372,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂C5,3252.665,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂C5,3731.993,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂC5,419.486,184.915,-393.248,59.915,0.0 +_ЂЂЂЂЂЂЂ.wav=o C5,748.674,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂC5,1208.03,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂC5,1739.784,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂC5,2254.065,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂC5,2738.386,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o C5,3230.197,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂC5,3741.98,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тC5,454.437,142.473,-350.806,17.472,0.0 +_ттттттт.wav=o C5,733.695,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тC5,1210.527,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тC5,1732.295,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тC5,2254.065,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тC5,2745.875,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o C5,3252.665,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тC5,3751.965,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂C5,461.926,142.475,-350.808,17.475,0.0 +_҂҂҂҂҂҂҂.wav=o C5,739.751,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂C5,1232.995,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂C5,1747.274,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂C5,2259.058,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂C5,2750.868,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o C5,3257.658,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂C5,3744.476,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=- C5,439.458,172.432,-380.765,47.431,0.0 +_ЂЂЂӂЂւ.wav=i C5,746.178,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=n C5,1235.492,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i C5,1734.792,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i C5,2249.072,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=u C5,2758.358,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i C5,3260.154,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=e C5,3770.0,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=- C5,469.416,149.964,-358.297,24.963,0.0 +_тттԂтׂ.wav=i C5,758.66,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=n C5,1257.96,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i C5,1742.282,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i C5,2259.058,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=u C5,2750.868,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i C5,3255.162,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=e C5,3766.944,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=- C5,459.43,137.48,-345.813,12.479,0.0 +_҂҂҂Ղ҂؂.wav=i C5,733.695,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=n C5,1247.974,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i C5,1762.254,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i C5,2256.561,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=u C5,2753.365,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i C5,3250.169,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=e C5,3771.937,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂC5,374.549,184.741,-405.73,72.397,0.0 +_ӂӂӂӂӂӂӂ.wav=a C5,733.946,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂC5,1240.485,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂC5,1732.296,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂC5,2231.596,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂC5,2743.379,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a C5,3232.693,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂC5,3761.951,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂC5,456.933,167.439,-375.772,42.439,0.0 +_ӂӂӂӂӂӂӂ.wav=i C5,723.709,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂC5,1218.015,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂC5,1737.289,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i C5,2234.093,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂC5,2730.897,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂC5,3242.679,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂC5,3746.972,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂC5,397.017,202.391,-410.724,77.39,17.475 +_ӂӂӂӂӂӂӂ.wav=e C5,725.238,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂC5,1208.03,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂC5,1727.303,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂC5,2234.093,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂC5,2750.868,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂC5,3242.679,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂC5,3754.462,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂC5,441.954,187.412,-395.745,62.412,0.0 +_ӂӂӂӂӂӂӂ.wav=o C5,746.178,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂC5,1230.5,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂC5,1719.812,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂC5,2226.603,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂC5,2738.386,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂC5,3227.7,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂC5,3714.518,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=- C5,429,185,-393,60,44 +_ӂӂӂӂӂӂ.wav=u C5,742.653,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=n C5,1242.981,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u C5,1732.295,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂC5,2204.134,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=e C5,2718.413,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂC5,3182.763,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=o C5,3707.028,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=- C5,409.5,189.908,-398.241,64.907,0.0 +_ӂӂӂւӂق.wav=u C5,762.97,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=n C5,1213.023,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u C5,1747.274,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u C5,2266.547,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=e C5,2745.875,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u C5,3242.679,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=o C5,3749.998,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=- C5,474.409,174.929,-383.262,49.929,0.0 +_ԂԂԂׂԂڂ.wav=u C5,791.995,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=n C5,1242.981,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u C5,1747.274,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u C5,2241.582,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=e C5,2730.896,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u C5,3242.679,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=o C5,3734.49,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=- C5,486.891,137.481,-345.814,12.481,0.0 +_ՂՂՂ؂Ղۂ.wav=u C5,753.667,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=n C5,1255.464,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u C5,1729.799,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u C5,2236.589,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=e C5,2745.875,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u C5,3237.686,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=o C5,3736.986,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=- C5,428,220,-428,95,57 +_ւււقւ͂.wav=e C5,760.068,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=n C5,1240.0,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e C5,1747.274,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e C5,2254.065,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=o C5,2755.861,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e C5,3240.183,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=a C5,3734.49,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=- C5,496.877,142.475,-350.807,17.475,0.0 +_ׂׂׂڂׂ΂.wav=e C5,774.58,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=n C5,1265.45,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e C5,1774.736,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e C5,2256.561,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=o C5,2715.917,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e C5,3185.259,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=a C5,3736.986,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=- C5,456.935,142.473,-350.807,17.474,12.482 +_؂؂؂ۂ؂ς.wav=e C5,721.213,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=n C5,1210.526,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e C5,1724.806,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e C5,2244.08,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=o C5,2755.861,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e C5,3265.147,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=a C5,3746.971,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=- C5,423,195,-403,70,36 +_ققق͂قЂ.wav=o C5,751.171,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=n C5,1247.974,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o C5,1742.282,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o C5,2269.044,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=a C5,2775.833,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o C5,3267.644,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=i C5,3776.93,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=- C5,426.975,169.936,-378.269,44.936,0.0 +_ڂڂڂ΂ڂт.wav=o C5,745.555,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=n C5,1213.023,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o C5,1727.303,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o C5,2249.072,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=a C5,2750.868,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o C5,3240.183,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=i C5,3724.504,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=- C5,469.416,139.977,-348.31,14.977,2.496 +_ۂۂۂςۂ҂.wav=o C5,743.682,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=n C5,1240.485,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o C5,1754.764,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o C5,2249.072,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=a C5,2748.372,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o C5,3247.672,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=i C5,3722.007,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=- C5,436.961,199.893,-408.226,74.892,0.0 +_܂܂܂݂܂ނ.wav=a C5,761.157,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=n C5,1223.009,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a C5,1742.282,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a C5,2246.575,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=i C5,2733.393,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a C5,3222.707,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=u C5,3739.484,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂C5,444.451,167.439,-375.772,42.438,0.0 +_݂݂݂݂݂݂݂.wav=e C5,768.646,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂C5,1247.974,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂C5,1757.261,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂C5,2229.1,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂C5,2730.895,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂C5,3210.225,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂C5,3722.007,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂C5,459.43,169.936,-378.269,44.936,0.0 +_݂݂݂݂݂݂݂.wav=a C5,757.166,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂C5,1210.0,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂C5,1752.268,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a C5,2241.582,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂C5,2710.924,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂C5,3217.714,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂C5,3707.028,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂C5,436.961,182.419,-390.752,57.418,0.0 +_݂݂݂݂݂݂݂.wav=u C5,756.164,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂C5,1228.002,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂C5,1762.254,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂C5,2239.086,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂C5,2750.868,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂C5,3219.999,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂C5,3741.979,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂C5,426.975,169.935,-378.268,44.934,0.0 +_݂݂݂݂݂݂݂.wav=o C5,757.165,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂C5,1220.513,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂C5,1742.282,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂C5,2261.554,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂C5,2750.0,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o C5,3260.154,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂C5,3739.482,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=- C5,449.444,169.936,-378.269,44.935,22.468 +_݂݂݂ނ݂߂.wav=i C5,758.66,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=n C5,1255.464,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i C5,1749.771,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i C5,2229.1,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=u C5,2748.372,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i C5,3247.672,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=e C5,3756.958,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=- C5,449,246,-381,40,26 +_ނނނ߂ނ.wav=u C5,762.97,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=n C5,1205.533,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u C5,1724.806,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u C5,2221.61,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=e C5,2710.924,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u C5,3240.0,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=o C5,3741.98,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=- C5,439,185,-371,37,27 +_߂߂߂߂܂.wav=e C5,765.873,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=n C5,1223.009,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e C5,1757.261,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e C5,2236.589,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=o C5,2748.372,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e C5,3220.212,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=a C5,3754.462,375.0,-583.333,250.0,83.333 +_܂݂.wav=- C5,444,175,-383,50,34 +_܂݂.wav=o C5,771.678,375.0,-583.333,250.0,83.333 +_܂݂.wav=n C5,1232.995,375.0,-583.333,250.0,83.333 +_܂݂.wav=o C5,1734.792,375.0,-583.333,250.0,83.333 +_܂݂.wav=o C5,2249.999,375.0,-583.333,250.0,83.333 +_܂݂.wav=a C5,2743.379,375.0,-583.333,250.0,83.333 +_܂݂.wav=o C5,3260.154,375.0,-583.333,250.0,83.333 +_܂݂.wav=i C5,3744.476,375.0,-583.333,250.0,83.333 +_₢.wav=- C5,407,200,-408,75,54 +_₢.wav=a C5,738.688,375.0,-583.333,250.0,83.333 +_₢.wav=n C5,1213.023,375.0,-583.333,250.0,83.333 +_₢.wav=a C5,1694.848,375.0,-583.333,250.0,83.333 +_₢.wav=a C5,2209.128,375.0,-583.333,250.0,83.333 +_₢.wav=i C5,2733.393,375.0,-583.333,250.0,83.333 +_₢.wav=a C5,3280.0,375.0,-583.333,250.0,83.333 +_₢.wav=u C5,3749.999,375.0,-583.333,250.0,83.333 +_䂢.wav=- C5,441.954,157.454,-365.787,32.453,0.0 +_䂢.wav=u C5,748.457,375.0,-583.333,250.0,83.333 +_䂢.wav=n C5,1200.541,375.0,-583.333,250.0,83.333 +_䂢.wav=u C5,1729.799,375.0,-583.333,250.0,83.333 +_䂢.wav=u C5,2229.1,375.0,-583.333,250.0,83.333 +_䂢.wav=e C5,2750.868,375.0,-583.333,250.0,83.333 +_䂢.wav=u C5,3255.162,375.0,-583.333,250.0,83.333 +_䂢.wav=o C5,3771.937,375.0,-583.333,250.0,83.333 +_悢.wav=- C5,454.437,164.942,-373.274,39.942,4.993 +_悢.wav=o C5,742.652,375.0,-583.333,250.0,83.333 +_悢.wav=n C5,1228.002,375.0,-583.333,250.0,83.333 +_悢.wav=o C5,1767.247,375.0,-583.333,250.0,83.333 +_悢.wav=o C5,2249.071,375.0,-583.333,250.0,83.333 +_悢.wav=a C5,2733.393,375.0,-583.333,250.0,83.333 +_悢.wav=o C5,3222.707,375.0,-583.333,250.0,83.333 +_悢.wav=i C5,3764.448,375.0,-583.333,250.0,83.333 +_.wav=- C5,447,195,-403,62,27 +_.wav=a C5,760.068,375.0,-583.333,250.0,83.333 +_.wav=n C5,1255.464,375.0,-583.333,250.0,83.333 +_.wav=a C5,1739.785,375.0,-583.333,250.0,83.333 +_.wav=a C5,2229.1,375.0,-583.333,250.0,83.333 +_.wav=i C5,2730.0,375.0,-583.333,250.0,83.333 +_.wav=a C5,3240.0,375.0,-583.333,250.0,83.333 +_.wav=u C5,3730.0,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=- 肥C5,439.458,194.901,-403.233,69.901,0.0 +_肥肥肥肥肥.wav=e C5,762.971,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=n 肥C5,1237.987,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e 肥C5,1729.799,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e C5,2204.135,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=o 肥C5,2735.89,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e C5,3205.232,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=a 肥C5,3730.0,375.0,-583.333,250.0,83.333 +_.wav=- C5,439.458,167.438,-375.772,42.439,0.0 +_.wav=a C5,757.166,375.0,-583.333,250.0,83.333 +_.wav=n C5,1250.0,375.0,-583.333,250.0,83.333 +_.wav=a C5,1724.806,375.0,-583.333,250.0,83.333 +_.wav=a C5,2239.087,375.0,-583.333,250.0,83.333 +_.wav=i C5,2740.883,375.0,-583.333,250.0,83.333 +_.wav=a C5,3217.714,375.0,-583.333,250.0,83.333 +_.wav=u C5,3740.0,375.0,-583.333,250.0,83.333 +_肥.wav=- C5,411.996,192.405,-400.738,67.405,0.0 +_肥.wav=u C5,757.165,375.0,-583.333,250.0,83.333 +_肥.wav=n C5,1230.5,375.0,-583.333,250.0,83.333 +_肥.wav=u C5,1744.777,369.575,-583.333,250.0,83.332 +_肥.wav=u 肥C5,2224.107,375.0,-583.333,250.0,83.333 +_肥.wav=e C5,2725.903,375.0,-583.333,250.0,83.333 +_肥.wav=u C5,3222.707,375.0,-583.333,250.0,83.333 +_肥.wav=o C5,3749.469,375.0,-583.333,250.0,83.333 +_.wav=- C5,394.521,187.411,-395.744,62.411,0.0 +_.wav=o C5,771.678,375.0,-583.333,250.0,83.333 +_.wav=n C5,1247.974,375.0,-583.333,250.0,83.333 +_.wav=o C5,1744.778,375.0,-583.333,250.0,83.333 +_.wav=o C5,2239.087,375.0,-583.333,250.0,83.333 +_.wav=a C5,2725.903,375.0,-583.333,250.0,83.333 +_.wav=o C5,3245.176,375.0,-583.333,250.0,83.333 +_.wav=i C5,3730.0,375.0,-583.333,250.0,83.333 +_肥ガ.wav=- C5,449.444,169.936,-378.269,44.935,0.0 +_肥ガ.wav=i C5,758.66,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u C5,1232.995,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i 肥C5,1720.0,375.0,-583.333,250.0,83.333 +_肥ガ.wav=e C5,2231.596,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i C5,2708.428,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u C5,3207.728,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i C5,3709.999,375.0,-583.333,250.0,83.333 +_.wav=- C5,429.472,202.39,-410.723,77.39,0.0 +_.wav=i C5,739.751,375.0,-583.333,250.0,83.333 +_.wav=n C5,1237.988,375.0,-583.333,250.0,83.333 +_.wav=i C5,1740.0,375.0,-583.333,250.0,83.333 +_.wav=i C5,2219.114,375.0,-583.333,250.0,83.333 +_.wav=u C5,2728.401,375.0,-583.333,250.0,83.333 +_.wav=i C5,3192.749,375.0,-583.333,250.0,83.333 +_.wav=e C5,3740.0,375.0,-583.333,250.0,83.333 +_.wav=- C5,426.975,192.404,-400.736,67.404,0.0 +_.wav=u C5,745.555,375.0,-583.333,250.0,83.333 +_.wav=n C5,1228.002,375.0,-583.333,250.0,83.333 +_.wav=u C5,1720.0,375.0,-583.333,250.0,83.333 +_.wav=u C5,2209.999,375.0,-583.333,250.0,83.333 +_.wav=e C5,2739.999,375.0,-583.333,250.0,83.333 +_.wav=u C5,3229.998,375.0,-583.333,250.0,83.333 +_.wav=o C5,3746.972,375.0,-583.333,250.0,83.333 +_.wav=- C5,419.486,205.513,-413.846,80.513,0.0 +_.wav=e C5,736.849,375.0,-583.333,250.0,83.333 +_.wav=n C5,1235.493,375.0,-583.333,250.0,83.333 +_.wav=e C5,1720.0,375.0,-583.333,250.0,83.333 +_.wav=e C5,2244.08,375.0,-583.333,250.0,83.333 +_.wav=o C5,2735.89,375.0,-583.333,250.0,83.333 +_.wav=e C5,3239.999,375.0,-583.333,250.0,83.333 +_.wav=a C5,3749.999,375.0,-583.333,250.0,83.333 +_.wav=- C5,421.982,217.371,-425.704,92.371,0.0 +_.wav=o C5,758.66,375.0,-583.333,250.0,83.333 +_.wav=n C5,1195.548,375.0,-583.333,250.0,83.333 +_.wav=o C5,1744.778,375.0,-583.333,250.0,83.333 +_.wav=o C5,2234.094,375.0,-583.333,250.0,83.333 +_.wav=a C5,2738.386,375.0,-583.333,250.0,83.333 +_.wav=o C5,3257.658,375.0,-583.333,250.0,83.333 +_.wav=i C5,3749.469,375.0,-583.333,250.0,83.333 +_키키.wav=- C5,447,182,-391,42,27 +_키키.wav=a C5,762.971,375.0,-583.333,250.0,83.333 +_키키.wav=n C5,1252.967,375.0,-583.333,250.0,83.333 +_키키.wav=a C5,1759.756,375.0,-583.333,250.0,83.333 +_키키.wav=a C5,2251.568,375.0,-583.333,250.0,83.333 +_키키.wav=i C5,2753.365,375,-583,250,83 +_키키.wav=a C5,3232.693,375.0,-583.333,250.0,83.333 +_키키.wav=u C5,3746.972,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=- C5,439.458,175.541,-383.874,50.541,0.0 +_񂢂񂦂񂨂.wav=n C5,733.695,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=i C5,1210.527,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n C5,1694.848,372.329,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=e C5,2231.633,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n C5,2698.442,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n C5,2698.442,375,-583.333,250,83.333 +_񂢂񂦂񂨂.wav=o C5,3224.286,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n RC5,3877,555,-583,250,83 diff --git a/OpenUtau.Test/Files/ja_vcv/N_D4/oto.ini b/OpenUtau.Test/Files/ja_vcv/N_D4/oto.ini new file mode 100644 index 000000000..b97ddb2ab --- /dev/null +++ b/OpenUtau.Test/Files/ja_vcv/N_D4/oto.ini @@ -0,0 +1,1232 @@ +_.wav=- D4,522,107,4054,13,52 +_.wav=a D4,798.771,375,-583,250,83 +_.wav=a D4,1256.382,375,-583,250,83 +_.wav=i D4,1734,375,-583,250,83 +_.wav=a D4,2242.832,375,-583,250,83 +_.wav=u D4,2753.863,375.0,-583.333,250.0,83.333 +_.wav=e D4,3270.725,375.0,-583.333,250.0,83.333 +_.wav=a RD4,4146,569,-583,250,83 +_.wav=- D4,349,133,4266,5,19 +_.wav=i D4,600.0,375.0,-583.333,250.0,83.333 +_.wav=i D4,1046.272,375.0,-583.333,250.0,83.333 +_.wav=u D4,1587.573,375.0,-583.333,250.0,83.333 +_.wav=a D4,2066.553,375.0,-583.333,250.0,83.333 +_.wav=e D4,2556.216,375.0,-583.333,250.0,83.333 +_.wav=i D4,3093.955,375.0,-583.333,250.0,83.333 +_.wav=e RD4,3963,881,102,250,83 +_񂢂悢₢.wav=- D4,361.46,163.538,4266.577,49.856,26.708 +_񂢂悢₢.wav=e D4,693.716,375,-583,250,83 +_񂢂悢₢.wav=n D4,1138.863,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e D4,1689.067,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e D4,2166.266,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=o D4,2663.052,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e D4,3166.07,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=a D4,3676.211,375.0,-583.333,250.0,83.333 +_񃔂.wav=- D4,344.545,160.453,4286.577,35.453,16.025 +_񃔂.wav=a D4,639.406,375.0,-583.333,250.0,83.333 +_񃔂.wav=n D4,1122.838,375.0,-583.333,250.0,83.333 +_񃔂.wav=a D4,1640.991,375.0,-583.333,250.0,83.333 +_񃔂.wav=a D4,2132.435,375.0,-583.333,250.0,83.333 +_񃔂.wav=i D4,2637.233,375.0,-583.333,250.0,83.333 +_񃔂.wav=a D4,3131.348,375.0,-583.333,250.0,83.333 +_񃔂.wav=u D4,3622.792,375.0,-583.333,250.0,83.333 +_񂤂.wav=- D4,462.064,175.747,4153.765,50.747,26.708 +_񂤂.wav=i D4,746,375,-583,250,83 +_񂤂.wav=n D4,1235.015,375.0,-583.333,250.0,83.333 +_񂤂.wav=i D4,1731.801,375.0,-583.333,250.0,83.333 +_񂤂.wav=i D4,2177.84,375.0,-583.333,250.0,83.333 +_񂤂.wav=u D4,2725.373,375.0,-583.333,250.0,83.333 +_񂤂.wav=i D4,3219.488,375.0,-583.333,250.0,83.333 +_񂤂.wav=e D4,3734.97,375.0,-583.333,250.0,83.333 +_񃔂.wav=- D4,446.038,167.735,4177.803,42.735,24.038 +_񃔂.wav=i D4,675.896,375.0,-583.333,250.0,83.333 +_񃔂.wav=n D4,1197.623,375.0,-583.333,250.0,83.333 +_񃔂.wav=i D4,1691.737,375.0,-583.333,250.0,83.333 +_񃔂.wav=i D4,2153.802,375.0,-583.333,250.0,83.333 +_񃔂.wav=u D4,2709.348,375.0,-583.333,250.0,83.333 +_񃔂.wav=i D4,3184.766,375.0,-583.333,250.0,83.333 +_񃔂.wav=e D4,3670.869,375.0,-583.333,250.0,83.333 +_.wav=- D4,387,160,4266,11,39 +_.wav=u D4,700.837,375.0,-583.333,250.0,83.333 +_.wav=u D4,1111.269,375.0,-583.333,250.0,83.333 +_.wav=i D4,1654.345,375.0,-583.333,250.0,83.333 +_.wav=i D4,1654.345,375,-583.333,250,83.333 +_.wav=o D4,2097.713,375.0,-583.333,250.0,83.333 +_.wav=a D4,2677.297,375.0,-583.333,250.0,83.333 +_.wav=a D4,2677.297,375,-583.333,250,83.333 +_.wav=o D4,3184.766,375.0,-583.333,250.0,83.333 +_.wav=i RD4,3960,892,86,250,83 +_䂢.wav=- D4,272.43,136.215,4354.082,40.063,26.708 +_䂢.wav=u D4,540.583,375.0,-583.333,250.0,83.333 +_䂢.wav=e D4,1021.344,375.0,-583.333,250.0,83.333 +_䂢.wav=u D4,1536.826,375.0,-583.333,250.0,83.333 +_䂢.wav=o D4,2049.638,375.0,-583.333,250.0,83.333 +_䂢.wav=i D4,2573.132,375.0,-583.333,250.0,83.333 +_䂢.wav=u D4,3037.867,375.0,-583.333,250.0,83.333 +_䂢.wav=i D4,3604.096,375.0,-583.333,250.0,83.333 +_񃔂.wav=- D4,267.089,165.062,4359.424,40.062,13.354 +_񃔂.wav=e D4,567.291,375.0,-583.333,250.0,83.333 +_񃔂.wav=n D4,1093.458,375.0,-583.333,250.0,83.333 +_񃔂.wav=e D4,1582.231,375.0,-583.333,250.0,83.333 +_񃔂.wav=e D4,2084.359,375.0,-583.333,250.0,83.333 +_񃔂.wav=o D4,2599.841,375.0,-583.333,250.0,83.333 +_񃔂.wav=e D4,3080.601,375.0,-583.333,250.0,83.333 +_񃔂.wav=a D4,3604.096,375.0,-583.333,250.0,83.333 +_񃔂.wav=e RD4,4197,558,-583,250,83 +_񂤂키.wav=- D4,373.924,183.758,4233.893,58.758,32.05 +_񂤂키.wav=e D4,644.747,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n D4,1117.496,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e D4,1619.624,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e D4,2113.739,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o D4,2618.537,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e D4,3120.665,375.0,-583.333,250.0,83.333 +_񂤂키.wav=a D4,3638.817,375.0,-583.333,250.0,83.333 +_񃔂.wav=- D4,320.507,181.086,4289.982,56.086,0.0 +_񃔂.wav=o D4,628.723,375.0,-583.333,250.0,83.333 +_񃔂.wav=n D4,1128.18,375.0,-583.333,250.0,83.333 +_񃔂.wav=o D4,1662.358,375.0,-583.333,250.0,83.333 +_񃔂.wav=o D4,2156.473,375.0,-583.333,250.0,83.333 +_񃔂.wav=a D4,2666.613,375.0,-583.333,250.0,83.333 +_񃔂.wav=o D4,3159.999,375.0,-583.333,250.0,83.333 +_񃔂.wav=i D4,3657.513,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- D4,397.962,157.051,4236.562,32.051,0.0 +_񂤂키.wav=o D4,668.786,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n D4,1162.901,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o D4,1686.396,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o D4,2173,375,-583,250,83 +_񂤂키.wav=a D4,2695.993,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o D4,3190.107,375.0,-583.333,250.0,83.333 +_񂤂키.wav=i D4,3686.894,375.0,-583.333,250.0,83.333 +_񃔃.wav=- D4,173.607,189.1,4416.576,64.099,21.367 +_񃔃.wav=u D4,513.875,375.0,-583.333,250.0,83.333 +_񃔃.wav=n D4,1013.332,375.0,-583.333,250.0,83.333 +_񃔃.wav=u D4,1547.511,375.0,-583.333,250.0,83.333 +_񃔃.wav=u D4,2049.637,375.0,-583.333,250.0,83.333 +_񃔃.wav=e D4,2557.107,375.0,-583.333,250.0,83.333 +_񃔃.wav=u D4,3056.563,375.0,-583.333,250.0,83.333 +_񃔃.wav=o D4,3561.363,375.0,-583.333,250.0,83.333 +_.wav=- D4,521,189,4130,7,36 +_.wav=e D4,772.951,375.0,-583.333,250.0,83.333 +_.wav=e D4,1192.281,375.0,-583.333,250.0,83.333 +_.wav=u D4,1729.129,375.0,-583.333,250.0,83.333 +_.wav=u D4,1729.13,375,-583.333,250,83.333 +_.wav=o D4,2167.157,375.0,-583.333,250.0,83.333 +_.wav=e D4,2701.336,375.0,-583.333,250.0,83.333 +_.wav=e D4,2701.336,375,-583,250,83 +_.wav=o D4,3189.999,375.0,-583.333,250.0,83.333 +_.wav=o D4,3189.999,375,-583.333,250,83.333 +_񂠂.wav=- D4,295,199,4337,19,45 +_񂠂.wav=- D4,295,199,4337,19,45 +_񂠂.wav=o D4,527.23,375.0,-583.333,250.0,83.333 +_񂠂.wav=u D4,1013.332,375.0,-583.333,250.0,83.333 +_񂠂.wav=n D4,1514.717,375.0,-583.333,250.0,83.333 +_񂠂.wav=a D4,2041.625,375.0,-583.333,250.0,83.333 +_񂠂.wav=n D4,2580.0,375.0,-583.333,250.0,83.333 +_񂠂.wav=n D4,3021.842,375.0,-583.333,250.0,83.333 +_񂠂.wav=u RD4,3831,700,454,250,83 +_ĂĂエłł.wav=- D4,360.57,173.074,4257.931,48.074,32.05 +_ĂĂエłł.wav=o ĂD4,652.761,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u D4,1117.074,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n ĂD4,1635.649,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u D4,2148.46,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=o łD4,2645.246,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u D4,3117.993,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n łD4,3644.16,375.0,-583.333,250.0,83.333 +_񂩂.wav=- D4,398.0,166,4135,24,2 +_񂩂.wav=a D4,684.602,375.0,-583.333,250.0,83.333 +_񂩂.wav=n D4,1189.61,375.0,-583.333,250.0,83.333 +_񂩂.wav=a D4,1705.092,375,-583,250,83 +_񂩂.wav=a D4,2223.245,375,-583,250,83 +_񂩂.wav=i D4,2706.677,375.0,-583.333,250.0,83.333 +_񂩂.wav=a D4,3203.462,375,-583,250,83 +_񂩂.wav=u D4,3673.539,375,-583,250,83 +_񂪂.wav=- D4,240.38,151.709,4399.486,26.709,0.0 +_񂪂.wav=a D4,508.532,375.0,-583.333,250.0,83.333 +_񂪂.wav=n D4,1032.028,375.0,-583.333,250.0,83.333 +_񂪂.wav=a D4,1542.168,375,-583,250,83 +_񂪂.wav=a D4,2044.296,375,-583,250,83 +_񂪂.wav=i D4,2522.385,375.0,-583.333,250.0,83.333 +_񂪂.wav=a D4,3032.525,375.0,-583.333,250.0,83.333 +_񂪂.wav=u D4,3526.64,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=- D4,341.874,175.746,4273.955,50.746,0.0 +_񂫂傫Ⴋ.wav=e D4,632.358,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=n D4,1128.18,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e D4,1640.991,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e D4,2153.801,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=o D4,2674.625,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e D4,3152.716,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=a D4,3646.83,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=- D4,440.697,154.377,4196.5,29.378,2.67 +_񂬂催Ⴌ.wav=e D4,746.242,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=n D4,1230.0,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e D4,1742.485,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e D4,2260.638,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=o D4,2770.0,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e D4,3256.88,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=a D4,3761.679,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=- D4,408,193,4238,65,44 +_カɂɂɂɂ.wav=i D4,711.521,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u D4,1200.294,375,-583,250,83 +_カɂɂɂɂ.wav=i D4,1710.0,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=e D4,2193.865,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i ɂD4,2677.297,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u D4,3192.779,375,-583,250,83 +_カɂɂɂɂ.wav=i ɂD4,3678.881,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=- D4,249.65,174.929,4366.996,49.929,0.0 +_񂫂ႫႫႫカ.wav=a D4,523.914,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=n D4,1028.208,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a D4,1542.488,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a D4,2049.277,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=i D4,2526.109,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a D4,3047.877,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=u D4,3529.703,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=- D4,312.062,157.453,4322.06,32.453,0.0 +_񂬂ႬႬႬガ.wav=a D4,611.293,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=n D4,1123.075,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a D4,1634.858,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a D4,2139.151,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=i D4,2638.452,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a D4,3135.256,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=u D4,3624.57,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=- D4,282.104,184.916,4324.555,59.916,0.0 +_񂫂カカカ傫.wav=u D4,578.838,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=n D4,1103.103,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u D4,1594.914,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u D4,2089.221,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=e D4,2608.493,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u D4,3080.0,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=o D4,3602.102,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=- D4,411.922,159.95,4219.703,34.949,0.0 +_񂬂ガガガ催.wav=u D4,691.181,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=n D4,1187.984,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u D4,1712.25,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u D4,2180.0,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=e D4,2693.375,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u D4,3170.207,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=o D4,3709.45,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=- D4,426.901,168.098,4196.576,43.098,0.0 +_񂫂傫傫Ⴋ傫.wav=o D4,703.663,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=n D4,1227.928,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o D4,1719.739,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o D4,2209.053,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=a D4,2710.0,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o D4,3235.116,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=i D4,3701.961,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=- D4,284.601,150.398,4356.577,25.398,0.0 +_񂬂催催Ⴌ催.wav=o D4,566.355,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=n D4,1075.642,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o D4,1594.914,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o D4,2086.725,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=a D4,2593.515,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o D4,3097.808,375,-583,250,83 +_񂬂催催Ⴌ催.wav=i D4,3597.108,375.0,-583.333,250.0,83.333 +_񂫂.wav=- D4,446.873,182.419,4162.283,57.419,0.0 +_񂫂.wav=i D4,731.125,375.0,-583.333,250.0,83.333 +_񂫂.wav=n D4,1307.817,375.0,-583.333,250.0,83.333 +_񂫂.wav=i D4,1784.648,375,-583,250,83 +_񂫂.wav=i D4,2281.453,375.0,-583.333,250.0,83.333 +_񂫂.wav=u D4,2780.0,375.0,-583.333,250.0,83.333 +_񂫂.wav=i D4,3250.0,375.0,-583.333,250.0,83.333 +_񂫂.wav=e D4,3771.863,375.0,-583.333,250.0,83.333 +_񂬂.wav=- D4,232.174,187.412,4371.989,62.412,0.0 +_񂬂.wav=i D4,546.383,375.0,-583.333,250.0,83.333 +_񂬂.wav=n D4,1120.0,375.0,-583.333,250.0,83.333 +_񂬂.wav=i D4,1624.871,375.0,-583.333,250.0,83.333 +_񂬂.wav=i D4,2099.208,375.0,-583.333,250.0,83.333 +_񂬂.wav=u D4,2615.983,375.0,-583.333,250.0,83.333 +_񂬂.wav=i D4,3087.822,375.0,-583.333,250.0,83.333 +_񂬂.wav=e D4,3617.08,375.0,-583.333,250.0,83.333 +_񂭂.wav=- D4,444.377,170.622,4176.576,45.622,0.0 +_񂭂.wav=a D4,726.132,375.0,-583.333,250.0,83.333 +_񂭂.wav=n D4,1237.914,375.0,-583.333,250.0,83.333 +_񂭂.wav=a D4,1749.697,375.0,-583.333,250.0,83.333 +_񂭂.wav=a D4,2248.997,375.0,-583.333,250.0,83.333 +_񂭂.wav=i D4,2750.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=a D4,3250.095,375.0,-583.333,250.0,83.333 +_񂭂.wav=u D4,3746.898,375.0,-583.333,250.0,83.333 +_񂮂.wav=- D4,229.678,159.949,4401.948,34.949,0.0 +_񂮂.wav=a D4,543.887,375.0,-583.333,250.0,83.333 +_񂮂.wav=n D4,1033.202,375.0,-583.333,250.0,83.333 +_񂮂.wav=a D4,1547.481,375.0,-583.333,250.0,83.333 +_񂮂.wav=a D4,2030.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=i D4,2518.62,375.0,-583.333,250.0,83.333 +_񂮂.wav=a D4,3035.395,375.0,-583.333,250.0,83.333 +_񂮂.wav=u D4,3540.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=- D4,247.153,194.901,4349.521,69.901,0.0 +_񂭂.wav=i D4,553.873,375.0,-583.333,250.0,83.333 +_񂭂.wav=n D4,1075.643,375.0,-583.333,250.0,83.333 +_񂭂.wav=i D4,1592.418,375.0,-583.333,250.0,83.333 +_񂭂.wav=i D4,2076.739,375.0,-583.333,250.0,83.333 +_񂭂.wav=u D4,2586.025,375.0,-583.333,250.0,83.333 +_񂭂.wav=i D4,3082.828,375.0,-583.333,250.0,83.333 +_񂭂.wav=e D4,3579.633,375.0,-583.333,250.0,83.333 +_񂮂.wav=- D4,294.587,159.95,4337.038,34.95,0.0 +_񂮂.wav=i D4,586.328,375.0,-583.333,250.0,83.333 +_񂮂.wav=n D4,1103.103,375.0,-583.333,250.0,83.333 +_񂮂.wav=i D4,1639.851,375.0,-583.333,250.0,83.333 +_񂮂.wav=i D4,2109.193,375.0,-583.333,250.0,83.333 +_񂮂.wav=u D4,2603.501,375.0,-583.333,250.0,83.333 +_񂮂.wav=i D4,3090.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=e D4,3610.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=- D4,307.069,177.93,4306.576,52.93,0.0 +_񂭂.wav=e D4,616.286,375.0,-583.333,250.0,83.333 +_񂭂.wav=n D4,1130.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=e D4,1622.376,375.0,-583.333,250.0,83.333 +_񂭂.wav=e D4,2139.151,375.0,-583.333,250.0,83.333 +_񂭂.wav=o D4,2665.913,375.0,-583.333,250.0,83.333 +_񂭂.wav=e D4,3132.759,375.0,-583.333,250.0,83.333 +_񂭂.wav=a D4,3652.031,375.0,-583.333,250.0,83.333 +_񂮂.wav=- D4,356.999,162.447,4272.129,37.447,0.0 +_񂮂.wav=e D4,673.705,375.0,-583.333,250.0,83.333 +_񂮂.wav=n D4,1168.012,375.0,-583.333,250.0,83.333 +_񂮂.wav=e D4,1677.299,375.0,-583.333,250.0,83.333 +_񂮂.wav=e D4,2164.116,375.0,-583.333,250.0,83.333 +_񂮂.wav=o D4,2663.417,375.0,-583.333,250.0,83.333 +_񂮂.wav=e D4,3145.241,375.0,-583.333,250.0,83.333 +_񂮂.wav=a D4,3654.528,375.0,-583.333,250.0,83.333 +_񂭂.wav=- D4,384.461,179.922,4227.192,54.922,0.0 +_񂭂.wav=o D4,673.705,375.0,-583.333,250.0,83.333 +_񂭂.wav=n D4,1222.935,375.0,-583.333,250.0,83.333 +_񂭂.wav=o D4,1707.257,375.0,-583.333,250.0,83.333 +_񂭂.wav=o D4,2201.564,375.0,-583.333,250.0,83.333 +_񂭂.wav=a D4,2700.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=o D4,3215.144,375.0,-583.333,250.0,83.333 +_񂭂.wav=i D4,3704.457,375.0,-583.333,250.0,83.333 +_񂮂.wav=- D4,436.887,158.112,4196.576,33.112,0.0 +_񂮂.wav=o D4,723.635,375.0,-583.333,250.0,83.333 +_񂮂.wav=n D4,1202.963,375.0,-583.333,250.0,83.333 +_񂮂.wav=o D4,1730.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=o D4,2204.06,375.0,-583.333,250.0,83.333 +_񂮂.wav=a D4,2715.843,375.0,-583.333,250.0,83.333 +_񂮂.wav=o D4,3230.123,375.0,-583.333,250.0,83.333 +_񂮂.wav=i D4,3709.997,375.0,-583.333,250.0,83.333 +_.wav=- D4,238.0,211.999,4371.0,56.999,0.0 +_.wav=u D4,543.887,375.0,-583.333,250.0,83.333 +_.wav=e D4,1080.0,375.0,-583.333,250.0,83.333 +_.wav=u D4,1587.425,375.0,-583.333,250.0,83.333 +_.wav=o D4,2064.255,375.0,-583.333,250.0,83.333 +_.wav=u D4,2551.074,375.0,-583.333,250.0,83.333 +_.wav=e D4,3060.0,375.0,-583.333,250.0,83.333 +_.wav=u D4,3569.647,375.0,-583.333,250.0,83.333 +_.wav=o RD4,4189,530,-583,250,83 +_񂭂.wav=- D4,279.608,177.425,4334.542,52.425,0.0 +_񂭂.wav=u D4,566.355,375.0,-583.333,250.0,83.333 +_񂭂.wav=n D4,1140.551,375.0,-583.333,250.0,83.333 +_񂭂.wav=u D4,1624.872,375,-583,250,83 +_񂭂.wav=u D4,2111.69,375.0,-583.333,250.0,83.333 +_񂭂.wav=e D4,2630.962,375.0,-583.333,250.0,83.333 +_񂭂.wav=u D4,3090.318,375,-583,250,83 +_񂭂.wav=o D4,3602.101,375,-583,250,83 +_񂮂.wav=- D4,314.559,184.914,4292.102,59.914,0.0 +_񂮂.wav=u D4,636.257,375.0,-583.333,250.0,83.333 +_񂮂.wav=n D4,1160.523,375.0,-583.333,250.0,83.333 +_񂮂.wav=u D4,1654.83,375.0,-583.333,250.0,83.333 +_񂮂.wav=u D4,2151.634,375.0,-583.333,250.0,83.333 +_񂮂.wav=e D4,2663.417,375.0,-583.333,250.0,83.333 +_񂮂.wav=u D4,3152.732,375.0,-583.333,250.0,83.333 +_񂮂.wav=o D4,3694.471,375.0,-583.333,250.0,83.333 +_񂯂.wav=- D4,342.02,191.979,4240.0,48.979,0.0 +_񂯂.wav=e D4,613.789,375.0,-583.333,250.0,83.333 +_񂯂.wav=n D4,1115.586,375.0,-583.333,250.0,83.333 +_񂯂.wav=e D4,1634.858,375.0,-583.333,250.0,83.333 +_񂯂.wav=e D4,2124.173,375.0,-583.333,250.0,83.333 +_񂯂.wav=o D4,2648.438,375.0,-583.333,250.0,83.333 +_񂯂.wav=e D4,3147.738,375.0,-583.333,250.0,83.333 +_񂯂.wav=a D4,3642.045,375,-583,250,83 +_񂰂.wav=- D4,406.929,152.461,4232.185,27.461,0.0 +_񂰂.wav=e D4,676.202,375.0,-583.333,250.0,83.333 +_񂰂.wav=n D4,1210.0,375.0,-583.333,250.0,83.333 +_񂰂.wav=e D4,1720.0,375.0,-583.333,250.0,83.333 +_񂰂.wav=e D4,2220.0,375.0,-583.333,250.0,83.333 +_񂰂.wav=o D4,2738.312,375.0,-583.333,250.0,83.333 +_񂰂.wav=e D4,3227.626,375.0,-583.333,250.0,83.333 +_񂰂.wav=a D4,3736.912,375.0,-583.333,250.0,83.333 +_񂱂.wav=- D4,429.398,191.957,4148.0,29.957,0.0 +_񂱂.wav=o D4,696.174,375.0,-583.333,250.0,83.333 +_񂱂.wav=n D4,1230.425,375.0,-583.333,250.0,83.333 +_񂱂.wav=o D4,1729.725,375,-583,250,83 +_񂱂.wav=o D4,2206.557,375,-583,250,83 +_񂱂.wav=a D4,2708.355,375,-583,250,83 +_񂱂.wav=o D4,3227.626,375.0,-583.333,250.0,83.333 +_񂱂.wav=i D4,3714.444,375.0,-583.333,250.0,83.333 +_񂲂.wav=- D4,288.566,182,4288,21,0 +_񂲂.wav=o D4,542.38,375.0,-583.333,250.0,83.333 +_񂲂.wav=n D4,1055.67,375.0,-583.333,250.0,83.333 +_񂲂.wav=o D4,1572.446,375.0,-583.333,250.0,83.333 +_񂲂.wav=o D4,2051.775,375.0,-583.333,250.0,83.333 +_񂲂.wav=a D4,2563.558,375.0,-583.333,250.0,83.333 +_񂲂.wav=o D4,3065.353,375.0,-583.333,250.0,83.333 +_񂲂.wav=i D4,3554.668,375.0,-583.333,250.0,83.333 +_񂳂.wav=- D4,143,245,4390,143,97 +_񂳂.wav=a D4,493.957,375.0,-583.333,250.0,83.333 +_񂳂.wav=n D4,1050.0,375.0,-583.333,250.0,83.333 +_񂳂.wav=a D4,1544.984,375.0,-583.333,250.0,83.333 +_񂳂.wav=a D4,2070.0,375.0,-583.333,250.0,83.333 +_񂳂.wav=i D4,2573.542,375.0,1843.034,250.0,83.332 +_񂳂.wav=a D4,3085.325,375,-583,250,83 +_񂳂.wav=u D4,3564.654,375.0,-583.333,250.0,83.333 +_񂴂.wav=- D4,302.076,164.942,4324.557,39.942,22.468 +_񂴂.wav=a D4,588.824,375.0,-583.333,250.0,83.333 +_񂴂.wav=n D4,1135.558,375.0,-583.333,250.0,83.333 +_񂴂.wav=a D4,1652.334,375.0,-583.333,250.0,83.333 +_񂴂.wav=a D4,2141.647,375.0,-583.333,250.0,83.333 +_񂴂.wav=i D4,2635.955,375.0,-583.333,250.0,83.333 +_񂴂.wav=a D4,3155.228,375.0,-583.333,250.0,83.333 +_񂴂.wav=u D4,3642.045,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=- D4,356.999,257.314,4177.262,132.314,42.44 +_񂵂債Ⴕ.wav=e D4,721.139,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=n D4,1257.886,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e D4,1744.704,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e D4,2256.486,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=o D4,2750.794,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e D4,3250.095,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=a D4,3764.374,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=- D4,292.09,192.405,4307.08,67.405,32.454 +_񂶂傶Ⴖ.wav=e D4,583.831,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=n D4,1118.081,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e D4,1610.0,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e D4,2139.151,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=o D4,2650.934,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e D4,3140.0,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=a D4,3654.528,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=- D4,159.776,282.278,4349.521,157.278,89.874 +_񂵂ႵႵႵサ.wav=a D4,543.887,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=n D4,1070.0,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a D4,1559.963,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a D4,2069.249,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=i D4,2563.557,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a D4,3067.85,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=u D4,3542.185,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=- D4,364.489,169.935,4257.151,44.935,12.482 +_񂶂ႶႶႶザ.wav=a D4,666.216,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=n D4,1173.005,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a D4,1680.0,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a D4,2160.0,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=i D4,2675.899,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a D4,3172.703,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=u D4,3674.5,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=- D4,307.069,252.321,4232.185,127.321,64.909 +_񂵂サササ債.wav=u D4,658.726,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=n D4,1212.949,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u D4,1689.782,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u D4,2179.095,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=e D4,2705.857,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u D4,3190.179,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=o D4,3699.999,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=- D4,212.202,172.432,4406.942,47.432,22.468 +_񂶂ザザザ傶.wav=u D4,496.453,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=n D4,1068.152,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u D4,1562.46,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u D4,2074.242,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=e D4,2568.551,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u D4,3052.872,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=o D4,3562.157,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=- D4,189.734,237.341,4364.5,112.341,62.412 +_񂵂債債Ⴕ債.wav=o D4,556.369,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=n D4,1080.0,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o D4,1587.425,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o D4,2076.739,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=a D4,2578.536,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o D4,3097.808,375,-583,250,83 +_񂵂債債Ⴕ債.wav=i D4,3607.094,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=- D4,369.482,164.769,4252.157,39.943,19.972 +_񂶂傶傶Ⴖ傶.wav=o D4,718.641,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=n D4,1195.474,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o D4,1700.0,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o D4,2189.081,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=a D4,2690.0,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o D4,3197.668,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=i D4,3694.471,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=- D4,220,262,4310,137,92 +_񂵂サ.wav=i D4,573.845,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=n D4,1143.047,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i D4,1632.362,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i D4,2121.676,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=u D4,2625.969,375,-583,250,83 +_񂵂サ.wav=i D4,3147.738,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=e D4,3644.542,375,-583,250,83 +_񂶂ザ.wav=- D4,389.454,184.915,4217.207,59.915,22.468 +_񂶂ザ.wav=i D4,688.685,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=n D4,1245.405,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i D4,1739.711,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i D4,2256.486,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=u D4,2748.299,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i D4,3242.605,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=e D4,3746.898,375.0,-583.333,250.0,83.333 +_񂷂.wav=- D4,247.153,224.859,4319.563,99.859,47.433 +_񂷂.wav=i D4,596.314,375.0,-583.333,250.0,83.333 +_񂷂.wav=n D4,1133.061,375.0,-583.333,250.0,83.333 +_񂷂.wav=i D4,1607.397,375.0,-583.333,250.0,83.333 +_񂷂.wav=i D4,2104.2,375,-583,250,83 +_񂷂.wav=u D4,2608.495,375.0,-583.333,250.0,83.333 +_񂷂.wav=i D4,3112.787,375.0,-583.333,250.0,83.333 +_񂷂.wav=e D4,3617.08,375.0,-583.333,250.0,83.333 +_񂸂.wav=- D4,359.496,182.417,4249.662,57.417,24.965 +_񂸂.wav=i D4,671.209,375.0,-583.333,250.0,83.333 +_񂸂.wav=n D4,1180.495,375.0,-583.333,250.0,83.333 +_񂸂.wav=i D4,1687.285,375.0,-583.333,250.0,83.333 +_񂸂.wav=i D4,2185,375,-583,250,83 +_񂸂.wav=u D4,2683.389,375.0,-583.333,250.0,83.333 +_񂸂.wav=i D4,3185.185,375.0,-583.333,250.0,83.333 +_񂸂.wav=e D4,3691.975,375.0,-583.333,250.0,83.333 +_񂷂.wav=- D4,290,237,4252,127,90 +_񂷂.wav=u D4,628.768,375.0,-583.333,250.0,83.333 +_񂷂.wav=n D4,1168.012,375.0,-583.333,250.0,83.333 +_񂷂.wav=u D4,1667.314,375.0,-583.333,250.0,83.333 +_񂷂.wav=u D4,2174.102,375.0,-583.333,250.0,83.333 +_񂷂.wav=e D4,2685.886,375.0,-583.333,250.0,83.333 +_񂷂.wav=u D4,3160.221,375.0,-583.333,250.0,83.333 +_񂷂.wav=o D4,3684.486,375.0,-583.333,250.0,83.333 +_񂸂.wav=- D4,461.852,164.943,4164.78,39.943,0.0 +_񂸂.wav=u D4,741.111,375.0,-583.333,250.0,83.333 +_񂸂.wav=n D4,1262.879,375.0,-583.333,250.0,83.333 +_񂸂.wav=u D4,1777.159,375.0,-583.333,250.0,83.333 +_񂸂.wav=u D4,2258.983,375.0,-583.333,250.0,83.333 +_񂸂.wav=e D4,2788.243,375,-583,250,83 +_񂸂.wav=u D4,3249.999,375.0,-583.333,250.0,83.333 +_񂸂.wav=o D4,3759.381,375.0,-583.333,250.0,83.333 +_񂹂.wav=- D4,357,232,4192,119,89 +_񂹂.wav=e D4,721.139,375.0,-583.333,250.0,83.333 +_񂹂.wav=n D4,1252.893,375.0,-583.333,250.0,83.333 +_񂹂.wav=e D4,1744.704,375.0,-583.333,250.0,83.333 +_񂹂.wav=e D4,2246.5,375.0,-583.333,250.0,83.333 +_񂹂.wav=o D4,2733.319,375.0,-583.333,250.0,83.333 +_񂹂.wav=e D4,3232.619,375.0,-583.333,250.0,83.333 +_񂹂.wav=a D4,3739.409,375,-583,250,83 +_񂺂.wav=- D4,269.622,179.922,4342.031,54.922,4.993 +_񂺂.wav=e D4,596.314,375.0,-583.333,250.0,83.333 +_񂺂.wav=n D4,1095.614,375.0,-583.333,250.0,83.333 +_񂺂.wav=e D4,1597.411,375.0,-583.333,250.0,83.333 +_񂺂.wav=e D4,2106.698,375.0,-583.333,250.0,83.333 +_񂺂.wav=o D4,2610.0,375.0,-583.333,250.0,83.333 +_񂺂.wav=e D4,3107.794,375.0,-583.333,250.0,83.333 +_񂺂.wav=a D4,3594.612,375.0,-583.333,250.0,83.333 +_񂻂.wav=- D4,157,303,4308,147,100 +_񂻂.wav=o D4,523.914,375.0,-583.333,250.0,83.333 +_񂻂.wav=n D4,1095.614,375.0,-583.333,250.0,83.333 +_񂻂.wav=o D4,1609.893,375.0,-583.333,250.0,83.333 +_񂻂.wav=o D4,2091.717,375.0,-583.333,250.0,83.333 +_񂻂.wav=a D4,2573.542,375.0,-583.333,250.0,83.333 +_񂻂.wav=o D4,3065.353,375.0,-583.333,250.0,83.333 +_񂻂.wav=i D4,3557.164,375.0,-583.333,250.0,83.333 +_񂼂.wav=- D4,307.069,214.873,4269.634,89.873,37.447 +_񂼂.wav=o D4,658.726,375.0,-583.333,250.0,83.333 +_񂼂.wav=n D4,1150.537,375.0,-583.333,250.0,83.333 +_񂼂.wav=o D4,1677.299,375.0,-583.333,250.0,83.333 +_񂼂.wav=o D4,2154.13,375.0,-583.333,250.0,83.333 +_񂼂.wav=a D4,2650.934,375.0,-583.333,250.0,83.333 +_񂼂.wav=o D4,3145.243,375.0,-583.333,250.0,83.333 +_񂼂.wav=i D4,3664.515,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=- D4,349,155,4256,18,11 +_񂽂ĂƂ.wav=a D4,626.553,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=n D4,1133.061,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=a D4,1627.369,375,-583,250,83 +_񂽂ĂƂ.wav=a ĂD4,2121.676,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=i D4,2623.473,375,-583,250,83 +_񂽂ĂƂ.wav=a ƂD4,3122.772,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=u D4,3617.08,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=- D4,434.391,142.474,4214.71,17.474,0.0 +_񂾂łǂ.wav=a D4,706.16,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=n D4,1218,454,3153,250,83 +_񂾂łǂ.wav=a D4,1729.725,375,-583,250,83 +_񂾂łǂ.wav=a łD4,2204.06,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=i D4,2685.886,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a ǂD4,3195.172,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=u D4,3686.982,375,-583,250,83 +_񂿂傿Ⴟ.wav=- D4,279.608,202.39,4309.577,77.39,4.993 +_񂿂傿Ⴟ.wav=e D4,598.81,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=n D4,1120.0,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e D4,1660.0,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e D4,2129.165,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=o D4,2633.459,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e D4,3112.787,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=a D4,3632.058,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=- D4,324.545,174.93,4292.1,49.93,0.0 +_񂿂ႿႿႿタ.wav=a D4,588.824,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=n D4,1143.047,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a D4,1662.32,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a D4,2169.999,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=i D4,2668.41,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a D4,3177.696,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=u D4,3649.535,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=- D4,224.685,199.894,4366.996,74.894,0.0 +_񂿂タタタ傿.wav=u D4,501.445,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=n D4,1055.67,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u D4,1557.466,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u D4,2039.291,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=e D4,2563.558,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u D4,3040.0,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=o D4,3552.171,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=- D4,356.999,187.412,4247.164,62.412,0.0 +_񂿂傿傿Ⴟ傿.wav=o D4,661.223,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=n D4,1185.487,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o D4,1679.795,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o D4,2174.102,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=a D4,2678.395,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o D4,3182.689,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=i D4,3694.472,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=- D4,380,207,4210,76,56 +_񂿂タ.wav=i D4,676.202,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=n D4,1210.0,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i D4,1714.745,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i D4,2219.04,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=u D4,2719.999,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i D4,3217.64,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=e D4,3729.998,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚D4,262.132,177.425,4352.018,52.425,0.0 +_‚‚‚‚‚‚‚.wav=a D4,568.852,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚D4,1080.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚D4,1597.411,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚D4,2079.235,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚D4,2571.046,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a D4,3075.339,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚D4,3552.171,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚D4,317.055,179.923,4294.598,54.923,0.0 +_‚‚‚‚‚‚‚.wav=i D4,583.832,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚D4,1143.048,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚D4,1642.348,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i D4,2151.633,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚D4,2658.424,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚D4,3150.235,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚D4,3649.535,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚D4,137.307,207.385,4416.576,82.385,0.0 +_‚‚‚‚‚‚‚.wav=e D4,466.495,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚D4,1050.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚D4,1540.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚D4,2051.775,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚D4,2570.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚D4,3050.374,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚D4,3552.171,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚D4,229.678,194.901,4366.996,69.901,0.0 +_‚‚‚‚‚‚‚.wav=o D4,601.307,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚D4,1103.102,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚D4,1609.893,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚D4,2106.697,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚D4,2603.5,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚D4,3115.283,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚D4,3600.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=- D4,392,200,4200,75,55 +_‚‚‚‚‚‚.wav=u D4,688.684,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=n D4,1232.921,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u D4,1707.257,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚D4,2194.074,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=e D4,2738.312,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚D4,3202.661,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=o D4,3731.919,375,-583,250,83 +_ĂĂĂƂĂĂĂ.wav=- ĂD4,416.915,158.084,4216.576,33.084,0.0 +_ĂĂĂƂĂĂĂ.wav=i D4,676.202,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=n ĂD4,1197.97,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ĂD4,1690.0,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ƂD4,2181.592,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=u ĂD4,2665.913,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i D4,3177.696,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=e ĂD4,3674.5,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=- łD4,274.615,147.467,4369.493,22.467,0.0 +_łłłǂłłł.wav=i D4,541.39,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=n łD4,1063.159,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i łD4,1564.956,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i ǂD4,2034.298,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=u łD4,2543.585,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i D4,3047.879,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=e łD4,3597.108,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=- ĂD4,476.831,162.449,4147.304,37.447,0.0 +_ĂĂ゠ĂアĂウĂ.wav=u ĂD4,736.118,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u D4,1270.369,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=a ĂD4,1752.194,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u D4,2224.032,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=i ĂD4,2745.801,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u D4,3230.123,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=e ĂD4,3749.395,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=- łD4,309.566,149.964,4332.045,24.964,0.0 +_łł゠łアłウł.wav=u łD4,591.32,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u D4,1068.152,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=a łD4,1580.0,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u D4,2016.847,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=i łD4,2551.074,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u D4,3067.85,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=e łD4,3554.667,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=- D4,338,190,4256,19,7 +_ĂĂĂƂĂ.wav=e D4,600.431,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=n D4,1115.586,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e D4,1622.376,375,-583,250,83 +_ĂĂĂƂĂ.wav=e D4,2126.669,375,-583,250,83 +_ĂĂĂƂĂ.wav=o D4,2608.495,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e D4,3110.29,375,-583,250,83 +_ĂĂĂƂĂ.wav=a D4,3612.087,375,-583,250,83 +_łłłǂł.wav=- D4,406.929,142.475,4242.171,17.475,0.0 +_łłłǂł.wav=e D4,701.167,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=n D4,1175.502,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e D4,1689.782,375,-583,250,83 +_łłłǂł.wav=e D4,2171.606,375,-583,250,83 +_łłłǂł.wav=o D4,2683.389,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e D4,3170.207,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=a D4,3667.01,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=- ƂD4,224.685,157.452,4409.438,32.451,0.0 +_ƂƂƂĂƂƂƂ.wav=u D4,491.46,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=n ƂD4,1050.677,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u ƂD4,1540.0,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u D4,2039.291,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=e ƂD4,2558.564,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u D4,3017.921,375,-583,250,83 +_ƂƂƂĂƂƂƂ.wav=o ƂD4,3529.703,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=- ǂD4,314.559,149.964,4327.052,24.964,0.0 +_ǂǂǂłǂǂǂ.wav=u D4,591.32,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=n ǂD4,1083.131,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u ǂD4,1607.397,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u D4,2096.71,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=e ǂD4,2618.48,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u D4,3095.311,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=o ǂD4,3642.045,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=- D4,389,150,4252,25,14 +_ƂƂƂƂĂ.wav=o D4,683.691,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=n D4,1182.991,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o D4,1674.803,350,2777,250,83 +_ƂƂƂƂĂ.wav=o D4,2171.607,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=a D4,2670.0,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o ĂD4,3172.703,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=i D4,3657.024,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=- D4,466.845,137.482,4187.248,12.482,0.0 +_ǂǂǂǂł.wav=o D4,768.573,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=n D4,1235.418,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o D4,1749.697,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o D4,2229.025,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=a D4,2735.815,375,-583,250,83 +_ǂǂǂǂł.wav=o łD4,3222.633,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=i D4,3726.926,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=- D4,430.314,262,4120,59,16 +_ȂȂȂɂȂʂ.wav=a D4,728.628,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=n D4,1205.46,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a D4,1732.222,375,-583,250,83 +_ȂȂȂɂȂʂ.wav=a D4,2211.551,375,-583,250,83 +_ȂȂȂɂȂʂ.wav=i D4,2715.843,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a D4,3217.64,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=u D4,3719.437,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=- ɂD4,309.566,164.943,4317.066,39.943,0.0 +_ɂɂɂɂɂɂɂ.wav=e D4,583.832,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂD4,1083.131,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂD4,1629.865,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂD4,2121.676,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂD4,2623.473,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂD4,3122.772,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂD4,3624.569,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂD4,449.37,162.446,4179.76,37.446,0.0 +_ɂɂɂɂɂɂɂ.wav=a D4,726.132,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂD4,1215.446,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂD4,1727.229,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a D4,2231.522,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂD4,2718.34,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂD4,3202.662,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂD4,3716.94,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂD4,289.594,147.467,4354.515,22.467,0.0 +_ɂɂɂɂɂɂɂ.wav=u D4,543.887,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂD4,1055.67,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂD4,1552.474,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂD4,2041.788,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂD4,2558.564,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂD4,3045.381,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂD4,3567.15,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂD4,404.433,152.46,4234.682,27.46,0.0 +_ɂɂɂɂɂɂɂ.wav=o D4,713.649,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂD4,1190.481,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂD4,1684.788,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂD4,2181.592,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂD4,2673.403,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o D4,3192.676,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=i ɂD4,3672.003,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=- D4,269.622,189.907,4332.046,64.907,0.0 +_ɂɂɂʂɂ˂.wav=i D4,548.88,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=n D4,1045.685,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i D4,1554.97,375,-583,250,83 +_ɂɂɂʂɂ˂.wav=i D4,2059.998,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=u D4,2548.578,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i D4,3057.864,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=e D4,3547.178,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=- D4,329.538,189.908,4272.129,64.908,0.0 +_ʂʂʂ˂ʂ̂.wav=u D4,611.293,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=n D4,1115.586,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u D4,1619.879,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u D4,2116.683,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=e D4,2620.976,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u D4,3100.304,375,-583,250,83 +_ʂʂʂ˂ʂ̂.wav=o D4,3607.095,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=- D4,380.873,229,4192,66,20 +_˂˂˂̂˂Ȃ.wav=e D4,671.209,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=n D4,1165.515,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e D4,1667.313,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e D4,2171.607,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=o D4,2680.892,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e D4,3171,375,-583,250,83 +_˂˂˂̂˂Ȃ.wav=a D4,3674.5,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=- D4,202.216,197.397,4391.962,72.397,0.0 +_̂̂̂Ȃ̂ɂ.wav=o D4,533.901,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=n D4,1015.726,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o D4,1525.012,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=o D4,2014.327,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=a D4,2508.634,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=o D4,3032.899,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=i D4,3502.241,375,-583,250,83 +_͂͂͂Ђ͂ӂ.wav=- D4,293,172,4315,56,35 +_͂͂͂Ђ͂ӂ.wav=a D4,611.293,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=n D4,1130.565,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a D4,1624.871,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a D4,2096.71,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=i D4,2605.997,375,-583,250,83 +_͂͂͂Ђ͂ӂ.wav=a D4,3082.83,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=u D4,3592.115,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=- D4,309.566,139.978,4342.031,14.978,0.0 +_΂΂΂т΂Ԃ.wav=a D4,578.838,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=n D4,1048.18,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a D4,1562.459,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a D4,2039.291,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=i D4,2563.558,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a D4,3065.353,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=u D4,3539.689,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=- D4,385.936,174,4191,16,0 +_ςςς҂ςՂ.wav=a D4,646.243,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=n D4,1138.054,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a D4,1652.334,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a D4,2141.647,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=i D4,2668.41,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a D4,3175.2,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=u D4,3652.031,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂD4,361.992,177.426,4252.157,52.426,0.0 +_ЂЂЂЂЂЂЂ.wav=e D4,666.217,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂD4,1148.04,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂD4,1679.794,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂD4,2156.627,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂD4,2688.383,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂD4,3150.234,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂD4,3634.556,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тD4,329.538,144.972,4317.065,19.972,0.0 +_ттттттт.wav=e D4,646.243,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тD4,1138.054,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тD4,1627.369,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тD4,2114.186,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тD4,2638.452,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тD4,3127.765,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тD4,3622.073,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂D4,361.992,139.977,4289.605,14.978,0.0 +_҂҂҂҂҂҂҂.wav=e D4,626.271,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂D4,1153.033,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂D4,1649.837,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂D4,2161.62,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂D4,2655.927,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂D4,3160.221,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂D4,3654.528,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=- D4,401.936,144.971,4244.668,19.971,0.0 +_тттт҂҂҂҂.wav=i тD4,666.216,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u D4,1160.0,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i тD4,1660.0,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=e D4,2169.109,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂D4,2655.928,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u D4,3155.228,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂D4,3667.01,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=- D4,255,172,4347,62,40 +_ЂЂЂЂ݂݂݂݂.wav=i ЂD4,553.873,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u D4,1045.684,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ЂD4,1544.984,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=e D4,2036.794,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ݂D4,2516.123,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u D4,3037.892,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ݂D4,3517.22,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂD4,212.202,189.908,4389.465,64.908,0.0 +_ЂЂЂЂЂЂЂ.wav=a D4,558.866,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂD4,1005.739,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂD4,1527.509,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a D4,2009.333,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂD4,2533.598,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂD4,3037.892,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂD4,3507.234,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тD4,461.852,139.977,4189.746,14.977,0.0 +_ттттттт.wav=a D4,738.614,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тD4,1227.928,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тD4,1732.222,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a D4,2244.004,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тD4,2725.828,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тD4,3247.598,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тD4,3716.94,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂D4,257.139,142.474,4391.962,17.474,0.0 +_҂҂҂҂҂҂҂.wav=a D4,543.887,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂D4,1035.698,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂D4,1530.005,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a D4,2036.795,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂D4,2523.613,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂D4,3042.884,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂D4,3517.22,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂD4,244.657,234.845,4312.073,109.845,0.0 +_ЂЂЂЂЂЂЂ.wav=u D4,611.293,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂD4,1095.614,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂD4,1614.886,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂD4,2110.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂD4,2610.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂD4,3090.318,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂD4,3589.62,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тD4,279.608,144.971,4366.996,19.971,0.0 +_ттттттт.wav=u D4,553.873,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тD4,1053.174,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тD4,1557.467,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тD4,2049.277,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тD4,2566.053,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тD4,3072.843,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тD4,3567.15,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂D4,307.069,159.949,4324.557,34.949,0.0 +_҂҂҂҂҂҂҂.wav=u D4,591.32,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂D4,1108.096,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂D4,1604.899,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂D4,2101.704,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂D4,2623.473,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂D4,3102.801,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂D4,3609.591,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂD4,406.929,187.412,4197.234,62.412,0.0 +_ЂЂЂЂЂЂЂ.wav=o D4,736.117,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂD4,1200.466,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂD4,1689.781,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂD4,2199.067,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂD4,2723.333,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o D4,3217.64,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂD4,3740.0,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тD4,319.552,232.348,4239.675,107.348,0.0 +_ттттттт.wav=o D4,736.118,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тD4,1220.439,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тD4,1717.243,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тD4,2191.578,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тD4,2693.375,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o D4,3207.654,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тD4,3696.968,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂D4,441.88,144.971,4204.724,19.971,0.0 +_҂҂҂҂҂҂҂.wav=o D4,723.635,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂D4,1240.0,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂D4,1727.228,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂D4,2230.0,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂D4,2735.815,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o D4,3230.123,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂D4,3736.912,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=- D4,327.041,197.958,4266.576,72.958,34.951 +_ЂЂЂӂЂւ.wav=i D4,643.747,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=n D4,1120.579,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i D4,1682.292,375,-583,250,83 +_ЂЂЂӂЂւ.wav=i D4,2151.634,375,-583,250,83 +_ЂЂЂӂЂւ.wav=u D4,2638.452,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i D4,3132.759,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=e D4,3657.024,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=- D4,364.489,142.473,4284.612,17.473,0.0 +_тттԂтׂ.wav=i D4,606.3,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=n D4,1135.558,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i D4,1627.369,375,-583,250,83 +_тттԂтׂ.wav=i D4,2139.151,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=u D4,2635.955,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i D4,3120.0,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=e D4,3642.045,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=- D4,471.817,156,4143,15,1 +_҂҂҂Ղ҂؂.wav=i D4,731.125,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=n D4,1237.914,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i D4,1747.201,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i D4,2231.522,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=u D4,2725.829,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i D4,3235.116,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=e D4,3746.898,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂD4,302.076,209.88,4279.619,84.88,0.0 +_ӂӂӂӂӂӂӂ.wav=a D4,686.188,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂD4,1182.992,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂD4,1669.999,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂD4,2151.634,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂD4,2658.424,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a D4,3162.718,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂD4,3672.003,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂD4,404.433,214.873,4172.27,89.873,0.0 +_ӂӂӂӂӂӂӂ.wav=i D4,718.641,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂD4,1227.928,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂD4,1717.243,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i D4,2194.074,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂD4,2725.829,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂD4,3217.64,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂD4,3730.0,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂD4,307.069,214.873,4269.634,89.873,32.454 +_ӂӂӂӂӂӂӂ.wav=e D4,648.74,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂD4,1140.551,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂD4,1620.0,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂD4,2120.0,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂD4,2630.0,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂD4,3112.787,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂD4,3630.0,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂD4,337.027,194.901,4259.647,69.901,0.0 +_ӂӂӂӂӂӂӂ.wav=o D4,681.195,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂD4,1200.466,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂD4,1697.272,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂD4,2176.598,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂD4,2700.864,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂD4,3195.172,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂD4,3669.507,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=- D4,248,225,4348,66,42 +_ӂӂӂӂӂӂ.wav=u D4,556.37,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=n D4,1045.684,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u D4,1552.474,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂD4,2039.291,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=e D4,2556.067,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂD4,3052.872,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=o D4,3557.164,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=- D4,394.447,184.915,4212.213,59.914,0.0 +_ӂӂӂւӂق.wav=u D4,731.125,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=n D4,1200.466,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u D4,1714.746,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u D4,2186.585,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=e D4,2730.0,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u D4,3219.999,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=o D4,3709.999,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=- D4,369.482,187.411,4234.682,62.411,0.0 +_ԂԂԂׂԂڂ.wav=u D4,678.698,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=n D4,1190.0,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u D4,1684.788,375,-583,250,83 +_ԂԂԂׂԂڂ.wav=u D4,2190.0,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=e D4,2700.865,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u D4,3197.668,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=o D4,3681.99,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=- D4,314.559,147.466,4329.549,22.466,0.0 +_ՂՂՂ؂Ղۂ.wav=u D4,571.348,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=n D4,1075.643,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u D4,1567.453,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u D4,2050.0,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=e D4,2566.054,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u D4,3060.0,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=o D4,3562.157,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=- D4,217,187,4387,62,37 +_ւււقւ͂.wav=e D4,518.922,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=n D4,1060.663,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e D4,1570.0,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e D4,2069.249,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=o D4,2556.067,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e D4,3064,375,-583,250,83 +_ւււقւ͂.wav=a D4,3557.164,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=- D4,174.406,195.251,4416.576,70.251,0.0 +_ׂׂׂڂׂ΂.wav=e D4,519.16,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=n D4,1020.0,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e D4,1520.019,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e D4,2034.298,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=o D4,2513.627,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e D4,3015.423,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=a D4,3522.213,375,-583,250,83 +_؂؂؂ۂ؂ς.wav=- D4,366.985,147.467,4277.122,22.467,0.0 +_؂؂؂ۂ؂ς.wav=e D4,608.795,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=n D4,1085.628,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e D4,1592.418,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e D4,2106.697,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=o D4,2598.508,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e D4,3122.772,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=a D4,3612.087,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=- D4,322,182,4287,57,35 +_ققق͂قЂ.wav=o D4,600.431,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=n D4,1110.593,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o D4,1642,375,-583,250,83 +_ققق͂قЂ.wav=o D4,2110.0,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=a D4,2610.99,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o D4,3110.29,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=i D4,3602.101,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=- D4,272.118,199.901,4272.0,69.901,0.0 +_ڂڂڂ΂ڂт.wav=o D4,608.796,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=n D4,1103.103,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o D4,1600.0,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o D4,2076.739,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=a D4,2593.515,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o D4,3085.325,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=i D4,3584.625,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=- D4,426.901,152.461,4212.213,27.46,0.0 +_ۂۂۂςۂ҂.wav=o D4,688.685,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=n D4,1195.474,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o D4,1689.782,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o D4,2180.0,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=a D4,2695.871,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o D4,3187.682,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=i D4,3681.989,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=- D4,369.482,164.942,4257.151,39.942,0.0 +_܂܂܂݂܂ނ.wav=a D4,688.684,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=n D4,1145.543,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a D4,1672.307,375,-583,250,83 +_܂܂܂݂܂ނ.wav=a D4,2164.116,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=i D4,2680.892,375,-583,250,83 +_܂܂܂݂܂ނ.wav=a D4,3182.689,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=u D4,3674.5,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂D4,349.51,169.936,4272.129,44.936,24.965 +_݂݂݂݂݂݂݂.wav=e D4,653.733,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂D4,1133.061,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂D4,1669.809,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂D4,2156.627,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂D4,2673.403,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂D4,3140.249,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂D4,3662.017,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂D4,257.139,164.943,4369.493,39.943,24.965 +_݂݂݂݂݂݂݂.wav=a D4,543.887,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂D4,1005.74,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂D4,1532.502,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a D4,2039.999,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂D4,2539.999,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂D4,3035.395,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂D4,3534.696,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂D4,309.566,169.936,4312.073,44.936,27.461 +_݂݂݂݂݂݂݂.wav=u D4,596.314,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂D4,1100.0,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂D4,1609.893,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂D4,2126.669,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂D4,2620.976,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂D4,3132.759,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂D4,3634.556,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂D4,239.664,157.453,4394.458,32.453,19.972 +_݂݂݂݂݂݂݂.wav=o D4,536.397,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂D4,1008.236,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂D4,1522.516,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂D4,2024.312,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂D4,2521.116,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o D4,3030.402,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂D4,3512.227,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=- D4,449.37,216.936,4153.0,44.936,27.461 +_݂݂݂ނ݂߂.wav=i D4,716.146,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=n D4,1215.446,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i D4,1747.201,375,-583,250,83 +_݂݂݂ނ݂߂.wav=i D4,2226.529,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=u D4,2720.836,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i D4,3227.626,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=e D4,3721.933,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=- D4,264.629,122.328,4490.622,44.936,0.0 +_ނނނ߂ނ.wav=u D4,556.368,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=n D4,1073.146,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u D4,1572.446,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u D4,2051,391,2386,250,83 +_ނނނ߂ނ.wav=e D4,2563.558,375,-583,250,83 +_ނނނ߂ނ.wav=u D4,3062.857,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=o D4,3562.157,375,-583,250,83 +_߂߂߂߂܂.wav=- D4,327.041,197.398,4267.136,72.398,39.944 +_߂߂߂߂܂.wav=e D4,628.768,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=n D4,1123.075,375,-583,250,83 +_߂߂߂߂܂.wav=e D4,1642.348,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e D4,2146.641,375,-583,250,83 +_߂߂߂߂܂.wav=o D4,2625.969,375,-583,250,83 +_߂߂߂߂܂.wav=e D4,3115.283,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=a D4,3629.564,375.0,-583.333,250.0,83.333 +_܂݂.wav=- D4,444.377,157.452,4189.746,32.452,14.979 +_܂݂.wav=o D4,721.139,375.0,-583.333,250.0,83.333 +_܂݂.wav=n D4,1197.97,375.0,-583.333,250.0,83.333 +_܂݂.wav=o D4,1717.244,375.0,-583.333,250.0,83.333 +_܂݂.wav=o D4,2194.074,375.0,-583.333,250.0,83.333 +_܂݂.wav=a D4,2725.829,375,-583,250,83 +_܂݂.wav=o D4,3217.64,375.0,-583.333,250.0,83.333 +_܂݂.wav=i D4,3686.982,375,-583,250,83 +_₢.wav=- D4,247.153,199.894,4344.528,74.894,44.937 +_₢.wav=a D4,561.362,375.0,-583.333,250.0,83.333 +_₢.wav=n D4,1060.664,375.0,-583.333,250.0,83.333 +_₢.wav=a D4,1554.97,375.0,-583.333,250.0,83.333 +_₢.wav=a D4,2031.802,375.0,-583.333,250.0,83.333 +_₢.wav=i D4,2556.067,375,-583,250,83 +_₢.wav=a D4,3070.346,375.0,-583.333,250.0,83.333 +_₢.wav=u D4,3549.675,375,-583,250,83 +_䂢.wav=- D4,332.034,144.971,4345.825,19.971,0.0 +_䂢.wav=u D4,606.3,375.0,-583.333,250.0,83.333 +_䂢.wav=n D4,1068.151,375.0,-583.333,250.0,83.333 +_䂢.wav=u D4,1624.871,375.0,-583.333,250.0,83.333 +_䂢.wav=u D4,2081.732,375.0,-583.333,250.0,83.333 +_䂢.wav=e D4,2578.536,375.0,-583.333,250.0,83.333 +_䂢.wav=u D4,3075,455,1311,250,83 +_䂢.wav=o D4,3592.115,375.0,-583.333,250.0,83.333 +_悢.wav=- D4,411,200,4142,75,55 +_悢.wav=o D4,763.579,375.0,-583.333,250.0,83.333 +_悢.wav=n D4,1247.9,375.0,-583.333,250.0,83.333 +_悢.wav=o D4,1757.187,375,-583,250,83 +_悢.wav=o D4,2204.06,375.0,-583.333,250.0,83.333 +_悢.wav=a D4,2718,375,-583,250,83 +_悢.wav=o D4,3192.674,375.0,-583.333,250.0,83.333 +_悢.wav=i D4,3741.904,375,-583,250,83 +_.wav=- D4,262.132,184.915,4344.528,59.915,34.951 +_.wav=a D4,588.824,375.0,-583.333,250.0,83.333 +_.wav=n D4,1039.999,375.0,-583.333,250.0,83.333 +_.wav=a D4,1554.97,375,-583,250,83 +_.wav=a D4,2031.802,375,-583,250,83 +_.wav=i D4,2528.607,375.0,-583.333,250.0,83.333 +_.wav=a D4,3040.388,375.0,-583.333,250.0,83.333 +_.wav=u D4,3527.206,375,-583,250,83 +_肥肥肥肥肥.wav=- 肥D4,429.398,167.439,4194.738,42.439,17.475 +_肥肥肥肥肥.wav=e D4,748.6,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=n 肥D4,1205.46,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e 肥D4,1709.999,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e D4,2189.081,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=o 肥D4,2685.885,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e D4,3175.2,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=a 肥D4,3699.999,375.0,-583.333,250.0,83.333 +_.wav=- D4,312.062,142.475,4337.038,17.475,0.0 +_.wav=a D4,603.803,375.0,-583.333,250.0,83.333 +_.wav=n D4,1093.117,375.0,-583.333,250.0,83.333 +_.wav=a D4,1607.397,375.0,-583.333,250.0,83.333 +_.wav=a D4,2104.2,375.0,-583.333,250.0,83.333 +_.wav=i D4,2556.067,375.0,-583.333,250.0,83.333 +_.wav=a D4,3062.857,375.0,-583.333,250.0,83.333 +_.wav=u D4,3572.143,375.0,-583.333,250.0,83.333 +_肥.wav=- D4,361.992,152.46,4277.124,27.46,12.482 +_肥.wav=u D4,663.718,375.0,-583.333,250.0,83.333 +_肥.wav=n D4,1155.53,375.0,-583.333,250.0,83.333 +_肥.wav=u D4,1667.313,375.0,-583.333,250.0,83.333 +_肥.wav=u 肥D4,2141.647,375.0,-583.333,250.0,83.333 +_肥.wav=e D4,2648.438,375.0,-583.333,250.0,83.333 +_肥.wav=u D4,3112.787,375.0,-583.333,250.0,83.333 +_肥.wav=o D4,3632.058,375.0,-583.333,250.0,83.333 +_.wav=- D4,267.125,149.964,4374.486,24.964,0.0 +_.wav=o D4,536.397,375.0,-583.333,250.0,83.333 +_.wav=n D4,1033.201,375.0,-583.333,250.0,83.333 +_.wav=o D4,1534.998,375.0,-583.333,250.0,83.333 +_.wav=o D4,2030.0,375.0,-583.333,250.0,83.333 +_.wav=a D4,2519.999,375.0,-583.333,250.0,83.333 +_.wav=o D4,3032.899,375,-583,250,83 +_.wav=i D4,3519.999,375.0,-583.333,250.0,83.333 +_肥ガ.wav=- D4,282.104,189.908,4319.563,64.908,34.951 +_肥ガ.wav=i D4,576.341,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u D4,1093.117,375,-583,250,83 +_肥ガ.wav=i 肥D4,1580.0,375.0,-583.333,250.0,83.333 +_肥ガ.wav=e D4,2109.193,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i D4,2605.997,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u D4,3102.801,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i D4,3582.129,375.0,-583.333,250.0,83.333 +_.wav=- D4,317.055,167.44,4307.08,42.44,22.468 +_.wav=i D4,638.753,375.0,-583.333,250.0,83.333 +_.wav=n D4,1123.075,375.0,-583.333,250.0,83.333 +_.wav=i D4,1614.887,375.0,-583.333,250.0,83.333 +_.wav=i D4,2079.235,375.0,-583.333,250.0,83.333 +_.wav=u D4,2613.488,375.0,-583.333,250.0,83.333 +_.wav=i D4,3095.311,375.0,-583.333,250.0,83.333 +_.wav=e D4,3622.073,375.0,-583.333,250.0,83.333 +_.wav=- D4,391.95,182.419,4217.207,57.419,34.951 +_.wav=u D4,691.18,375.0,-583.333,250.0,83.333 +_.wav=n D4,1187.984,375.0,-583.333,250.0,83.333 +_.wav=u D4,1691,375,-583,250,83 +_.wav=u D4,2184.087,375,-583,250,83 +_.wav=e D4,2683.389,375,-583,250,83 +_.wav=u D4,3177.696,375.0,-583.333,250.0,83.333 +_.wav=o D4,3699.464,375.0,-583.333,250.0,83.333 +_.wav=- D4,225.286,164.328,4356.0,49.328,16.328 +_.wav=e D4,553.873,375.0,-583.333,250.0,83.333 +_.wav=n D4,1048.18,375.0,-583.333,250.0,83.333 +_.wav=e D4,1547.481,375.0,-583.333,250.0,83.333 +_.wav=e D4,2019.319,375.0,-583.333,250.0,83.333 +_.wav=o D4,2521.116,375.0,-583.333,250.0,83.333 +_.wav=e D4,2990.458,375.0,-583.333,250.0,83.333 +_.wav=a D4,3517.22,375,-583,250,83 +_.wav=- D4,302.076,179.922,4309.577,54.922,24.965 +_.wav=o D4,583.831,375.0,-583.333,250.0,83.333 +_.wav=n D4,1100.607,375.0,-583.333,250.0,83.333 +_.wav=o D4,1609.893,375.0,-583.333,250.0,83.333 +_.wav=o D4,2096.71,375.0,-583.333,250.0,83.333 +_.wav=a D4,2579.997,375.0,-583.333,250.0,83.333 +_.wav=o D4,3090.318,375.0,-583.333,250.0,83.333 +_.wav=i D4,3569.647,375,-583,250,83 +_키키.wav=- D4,377,157,4252,32,14 +_키키.wav=a D4,698.67,375.0,-583.333,250.0,83.333 +_키키.wav=n D4,1192.977,375,-583,250,83 +_키키.wav=a D4,1682.292,375,-583,250,83 +_키키.wav=a D4,2181.592,375.0,-583.333,250.0,83.333 +_키키.wav=i D4,2658.424,375,-583,250,83 +_키키.wav=a D4,3120.276,375.0,-583.333,250.0,83.333 +_키키.wav=u D4,3639.999,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=- D4,371.978,149.964,4269.634,24.964,0.0 +_񂢂񂦂񂨂.wav=n D4,643.747,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=i D4,1138.054,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n D4,1616.303,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=e D4,2111.69,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n D4,2650.935,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n D4,2650.935,375,-583.333,250,83.333 +_񂢂񂦂񂨂.wav=o D4,3112.787,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n RD4,3862,949,105,250,83 diff --git a/OpenUtau.Test/Files/ja_vcv/N_G4/oto.ini b/OpenUtau.Test/Files/ja_vcv/N_G4/oto.ini new file mode 100644 index 000000000..7dd0803ef --- /dev/null +++ b/OpenUtau.Test/Files/ja_vcv/N_G4/oto.ini @@ -0,0 +1,1231 @@ +_.wav=- G4,509,191,4059,12,26 +_.wav=a G4,806,375,3695,250,83 +_.wav=a G4,1214,375,-583,250,83 +_.wav=i G4,1732.405,375.0,-583.333,250.0,83.333 +_.wav=a G4,2234.018,375.0,-583.333,250.0,83.333 +_.wav=u G4,2788.243,375.0,-583.333,250.0,83.333 +_.wav=e G4,3275.06,375.0,-583.333,250.0,83.333 +_.wav=a RG4,3792,552,-583,250,83 +_.wav=- G4,361,138,4327,11,32 +_.wav=i G4,589.999,375.0,-583.333,250.0,83.333 +_.wav=i G4,1065.656,375.0,-583.333,250.0,83.333 +_.wav=u G4,1572.766,375.0,-583.333,250.0,83.333 +_.wav=a G4,2074.242,375,-583,250,83 +_.wav=e G4,2553.81,375.0,-583.333,250.0,83.333 +_.wav=i G4,3100.304,375.0,-583.333,250.0,83.333 +_.wav=e RG4,3617,941,402,250,83 +_񂢂悢₢.wav=- G4,359.496,179.921,4252.249,54.921,29.958 +_񂢂悢₢.wav=e G4,678.698,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=n G4,1125.572,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e G4,1594.914,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e G4,2122,375,-583,250,83 +_񂢂悢₢.wav=o G4,2588.522,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e G4,3170.207,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=a G4,3609.999,375.0,-583.333,250.0,83.333 +_񃔂.wav=- G4,307.069,159.949,4324.648,34.949,14.979 +_񃔂.wav=a G4,612.041,375.0,-583.333,250.0,83.333 +_񃔂.wav=n G4,1133.061,375.0,-583.333,250.0,83.333 +_񃔂.wav=a G4,1639.851,375.0,-583.333,250.0,83.333 +_񃔂.wav=a G4,2144.144,375.0,-583.333,250.0,83.333 +_񃔂.wav=i G4,2650.934,375.0,-583.333,250.0,83.333 +_񃔂.wav=a G4,3150.234,375.0,-583.333,250.0,83.333 +_񃔂.wav=u G4,3637.052,375.0,-583.333,250.0,83.333 +_񂤂.wav=- G4,431.894,183.105,4176.667,58.105,37.447 +_񂤂.wav=i G4,731.042,375.0,-583.333,250.0,83.333 +_񂤂.wav=n G4,1210.0,375.0,-583.333,250.0,83.333 +_񂤂.wav=i G4,1714.746,375.0,-583.333,250.0,83.333 +_񂤂.wav=i G4,2211.315,375.0,-583.333,250.0,83.333 +_񂤂.wav=u G4,2720.0,375.0,-583.333,250.0,83.333 +_񂤂.wav=i G4,3205.158,375.0,-583.333,250.0,83.333 +_񂤂.wav=e G4,3731.919,375.0,-583.333,250.0,83.333 +_񂤂.wav=i RG4,4203,653,97,250,83 +_񃔂.wav=- G4,409.426,149.964,4232.276,24.964,0.0 +_񃔂.wav=i G4,686.188,375.0,-583.333,250.0,83.333 +_񃔂.wav=n G4,1168.012,375.0,-583.333,250.0,83.333 +_񃔂.wav=i G4,1684.788,375.0,-583.333,250.0,83.333 +_񃔂.wav=i G4,2176.598,375.0,-583.333,250.0,83.333 +_񃔂.wav=u G4,2685.885,375.0,-583.333,250.0,83.333 +_񃔂.wav=i G4,3185.186,375.0,-583.333,250.0,83.333 +_񃔂.wav=e G4,3696.968,375.0,-583.333,250.0,83.333 +_.wav=- G4,402,105,4247,6,19 +_.wav=u G4,746.104,375,-583,250,83 +_.wav=u G4,1233,375,-583,250,83 +_.wav=i G4,1654.83,375.0,-583.333,250.0,83.333 +_.wav=i G4,1654.83,375,-583.333,250,83.333 +_.wav=o G4,2170,375,-583,250,83 +_.wav=a G4,2660.92,375,-583,250,83 +_.wav=a G4,2660.92,375,-583,250,83 +_.wav=o G4,3148.821,375.0,-583.333,250.0,83.333 +_䂢.wav=- G4,292.09,162.447,4337.129,37.447,24.965 +_䂢.wav=u G4,560.0,375.0,-583.333,250.0,83.333 +_䂢.wav=e G4,1056.121,375.0,-583.333,250.0,83.333 +_䂢.wav=u G4,1550.0,375.0,-583.333,250.0,83.333 +_䂢.wav=o G4,2071.995,375.0,-583.333,250.0,83.333 +_䂢.wav=i G4,2598.508,375.0,-583.333,250.0,83.333 +_䂢.wav=u G4,3017.92,375.0,-583.333,250.0,83.333 +_䂢.wav=i G4,3549.675,375.0,-583.333,250.0,83.333 +_񃔂.wav=- G4,322.048,159.95,4309.668,34.95,0.0 +_񃔂.wav=e G4,600.431,375.0,-583.333,250.0,83.333 +_񃔂.wav=n G4,1125.572,375.0,-583.333,250.0,83.333 +_񃔂.wav=e G4,1599.907,375.0,-583.333,250.0,83.333 +_񃔂.wav=e G4,2099.207,375.0,-583.333,250.0,83.333 +_񃔂.wav=o G4,2593.515,375.0,-583.333,250.0,83.333 +_񃔂.wav=e G4,3102.801,375.0,-583.333,250.0,83.333 +_񃔂.wav=a G4,3604.598,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- G4,282.104,174.929,4334.632,49.929,24.965 +_񂤂키.wav=e G4,629.456,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n G4,1105.6,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e G4,1607.397,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e G4,2076.739,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o G4,2640.0,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e G4,3105.298,375.0,-583.333,250.0,83.333 +_񂤂키.wav=a G4,3619.999,375.0,-583.333,250.0,83.333 +_񃔂.wav=- G4,347.013,149.965,4294.689,24.965,0.0 +_񃔂.wav=o G4,652,375,-583,250,83 +_񃔂.wav=n G4,1140.551,375.0,-583.333,250.0,83.333 +_񃔂.wav=o G4,1659.823,375.0,-583.333,250.0,83.333 +_񃔂.wav=o G4,2150.0,375.0,-583.333,250.0,83.333 +_񃔂.wav=a G4,2655.927,375.0,-583.333,250.0,83.333 +_񃔂.wav=o G4,3162.716,375.0,-583.333,250.0,83.333 +_񃔂.wav=i G4,3652.031,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- G4,399.44,155.558,4236.666,30.559,19.972 +_񂤂키.wav=o G4,683.691,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n G4,1187.984,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o G4,1677.299,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o G4,2170.0,375.0,-583.333,250.0,83.333 +_񂤂키.wav=a G4,2688.382,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o G4,3190.0,375.0,-583.333,250.0,83.333 +_񂤂키.wav=i G4,3629.563,375.0,-583.333,250.0,83.333 +_񃔃.wav=- G4,232.174,167.439,4392.053,42.439,0.0 +_񃔃.wav=u G4,545.283,375.0,-583.333,250.0,83.333 +_񃔃.wav=n G4,1018.222,375.0,-583.333,250.0,83.333 +_񃔃.wav=u G4,1530.004,375.0,-583.333,250.0,83.333 +_񃔃.wav=u G4,2024.312,375.0,-583.333,250.0,83.333 +_񃔃.wav=e G4,2531.102,375.0,-583.333,250.0,83.333 +_񃔃.wav=u G4,3012.927,375.0,-583.333,250.0,83.333 +_񃔃.wav=o G4,3517.22,375.0,-583.333,250.0,83.333 +_.wav=- G4,456,152,4192,6,15 +_.wav=e G4,709.999,375.0,-583.333,250.0,83.333 +_.wav=e G4,1195.474,375.0,-583.333,250.0,83.333 +_.wav=u G4,1707.257,375.0,-583.333,250.0,83.333 +_.wav=u G4,1707.257,375,-583.333,250,83.333 +_.wav=o G4,2193.9,375.0,-583.333,250.0,83.333 +_.wav=e G4,2735.815,375.0,-583.333,250.0,83.333 +_.wav=e G4,2735.815,375,-583.333,250,83.333 +_.wav=o G4,3237.612,375,-583,250,83 +_.wav=o G4,3237.612,375,-583,250,83 +_.wav=o RG4,3747,1014,199,250,83 +_񂠂.wav=- G4,318,165,4317,9,22 +_񂠂.wav=- G4,318,165,4317,9,22 +_񂠂.wav=o G4,593.817,375.0,-583.333,250.0,83.333 +_񂠂.wav=u G4,1045.685,375.0,-583.333,250.0,83.333 +_񂠂.wav=n G4,1552.474,375.0,-583.333,250.0,83.333 +_񂠂.wav=a G4,2044.285,375.0,-583.333,250.0,83.333 +_񂠂.wav=n G4,2520.0,375.0,-583.333,250.0,83.333 +_񂠂.wav=n G4,3047.879,375.0,-583.333,250.0,83.333 +_񂠂.wav=u RG4,3674,829,467,250,83 +_ĂĂエłł.wav=- G4,359.496,169.936,4262.235,44.936,22.468 +_ĂĂエłł.wav=o ĂG4,658.726,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u G4,1105.6,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n ĂG4,1649.837,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u G4,2126.669,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=o łG4,2650.934,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u G4,3160.221,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n łG4,3652.031,375.0,-583.333,250.0,83.333 +_񂩂.wav=- G4,437,212,4157,24,2 +_񂩂.wav=a G4,713.627,375.0,-583.333,250.0,83.333 +_񂩂.wav=n G4,1192.977,375.0,-583.333,250.0,83.333 +_񂩂.wav=a G4,1709,375,-583,250,83 +_񂩂.wav=a G4,2194.074,375.0,-583.333,250.0,83.333 +_񂩂.wav=i G4,2683.389,375.0,-583.333,250.0,83.333 +_񂩂.wav=a G4,3186,375,-583,250,83 +_񂩂.wav=u G4,3677,375,-583,250,83 +_񂪂.wav=- G4,224.685,154.957,4412.024,29.957,0.0 +_񂪂.wav=a G4,531.404,375.0,-583.333,250.0,83.333 +_񂪂.wav=n G4,998.25,375.0,-583.333,250.0,83.333 +_񂪂.wav=a G4,1517.523,375.0,-583.333,250.0,83.333 +_񂪂.wav=a G4,2011.83,375.0,-583.333,250.0,83.333 +_񂪂.wav=i G4,2518.62,375,-583,250,83 +_񂪂.wav=a G4,3025.409,375.0,-583.333,250.0,83.333 +_񂪂.wav=u G4,3529.998,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=- G4,344.517,159.95,4287.199,34.95,0.0 +_񂫂傫Ⴋ.wav=e G4,661.383,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=n G4,1145.543,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e G4,1647.341,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e G4,2131.662,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=o G4,2638.452,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e G4,3145.241,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=a G4,3642.045,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=- G4,459.356,169.935,4162.375,44.934,0.0 +_񂬂催Ⴌ.wav=e G4,786.19,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=n G4,1235.418,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e G4,1737.215,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e G4,2231.522,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=o G4,2735.816,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e G4,3245.102,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=a G4,3734.415,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=- G4,401,147,4219,52,29 +_カɂɂɂɂ.wav=i G4,721.139,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u G4,1192,375,-583,250,83 +_カɂɂɂɂ.wav=i G4,1679.794,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=e G4,2202,307,2200,250,83 +_カɂɂɂɂ.wav=i ɂG4,2693.375,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u G4,3192.675,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i ɂG4,3674.5,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=- G4,222.188,162.446,4407.033,37.446,0.0 +_񂫂ႫႫႫカ.wav=a G4,523.914,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=n G4,1010.733,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a G4,1525.012,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a G4,2026.809,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=i G4,2536.095,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a G4,3045.381,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=u G4,3542.185,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=- G4,327.041,162.447,4302.178,37.447,0.0 +_񂬂ႬႬႬガ.wav=a G4,623.65,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=n G4,1103.103,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a G4,1632.362,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a G4,2119.179,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=i G4,2618.48,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a G4,3102.801,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=u G4,3602.101,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=- G4,282.104,164.943,4344.619,39.943,0.0 +_񂫂カカカ傫.wav=u G4,556.892,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=n G4,1058.166,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u G4,1569.949,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u G4,2074.242,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=e G4,2598.508,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u G4,3097.808,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=o G4,3607.095,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=- G4,376.971,157.453,4257.242,32.453,0.0 +_񂬂ガガガ催.wav=u G4,672.992,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=n G4,1170.509,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u G4,1667.313,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u G4,2154.13,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=e G4,2655.927,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u G4,3149.999,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=o G4,3679.999,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=- G4,406.929,174.929,4209.808,49.929,0.0 +_񂫂傫傫Ⴋ傫.wav=o G4,721.139,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=n G4,1210.453,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o G4,1727.228,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o G4,2211.551,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=a G4,2710.85,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o G4,3222,375,-583,250,83 +_񂫂傫傫Ⴋ傫.wav=i G4,3726.926,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=- G4,294.587,162.446,4334.633,37.446,0.0 +_񂬂催催Ⴌ催.wav=o G4,603.803,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=n G4,1108.096,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o G4,1594.914,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o G4,2064.256,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=a G4,2541.088,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o G4,3080.0,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=i G4,3590.0,375.0,-583.333,250.0,83.333 +_񂫂.wav=- G4,439.384,162.445,4189.836,37.445,0.0 +_񂫂.wav=i G4,739.751,375.0,-583.333,250.0,83.333 +_񂫂.wav=n G4,1252.892,375.0,-583.333,250.0,83.333 +_񂫂.wav=i G4,1746,375,-583,250,83 +_񂫂.wav=i G4,2241.508,375,-583,250,83 +_񂫂.wav=u G4,2753.292,375.0,-583.333,250.0,83.333 +_񂫂.wav=i G4,3270.067,375.0,-583.333,250.0,83.333 +_񂫂.wav=e G4,3790,375,-583,250,83 +_񂬂.wav=- G4,302.076,154.957,4334.633,29.957,0.0 +_񂬂.wav=i G4,594.625,375.0,-583.333,250.0,83.333 +_񂬂.wav=n G4,1113.089,375.0,-583.333,250.0,83.333 +_񂬂.wav=i G4,1624.872,375.0,-583.333,250.0,83.333 +_񂬂.wav=i G4,2106.697,375.0,-583.333,250.0,83.333 +_񂬂.wav=u G4,2599.998,375.0,-583.333,250.0,83.333 +_񂬂.wav=i G4,3089.998,375.0,-583.333,250.0,83.333 +_񂬂.wav=e G4,3599.998,375.0,-583.333,250.0,83.333 +_񂭂.wav=- G4,449.37,162.446,4179.85,37.446,0.0 +_񂭂.wav=a G4,756.09,375.0,-583.333,250.0,83.333 +_񂭂.wav=n G4,1225.432,375.0,-583.333,250.0,83.333 +_񂭂.wav=a G4,1747.201,375.0,-583.333,250.0,83.333 +_񂭂.wav=a G4,2241.508,375.0,-583.333,250.0,83.333 +_񂭂.wav=i G4,2750.794,375.0,-583.333,250.0,83.333 +_񂭂.wav=a G4,3265.074,375.0,-583.333,250.0,83.333 +_񂭂.wav=u G4,3741.905,375.0,-583.333,250.0,83.333 +_񂮂.wav=- G4,227.181,157.453,4407.033,32.453,0.0 +_񂮂.wav=a G4,524.966,375.0,-583.333,250.0,83.333 +_񂮂.wav=n G4,1018.222,375.0,-583.333,250.0,83.333 +_񂮂.wav=a G4,1530.004,375.0,-583.333,250.0,83.333 +_񂮂.wav=a G4,2016.824,375.0,-583.333,250.0,83.333 +_񂮂.wav=i G4,2521.116,375.0,-583.333,250.0,83.333 +_񂮂.wav=a G4,3020.416,375.0,-583.333,250.0,83.333 +_񂮂.wav=u G4,3542.185,375.0,-583.333,250.0,83.333 +_񂭂.wav=- G4,244.657,172.431,4374.577,47.431,0.0 +_񂭂.wav=i G4,536.575,375.0,-583.333,250.0,83.333 +_񂭂.wav=n G4,1060.663,375.0,-583.333,250.0,83.333 +_񂭂.wav=i G4,1582.433,375.0,-583.333,250.0,83.333 +_񂭂.wav=i G4,2071.746,375.0,-583.333,250.0,83.333 +_񂭂.wav=u G4,2581.032,375.0,-583.333,250.0,83.333 +_񂭂.wav=i G4,3062.857,375.0,-583.333,250.0,83.333 +_񂭂.wav=e G4,3559.661,375.0,-583.333,250.0,83.333 +_񂮂.wav=- G4,289.594,147.467,4354.606,22.467,0.0 +_񂮂.wav=i G4,612.041,375.0,-583.333,250.0,83.333 +_񂮂.wav=n G4,1069.999,375.0,-583.333,250.0,83.333 +_񂮂.wav=i G4,1599.907,375.0,-583.333,250.0,83.333 +_񂮂.wav=i G4,2079.235,375.0,-583.333,250.0,83.333 +_񂮂.wav=u G4,2571.046,375.0,-583.333,250.0,83.333 +_񂮂.wav=i G4,3082.83,375.0,-583.333,250.0,83.333 +_񂮂.wav=e G4,3579.633,375.0,-583.333,250.0,83.333 +_񂭂.wav=- G4,344.517,177.424,4269.725,52.424,7.489 +_񂭂.wav=e G4,652.676,375.0,-583.333,250.0,83.333 +_񂭂.wav=n G4,1120.579,375.0,-583.333,250.0,83.333 +_񂭂.wav=e G4,1634.858,375.0,-583.333,250.0,83.333 +_񂭂.wav=e G4,2164.116,375.0,-583.333,250.0,83.333 +_񂭂.wav=o G4,2653.431,375.0,-583.333,250.0,83.333 +_񂭂.wav=e G4,3145.241,375.0,-583.333,250.0,83.333 +_񂭂.wav=a G4,3629.563,375.0,-583.333,250.0,83.333 +_񂮂.wav=- G4,374.475,147.466,4269.725,22.466,0.0 +_񂮂.wav=e G4,658.481,375.0,-583.333,250.0,83.333 +_񂮂.wav=n G4,1098.11,375.0,-583.333,250.0,83.333 +_񂮂.wav=e G4,1609.894,375.0,-583.333,250.0,83.333 +_񂮂.wav=e G4,2146.641,375.0,-583.333,250.0,83.333 +_񂮂.wav=o G4,2648.438,375.0,-583.333,250.0,83.333 +_񂮂.wav=e G4,3147.738,375.0,-583.333,250.0,83.333 +_񂮂.wav=a G4,3644.542,375.0,-583.333,250.0,83.333 +_񂭂.wav=- G4,376.971,177.426,4237.269,52.426,0.0 +_񂭂.wav=o G4,678.699,375.0,-583.333,250.0,83.333 +_񂭂.wav=n G4,1210.453,375.0,-583.333,250.0,83.333 +_񂭂.wav=o G4,1709.753,375.0,-583.333,250.0,83.333 +_񂭂.wav=o G4,2209.053,375.0,-583.333,250.0,83.333 +_񂭂.wav=a G4,2698.368,375.0,-583.333,250.0,83.333 +_񂭂.wav=o G4,3217.64,375.0,-583.333,250.0,83.333 +_񂭂.wav=i G4,3724.431,375.0,-583.333,250.0,83.333 +_񂮂.wav=- G4,446.873,142.474,4202.319,17.474,7.489 +_񂮂.wav=o G4,686.188,375.0,-583.333,250.0,83.333 +_񂮂.wav=n G4,1222.935,375.0,-583.333,250.0,83.333 +_񂮂.wav=o G4,1709.753,375.0,-583.333,250.0,83.333 +_񂮂.wav=o G4,2204.06,375.0,-583.333,250.0,83.333 +_񂮂.wav=a G4,2693.375,375.0,-583.333,250.0,83.333 +_񂮂.wav=o G4,3207.654,375.0,-583.333,250.0,83.333 +_񂮂.wav=i G4,3709.999,375.0,-583.333,250.0,83.333 +_.wav=- G4,207,168,4417,43,14 +_.wav=u G4,538.894,375.0,-583.333,250.0,83.333 +_.wav=e G4,1048.18,375,-583,250,83 +_.wav=u G4,1559.963,375.0,-583.333,250.0,83.333 +_.wav=o G4,2074.242,375.0,-583.333,250.0,83.333 +_.wav=u G4,2543.585,375.0,-583.333,250.0,83.333 +_.wav=e G4,3060,375,-583,250,83 +_.wav=u G4,3544.682,375.0,-583.333,250.0,83.333 +_񂭂.wav=- G4,287.097,169.936,4334.633,44.936,0.0 +_񂭂.wav=u G4,591.722,375.0,-583.333,250.0,83.333 +_񂭂.wav=n G4,1068.153,375.0,-583.333,250.0,83.333 +_񂭂.wav=u G4,1584.928,375.0,-583.333,250.0,83.333 +_񂭂.wav=u G4,2072,375,-583,250,83 +_񂭂.wav=e G4,2586.025,375.0,-583.333,250.0,83.333 +_񂭂.wav=u G4,3099,375,-583,250,83 +_񂭂.wav=o G4,3588,375,-583,250,83 +_񂮂.wav=- G4,361.992,154.957,4274.717,29.957,17.475 +_񂮂.wav=u G4,635.261,375.0,-583.333,250.0,83.333 +_񂮂.wav=n G4,1118.082,375.0,-583.333,250.0,83.333 +_񂮂.wav=u G4,1634.858,375.0,-583.333,250.0,83.333 +_񂮂.wav=u G4,2114.186,375.0,-583.333,250.0,83.333 +_񂮂.wav=e G4,2633.459,375.0,-583.333,250.0,83.333 +_񂮂.wav=u G4,3125.269,375.0,-583.333,250.0,83.333 +_񂮂.wav=o G4,3649.998,375.0,-583.333,250.0,83.333 +_񂯂.wav=- G4,349.51,162.446,4279.71,37.446,0.0 +_񂯂.wav=e G4,643.968,375.0,-583.333,250.0,83.333 +_񂯂.wav=n G4,1135.558,375.0,-583.333,250.0,83.333 +_񂯂.wav=e G4,1629.865,375.0,-583.333,250.0,83.333 +_񂯂.wav=e G4,2159.123,375.0,-583.333,250.0,83.333 +_񂯂.wav=o G4,2652,375,-583,250,83 +_񂯂.wav=e G4,3166,375,-583,250,83 +_񂯂.wav=a G4,3656,375,-583,250,83 +_񂰂.wav=- G4,361.992,182.419,4247.255,57.419,0.0 +_񂰂.wav=e G4,686.189,375.0,-583.333,250.0,83.333 +_񂰂.wav=n G4,1182.991,375.0,-583.333,250.0,83.333 +_񂰂.wav=e G4,1702.264,375.0,-583.333,250.0,83.333 +_񂰂.wav=e G4,2220.0,375.0,-583.333,250.0,83.333 +_񂰂.wav=o G4,2709.999,375.0,-583.333,250.0,83.333 +_񂰂.wav=e G4,3190.18,375,-583,250,83 +_񂰂.wav=a G4,3685,375,-583,250,83 +_񂱂.wav=- G4,437,143,4144,28,4 +_񂱂.wav=o G4,746.103,375.0,-583.333,250.0,83.333 +_񂱂.wav=n G4,1245.404,375,-583,250,83 +_񂱂.wav=o G4,1739.711,375,-583,250,83 +_񂱂.wav=o G4,2216,375,-583,250,83 +_񂱂.wav=a G4,2723,375,-583,250,83 +_񂱂.wav=o G4,3220.138,375.0,-583.333,250.0,83.333 +_񂱂.wav=i G4,3706,375,-583,250,83 +_񂲂.wav=- G4,277.111,159.95,4354.606,34.95,0.0 +_񂲂.wav=o G4,536.576,375.0,-583.333,250.0,83.333 +_񂲂.wav=n G4,1060.664,375.0,-583.333,250.0,83.333 +_񂲂.wav=o G4,1562,375,-583,250,83 +_񂲂.wav=o G4,2061,375,-583,250,83 +_񂲂.wav=a G4,2558.564,375.0,-583.333,250.0,83.333 +_񂲂.wav=o G4,3065.353,375.0,-583.333,250.0,83.333 +_񂲂.wav=i G4,3562.157,375.0,-583.333,250.0,83.333 +_񂳂.wav=- G4,204,327,4217,109,72 +_񂳂.wav=a G4,603.803,375.0,-583.333,250.0,83.333 +_񂳂.wav=n G4,1073.145,375.0,-583.333,250.0,83.333 +_񂳂.wav=a G4,1574.942,375.0,-583.333,250.0,83.333 +_񂳂.wav=a G4,2054.271,375.0,-583.333,250.0,83.333 +_񂳂.wav=i G4,2546.081,375,-583,250,83 +_񂳂.wav=a G4,3067,375,-583,250,83 +_񂳂.wav=u G4,3576,375,-583,250,83 +_񂴂.wav=- G4,299.58,187.41,4304.675,62.41,27.461 +_񂴂.wav=a G4,618.782,375.0,-583.333,250.0,83.333 +_񂴂.wav=n G4,1113.089,375.0,-583.333,250.0,83.333 +_񂴂.wav=a G4,1622.376,375,-583,250,83 +_񂴂.wav=a G4,2106.697,375.0,-583.333,250.0,83.333 +_񂴂.wav=i G4,2596.011,375.0,-583.333,250.0,83.333 +_񂴂.wav=a G4,3119.999,375.0,-583.333,250.0,83.333 +_񂴂.wav=u G4,3602.102,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=- G4,317.055,284.774,4189.836,159.774,72.398 +_񂵂債Ⴕ.wav=e G4,791.041,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=n G4,1262.879,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e G4,1757.187,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e G4,2251.493,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=o G4,2753.29,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e G4,3245.102,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=a G4,3739.408,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=- G4,282.104,192.893,4316.669,67.893,32.454 +_񂶂傶Ⴖ.wav=e G4,626.554,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=n G4,1138.054,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e G4,1639.851,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e G4,2151.634,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=o G4,2630.962,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e G4,3110.29,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=a G4,3614.584,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=- G4,169.762,274.789,4347.116,149.789,84.881 +_񂵂ႵႵႵサ.wav=a G4,576.341,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=n G4,1070.649,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a G4,1569.948,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a G4,2063,375,-583,250,83 +_񂵂ႵႵႵサ.wav=i G4,2553.571,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a G4,3067.85,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=u G4,3554.668,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=- G4,371.978,179.922,4239.766,54.922,27.461 +_񂶂ႶႶႶザ.wav=a G4,646.243,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=n G4,1113.089,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a G4,1629.865,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a G4,2164.116,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=i G4,2652,375,-583,250,83 +_񂶂ႶႶႶザ.wav=a G4,3162.716,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=u G4,3657.024,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=- G4,259.636,284.775,4247.255,159.775,84.881 +_񂵂サササ債.wav=u G4,688.684,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=n G4,1182.992,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u G4,1677.299,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u G4,2176.598,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=e G4,2705.857,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u G4,3187.682,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=o G4,3691.975,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=- G4,217.195,179.922,4394.549,54.922,24.965 +_񂶂ザザザ傶.wav=u G4,551.088,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=n G4,1053.173,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u G4,1555,375,-583,250,83 +_񂶂ザザザ傶.wav=u G4,2026.809,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=e G4,2563.557,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u G4,3045.381,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=o G4,3552.171,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=- G4,172.258,264.803,4354.606,139.803,92.37 +_񂵂債債Ⴕ債.wav=o G4,576.341,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=n G4,1083.131,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o G4,1574.942,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o G4,2094.215,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=a G4,2583.529,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o G4,3101,375,-583,250,83 +_񂵂債債Ⴕ債.wav=i G4,3594.612,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=- G4,354.503,174.929,4262.235,49.929,0.0 +_񂶂傶傶Ⴖ傶.wav=o G4,681.195,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=n G4,1160.523,375,-583,250,83 +_񂶂傶傶Ⴖ傶.wav=o G4,1674.803,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o G4,2181.592,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=a G4,2668.41,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o G4,3177.696,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=i G4,3684.486,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=- G4,245,292,4255,167,118 +_񂵂サ.wav=i G4,636.257,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=n G4,1128.069,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i G4,1607,375,-583,250,83 +_񂵂サ.wav=i G4,2126.669,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=u G4,2633.459,375,-583,250,83 +_񂵂サ.wav=i G4,3132.759,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=e G4,3652.031,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=- G4,369.482,175.517,4246.666,50.517,0.0 +_񂶂ザ.wav=i G4,691.181,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=n G4,1185.487,375,-583,250,83 +_񂶂ザ.wav=i G4,1724.732,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i G4,2224.032,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=u G4,2730.822,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i G4,3217.64,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=e G4,3711.947,375.0,-583.333,250.0,83.333 +_񂷂.wav=- G4,222.188,249.824,4319.654,124.824,74.895 +_񂷂.wav=i G4,601.307,375.0,-583.333,250.0,83.333 +_񂷂.wav=n G4,1095.614,375.0,-583.333,250.0,83.333 +_񂷂.wav=i G4,1609.893,375.0,-583.333,250.0,83.333 +_񂷂.wav=i G4,2109.193,375.0,-583.333,250.0,83.333 +_񂷂.wav=u G4,2598.508,375.0,-583.333,250.0,83.333 +_񂷂.wav=i G4,3085.325,375.0,-583.333,250.0,83.333 +_񂷂.wav=e G4,3602.102,375.0,-583.333,250.0,83.333 +_񂸂.wav=- G4,364.489,177.424,4249.753,52.424,0.0 +_񂸂.wav=i G4,664.286,375.0,-583.333,250.0,83.333 +_񂸂.wav=n G4,1175.502,375.0,-583.333,250.0,83.333 +_񂸂.wav=i G4,1697.271,375.0,-583.333,250.0,83.333 +_񂸂.wav=i G4,2206.557,375,-583,250,83 +_񂸂.wav=u G4,2688.382,375.0,-583.333,250.0,83.333 +_񂸂.wav=i G4,3180.192,375.0,-583.333,250.0,83.333 +_񂸂.wav=e G4,3691.975,375.0,-583.333,250.0,83.333 +_񂷂.wav=- G4,255,302,4235,177,138 +_񂷂.wav=u G4,661.383,375.0,-583.333,250.0,83.333 +_񂷂.wav=n G4,1166,375,-583,250,83 +_񂷂.wav=u G4,1670.0,375.0,-583.333,250.0,83.333 +_񂷂.wav=u G4,2172,375,-583,250,83 +_񂷂.wav=e G4,2670.0,375.0,-583.333,250.0,83.333 +_񂷂.wav=u G4,3189,375,-583,250,83 +_񂷂.wav=o G4,3693,375,-583,250,83 +_񂸂.wav=- G4,441.88,163.118,4186.667,38.118,0.0 +_񂸂.wav=u G4,754.262,375.0,-583.333,250.0,83.333 +_񂸂.wav=n G4,1237.914,375.0,-583.333,250.0,83.333 +_񂸂.wav=u G4,1757.187,375.0,-583.333,250.0,83.333 +_񂸂.wav=u G4,2241.508,375.0,-583.333,250.0,83.333 +_񂸂.wav=e G4,2758.285,375.0,-583.333,250.0,83.333 +_񂸂.wav=u G4,3235.116,375.0,-583.333,250.0,83.333 +_񂸂.wav=o G4,3759.381,375.0,-583.333,250.0,83.333 +_񂹂.wav=- G4,350,275,4167,150,109 +_񂹂.wav=e G4,751.097,375.0,-583.333,250.0,83.333 +_񂹂.wav=n G4,1235.418,375.0,-583.333,250.0,83.333 +_񂹂.wav=e G4,1734.718,375.0,-583.333,250.0,83.333 +_񂹂.wav=e G4,2239.011,375.0,-583.333,250.0,83.333 +_񂹂.wav=o G4,2735.815,375.0,-583.333,250.0,83.333 +_񂹂.wav=e G4,3220.136,375.0,-583.333,250.0,83.333 +_񂹂.wav=a G4,3737,375,-583,250,83 +_񂺂.wav=- G4,299.58,174.929,4317.157,49.929,24.965 +_񂺂.wav=e G4,593.817,375.0,-583.333,250.0,83.333 +_񂺂.wav=n G4,1090.62,375.0,-583.333,250.0,83.333 +_񂺂.wav=e G4,1582.432,375.0,-583.333,250.0,83.333 +_񂺂.wav=e G4,2074.242,375.0,-583.333,250.0,83.333 +_񂺂.wav=o G4,2603.5,375.0,-583.333,250.0,83.333 +_񂺂.wav=e G4,3100.304,375.0,-583.333,250.0,83.333 +_񂺂.wav=a G4,3557.164,375.0,-583.333,250.0,83.333 +_񂻂.wav=- G4,148,375,-583,144,104 +_񂻂.wav=o G4,551.376,375.0,-583.333,250.0,83.333 +_񂻂.wav=n G4,1091,375,-583,250,83 +_񂻂.wav=o G4,1586,374,-583,250,83 +_񂻂.wav=o G4,2079.235,375.0,-583.333,250.0,83.333 +_񂻂.wav=a G4,2571.046,375,-583,250,83 +_񂻂.wav=o G4,3075.339,375.0,-583.333,250.0,83.333 +_񂻂.wav=i G4,3559,375,-583,250,83 +_񂼂.wav=- G4,309.566,195.433,4286.667,70.433,0.0 +_񂼂.wav=o G4,638.164,375.0,-583.333,250.0,83.333 +_񂼂.wav=n G4,1120.0,375.0,-583.333,250.0,83.333 +_񂼂.wav=o G4,1620.0,375.0,-583.333,250.0,83.333 +_񂼂.wav=o G4,2124.173,375.0,-583.333,250.0,83.333 +_񂼂.wav=a G4,2610.99,375.0,-583.333,250.0,83.333 +_񂼂.wav=o G4,3145.242,375.0,-583.333,250.0,83.333 +_񂼂.wav=i G4,3640.0,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=- G4,378,145,4196,11,0 +_񂽂ĂƂ.wav=a G4,641.251,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=n G4,1123.075,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=a G4,1646,375,-583,250,83 +_񂽂ĂƂ.wav=a ĂG4,2154.13,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=i G4,2647,375,-583,250,83 +_񂽂ĂƂ.wav=a ƂG4,3162.717,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=u G4,3651,375,-583,250,83 +_񂾂łǂ.wav=- G4,369.482,152.46,4269.725,27.46,0.0 +_񂾂łǂ.wav=a G4,672.993,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=n G4,1190.481,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a G4,1701,375,-583,250,83 +_񂾂łǂ.wav=a łG4,2209.999,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=i G4,2723.333,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a ǂG4,3225.131,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=u G4,3682,375,-583,250,83 +_񂿂傿Ⴟ.wav=- G4,272.118,212.881,4306.667,87.881,52.426 +_񂿂傿Ⴟ.wav=e G4,646.244,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=n G4,1153.033,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e G4,1652.333,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e G4,2126.669,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=o G4,2633.459,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e G4,3125.269,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=a G4,3612.087,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=- G4,327.041,189.908,4274.717,64.908,0.0 +_񂿂ႿႿႿタ.wav=a G4,658.726,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=n G4,1165.516,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a G4,1662.32,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a G4,2184,375,-583,250,83 +_񂿂ႿႿႿタ.wav=i G4,2668.41,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a G4,3187.682,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=u G4,3686.982,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=- G4,224.685,212.376,4354.606,87.376,47.433 +_񂿂タタタ傿.wav=u G4,548.186,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=n G4,1045.684,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u G4,1551,375,-583,250,83 +_񂿂タタタ傿.wav=u G4,2051.775,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=e G4,2583.529,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u G4,3055.366,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=o G4,3564.654,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=- G4,366.985,194.901,4229.78,69.901,39.944 +_񂿂傿傿Ⴟ傿.wav=o G4,678.698,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=n G4,1180.495,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o G4,1687.284,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o G4,2179.095,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=a G4,2668.41,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o G4,3170.207,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=i G4,3679.493,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=- G4,367,263,4155,81,59 +_񂿂タ.wav=i G4,673.705,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=n G4,1195.474,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i G4,1707.257,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i G4,2204.06,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=u G4,2708,375,-583,250,83 +_񂿂タ.wav=i G4,3230.124,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=e G4,3736.912,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚G4,224.685,192.403,4374.577,67.403,0.0 +_‚‚‚‚‚‚‚.wav=a G4,556.369,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚G4,1048.18,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚G4,1577.44,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚G4,2084.228,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚G4,2563.558,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a G4,3070.346,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚G4,3567.15,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚G4,294.587,204.886,4292.193,79.886,42.44 +_‚‚‚‚‚‚‚.wav=i G4,621.279,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚G4,1125.572,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚G4,1637.355,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i G4,2146.641,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚G4,2618.48,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚G4,3125.269,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚G4,3622.073,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚G4,194.727,194.901,4402.038,69.901,32.454 +_‚‚‚‚‚‚‚.wav=e G4,506.438,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚G4,998.25,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚G4,1517.523,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚G4,2029.306,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚G4,2531.102,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚G4,3030.402,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚G4,3532.199,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚G4,274.615,190.383,4326.668,65.383,32.454 +_‚‚‚‚‚‚‚.wav=o G4,628.768,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚G4,1100.607,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚G4,1607.397,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚G4,2121.676,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚G4,2623.473,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚G4,3102.801,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚G4,3612.087,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=- G4,355,270,4165,90,63 +_‚‚‚‚‚‚.wav=u G4,688.684,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=n G4,1200.466,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u G4,1704,375,-583,250,83 +_‚‚‚‚‚‚.wav=u ‚G4,2209.053,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=e G4,2698.368,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚G4,3205.158,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=o G4,3703,375,-583,250,83 +_ĂĂĂƂĂĂĂ.wav=- ĂG4,401.936,149.964,4239.766,24.964,0.0 +_ĂĂĂƂĂĂĂ.wav=i G4,696.174,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=n ĂG4,1195.474,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ĂG4,1684.788,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ƂG4,2219.039,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=u ĂG4,2725.829,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i G4,3214,375,-583,250,83 +_ĂĂĂƂĂĂĂ.wav=e ĂG4,3709.451,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=- łG4,274.615,142.473,4374.577,17.473,0.0 +_łłłǂłłł.wav=i G4,524.966,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=n łG4,1035.697,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i łG4,1547.481,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i ǂG4,2034.298,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=u łG4,2533.598,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i G4,3042.886,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=e łG4,3549.674,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=- ĂG4,464.349,149.964,4177.353,24.964,0.0 +_ĂĂ゠ĂアĂウĂ.wav=u ĂG4,748.6,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u G4,1250.397,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=a ĂG4,1754.69,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u G4,2231.522,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=i ĂG4,2743.306,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u G4,3237.612,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=e ĂG4,3746.898,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=- łG4,284.601,142.474,4364.591,17.474,0.0 +_łł゠łアłウł.wav=u łG4,568.852,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u G4,1073.145,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=a łG4,1582.432,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u G4,2049.277,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=i łG4,2571.046,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u G4,3070.346,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=e łG4,3572.143,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=- G4,317.055,144.97,4329.64,19.97,0.0 +_ĂĂĂƂĂ.wav=e G4,588.82,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=n G4,1088.123,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e G4,1597,375,-583,250,83 +_ĂĂĂƂĂ.wav=e G4,2096.711,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=o G4,2610.99,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e G4,3121,375,-583,250,83 +_ĂĂĂƂĂ.wav=a G4,3602.101,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=- G4,396.943,139.979,4254.744,14.979,0.0 +_łłłǂł.wav=e G4,671.209,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=n G4,1197.97,375,-583,250,83 +_łłłǂł.wav=e G4,1677.299,375,-583,250,83 +_łłłǂł.wav=e G4,2196.571,375,-583,250,83 +_łłłǂł.wav=o G4,2673.404,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e G4,3182.689,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=a G4,3662.017,375,-583,250,83 +_ƂƂƂĂƂƂƂ.wav=- ƂG4,212.202,157.453,4416.668,32.452,0.0 +_ƂƂƂĂƂƂƂ.wav=u G4,506.44,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=n ƂG4,1025.712,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u ƂG4,1534.998,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u G4,2044,375,-583,250,83 +_ƂƂƂĂƂƂƂ.wav=e ƂG4,2546.081,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u G4,3042.884,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=o ƂG4,3544.683,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=- ǂG4,332.034,139.977,4319.655,14.977,0.0 +_ǂǂǂłǂǂǂ.wav=u G4,600.431,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=n ǂG4,1125.572,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u ǂG4,1617.384,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u G4,2096.71,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=e ǂG4,2610.99,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u G4,3110.29,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=o ǂG4,3614.584,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=- G4,383,180,4168,17,1 +_ƂƂƂƂĂ.wav=o G4,681.195,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=n G4,1152,375,-583,250,83 +_ƂƂƂƂĂ.wav=o G4,1674,375,2807,250,83 +_ƂƂƂƂĂ.wav=o G4,2181.592,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=a G4,2670,375,-583,250,83 +_ƂƂƂƂĂ.wav=o ĂG4,3160.221,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=i G4,3652.031,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=- G4,447,148,4197,23,13 +_ǂǂǂǂł.wav=o G4,741.111,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=n G4,1210.453,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o G4,1719.999,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o G4,2229.025,375,-583,250,83 +_ǂǂǂǂł.wav=a G4,2735.816,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o łG4,3232.619,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=i G4,3726.926,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=- G4,425,272,4120,73,35 +_ȂȂȂɂȂʂ.wav=a G4,733.946,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=n G4,1207.956,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a G4,1734,375,-583,250,83 +_ȂȂȂɂȂʂ.wav=a G4,2206.557,375,-583,250,83 +_ȂȂȂɂȂʂ.wav=i G4,2739,375,-583,250,83 +_ȂȂȂɂȂʂ.wav=a G4,3242.606,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=u G4,3725,375,-583,250,83 +_ɂɂɂɂɂɂɂ.wav=- ɂG4,324.545,169.936,4297.185,44.936,0.0 +_ɂɂɂɂɂɂɂ.wav=e G4,646.244,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂG4,1113.089,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂG4,1639.851,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂG4,2130.0,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂG4,2615.983,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂG4,3092.815,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂG4,3584.625,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂG4,436.887,169.936,4184.843,44.936,19.972 +_ɂɂɂɂɂɂɂ.wav=a G4,741.111,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂG4,1217.942,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂG4,1719.738,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a G4,2221.536,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂG4,2715.843,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂG4,3227.626,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂG4,3729.423,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂG4,279.608,152.46,4359.598,27.46,0.0 +_ɂɂɂɂɂɂɂ.wav=u G4,571.406,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂG4,1033.202,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂG4,1574.942,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂG4,2076.739,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂG4,2571.046,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂG4,3055.366,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂG4,3559.661,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂG4,379.468,182.418,4229.78,57.418,27.461 +_ɂɂɂɂɂɂɂ.wav=o G4,687.506,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂG4,1165.515,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂG4,1682.292,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂG4,2181.592,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂG4,2678.395,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o G4,3185.186,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂG4,3659.522,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=- G4,259.636,189.908,4342.122,64.908,37.447 +_ɂɂɂʂɂ˂.wav=i G4,568.853,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=n G4,1053.173,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i G4,1552.474,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i G4,2076.739,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=u G4,2556.067,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i G4,3050.374,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=e G4,3564.654,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=- G4,312.062,192.937,4286.667,67.937,37.447 +_ʂʂʂ˂ʂ̂.wav=u G4,623.775,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=n G4,1118.081,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u G4,1629.865,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u G4,2111.69,375,-583,250,83 +_ʂʂʂ˂ʂ̂.wav=e G4,2625.969,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u G4,3131,375,-583,250,83 +_ʂʂʂ˂ʂ̂.wav=o G4,3639.549,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=- G4,356.999,197.398,4237.269,72.398,32.454 +_˂˂˂̂˂Ȃ.wav=e G4,691.182,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=n G4,1179.999,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e G4,1702.264,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e G4,2184.088,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=o G4,2692,375,-583,250,83 +_˂˂˂̂˂Ȃ.wav=e G4,3184,375,-583,250,83 +_˂˂˂̂˂Ȃ.wav=a G4,3674.5,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=- G4,212,263,4319,66,50 +_̂̂̂Ȃ̂ɂ.wav=o G4,553.873,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=n G4,1018,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=o G4,1515,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=o G4,2014,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=a G4,2531.102,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o G4,3029.999,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=i G4,3530,375,-583,250,83 +_͂͂͂Ђ͂ӂ.wav=- G4,264,227,4263,53,29 +_͂͂͂Ђ͂ӂ.wav=a G4,588.821,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=n G4,1085.628,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a G4,1590.0,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a G4,2100.0,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=i G4,2591.018,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a G4,3115.283,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=u G4,3587,375,-583,250,83 +_΂΂΂т΂Ԃ.wav=- G4,307.069,139.978,4344.619,14.978,0.0 +_΂΂΂т΂Ԃ.wav=a G4,574.308,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=n G4,1040.691,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a G4,1564.956,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a G4,2071.746,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=i G4,2566.053,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a G4,3077.836,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=u G4,3582.129,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=- G4,396.943,139.979,4254.744,14.979,0.0 +_ςςς҂ςՂ.wav=a G4,681.194,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=n G4,1145.543,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a G4,1652.333,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a G4,2164.116,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=i G4,2673.403,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a G4,3172.703,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=u G4,3674.5,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂG4,366.985,172.433,4252.248,47.433,24.965 +_ЂЂЂЂЂЂЂ.wav=e G4,671.209,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂG4,1180.495,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂG4,1662.32,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂG4,2184.088,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂG4,2668.41,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂG4,3157.724,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂG4,3659.522,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тG4,371.978,147.468,4272.22,22.468,0.0 +_ттттттт.wav=e G4,661.223,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тG4,1165.516,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тG4,1649.837,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тG4,2134.158,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тG4,2635.955,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тG4,3125.269,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тG4,3619.577,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂G4,376.971,144.97,4269.725,19.97,0.0 +_҂҂҂҂҂҂҂.wav=e G4,656.23,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂G4,1155.53,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂G4,1657.327,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂G4,2156.627,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂G4,2658.424,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂G4,3145.241,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂G4,3634.556,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=- G4,399.44,142.475,4249.751,17.475,0.0 +_тттт҂҂҂҂.wav=i тG4,671.209,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u G4,1187.984,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i тG4,1654.83,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=e G4,2176.598,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂G4,2678.395,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u G4,3175.2,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂G4,3667.01,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=- G4,192,270,4340,50,32 +_ЂЂЂЂ݂݂݂݂.wav=i ЂG4,541.39,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u G4,1053.173,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ЂG4,1554.97,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=e G4,2049,375,-583,250,83 +_ЂЂЂЂ݂݂݂݂.wav=i ݂G4,2540.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u G4,3030.403,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ݂G4,3509.731,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂG4,214.699,212.376,4364.591,87.376,49.93 +_ЂЂЂЂЂЂЂ.wav=a G4,556.369,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂG4,1053.173,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂG4,1534.998,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a G4,2031.803,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂG4,2538.591,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂG4,3042.884,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂG4,3540.0,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тG4,494.307,137.48,4159.877,12.48,0.0 +_ттттттт.wav=a G4,768.572,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тG4,1240.41,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тG4,1752.194,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a G4,2268.969,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тG4,2739.999,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тG4,3237.612,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тG4,3734.415,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂G4,249.65,139.978,4402.038,14.978,0.0 +_҂҂҂҂҂҂҂.wav=a G4,543.887,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂G4,1023.215,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂G4,1530.004,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a G4,2046.781,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂G4,2563.558,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂G4,3052.871,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂G4,3549.674,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂG4,279.608,169.936,4342.122,44.936,22.468 +_ЂЂЂЂЂЂЂ.wav=u G4,588.824,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂG4,1068.152,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂG4,1597.411,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂG4,2069.249,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂG4,2576.039,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂG4,3080.332,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂG4,3572.144,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тG4,282.104,144.971,4364.591,19.971,0.0 +_ттттттт.wav=u G4,585.918,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тG4,1078.138,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тG4,1584.928,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тG4,2084.228,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тG4,2583.529,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тG4,3075.339,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тG4,3574.64,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂G4,292.09,144.971,4354.606,19.971,0.0 +_҂҂҂҂҂҂҂.wav=u G4,558.866,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂G4,1060.664,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂G4,1552.474,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂G4,2086.725,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂G4,2583.529,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂G4,3090.318,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂G4,3577.136,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂG4,389.454,174.929,4227.283,49.929,39.944 +_ЂЂЂЂЂЂЂ.wav=o G4,699.116,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂG4,1202.963,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂG4,1739.711,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂG4,2211.551,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂG4,2720.836,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o G4,3240.109,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂG4,3724.43,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тG4,394.447,142.475,4254.744,17.475,0.0 +_ттттттт.wav=o G4,670.091,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тG4,1160.523,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тG4,1672.306,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тG4,2201.564,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тG4,2720.836,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o G4,3217.64,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тG4,3684.486,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂G4,416.915,139.977,4234.774,14.977,0.0 +_҂҂҂҂҂҂҂.wav=o G4,683.69,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂G4,1195.474,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂G4,1702.264,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂G4,2211.549,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂G4,2703.361,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o G4,3215.145,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂G4,3704.458,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=- G4,347.013,182.419,4262.235,57.419,34.951 +_ЂЂЂӂЂւ.wav=i G4,686.188,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=n G4,1235.418,375.0,3181.25,250.0,83.333 +_ЂЂЂӂЂւ.wav=i G4,1699.766,375,-583,250,83 +_ЂЂЂӂЂւ.wav=i G4,2170.0,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=u G4,2680.892,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i G4,3180.192,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=e G4,3686.982,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=- G4,332.034,142.476,4317.156,17.476,0.0 +_тттԂтׂ.wav=i G4,646.243,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=n G4,1130.566,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i G4,1648,375,-583,250,83 +_тттԂтׂ.wav=i G4,2140.0,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=u G4,2650.934,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i G4,3135.256,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=e G4,3676.996,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=- G4,436.887,147.468,4207.311,22.468,0.0 +_҂҂҂Ղ҂؂.wav=i G4,738.614,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=n G4,1215.446,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i G4,1719.739,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i G4,2241.508,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=u G4,2748.298,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i G4,3255.087,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=e G4,3731.919,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂG4,354.503,152.459,4284.703,27.459,0.0 +_ӂӂӂӂӂӂӂ.wav=a G4,641.251,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂG4,1150.536,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂG4,1652.333,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂG4,2159.123,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂG4,2645.941,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a G4,3145.242,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂG4,3659.522,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂG4,429.398,147.467,4214.801,22.467,0.0 +_ӂӂӂӂӂӂӂ.wav=i G4,696.174,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂG4,1200.466,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂG4,1714.746,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i G4,2219.038,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂG4,2733.319,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂG4,3215.144,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂG4,3729.423,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂG4,299.58,144.971,4347.116,19.971,0.0 +_ӂӂӂӂӂӂӂ.wav=e G4,600.431,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂG4,1103.102,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂG4,1614.886,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂG4,2109.193,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂG4,2613.487,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂG4,3112.787,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂG4,3617.08,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂG4,389.454,142.475,4259.737,17.475,0.0 +_ӂӂӂӂӂӂӂ.wav=o G4,661.223,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂG4,1165.516,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂG4,1704.76,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂG4,2206.557,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂG4,2698.368,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂG4,3187.682,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂG4,3700.0,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=- G4,238,175,4365,50,32 +_ӂӂӂӂӂӂ.wav=u G4,543.887,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=n G4,1050.678,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u G4,1574.942,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂG4,2061.761,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=e G4,2556.067,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂG4,3060.36,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=o G4,3570.0,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=- G4,414.419,167.438,4209.809,42.438,0.0 +_ӂӂӂւӂق.wav=u G4,708.656,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=n G4,1220.439,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u G4,1757.187,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u G4,2241.509,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=e G4,2750.794,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u G4,3237.612,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=o G4,3719.437,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=- G4,356.999,197.398,4237.269,72.398,37.447 +_ԂԂԂׂԂڂ.wav=u G4,702.018,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=n G4,1182.991,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u G4,1712.25,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u G4,2207,375,-583,250,83 +_ԂԂԂׂԂڂ.wav=e G4,2708.354,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u G4,3205.158,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=o G4,3699.464,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=- G4,307.069,144.971,4339.626,19.971,0.0 +_ՂՂՂ؂Ղۂ.wav=u G4,603.803,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=n G4,1065.656,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u G4,1564.956,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u G4,2049.277,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=e G4,2566.053,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u G4,3060.36,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=o G4,3572.143,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=- G4,213,178,4397,53,27 +_ւււقւ͂.wav=e G4,539.478,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=n G4,1033.202,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e G4,1547.481,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e G4,2061.761,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=o G4,2561.06,375,-583,250,83 +_ւււقւ͂.wav=e G4,3037.893,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=a G4,3564.654,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=- G4,264.629,137.481,4389.556,12.481,0.0 +_ׂׂׂڂׂ΂.wav=e G4,526.411,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=n G4,1013.23,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e G4,1537.495,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e G4,2061.761,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=o G4,2551.074,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e G4,3040,398,1415,250,83 +_ׂׂׂڂׂ΂.wav=a G4,3552.171,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=- G4,322.048,139.977,4329.64,14.977,0.0 +_؂؂؂ۂ؂ς.wav=e G4,626.272,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=n G4,1113.089,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e G4,1627.369,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e G4,2151.633,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=o G4,2643.445,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e G4,3142.745,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=a G4,3637.052,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=- G4,268,197,4325,72,30 +_ققق͂قЂ.wav=o G4,621.279,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=n G4,1143.046,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o G4,1639.851,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o G4,2129.165,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=a G4,2643.446,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o G4,3142.745,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=i G4,3617.08,375,-583,250,83 +_ڂڂڂ΂ڂт.wav=- G4,264.629,184.915,4342.122,59.915,9.986 +_ڂڂڂ΂ڂт.wav=o G4,588.824,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=n G4,1085.628,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o G4,1589.921,375,-583,250,83 +_ڂڂڂ΂ڂт.wav=o G4,2116,375,-583,250,83 +_ڂڂڂ΂ڂт.wav=a G4,2593.515,375,-583,250,83 +_ڂڂڂ΂ڂт.wav=o G4,3115.283,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=i G4,3617.08,375,-583,250,83 +_ۂۂۂςۂ҂.wav=- G4,419.412,147.467,4224.788,22.467,0.0 +_ۂۂۂςۂ҂.wav=o G4,721.139,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=n G4,1205.461,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o G4,1692.278,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o G4,2189.081,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=a G4,2695.871,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o G4,3197.668,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=i G4,3701.961,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=- G4,365,176,4137,58,28 +_܂܂܂݂܂ނ.wav=a G4,696.213,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=n G4,1180.495,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a G4,1701,375,-583,250,83 +_܂܂܂݂܂ނ.wav=a G4,2191,375,-583,250,83 +_܂܂܂݂܂ނ.wav=i G4,2691,360,1736,250,83 +_܂܂܂݂܂ނ.wav=a G4,3195.172,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=u G4,3691,375,-583,250,83 +_݂݂݂݂݂݂݂.wav=- ݂G4,384.461,160.538,4246.666,35.538,14.979 +_݂݂݂݂݂݂݂.wav=e G4,696.175,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂G4,1170.0,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂G4,1684.788,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂G4,2201.564,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂G4,2700.0,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂G4,3172.703,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂G4,3674.5,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂G4,262.132,167.44,4362.094,42.44,0.0 +_݂݂݂݂݂݂݂.wav=a G4,551.088,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂G4,1023.215,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂G4,1542.488,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a G4,2056.767,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂G4,2543.585,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂G4,3045.382,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂G4,3549.674,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂G4,334.531,152.46,4304.675,27.46,0.0 +_݂݂݂݂݂݂݂.wav=u G4,643.747,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂G4,1120.0,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂G4,1624.872,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂G4,2121.676,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂G4,2628.466,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂G4,3107.795,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂G4,3609.999,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂G4,234.671,214.873,4342.122,89.873,49.93 +_݂݂݂݂݂݂݂.wav=o G4,566.356,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂G4,1025.712,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂G4,1537.495,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂G4,1999.347,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂G4,2501.144,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o G4,2989,375,-583,250,83 +_݂݂݂݂݂݂݂.wav=i ݂G4,3472.283,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=- G4,426.901,182.419,4182.345,57.419,0.0 +_݂݂݂ނ݂߂.wav=i G4,728.141,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=n G4,1260.0,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i G4,1761,375,-583,250,83 +_݂݂݂ނ݂߂.wav=i G4,2256.487,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=u G4,2765.773,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i G4,3239.998,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=e G4,3776.856,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=- G4,279.608,185.39,4326.667,60.39,34.951 +_ނނނ߂ނ.wav=u G4,593.817,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=n G4,1063.158,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u G4,1572.446,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u G4,2060.0,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=e G4,2591.018,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u G4,3106,375,-583,250,83 +_ނނނ߂ނ.wav=o G4,3594.613,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=- G4,299.58,182.418,4309.668,57.418,27.461 +_߂߂߂߂܂.wav=e G4,628.768,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=n G4,1135.558,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e G4,1654.83,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e G4,2140.0,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=o G4,2658.424,375,-583,250,83 +_߂߂߂߂܂.wav=e G4,3147.738,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=a G4,3652.031,375,-583,250,83 +_܂݂.wav=- G4,404.433,184.914,4202.319,59.914,22.468 +_܂݂.wav=o G4,723.635,375.0,-583.333,250.0,83.333 +_܂݂.wav=n G4,1215.446,375.0,-583.333,250.0,83.333 +_܂݂.wav=o G4,1719.74,375.0,-583.333,250.0,83.333 +_܂݂.wav=o G4,2222,375,-583,250,83 +_܂݂.wav=a G4,2713,375,-583,250,83 +_܂݂.wav=o G4,3235.116,375.0,-583.333,250.0,83.333 +_܂݂.wav=i G4,3686.982,375,-583,250,83 +_₢.wav=- G4,222.188,192.405,4377.073,67.405,39.944 +_₢.wav=a G4,553.99,375.0,-583.333,250.0,83.333 +_₢.wav=n G4,1065.656,375.0,-583.333,250.0,83.333 +_₢.wav=a G4,1574.942,375.0,-583.333,250.0,83.333 +_₢.wav=a G4,2041.788,375.0,-583.333,250.0,83.333 +_₢.wav=i G4,2563.558,375.0,-583.333,250.0,83.333 +_₢.wav=a G4,3062.857,375.0,-583.333,250.0,83.333 +_₢.wav=u G4,3564.654,375.0,-583.333,250.0,83.333 +_䂢.wav=- G4,287.097,177.426,4327.143,52.426,29.958 +_䂢.wav=u G4,596.314,375.0,-583.333,250.0,83.333 +_䂢.wav=n G4,1018.223,375.0,-583.333,250.0,83.333 +_䂢.wav=u G4,1584.928,375.0,-583.333,250.0,83.333 +_䂢.wav=u G4,2044.284,375.0,-583.333,250.0,83.333 +_䂢.wav=e G4,2591.018,375.0,-583.333,250.0,83.333 +_䂢.wav=u G4,3106,375,-583,250,83 +_䂢.wav=o G4,3554.667,375.0,-583.333,250.0,83.333 +_悢.wav=- G4,424.405,167.439,4199.822,42.439,22.468 +_悢.wav=o G4,758.586,375.0,-583.333,250.0,83.333 +_悢.wav=n G4,1225.432,375.0,-583.333,250.0,83.333 +_悢.wav=o G4,1719,375,-583,250,83 +_悢.wav=o G4,2199.999,375.0,-583.333,250.0,83.333 +_悢.wav=a G4,2715.843,375.0,-583.333,250.0,83.333 +_悢.wav=o G4,3185.187,375.0,-583.333,250.0,83.333 +_悢.wav=i G4,3743,375,738,250,83 +_.wav=- G4,236,173,4377,48,25 +_.wav=a G4,548.881,375.0,-583.333,250.0,83.333 +_.wav=n G4,1040.691,375.0,-583.333,250.0,83.333 +_.wav=a G4,1563,375,-583,250,83 +_.wav=a G4,2066,375,-583,250,83 +_.wav=i G4,2598.508,375.0,-583.333,250.0,83.333 +_.wav=a G4,3082.829,375,-583,250,83 +_.wav=u G4,3589,375,-583,250,83 +_肥肥肥肥肥.wav=- 肥G4,416.915,177.426,4197.325,52.426,29.958 +_肥肥肥肥肥.wav=e G4,731.125,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=n 肥G4,1240.0,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e 肥G4,1744.705,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e G4,2216.544,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=o 肥G4,2723.333,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e G4,3195.172,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=a 肥G4,3696.968,375.0,-583.333,250.0,83.333 +_.wav=- G4,292.09,162.447,4337.129,37.447,17.475 +_.wav=a G4,616.286,375.0,-583.333,250.0,83.333 +_.wav=n G4,1085.628,375.0,-583.333,250.0,83.333 +_.wav=a G4,1602.404,375.0,-583.333,250.0,83.333 +_.wav=a G4,2096.71,375.0,-583.333,250.0,83.333 +_.wav=i G4,2593.515,375.0,-583.333,250.0,83.333 +_.wav=a G4,3069.998,375.0,-583.333,250.0,83.333 +_.wav=u G4,3574.64,375.0,-583.333,250.0,83.333 +_肥.wav=- G4,334.531,162.445,4289.696,42.44,14.979 +_肥.wav=u G4,648.74,375.0,-583.333,250.0,83.333 +_肥.wav=n G4,1133.061,375.0,-583.333,250.0,83.333 +_肥.wav=u G4,1639.851,375.0,-583.333,250.0,83.333 +_肥.wav=u 肥G4,2139.999,375.0,-583.333,250.0,83.333 +_肥.wav=e G4,2618.48,375.0,-583.333,250.0,83.333 +_肥.wav=u G4,3107.794,375.0,-583.333,250.0,83.333 +_肥.wav=o G4,3639.549,375.0,-583.333,250.0,83.333 +_.wav=- G4,252.146,144.971,4394.549,19.971,9.986 +_.wav=o G4,553.991,375.0,-583.333,250.0,83.333 +_.wav=n G4,1058.166,375.0,-583.333,250.0,83.333 +_.wav=o G4,1562.459,375.0,-583.333,250.0,83.333 +_.wav=o G4,2021.816,375.0,-583.333,250.0,83.333 +_.wav=a G4,2518.62,375.0,-583.333,250.0,83.333 +_.wav=o G4,3034,375,-583,250,83 +_.wav=i G4,3537.192,375.0,-583.333,250.0,83.333 +_肥ガ.wav=- G4,307.069,179.922,4304.675,54.922,29.958 +_肥ガ.wav=i G4,621.279,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u G4,1107,375,-583,250,83 +_肥ガ.wav=i 肥G4,1574.942,375.0,-583.333,250.0,83.333 +_肥ガ.wav=e G4,2099.207,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i G4,2613.487,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u G4,3115.283,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i G4,3614.584,375.0,-583.333,250.0,83.333 +_.wav=- G4,319.552,197.397,4274.717,72.397,34.951 +_.wav=i G4,631.265,375.0,-583.333,250.0,83.333 +_.wav=n G4,1115.586,375.0,-583.333,250.0,83.333 +_.wav=i G4,1624,375,-583,250,83 +_.wav=i G4,2109.193,375,-583,250,83 +_.wav=u G4,2635.955,375.0,-583.333,250.0,83.333 +_.wav=i G4,3115.283,375,-583,250,83 +_.wav=e G4,3629.563,375.0,-583.333,250.0,83.333 +_.wav=- G4,366.985,184.915,4239.766,59.915,29.958 +_.wav=u G4,691.181,375.0,-583.333,250.0,83.333 +_.wav=n G4,1197.97,375.0,-583.333,250.0,83.333 +_.wav=u G4,1690,375,-583,250,83 +_.wav=u G4,2179.095,375.0,-583.333,250.0,83.333 +_.wav=e G4,2693.375,375,-583,250,83 +_.wav=u G4,3187.682,375.0,-583.333,250.0,83.333 +_.wav=o G4,3687,375,-583,250,83 +_.wav=- G4,217.195,189.908,4384.563,64.908,39.944 +_.wav=e G4,551.088,375.0,-583.333,250.0,83.333 +_.wav=n G4,1035.697,375.0,-583.333,250.0,83.333 +_.wav=e G4,1527.509,375.0,-583.333,250.0,83.333 +_.wav=e G4,2041.788,375.0,-583.333,250.0,83.333 +_.wav=o G4,2538.592,375.0,-583.333,250.0,83.333 +_.wav=e G4,3015.423,375,-583,250,83 +_.wav=a G4,3517.22,375,-583,250,83 +_.wav=- G4,283,214,4268,62,36 +_.wav=o G4,583.016,375.0,-583.333,250.0,83.333 +_.wav=n G4,1118.082,375.0,-583.333,250.0,83.333 +_.wav=o G4,1614.886,375,-583,250,83 +_.wav=o G4,2092,375,2370,250,83 +_.wav=a G4,2585,375,-583,250,83 +_.wav=o G4,3080.332,375.0,-583.333,250.0,83.333 +_.wav=i G4,3574.64,375.0,-583.333,250.0,83.333 +_키키.wav=- G4,364.489,174.929,4252.248,49.929,32.454 +_키키.wav=a G4,675.896,375.0,-583.333,250.0,83.333 +_키키.wav=n G4,1185.487,375.0,-583.333,250.0,83.333 +_키키.wav=a G4,1654.83,375,-583,250,83 +_키키.wav=a G4,2174.102,375.0,-583.333,250.0,83.333 +_키키.wav=i G4,2655.927,375.0,-583.333,250.0,83.333 +_키키.wav=a G4,3170.207,375.0,-583.333,250.0,83.333 +_키키.wav=u G4,3674.5,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=- G4,344,150,4295,17,4 +_񂢂񂦂񂨂.wav=n G4,613.79,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=i G4,1113.089,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n G4,1582.432,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=e G4,2124.173,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n G4,2565.419,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n G4,2565.419,375,-583.333,250,83.333 +_񂢂񂦂񂨂.wav=o G4,3111.088,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n RG4,3672,851,429,250,83 diff --git a/OpenUtau.Test/Files/ja_vcv/W_A3/oto.ini b/OpenUtau.Test/Files/ja_vcv/W_A3/oto.ini new file mode 100644 index 000000000..f7a9fa7f9 --- /dev/null +++ b/OpenUtau.Test/Files/ja_vcv/W_A3/oto.ini @@ -0,0 +1,1224 @@ +_.wav=- WA3,437,375,-583,261,172 +_.wav=a WA3,852.694,375.0,-583.333,250.0,83.333 +_.wav=a WA3,1272.194,375.0,-583.333,250.0,83.333 +_.wav=i WA3,1774.465,375.0,-583.333,250.0,83.333 +_.wav=a WA3,2245.873,375.0,-583.333,250.0,83.333 +_.wav=u WA3,2728.504,375.0,-583.333,250.0,83.333 +_.wav=e WA3,3240.596,375.0,-583.333,250.0,83.333 +_.wav=a RWA3,4133,438,387,250,83 +_.wav=- WA3,178.17,349.466,-557.799,224.466,133.277 +_.wav=i WA3,624.017,375.0,-583.333,250.0,83.333 +_.wav=i WA3,1057.519,375.0,-583.333,250.0,83.333 +_.wav=u WA3,1549.943,375.0,-583.333,250.0,83.333 +_.wav=a WA3,2035.353,375.0,-583.333,250.0,83.333 +_.wav=e WA3,2574.074,375.0,-583.333,250.0,83.333 +_.wav=i WA3,3093.153,375.0,-583.333,250.0,83.333 +_.wav=e RWA3,3964,522,-583,250,83 +_񂢂悢₢.wav=- WA3,249.719,262.485,-470.818,137.485,96.801 +_񂢂悢₢.wav=e WA3,666.105,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=n WA3,1152.918,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e WA3,1681.819,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e WA3,2144.999,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=o WA3,2652.636,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e WA3,3133.837,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=a WA3,3644.999,375.0,-583.333,250.0,83.333 +_񃔂.wav=- WA3,227.272,209.174,-417.507,84.174,54.713 +_񃔂.wav=a WA3,612.794,375.0,-583.333,250.0,83.333 +_񃔂.wav=n WA3,1085.578,375.0,-583.333,250.0,83.333 +_񃔂.wav=a WA3,1589.225,375.0,-583.333,250.0,83.333 +_񃔂.wav=a WA3,2113.917,375.0,-583.333,250.0,83.333 +_񃔂.wav=i WA3,2588.104,375.0,-583.333,250.0,83.333 +_񃔂.wav=a WA3,3115.0,375.0,-583.333,250.0,83.333 +_񃔂.wav=u WA3,3625.0,375.0,-583.333,250.0,83.333 +_񂤂.wav=- WA3,318.462,275.111,-483.443,150.111,117.845 +_񂤂.wav=i WA3,747.473,375.0,-583.333,250.0,83.333 +_񂤂.wav=n WA3,1206.252,375.0,-583.333,250.0,83.333 +_񂤂.wav=i WA3,1707.12,375.0,-583.333,250.0,83.333 +_񂤂.wav=i WA3,2240.257,375.0,-583.333,250.0,83.333 +_񂤂.wav=u WA3,2706.053,375.0,-583.333,250.0,83.333 +_񂤂.wav=i WA3,3185.877,375.0,-583.333,250.0,83.333 +_񂤂.wav=e WA3,3695.0,375.0,-583.333,250.0,83.333 +_񃔂.wav=- WA3,307.239,282.76,-491.093,157.759,106.621 +_񃔂.wav=i WA3,713.804,375.0,-583.333,250.0,83.333 +_񃔂.wav=n WA3,1215.0,375.0,-583.333,250.0,83.333 +_񃔂.wav=i WA3,1691.683,375.0,-583.333,250.0,83.333 +_񃔂.wav=i WA3,2215.0,375.0,-583.333,250.0,83.333 +_񃔂.wav=u WA3,2707.451,375.0,-583.333,250.0,83.333 +_񃔂.wav=i WA3,3195.693,375.0,-583.333,250.0,83.333 +_񃔂.wav=e WA3,3715.0,375.0,-583.333,250.0,83.333 +_.wav=- WA3,298.821,223.202,-431.536,98.202,60.325 +_.wav=u WA3,635.0,375.0,-583.333,250.0,83.333 +_.wav=u WA3,1119.248,375.0,-583.333,250.0,83.333 +_.wav=i WA3,1607.463,375.0,-583.333,250.0,83.333 +_.wav=o WA3,2134.961,375.0,-583.333,250.0,83.333 +_.wav=a WA3,2610.549,375.0,-583.333,250.0,83.333 +_.wav=o WA3,3135.0,375.0,-583.333,250.0,83.333 +_.wav=i RWA3,4109,508,-583,250,83 +_䂢.wav=- WA3,249.719,202.159,-410.492,77.159,56.116 +_䂢.wav=u WA3,567.901,375.0,-583.333,250.0,83.333 +_䂢.wav=e WA3,1061.728,375.0,-583.333,250.0,83.333 +_䂢.wav=u WA3,1547.138,375.0,-583.333,250.0,83.333 +_䂢.wav=o WA3,2052.188,375.0,-583.333,250.0,83.333 +_䂢.wav=i WA3,2565.0,375.0,-583.333,250.0,83.333 +_䂢.wav=u WA3,3065.0,375.0,-583.333,250.0,83.333 +_䂢.wav=i WA3,3565.0,375.0,-583.333,250.0,83.333 +_񃔂.wav=- WA3,217.452,242.547,-450.88,117.547,57.519 +_񃔂.wav=e WA3,556.677,375.0,-583.333,250.0,83.333 +_񃔂.wav=n WA3,1085.0,375.0,-583.333,250.0,83.333 +_񃔂.wav=e WA3,1585.0,375.0,-583.333,250.0,83.333 +_񃔂.wav=e WA3,2119.528,375.0,-583.333,250.0,83.333 +_񃔂.wav=o WA3,2615.0,375.0,-583.333,250.0,83.333 +_񃔂.wav=e WA3,3100.168,375.0,-583.333,250.0,83.333 +_񃔂.wav=a WA3,3588.383,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- WA3,260.942,238.636,-446.969,113.636,81.369 +_񂤂키.wav=e WA3,642.255,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n WA3,1095.0,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e WA3,1618.687,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e WA3,2101.29,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o WA3,2624.578,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e WA3,3118.406,375.0,-583.333,250.0,83.333 +_񂤂키.wav=a WA3,3605.218,375.0,-583.333,250.0,83.333 +_񃔂.wav=- WA3,312.85,211.98,-420.312,86.98,51.907 +_񃔂.wav=o WA3,614.197,375.0,-583.333,250.0,83.333 +_񃔂.wav=n WA3,1135.0,375.0,-583.333,250.0,83.333 +_񃔂.wav=o WA3,1646.745,375.0,-583.333,250.0,83.333 +_񃔂.wav=o WA3,2133.557,375.0,-583.333,250.0,83.333 +_񃔂.wav=a WA3,2645.0,375.0,-583.333,250.0,83.333 +_񃔂.wav=o WA3,3155.0,375.0,-583.333,250.0,83.333 +_񃔂.wav=i WA3,3655.0,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- WA3,298.821,244.247,-452.58,119.247,91.189 +_񂤂키.wav=o WA3,687.149,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n WA3,1173.979,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o WA3,1702.906,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o WA3,2179.926,375.0,-583.333,250.0,83.333 +_񂤂키.wav=a WA3,2648.526,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o WA3,3150.798,375.0,-583.333,250.0,83.333 +_񂤂키.wav=i WA3,3668.5,375.0,-583.333,250.0,83.333 +_񃔃.wav=- WA3,204.826,230.217,-438.55,105.217,74.354 +_񃔃.wav=u WA3,555.274,375.0,-583.333,250.0,83.333 +_񃔃.wav=n WA3,1040.685,375.0,-583.333,250.0,83.333 +_񃔃.wav=u WA3,1540.123,375.0,-583.333,250.0,83.333 +_񃔃.wav=u WA3,2018.518,375.0,-583.333,250.0,83.333 +_񃔃.wav=e WA3,2546.016,375.0,-583.333,250.0,83.333 +_񃔃.wav=u WA3,3038.439,375.0,-583.333,250.0,83.333 +_񃔃.wav=o WA3,3544.999,375.0,-583.333,250.0,83.333 +_.wav=- WA3,391.414,247.053,-455.385,122.053,85.578 +_.wav=e WA3,735.0,375.0,-583.333,250.0,83.333 +_.wav=e WA3,1231.501,375.0,-583.333,250.0,83.333 +_.wav=u WA3,1747.802,375.0,-583.333,250.0,83.333 +_.wav=o WA3,2191.152,375.0,-583.333,250.0,83.333 +_.wav=e WA3,2735.0,375.0,-583.333,250.0,83.333 +_.wav=o WA3,3335.987,375.0,-583.333,250.0,83.333 +_.wav=o RWA3,4177,406,157,250,83 +_񂠂.wav=- WA3,225.869,237.233,-445.566,112.233,60.325 +_񂠂.wav=o WA3,564.999,375.0,-583.333,250.0,83.333 +_񂠂.wav=u WA3,1064.999,375.0,-583.333,250.0,83.333 +_񂠂.wav=n WA3,1564.999,375.0,-583.333,250.0,83.333 +_񂠂.wav=a WA3,2031.144,375.0,-583.333,250.0,83.333 +_񂠂.wav=n WA3,2567.06,375.0,-583.333,250.0,83.333 +_񂠂.wav=n WA3,3059.482,375.0,-583.333,250.0,83.333 +_񂠂.wav=u RWA3,4140,489,-583,250,83 +_ĂĂエłł.wav=- WA3,303.03,231.621,-439.954,106.621,67.34 +_ĂĂエłł.wav=o ĂWA3,705.0,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u WA3,1161.335,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n ĂWA3,1675.0,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u WA3,2125.14,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=o łWA3,2637.205,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u WA3,3094.556,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n łWA3,3633.277,375.0,-583.333,250.0,83.333 +_񂩂.wav=- WA3,359.147,192.339,-400.671,67.339,36.475 +_񂩂.wav=a WA3,663.299,375.0,-583.333,250.0,83.333 +_񂩂.wav=n WA3,1210.437,375.0,-583.333,250.0,83.333 +_񂩂.wav=a WA3,1698.653,375.0,-583.333,250.0,83.333 +_񂩂.wav=a WA3,2248.596,375.0,-583.333,250.0,83.333 +_񂩂.wav=i WA3,2729.797,375.0,-583.333,250.0,83.333 +_񂩂.wav=a WA3,3235.0,375.0,-583.333,250.0,83.333 +_񂩂.wav=u WA3,3692.199,375.0,-583.333,250.0,83.333 +_񂪂.wav=- WA3,232.884,153.058,-361.391,28.057,15.432 +_񂪂.wav=a WA3,492.143,375.0,-583.333,250.0,83.333 +_񂪂.wav=n WA3,1022.447,375.0,-583.333,250.0,83.333 +_񂪂.wav=a WA3,1523.288,375.0,-583.333,250.0,83.333 +_񂪂.wav=a WA3,2062.009,375.0,-583.333,250.0,83.333 +_񂪂.wav=i WA3,2530.583,375.0,-583.333,250.0,83.333 +_񂪂.wav=a WA3,3030.022,375.0,-583.333,250.0,83.333 +_񂪂.wav=u WA3,3521.042,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=- WA3,319.865,206.368,-414.701,81.368,43.49 +_񂫂傫Ⴋ.wav=e WA3,647.867,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=n WA3,1159.932,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e WA3,1675.0,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e WA3,2199.494,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=o WA3,2701.739,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e WA3,3175.0,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=a WA3,3682.379,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=- WA3,485.409,174.589,-382.922,49.589,23.849 +_񂬂催Ⴌ.wav=e WA3,767.115,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=n WA3,1274.999,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e WA3,1774.999,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e WA3,2258.493,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=o WA3,2754.999,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e WA3,3254.999,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=a WA3,3764.999,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=- WA3,363.355,216.642,-424.976,91.643,42.087 +_カɂɂɂɂ.wav=i WA3,722.222,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u WA3,1232.904,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i WA3,1743.594,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=e WA3,2223.419,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i ɂWA3,2704.644,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u WA3,3199.901,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i ɂWA3,3690.948,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=- WA3,195.005,224.605,-432.938,99.605,71.548 +_񂫂ႫႫႫカ.wav=a WA3,510.381,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=n WA3,1078.563,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a WA3,1566.778,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a WA3,2069.024,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=i WA3,2569.866,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a WA3,3095.959,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=u WA3,3556.116,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=- WA3,343.714,188.13,-396.463,63.13,35.072 +_񂬂ႬႬႬガ.wav=a WA3,638.047,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=n WA3,1151.515,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a WA3,1627.104,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a WA3,2158.81,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=i WA3,2634.399,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a WA3,3126.823,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=u WA3,3613.636,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=- WA3,223.063,226.935,-435.268,101.935,51.907 +_񂫂カカカ傫.wav=u WA3,577.721,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=n WA3,1134.999,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u WA3,1644.999,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u WA3,2114.999,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=e WA3,2634.999,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u WA3,3124.999,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=o WA3,3634.999,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=- WA3,360.549,199.449,-407.782,74.449,39.281 +_񂬂ガガガ催.wav=u WA3,684.999,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=n WA3,1214.999,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u WA3,1704.999,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u WA3,2184.999,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=e WA3,2694.999,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u WA3,3184.998,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=o WA3,3694.998,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=- WA3,402.637,197.362,-405.695,72.362,46.296 +_񂫂傫傫Ⴋ傫.wav=o WA3,680.135,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=n WA3,1225.0,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o WA3,1745.0,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o WA3,2225.0,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=a WA3,2725.0,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o WA3,3256.022,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=i WA3,3725.0,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=- WA3,281.986,168.012,-376.345,43.012,26.655 +_񂬂催催Ⴌ催.wav=o WA3,574.999,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=n WA3,1114.999,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o WA3,1611.672,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o WA3,2094.998,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=a WA3,2583.894,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o WA3,3094.998,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=i WA3,3591.189,375.0,-583.333,250.0,83.333 +_񂫂.wav=- WA3,408.249,255.47,-463.803,130.47,64.534 +_񂫂.wav=i WA3,719.415,375.0,-583.333,250.0,83.333 +_񂫂.wav=n WA3,1344.999,375.0,-583.333,250.0,83.333 +_񂫂.wav=i WA3,1814.999,375.0,-583.333,250.0,83.333 +_񂫂.wav=i WA3,2314.999,375.0,-583.333,250.0,83.333 +_񂫂.wav=u WA3,2850.557,375.0,-583.333,250.0,83.333 +_񂫂.wav=i WA3,3272.857,375.0,-583.333,250.0,83.333 +_񂫂.wav=e WA3,3787.749,375.0,-583.333,250.0,83.333 +_񂬂.wav=- WA3,260.942,199.057,-407.39,74.057,35.072 +_񂬂.wav=i WA3,572.109,375.0,-583.333,250.0,83.333 +_񂬂.wav=n WA3,1135.0,375.0,-583.333,250.0,83.333 +_񂬂.wav=i WA3,1642,375,-583,250,83 +_񂬂.wav=i WA3,2120.931,375.0,-583.333,250.0,83.333 +_񂬂.wav=u WA3,2611.952,375.0,-583.333,250.0,83.333 +_񂬂.wav=i WA3,3107.182,375.0,-583.333,250.0,83.333 +_񂬂.wav=e WA3,3615.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=- WA3,418.069,207.77,-416.103,82.769,42.087 +_񂭂.wav=a WA3,701.178,375.0,-583.333,250.0,83.333 +_񂭂.wav=n WA3,1245.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=a WA3,1753.415,375.0,-583.333,250.0,83.333 +_񂭂.wav=a WA3,2261.3,375.0,-583.333,250.0,83.333 +_񂭂.wav=i WA3,2759.362,375.0,-583.333,250.0,83.333 +_񂭂.wav=a WA3,3264.44,375.0,-583.333,250.0,83.333 +_񂭂.wav=u WA3,3740.049,375.0,-583.333,250.0,83.333 +_񂮂.wav=- WA3,209.034,160.965,-369.298,35.965,12.626 +_񂮂.wav=a WA3,482.323,375.0,-583.333,250.0,83.333 +_񂮂.wav=n WA3,1035.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=a WA3,1537.317,375.0,-583.333,250.0,83.333 +_񂮂.wav=a WA3,2054.994,375.0,-583.333,250.0,83.333 +_񂮂.wav=i WA3,2544.999,375.0,-583.333,250.0,83.333 +_񂮂.wav=a WA3,3042.648,375.0,-583.333,250.0,83.333 +_񂮂.wav=u WA3,3544.892,375.0,-583.333,250.0,83.333 +_񂭂.wav=- WA3,251.122,217.59,-425.923,92.59,57.519 +_񂭂.wav=i WA3,514.59,375.0,-583.333,250.0,83.333 +_񂭂.wav=n WA3,1120.65,375.0,-583.333,250.0,83.333 +_񂭂.wav=i WA3,1618.686,375.0,-583.333,250.0,83.333 +_񂭂.wav=i WA3,2109.709,375.0,-583.333,250.0,83.333 +_񂭂.wav=u WA3,2630.191,375.0,-583.333,250.0,83.333 +_񂭂.wav=i WA3,3084.736,375.0,-583.333,250.0,83.333 +_񂭂.wav=e WA3,3605.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=- WA3,234.287,205.711,-414.044,80.711,33.67 +_񂮂.wav=i WA3,553.872,375.0,-583.333,250.0,83.333 +_񂮂.wav=n WA3,1134.999,375.0,-583.333,250.0,83.333 +_񂮂.wav=i WA3,1617.283,375.0,-583.333,250.0,83.333 +_񂮂.wav=i WA3,2137.767,375.0,-583.333,250.0,83.333 +_񂮂.wav=u WA3,2634.999,375.0,-583.333,250.0,83.333 +_񂮂.wav=i WA3,3134.999,375.0,-583.333,250.0,83.333 +_񂮂.wav=e WA3,3651.515,375.0,-583.333,250.0,83.333 +_񂭂.wav=- WA3,312.85,189.532,-397.866,64.533,32.267 +_񂭂.wav=e WA3,646.464,375.0,-583.333,250.0,83.333 +_񂭂.wav=n WA3,1165.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=e WA3,1665.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=e WA3,2170.033,375.0,-583.333,250.0,83.333 +_񂭂.wav=o WA3,2655.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=e WA3,3175.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=a WA3,3665.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=- WA3,360.549,169.45,-377.783,44.45,25.252 +_񂮂.wav=e WA3,645.061,375.0,-583.333,250.0,83.333 +_񂮂.wav=n WA3,1155.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=e WA3,1669.192,375.0,-583.333,250.0,83.333 +_񂮂.wav=e WA3,2185.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=o WA3,2685.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=e WA3,3165.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=a WA3,3655.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=- WA3,373.176,206.821,-415.155,81.822,42.087 +_񂭂.wav=o WA3,675.925,375.0,-583.333,250.0,83.333 +_񂭂.wav=n WA3,1223.083,375.0,-583.333,250.0,83.333 +_񂭂.wav=o WA3,1724.999,375.0,-583.333,250.0,83.333 +_񂭂.wav=o WA3,2240.254,375.0,-583.333,250.0,83.333 +_񂭂.wav=a WA3,2731.303,375.0,-583.333,250.0,83.333 +_񂭂.wav=o WA3,3271.455,375.0,-583.333,250.0,83.333 +_񂭂.wav=i WA3,3748.466,375.0,-583.333,250.0,83.333 +_񂮂.wav=- WA3,416.666,172.698,-381.031,47.698,25.252 +_񂮂.wav=o WA3,689.955,375.0,-583.333,250.0,83.333 +_񂮂.wav=n WA3,1195.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=o WA3,1732.37,375.0,-583.333,250.0,83.333 +_񂮂.wav=o WA3,2223.418,375.0,-583.333,250.0,83.333 +_񂮂.wav=a WA3,2725.689,375.0,-583.333,250.0,83.333 +_񂮂.wav=o WA3,3255.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=i WA3,3735.0,375.0,-583.333,250.0,83.333 +_.wav=- WA3,231.481,272.305,-480.638,147.305,98.204 +_.wav=u WA3,577.721,375.0,-583.333,250.0,83.333 +_.wav=e WA3,1105.0,375.0,-583.333,250.0,83.333 +_.wav=u WA3,1592.031,375.0,-583.333,250.0,83.333 +_.wav=o WA3,2095.0,375.0,-583.333,250.0,83.333 +_.wav=u WA3,2582.491,375.0,-583.333,250.0,83.333 +_.wav=e WA3,3067.901,375.0,-583.333,250.0,83.333 +_.wav=u WA3,3572.95,375.0,-583.333,250.0,83.333 +_񂭂.wav=- WA3,280.583,204.965,-413.298,79.965,36.475 +_񂭂.wav=u WA3,573.512,375.0,-583.333,250.0,83.333 +_񂭂.wav=n WA3,1135.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=u WA3,1634.119,375.0,-583.333,250.0,83.333 +_񂭂.wav=u WA3,2104.096,375.0,-583.333,250.0,83.333 +_񂭂.wav=e WA3,2635.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=u WA3,3124.017,375.0,-583.333,250.0,83.333 +_񂭂.wav=o WA3,3616.442,375.0,-583.333,250.0,83.333 +_񂮂.wav=- WA3,336.7,176.907,-385.24,51.907,28.058 +_񂮂.wav=u WA3,677.328,375.0,-583.333,250.0,83.333 +_񂮂.wav=n WA3,1175.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=u WA3,1655.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=u WA3,2144.999,375.0,-583.333,250.0,83.333 +_񂮂.wav=e WA3,2672.278,375.0,-583.333,250.0,83.333 +_񂮂.wav=u WA3,3161.896,375.0,-583.333,250.0,83.333 +_񂮂.wav=o WA3,3673.961,375.0,-583.333,250.0,83.333 +_񂯂.wav=- WA3,356.341,202.159,-410.492,77.159,40.684 +_񂯂.wav=e WA3,633.838,375.0,-583.333,250.0,83.333 +_񂯂.wav=n WA3,1209.034,375.0,-583.333,250.0,83.333 +_񂯂.wav=e WA3,1659.371,375.0,-583.333,250.0,83.333 +_񂯂.wav=e WA3,2188.27,375.0,-583.333,250.0,83.333 +_񂯂.wav=o WA3,2664.999,375.0,-583.333,250.0,83.333 +_񂯂.wav=e WA3,3167.508,375,-583,250,83 +_񂯂.wav=a WA3,3664.999,375.0,-583.333,250.0,83.333 +_񂰂.wav=- WA3,401.234,176.906,-385.24,51.907,26.655 +_񂰂.wav=e WA3,732.042,375.0,-583.333,250.0,83.333 +_񂰂.wav=n WA3,1244.999,375.0,-583.333,250.0,83.333 +_񂰂.wav=e WA3,1734.999,375.0,-583.333,250.0,83.333 +_񂰂.wav=e WA3,2229.029,375.0,-583.333,250.0,83.333 +_񂰂.wav=o WA3,2734.998,375.0,-583.333,250.0,83.333 +_񂰂.wav=e WA3,3212.529,375.0,-583.333,250.0,83.333 +_񂰂.wav=a WA3,3714.998,375.0,-583.333,250.0,83.333 +_񂱂.wav=- WA3,399.831,207.77,-416.103,82.77,54.713 +_񂱂.wav=o WA3,687.149,375.0,-583.333,250.0,83.333 +_񂱂.wav=n WA3,1237.113,375.0,-583.333,250.0,83.333 +_񂱂.wav=o WA3,1735.0,375.0,-583.333,250.0,83.333 +_񂱂.wav=o WA3,2220.613,375.0,-583.333,250.0,83.333 +_񂱂.wav=a WA3,2739.72,375.0,-583.333,250.0,83.333 +_񂱂.wav=o WA3,3234.999,375.0,-583.333,250.0,83.333 +_񂱂.wav=i WA3,3724.998,375.0,-583.333,250.0,83.333 +_񂲂.wav=- WA3,225.869,178.31,-386.643,53.31,29.461 +_񂲂.wav=o WA3,524.41,375.0,-583.333,250.0,83.333 +_񂲂.wav=n WA3,1051.907,375.0,-583.333,250.0,83.333 +_񂲂.wav=o WA3,1565.0,375.0,-583.333,250.0,83.333 +_񂲂.wav=o WA3,2054.999,375.0,-583.333,250.0,83.333 +_񂲂.wav=a WA3,2558.641,375.0,-583.333,250.0,83.333 +_񂲂.wav=o WA3,3079.124,375.0,-583.333,250.0,83.333 +_񂲂.wav=i WA3,3561.729,375.0,-583.333,250.0,83.333 +_񂳂.wav=- WA3,63.131,346.868,-555.201,221.868,129.068 +_񂳂.wav=a WA3,518.799,375.0,-583.333,250.0,83.333 +_񂳂.wav=n WA3,1056.116,375.0,-583.333,250.0,83.333 +_񂳂.wav=a WA3,1545.0,375.0,-583.333,250.0,83.333 +_񂳂.wav=a WA3,2045.0,375.0,-583.333,250.0,83.333 +_񂳂.wav=i WA3,2535.0,375.0,-583.333,250.0,83.333 +_񂳂.wav=a WA3,3045.0,375.0,-583.333,250.0,83.333 +_񂳂.wav=u WA3,3525.0,375.0,-583.333,250.0,83.333 +_񂴂.wav=- WA3,246.913,193.085,-401.418,68.085,29.461 +_񂴂.wav=a WA3,607.182,375.0,-583.333,250.0,83.333 +_񂴂.wav=n WA3,1123.456,375.0,-583.333,250.0,83.333 +_񂴂.wav=a WA3,1634.118,375.0,-583.333,250.0,83.333 +_񂴂.wav=a WA3,2148.988,375.0,-583.333,250.0,83.333 +_񂴂.wav=i WA3,2644.999,375.0,-583.333,250.0,83.333 +_񂴂.wav=a WA3,3164.999,375.0,-583.333,250.0,83.333 +_񂴂.wav=u WA3,3606.62,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=- WA3,317.059,317.199,-525.532,192.199,127.665 +_񂵂債Ⴕ.wav=e WA3,725.028,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=n WA3,1269.382,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e WA3,1774.999,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e WA3,2276.732,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=o WA3,2744.999,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e WA3,3264.999,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=a WA3,3764.999,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=- WA3,283.389,216.61,-424.943,91.61,53.31 +_񂶂傶Ⴖ.wav=e WA3,625.0,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=n WA3,1138.888,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e WA3,1655.0,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e WA3,2153.198,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=o WA3,2624.999,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e WA3,3144.999,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=a WA3,3643.098,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=- WA3,150.112,297.557,-505.89,172.557,110.83 +_񂵂ႵႵႵサ.wav=a WA3,551.067,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=n WA3,1094.999,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a WA3,1554.999,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a WA3,2074.998,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=i WA3,2554.998,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a WA3,3070.707,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=u WA3,3528.058,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=- WA3,308.641,221.358,-429.691,96.358,51.907 +_񂶂ႶႶႶザ.wav=a WA3,638.048,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=n WA3,1155.0,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a WA3,1665.0,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a WA3,2168.63,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=i WA3,2655.0,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a WA3,3185.0,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=u WA3,3645.0,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=- WA3,252.525,338.242,-546.575,213.241,122.053 +_񂵂サササ債.wav=u WA3,680.134,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=n WA3,1235.0,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u WA3,1705.0,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u WA3,2193.883,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=e WA3,2695.0,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u WA3,3184.999,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=o WA3,3684.999,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=- WA3,239.898,240.101,-448.434,115.101,70.145 +_񂶂ザザザ傶.wav=u WA3,569.304,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=n WA3,1091.189,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u WA3,1595.0,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u WA3,2081.649,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=e WA3,2606.341,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u WA3,3080.528,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=o WA3,3571.548,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=- WA3,197.811,292.188,-500.521,167.188,108.024 +_񂵂債債Ⴕ債.wav=o WA3,569.304,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=n WA3,1119.248,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o WA3,1599.046,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o WA3,2085.858,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=a WA3,2574.074,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o WA3,3084.736,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=i WA3,3575.0,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=- WA3,399.831,200.168,-408.501,75.168,35.072 +_񂶂傶傶Ⴖ傶.wav=o WA3,694.163,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=n WA3,1205.0,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o WA3,1688.832,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o WA3,2179.855,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=a WA3,2693.321,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o WA3,3204.999,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=i WA3,3674.999,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=- WA3,186.307,375.0,-583.333,250.0,156.005 +_񂵂サ.wav=i WA3,636.644,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=n WA3,1184.999,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i WA3,1674.999,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i WA3,2154.999,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=u WA3,2644.998,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i WA3,3124.998,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=e WA3,3624.998,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=- WA3,336.7,263.299,-471.632,138.299,75.757 +_񂶂ザ.wav=i WA3,661.896,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=n WA3,1265.0,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i WA3,1763.236,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i WA3,2264.999,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=u WA3,2774.999,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i WA3,3244.999,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=e WA3,3774.999,375.0,-583.333,250.0,83.333 +_񂷂.wav=- WA3,193.602,326.397,-534.73,201.397,130.471 +_񂷂.wav=i WA3,612.794,375.0,-583.333,250.0,83.333 +_񂷂.wav=n WA3,1155.0,375.0,-583.333,250.0,83.333 +_񂷂.wav=i WA3,1660.774,375.0,-583.333,250.0,83.333 +_񂷂.wav=i WA3,2143.378,375.0,-583.333,250.0,83.333 +_񂷂.wav=u WA3,2625.0,375.0,-583.333,250.0,83.333 +_񂷂.wav=i WA3,3105.0,375.0,-583.333,250.0,83.333 +_񂷂.wav=e WA3,3615.0,375.0,-583.333,250.0,83.333 +_񂸂.wav=- WA3,345.117,247.053,-455.386,122.053,71.548 +_񂸂.wav=i WA3,727.833,375.0,-583.333,250.0,83.333 +_񂸂.wav=n WA3,1215.0,375.0,-583.333,250.0,83.333 +_񂸂.wav=i WA3,1705.0,375.0,-583.333,250.0,83.333 +_񂸂.wav=i WA3,2205.0,375.0,-583.333,250.0,83.333 +_񂸂.wav=u WA3,2687.71,375.0,-583.333,250.0,83.333 +_񂸂.wav=i WA3,3170.314,375.0,-583.333,250.0,83.333 +_񂸂.wav=e WA3,3695.0,375.0,-583.333,250.0,83.333 +_񂷂.wav=- WA3,230.078,342.452,-550.785,217.452,140.291 +_񂷂.wav=u WA3,664.703,375.0,-583.333,250.0,83.333 +_񂷂.wav=n WA3,1251.122,375.0,-583.333,250.0,83.333 +_񂷂.wav=u WA3,1735.129,375.0,-583.333,250.0,83.333 +_񂷂.wav=u WA3,2182.659,375.0,-583.333,250.0,83.333 +_񂷂.wav=e WA3,2703.142,375.0,-583.333,250.0,83.333 +_񂷂.wav=u WA3,3173.12,375.0,-583.333,250.0,83.333 +_񂷂.wav=o WA3,3687.991,375.0,-583.333,250.0,83.333 +_񂸂.wav=- WA3,405.443,227.411,-435.744,102.41,56.116 +_񂸂.wav=u WA3,723.625,375.0,-583.333,250.0,83.333 +_񂸂.wav=n WA3,1253.949,375.0,-583.333,250.0,83.333 +_񂸂.wav=u WA3,1759.027,375.0,-583.333,250.0,83.333 +_񂸂.wav=u WA3,2236.046,375.0,-583.333,250.0,83.333 +_񂸂.wav=e WA3,2784.999,375.0,-583.333,250.0,83.333 +_񂸂.wav=u WA3,3264.999,375.0,-583.333,250.0,83.333 +_񂸂.wav=o WA3,3782.136,375.0,-583.333,250.0,83.333 +_񂹂.wav=- WA3,303.03,379.969,-587.969,178.969,102.969 +_񂹂.wav=e WA3,710.997,375.0,-583.333,250.0,83.333 +_񂹂.wav=n WA3,1265.0,375.0,-583.333,250.0,83.333 +_񂹂.wav=e WA3,1725.0,375.0,-583.333,250.0,83.333 +_񂹂.wav=e WA3,2225.0,375.0,-583.333,250.0,83.333 +_񂹂.wav=o WA3,2725.0,375.0,-583.333,250.0,83.333 +_񂹂.wav=e WA3,3214.999,375.0,-583.333,250.0,83.333 +_񂹂.wav=a WA3,3724.999,375.0,-583.333,250.0,83.333 +_񂺂.wav=- WA3,239.898,190.101,-398.434,65.101,35.072 +_񂺂.wav=e WA3,573.512,375.0,-583.333,250.0,83.333 +_񂺂.wav=n WA3,1084.999,375.0,-583.333,250.0,83.333 +_񂺂.wav=e WA3,1604.999,375.0,-583.333,250.0,83.333 +_񂺂.wav=e WA3,2113.916,375.0,-583.333,250.0,83.333 +_񂺂.wav=o WA3,2609.147,375.0,-583.333,250.0,83.333 +_񂺂.wav=e WA3,3119.81,375.0,-583.333,250.0,83.333 +_񂺂.wav=a WA3,3624.999,375.0,-583.333,250.0,83.333 +_񂻂.wav=- WA3,113.636,326.362,-534.695,201.362,129.068 +_񂻂.wav=o WA3,548.26,375.0,-583.333,250.0,83.333 +_񂻂.wav=n WA3,1099.607,375.0,-583.333,250.0,83.333 +_񂻂.wav=o WA3,1584.999,375.0,-583.333,250.0,83.333 +_񂻂.wav=o WA3,2074.635,375.0,-583.333,250.0,83.333 +_񂻂.wav=a WA3,2574.997,375.0,-583.333,250.0,83.333 +_񂻂.wav=o WA3,3084.997,375.0,-583.333,250.0,83.333 +_񂻂.wav=i WA3,3564.997,375.0,-583.333,250.0,83.333 +_񂼂.wav=- WA3,368.967,171.032,-379.365,46.032,21.043 +_񂼂.wav=o WA3,657.687,375.0,-583.333,250.0,83.333 +_񂼂.wav=n WA3,1189.393,375.0,-583.333,250.0,83.333 +_񂼂.wav=o WA3,1665.0,375.0,-583.333,250.0,83.333 +_񂼂.wav=o WA3,2155.0,375.0,-583.333,250.0,83.333 +_񂼂.wav=a WA3,2655.0,375.0,-583.333,250.0,83.333 +_񂼂.wav=o WA3,3165.0,375.0,-583.333,250.0,83.333 +_񂼂.wav=i WA3,3657.125,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=- WA3,349.326,200.673,-409.005,75.673,51.907 +_񂽂ĂƂ.wav=a WA3,632.435,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=n WA3,1133.277,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=a WA3,1659.37,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=a ĂWA3,2195.0,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=i WA3,2675.0,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=a ƂWA3,3181.537,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=u WA3,3637.485,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=- WA3,398.428,151.571,-359.903,26.571,0.0 +_񂾂łǂ.wav=a WA3,677.328,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=n WA3,1195.0,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a WA3,1705.0,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a łWA3,2215.0,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=i WA3,2717.272,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a ǂWA3,3215.0,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=u WA3,3705.0,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=- WA3,267.957,234.425,-442.759,109.426,67.34 +_񂿂傿Ⴟ.wav=e WA3,587.543,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=n WA3,1155.0,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e WA3,1655.0,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e WA3,2144.999,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=o WA3,2642.817,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e WA3,3134.998,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=a WA3,3637.484,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=- WA3,293.209,236.79,-445.123,111.79,58.922 +_񂿂ႿႿႿタ.wav=a WA3,609.988,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=n WA3,1175.0,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a WA3,1660.774,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a WA3,2214.927,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=i WA3,2662.457,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a WA3,3196.969,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=u WA3,3675.364,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=- WA3,196.408,297.558,-505.891,172.558,98.204 +_񂿂タタタ傿.wav=u WA3,544.051,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=n WA3,1125.0,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u WA3,1599.046,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u WA3,2069.024,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=e WA3,2585.0,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u WA3,3069.304,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=o WA3,3575.0,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=- WA3,338.103,220.396,-428.729,95.396,44.893 +_񂿂傿傿Ⴟ傿.wav=o WA3,684.999,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=n WA3,1234.999,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o WA3,1728.114,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o WA3,2214.998,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=a WA3,2708.754,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o WA3,3225.028,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=i WA3,3704.826,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=- WA3,376,299,4113,137,60 +_񂿂タ.wav=i WA3,688.552,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=n WA3,1265.0,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i WA3,1735.0,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i WA3,2265.0,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=u WA3,2741.123,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i WA3,3224.999,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=e WA3,3754.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚WA3,224.466,216.189,-424.522,91.189,53.31 +_‚‚‚‚‚‚‚.wav=a WA3,546.857,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚WA3,1072.951,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚WA3,1568.181,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚WA3,2125.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚WA3,2589.507,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a WA3,3115.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚WA3,3565.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚WA3,304.433,235.566,-443.899,110.566,56.116 +_‚‚‚‚‚‚‚.wav=i WA3,638.047,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚WA3,1190.796,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚WA3,1695.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i WA3,2184.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚WA3,2694.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚WA3,3174.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚WA3,3684.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚WA3,185.185,234.814,-443.147,109.814,64.534 +_‚‚‚‚‚‚‚.wav=e WA3,520.202,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚WA3,1045.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚WA3,1565.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚WA3,2054.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚WA3,2534.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚WA3,3024.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚WA3,3534.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚WA3,225.869,234.13,-442.463,109.13,64.534 +_‚‚‚‚‚‚‚.wav=o WA3,553.872,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚WA3,1095.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚WA3,1605.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚WA3,2070.426,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚WA3,2582.491,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚WA3,3144.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚WA3,3614.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=- WA3,345.117,234.88,-443.214,109.881,51.907 +_‚‚‚‚‚‚.wav=u WA3,659.09,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=n WA3,1260.964,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u WA3,1734.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚WA3,2202.373,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=e WA3,2774.794,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚WA3,3234.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=o WA3,3734.999,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=- ĂWA3,354.938,235.061,-443.394,110.06,60.325 +_ĂĂĂƂĂĂĂ.wav=i WA3,706.79,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=n ĂWA3,1255.0,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ĂWA3,1755.0,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ƂWA3,2245.0,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=u ĂWA3,2745.0,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i WA3,3205.0,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=e ĂWA3,3711.991,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=- łWA3,231.481,188.518,-396.851,63.518,26.655 +_łłłǂłłł.wav=i WA3,541.245,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=n łWA3,1042.088,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i łWA3,1555.0,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i ǂWA3,2065.0,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=u łWA3,2575.0,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i WA3,3045.0,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=e łWA3,3551.906,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=- ĂWA3,388.608,217.591,-425.924,92.59,47.699 +_ĂĂ゠ĂアĂウĂ.wav=u ĂWA3,784.999,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u WA3,1200.639,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=a ĂWA3,1802.521,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u WA3,2205.185,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=i ĂWA3,2770.586,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u WA3,3212.532,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=e ĂWA3,3794.999,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=- łWA3,260.942,209.057,-417.39,84.057,46.296 +_łł゠łアłウł.wav=u łWA3,608.585,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u WA3,1044.893,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=a łWA3,1649.551,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u WA3,2059.203,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=i łWA3,2610.549,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u WA3,3055.274,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=e łWA3,3595.0,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=- WA3,331,166,4170,51,18 +_ĂĂĂƂĂ.wav=e WA3,664.702,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=n WA3,1138.888,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e WA3,1599.046,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e WA3,2112.514,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=o WA3,2628.787,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e WA3,3114.197,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=a WA3,3613.636,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=- WA3,272.166,247.833,-456.166,122.833,95.398 +_łłłǂł.wav=e WA3,705.387,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=n WA3,1185.0,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e WA3,1705.0,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e WA3,2196.689,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=o WA3,2695.0,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e WA3,3188.552,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=a WA3,3672.558,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=- ƂWA3,245.51,204.488,-412.821,79.488,43.49 +_ƂƂƂĂƂƂƂ.wav=u WA3,563.692,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=n ƂWA3,1114.999,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u ƂWA3,1614.999,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u WA3,2064.998,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=e ƂWA3,2584.998,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u WA3,3044.998,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=o ƂWA3,3574.998,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=- ǂWA3,328.282,161.717,-370.05,36.717,0.0 +_ǂǂǂłǂǂǂ.wav=u WA3,607.182,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=n ǂWA3,1115.0,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u ǂWA3,1615.0,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u WA3,2095.0,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=e ǂWA3,2615.0,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u WA3,3115.0,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=o ǂWA3,3635.0,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=- WA3,401.234,178.763,-387.097,53.764,7.014 +_ƂƂƂƂĂ.wav=o WA3,701.178,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=n WA3,1189.393,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o WA3,1684.999,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o WA3,2178.452,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=a WA3,2666.665,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o ĂWA3,3159.09,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=i WA3,3662.738,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=- WA3,453.142,144.64,-352.973,19.64,0.0 +_ǂǂǂǂł.wav=o WA3,712.401,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=n WA3,1245.0,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o WA3,1735.0,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o WA3,2243.06,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=a WA3,2735.513,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o łWA3,3247.604,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=i WA3,3745.0,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=- WA3,335.297,231.621,-439.954,106.621,74.354 +_ȂȂȂɂȂʂ.wav=a WA3,702.581,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=n WA3,1190.813,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a WA3,1716.935,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a WA3,2206.58,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=i WA3,2699.033,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a WA3,3198.499,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=u WA3,3695.156,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂWA3,305.836,193.742,-402.075,68.742,51.907 +_ɂɂɂɂɂɂɂ.wav=e WA3,609.988,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂWA3,1112.233,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂWA3,1645.342,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂWA3,2113.916,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂWA3,2607.744,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂWA3,3090.347,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂWA3,3606.621,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂWA3,370.37,168.488,-376.821,43.488,23.849 +_ɂɂɂɂɂɂɂ.wav=a WA3,682.939,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂWA3,1210.456,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂWA3,1709.919,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a WA3,2209.385,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂWA3,2714.462,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂWA3,3192.886,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂWA3,3716.2,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂWA3,248.316,176.907,-385.24,51.907,29.461 +_ɂɂɂɂɂɂɂ.wav=u WA3,537.036,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂWA3,1016.835,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂWA3,1531.706,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂWA3,2019.922,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂWA3,2520.763,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂWA3,3044.051,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂWA3,3551.906,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂWA3,429.292,170.707,-379.04,45.707,35.072 +_ɂɂɂɂɂɂɂ.wav=o WA3,712.401,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂWA3,1188.01,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂWA3,1670.64,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂWA3,2161.69,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂWA3,2644.321,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o WA3,3185.875,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂWA3,3668.501,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=- WA3,291.806,178.309,-386.642,53.309,28.058 +_ɂɂɂʂɂ˂.wav=i WA3,584.736,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=n WA3,1049.102,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i WA3,1535.914,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i WA3,2032.547,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=u WA3,2530.584,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i WA3,3020.202,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=e WA3,3536.475,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=- WA3,287.598,175.504,-383.837,50.504,35.072 +_ʂʂʂ˂ʂ̂.wav=u WA3,607.182,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=n WA3,1088.383,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u WA3,1593.434,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u WA3,2095.678,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=e WA3,2613.356,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u WA3,3109.989,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=o WA3,3598.204,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=- WA3,340.909,214.785,-423.117,89.785,60.325 +_˂˂˂̂˂Ȃ.wav=e WA3,682.94,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=n WA3,1157.143,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e WA3,1666.429,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e WA3,2163.09,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=o WA3,2661.153,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e WA3,3173.245,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=a WA3,3665.0,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=- WA3,204.826,225.172,-433.505,100.172,64.534 +_̂̂̂Ȃ̂ɂ.wav=o WA3,528.619,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=n WA3,1007.014,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o WA3,1509.259,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o WA3,2012,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=a WA3,2530.583,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o WA3,3001.964,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=i WA3,3518.237,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=- WA3,232.884,248.455,-456.788,123.455,78.563 +_͂͂͂Ђ͂ӂ.wav=a WA3,558.079,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=n WA3,1124.859,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a WA3,1615.0,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a WA3,2105.0,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=i WA3,2609.147,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a WA3,3104.377,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=u WA3,3624.999,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=- WA3,284.792,139.027,-347.36,14.027,0.0 +_΂΂΂т΂Ԃ.wav=a WA3,555.274,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=n WA3,1058.922,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a WA3,1563.973,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a WA3,2043.771,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=i WA3,2541.806,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a WA3,3042.648,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=u WA3,3535.0,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=- WA3,361.952,174.101,-382.434,49.101,22.446 +_ςςς҂ςՂ.wav=a WA3,642.255,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=n WA3,1155.724,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a WA3,1653.759,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a WA3,2148.989,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=i WA3,2645.0,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a WA3,3159.09,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=u WA3,3647.307,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂWA3,230.078,308.78,-517.113,183.78,115.039 +_ЂЂЂЂЂЂЂ.wav=e WA3,646.464,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂWA3,1185.185,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂWA3,1680.415,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂWA3,2178.452,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂWA3,2661.055,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂWA3,3181.537,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂWA3,3692.199,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тWA3,328.282,155.864,-364.197,30.864,0.0 +_ттттттт.wav=e WA3,618.406,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тWA3,1129.068,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тWA3,1632.716,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тWA3,2113.916,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тWA3,2621.773,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тWA3,3115.601,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тWA3,3612.233,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂WA3,339.506,174.101,-382.434,49.101,7.014 +_҂҂҂҂҂҂҂.wav=e WA3,626.823,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂WA3,1164.141,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂WA3,1635.521,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂WA3,2132.154,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂WA3,2631.593,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂WA3,3138.047,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂WA3,3643.096,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=- WA3,370.37,151.653,-359.987,26.653,0.0 +_тттт҂҂҂҂.wav=i тWA3,678.731,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u WA3,1147.306,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i тWA3,1638.327,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=e WA3,2160.212,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂WA3,2637.205,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u WA3,3138.048,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂WA3,3634.998,374.999,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=- WA3,186.588,303.411,-511.744,178.411,119.248 +_ЂЂЂЂ݂݂݂݂.wav=i ЂWA3,579.123,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u WA3,1095.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ЂWA3,1573.793,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=e WA3,2047.979,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ݂WA3,2523.569,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u WA3,3011.785,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ݂WA3,3504.207,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂWA3,127.665,266.694,-475.027,141.694,63.131 +_ЂЂЂЂЂЂЂ.wav=a WA3,504.769,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂWA3,1065.937,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂWA3,1545.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a WA3,2053.591,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂWA3,2535.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂWA3,3051.066,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂWA3,3532.267,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тWA3,419.472,160.071,-368.403,35.071,16.835 +_ттттттт.wav=a WA3,715.0,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тWA3,1225.889,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тWA3,1733.773,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a WA3,2222.015,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тWA3,2736.913,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тWA3,3222.35,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тWA3,3714.998,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂WA3,227.272,188.131,-396.464,63.131,40.684 +_҂҂҂҂҂҂҂.wav=a WA3,514.591,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂WA3,1025.252,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂WA3,1526.094,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a WA3,2035.353,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂WA3,2516.553,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂WA3,3027.216,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂WA3,3509.821,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂWA3,185.185,314.393,-522.726,189.393,102.413 +_ЂЂЂЂЂЂЂ.wav=u WA3,612.794,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂWA3,1185.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂWA3,1659.37,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂWA3,2115.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂWA3,2618.966,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂWA3,3131.032,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂWA3,3629.068,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тWA3,276.374,153.057,-361.39,28.057,8.417 +_ттттттт.wav=u WA3,566.498,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тWA3,1056.116,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тWA3,1556.958,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тWA3,2054.994,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тWA3,2594.998,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тWA3,3087.542,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тWA3,3582.772,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂WA3,298.821,185.325,-393.658,60.325,25.252 +_҂҂҂҂҂҂҂.wav=u WA3,595.959,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂WA3,1119.248,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂WA3,1600.447,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂WA3,2076.038,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂WA3,2595.117,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂WA3,3094.557,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂WA3,3608.024,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂWA3,296.015,301.766,-510.099,176.766,96.801 +_ЂЂЂЂЂЂЂ.wav=o WA3,702.582,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂWA3,1251.143,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂWA3,1730.966,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂWA3,2212.195,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂWA3,2724.999,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o WA3,3256.022,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂWA3,3754.999,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тWA3,373.176,146.823,-355.156,21.823,0.0 +_ттттттт.wav=o WA3,677.328,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тWA3,1183.801,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тWA3,1697.295,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тWA3,2160.285,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тWA3,2656.944,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o WA3,3174.648,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тWA3,3672.71,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂WA3,448.933,157.266,-365.599,32.265,0.0 +_҂҂҂҂҂҂҂.wav=o WA3,722.222,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂WA3,1221.681,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂WA3,1722.549,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂WA3,2213.598,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂WA3,2722.885,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o WA3,3206.917,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂WA3,3720.41,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=- WA3,274.971,315.028,-523.361,190.027,101.01 +_ЂЂЂӂЂւ.wav=i WA3,681.537,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=n WA3,1210.437,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i WA3,1705.0,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i WA3,2175.0,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=u WA3,2670.875,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i WA3,3155.0,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=e WA3,3699.214,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=- WA3,375.982,147.445,-355.778,22.445,0.0 +_тттԂтׂ.wav=i WA3,636.644,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=n WA3,1155.0,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i WA3,1636.924,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i WA3,2127.946,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=u WA3,2630.189,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i WA3,3100.167,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=e WA3,3602.413,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=- WA3,404.04,169.893,-378.226,44.893,19.64 +_҂҂҂Ղ҂؂.wav=i WA3,670.314,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=n WA3,1190.815,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i WA3,1712.728,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i WA3,2217.807,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=u WA3,2701.84,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i WA3,3202.709,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=e WA3,3713.394,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂWA3,227.272,265.29,-473.623,140.29,88.383 +_ӂӂӂӂӂӂӂ.wav=a WA3,646.464,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂWA3,1150.112,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂWA3,1639.73,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂWA3,2126.542,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂWA3,2645.0,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a WA3,3175.0,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂWA3,3661.335,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂWA3,301.627,346.66,-554.993,221.66,136.083 +_ӂӂӂӂӂӂӂ.wav=i WA3,758.698,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂWA3,1251.143,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂWA3,1730.967,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i WA3,2243.06,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂWA3,2757.959,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂWA3,3232.171,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂWA3,3754.999,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂWA3,203.423,262.482,-470.815,141.692,86.98 +_ӂӂӂӂӂӂӂ.wav=e WA3,611.391,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂWA3,1115.0,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂWA3,1634.118,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂWA3,2132.154,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂWA3,2617.564,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂWA3,3095.0,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂWA3,3601.01,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂWA3,263.748,246.251,-454.584,121.251,75.757 +_ӂӂӂӂӂӂӂ.wav=o WA3,622.615,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂWA3,1147.306,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂWA3,1650.953,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂWA3,2157.407,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂWA3,2665.0,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂWA3,3165.0,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂWA3,3675.0,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=- WA3,203.423,277.916,-486.249,152.916,88.383 +_ӂӂӂӂӂӂ.wav=u WA3,584.736,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=n WA3,1082.772,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u WA3,1561.167,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂWA3,2039.562,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=e WA3,2579.685,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂWA3,3052.47,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=o WA3,3577.16,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=- WA3,357.744,302.254,-510.587,177.254,101.01 +_ӂӂӂւӂق.wav=u WA3,760.102,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=n WA3,1244.999,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u WA3,1744.999,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u WA3,2237.448,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=e WA3,2749.54,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u WA3,3243.395,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=o WA3,3759.691,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=- WA3,402.637,151.654,-359.987,26.654,0.0 +_ԂԂԂׂԂڂ.wav=u WA3,701.179,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=n WA3,1200.635,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u WA3,1686.072,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u WA3,2179.924,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=e WA3,2690.616,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u WA3,3187.276,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=o WA3,3694.999,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=- WA3,279.18,167.087,-375.42,42.087,16.835 +_ՂՂՂ؂Ղۂ.wav=u WA3,574.999,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=n WA3,1068.742,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u WA3,1551.346,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u WA3,2031.144,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=e WA3,2565.656,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u WA3,3065.095,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=o WA3,3570.145,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=- WA3,195.005,264.994,-473.327,139.994,85.578 +_ւււقւ͂.wav=e WA3,535.633,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=n WA3,1075.757,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e WA3,1586.419,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e WA3,2067.62,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=o WA3,2569.865,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e WA3,3081.93,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=a WA3,3553.31,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=- WA3,225.869,141.833,-350.166,16.833,0.0 +_ׂׂׂڂׂ΂.wav=e WA3,534.231,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=n WA3,1011.223,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e WA3,1524.999,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e WA3,2015.712,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=o WA3,2509.538,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e WA3,3015.993,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=a WA3,3519.64,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=- WA3,326.879,160.072,-368.404,35.072,12.626 +_؂؂؂ۂ؂ς.wav=e WA3,653.478,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=n WA3,1134.68,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e WA3,1620.089,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e WA3,2137.766,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=o WA3,2614.758,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e WA3,3108.585,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=a WA3,3608.024,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=- WA3,273.569,248.454,-456.788,123.454,75.757 +_ققق͂قЂ.wav=o WA3,626.823,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=n WA3,1165.0,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o WA3,1666.386,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o WA3,2112.515,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=a WA3,2631.594,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o WA3,3097.362,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=i WA3,3603.815,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=- WA3,319.865,141.834,-350.167,16.834,0.0 +_ڂڂڂ΂ڂт.wav=o WA3,619.81,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=n WA3,1127.665,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o WA3,1603.254,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o WA3,2090.067,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=a WA3,2586.7,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o WA3,3070.707,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=i WA3,3601.009,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=- WA3,392.817,169.892,-378.224,44.892,18.237 +_ۂۂۂςۂ҂.wav=o WA3,680.134,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=n WA3,1207.651,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o WA3,1694.49,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o WA3,2174.314,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=a WA3,2682.198,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o WA3,3162.022,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=i WA3,3664.999,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=- WA3,319.865,214.786,-423.119,89.786,53.31 +_܂܂܂݂܂ނ.wav=a WA3,666.105,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=n WA3,1134.999,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a WA3,1645.342,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a WA3,2141.975,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=i WA3,2656.846,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a WA3,3139.451,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=u WA3,3630.471,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂WA3,373.176,148.847,-357.181,23.847,9.82 +_݂݂݂݂݂݂݂.wav=e WA3,677.328,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂WA3,1154.339,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂WA3,1681.86,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂WA3,2178.52,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂WA3,2680.794,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂WA3,3181.662,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂WA3,3665.695,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂WA3,267.957,157.266,-365.599,32.266,14.029 +_݂݂݂݂݂݂݂.wav=a WA3,576.318,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂WA3,1032.267,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂WA3,1535.914,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a WA3,2040.966,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂WA3,2557.239,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂WA3,3042.647,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂WA3,3546.296,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂WA3,331.088,160.072,-368.405,35.072,22.446 +_݂݂݂݂݂݂݂.wav=u WA3,629.63,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂WA3,1108.024,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂WA3,1620.09,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂WA3,2097.081,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂WA3,2593.714,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂WA3,3098.765,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂WA3,3592.591,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂WA3,242.704,157.266,-365.599,32.266,18.237 +_݂݂݂݂݂݂݂.wav=o WA3,508.977,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂WA3,981.762,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂WA3,1486.812,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂WA3,1977.833,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂WA3,2485.69,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o WA3,3003.366,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂WA3,3495.791,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=- WA3,331.088,270.903,-479.236,145.903,120.65 +_݂݂݂ނ݂߂.wav=i WA3,708.193,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=n WA3,1199.235,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i WA3,1707.118,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i WA3,2193.952,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=u WA3,2701.837,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i WA3,3216.736,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=e WA3,3724.618,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=- WA3,214.646,197.951,-406.284,72.951,43.49 +_ނނނ߂ނ.wav=u WA3,555.275,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=n WA3,1057.519,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u WA3,1566.778,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u WA3,2038.159,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=e WA3,2558.64,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u WA3,3067.901,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=o WA3,3561.729,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=- WA3,296.015,204.966,-413.299,79.966,40.684 +_߂߂߂߂܂.wav=e WA3,609.988,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=n WA3,1116.442,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e WA3,1625.701,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e WA3,2125.14,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=o WA3,2599.327,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e WA3,3104.377,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=a WA3,3606.62,375.0,-583.333,250.0,83.333 +_܂݂.wav=- WA3,331.088,235.83,-444.163,110.83,78.563 +_܂݂.wav=o WA3,675.0,375.0,-583.333,250.0,83.333 +_܂݂.wav=n WA3,1192.216,375.0,-583.333,250.0,83.333 +_܂݂.wav=o WA3,1673.444,375.0,-583.333,250.0,83.333 +_܂݂.wav=o WA3,2170.1,375.0,-583.333,250.0,83.333 +_܂݂.wav=a WA3,2669.567,375.0,-583.333,250.0,83.333 +_܂݂.wav=o WA3,3181.662,375.0,-583.333,250.0,83.333 +_܂݂.wav=i WA3,3685.336,375.0,-583.333,250.0,83.333 +_₢.wav=- WA3,136.083,224.606,-432.939,99.606,51.907 +_₢.wav=a WA3,515.993,375.0,-583.333,250.0,83.333 +_₢.wav=n WA3,1037.877,375.0,-583.333,250.0,83.333 +_₢.wav=a WA3,1523.288,375.0,-583.333,250.0,83.333 +_₢.wav=a WA3,2007.295,375.0,-583.333,250.0,83.333 +_₢.wav=i WA3,2533.388,375.0,-583.333,250.0,83.333 +_₢.wav=a WA3,3051.066,375.0,-583.333,250.0,83.333 +_₢.wav=u WA3,3554.714,375.0,-583.333,250.0,83.333 +_䂢.wav=- WA3,214.646,249.859,-458.192,124.859,72.951 +_䂢.wav=u WA3,638.047,375.0,-583.333,250.0,83.333 +_䂢.wav=n WA3,1123.456,375.0,-583.333,250.0,83.333 +_䂢.wav=u WA3,1613.075,375.0,-583.333,250.0,83.333 +_䂢.wav=u WA3,2101.29,375.0,-583.333,250.0,83.333 +_䂢.wav=e WA3,2585.296,375.0,-583.333,250.0,83.333 +_䂢.wav=u WA3,3073.511,375.0,-583.333,250.0,83.333 +_䂢.wav=o WA3,3586.98,375.0,-583.333,250.0,83.333 +_悢.wav=- WA3,377.384,254.069,-462.402,129.068,106.621 +_悢.wav=o WA3,764.309,375.0,-583.333,250.0,83.333 +_悢.wav=n WA3,1256.754,375.0,-583.333,250.0,83.333 +_悢.wav=o WA3,1723.952,375.0,-583.333,250.0,83.333 +_悢.wav=o WA3,2236.044,375.0,-583.333,250.0,83.333 +_悢.wav=a WA3,2742.526,375.0,-583.333,250.0,83.333 +_悢.wav=o WA3,3215.337,375.0,-583.333,250.0,83.333 +_悢.wav=i WA3,3745.0,375.0,-583.333,250.0,83.333 +_.wav=- WA3,136.083,256.873,-465.206,131.873,105.218 +_.wav=a WA3,583.333,375.0,-583.333,250.0,83.333 +_.wav=n WA3,1068.742,375.0,-583.333,250.0,83.333 +_.wav=a WA3,1555.555,375.0,-583.333,250.0,83.333 +_.wav=a WA3,2045.173,375.0,-583.333,250.0,83.333 +_.wav=i WA3,2560.044,375.0,-583.333,250.0,83.333 +_.wav=a WA3,3051.066,375.0,-583.333,250.0,83.333 +_.wav=u WA3,3536.475,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=- 肥WA3,319.865,254.067,-462.4,129.067,95.398 +_肥肥肥肥肥.wav=e WA3,781.144,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=n 肥WA3,1251.143,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e 肥WA3,1707.116,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e WA3,2189.748,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=o 肥WA3,2689.212,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e WA3,3178.858,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=a 肥WA3,3685.336,375.0,-583.333,250.0,83.333 +_.wav=- WA3,237.093,192.339,-400.672,67.339,33.67 +_.wav=a WA3,588.944,375.0,-583.333,250.0,83.333 +_.wav=n WA3,1058.922,375.0,-583.333,250.0,83.333 +_.wav=a WA3,1565.375,375.0,-583.333,250.0,83.333 +_.wav=a WA3,2073.232,375.0,-583.333,250.0,83.333 +_.wav=i WA3,2564.253,375.0,-583.333,250.0,83.333 +_.wav=a WA3,3059.482,375.0,-583.333,250.0,83.333 +_.wav=u WA3,3556.116,375.0,-583.333,250.0,83.333 +_肥.wav=- WA3,231.481,268.518,-476.851,143.518,120.65 +_肥.wav=u WA3,675.0,375.0,-583.333,250.0,83.333 +_肥.wav=n WA3,1165.0,375.0,-583.333,250.0,83.333 +_肥.wav=u WA3,1645.0,375.0,-583.333,250.0,83.333 +_肥.wav=u 肥WA3,2125.0,375.0,-583.333,250.0,83.333 +_肥.wav=e WA3,2628.787,375.0,-583.333,250.0,83.333 +_肥.wav=u WA3,3145.0,375.0,-583.333,250.0,83.333 +_肥.wav=o WA3,3625.0,375.0,-583.333,250.0,83.333 +_.wav=- WA3,155.723,248.456,-456.789,123.456,91.189 +_.wav=o WA3,539.842,375.0,-583.333,250.0,83.333 +_.wav=n WA3,1065.0,375.0,-583.333,250.0,83.333 +_.wav=o WA3,1555.0,375.0,-583.333,250.0,83.333 +_.wav=o WA3,2024.13,375.0,-583.333,250.0,83.333 +_.wav=a WA3,2533.389,375.0,-583.333,250.0,83.333 +_.wav=o WA3,3030.022,375.0,-583.333,250.0,83.333 +_.wav=i WA3,3518.238,375.0,-583.333,250.0,83.333 +_肥ガ.wav=- WA3,232.884,237.115,-445.448,112.115,65.937 +_肥ガ.wav=i WA3,585.0,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u WA3,1082.772,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i 肥WA3,1556.957,375.0,-583.333,250.0,83.333 +_肥ガ.wav=e WA3,2123.736,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i WA3,2611.952,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u WA3,3121.212,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i WA3,3615.0,375.0,-583.333,250.0,83.333 +_.wav=- WA3,244.107,206.368,-414.701,81.368,58.922 +_.wav=i WA3,605.78,375.0,-583.333,250.0,83.333 +_.wav=n WA3,1145.0,375.0,-583.333,250.0,83.333 +_.wav=i WA3,1615.0,375.0,-583.333,250.0,83.333 +_.wav=i WA3,2139.169,375.0,-583.333,250.0,83.333 +_.wav=u WA3,2611.952,375.0,-583.333,250.0,83.333 +_.wav=i WA3,3107.182,375.0,-583.333,250.0,83.333 +_.wav=e WA3,3625.0,375.0,-583.333,250.0,83.333 +_.wav=- WA3,291.806,224.606,-432.939,99.606,75.757 +_.wav=u WA3,710.997,375.0,-583.333,250.0,83.333 +_.wav=n WA3,1195.0,375.0,-583.333,250.0,83.333 +_.wav=u WA3,1691.684,375.0,-583.333,250.0,83.333 +_.wav=u WA3,2157.477,375.0,-583.333,250.0,83.333 +_.wav=e WA3,2683.598,375.0,-583.333,250.0,83.333 +_.wav=u WA3,3170.439,375.0,-583.333,250.0,83.333 +_.wav=o WA3,3682.53,375.0,-583.333,250.0,83.333 +_.wav=- WA3,150.112,233.887,-453.887,106.887,56.116 +_.wav=e WA3,528.619,375.0,-583.333,250.0,83.333 +_.wav=n WA3,1065.937,375.0,-583.333,250.0,83.333 +_.wav=e WA3,1534.512,375.0,-583.333,250.0,83.333 +_.wav=e WA3,2024.13,375.0,-583.333,250.0,83.333 +_.wav=o WA3,2526.375,375.0,-583.333,250.0,83.333 +_.wav=e WA3,3010.381,375.0,-583.333,250.0,83.333 +_.wav=a WA3,3504.208,375.0,-583.333,250.0,83.333 +_.wav=- WA3,196.408,254.067,-462.4,129.067,81.369 +_.wav=o WA3,617.003,375.0,-583.333,250.0,83.333 +_.wav=n WA3,1108.024,375.0,-583.333,250.0,83.333 +_.wav=o WA3,1587.822,375.0,-583.333,250.0,83.333 +_.wav=o WA3,2065.0,375.0,-583.333,250.0,83.333 +_.wav=a WA3,2589.507,375.0,-583.333,250.0,83.333 +_.wav=o WA3,3083.333,375.0,-583.333,250.0,83.333 +_.wav=i WA3,3578.563,375.0,-583.333,250.0,83.333 +_키키.wav=- WA3,248.316,281.683,-490.016,156.683,112.233 +_키키.wav=a WA3,706.79,375.0,-583.333,250.0,83.333 +_키키.wav=n WA3,1166.947,375.0,-583.333,250.0,83.333 +_키키.wav=a WA3,1643.938,375.0,-583.333,250.0,83.333 +_키키.wav=a WA3,2111.111,375.0,-583.333,250.0,83.333 +_키키.wav=i WA3,2654.04,375.0,-583.333,250.0,83.333 +_키키.wav=a WA3,3156.285,375.0,-583.333,250.0,83.333 +_키키.wav=u WA3,3630.471,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=- WA3,242.704,247.293,-455.626,122.293,84.175 +_񂢂񂦂񂨂.wav=n WA3,605.78,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=i WA3,1081.369,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n WA3,1566.778,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=e WA3,2057.8,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n WA3,2588.104,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=o WA3,3077.721,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n RWA3,3992,584,310,250,83 diff --git a/OpenUtau.Test/Files/ja_vcv/W_D4/oto.ini b/OpenUtau.Test/Files/ja_vcv/W_D4/oto.ini new file mode 100644 index 000000000..65002ffd3 --- /dev/null +++ b/OpenUtau.Test/Files/ja_vcv/W_D4/oto.ini @@ -0,0 +1,1224 @@ +_.wav=- WD4,445.495,142.468,-350.801,17.467,6.245 +_.wav=a WD4,710.997,375.0,-583.333,250.0,83.333 +_.wav=a WD4,1270,375,-583,250,83 +_.wav=i WD4,1778.667,375.0,-583.333,250.0,83.333 +_.wav=a WD4,2265.509,375.0,-583.333,250.0,83.333 +_.wav=u WD4,2788.823,375.0,-583.333,250.0,83.333 +_.wav=e WD4,3330.38,375.0,-912.177,250.0,83.333 +_.wav=a RWD4,4084,653,80,250,83 +_.wav=- WD4,263.748,160.072,-363.356,35.071,15.432 +_.wav=i WD4,565.0,375.0,-583.333,250.0,83.333 +_.wav=i WD4,1092.592,375.0,-583.333,250.0,83.333 +_.wav=u WD4,1565.0,375.0,-583.333,250.0,83.333 +_.wav=a WD4,2050.785,375.0,-583.333,250.0,83.333 +_.wav=e WD4,2565.0,375.0,-583.333,250.0,83.333 +_.wav=i WD4,3065.0,375.0,-583.333,250.0,83.333 +_.wav=e RWD4,3993,511,385,250,83 +_񂢂悢₢.wav=- WD4,301.627,181.116,-389.448,56.116,32.267 +_񂢂悢₢.wav=e WD4,649.27,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=n WD4,1136.083,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e WD4,1674.803,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e WD4,2200.897,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=o WD4,2676.487,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e WD4,3142.255,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=a WD4,3676.767,375.0,-583.333,250.0,83.333 +_񃔂.wav=- WD4,301.627,178.31,-386.643,53.31,25.252 +_񃔂.wav=a WD4,594.556,375.0,-583.333,250.0,83.333 +_񃔂.wav=n WD4,1106.62,375.0,-583.333,250.0,83.333 +_񃔂.wav=a WD4,1614.478,375.0,-583.333,250.0,83.333 +_񃔂.wav=a WD4,2129.348,375.0,-583.333,250.0,83.333 +_񃔂.wav=i WD4,2642.817,375.0,-583.333,250.0,83.333 +_񃔂.wav=a WD4,3135.0,375.0,-583.333,250.0,83.333 +_񃔂.wav=u WD4,3617.845,375.0,-583.333,250.0,83.333 +_񂤂.wav=- WD4,420.875,167.084,-375.418,42.085,25.252 +_񂤂.wav=i WD4,695.0,375.0,-583.333,250.0,83.333 +_񂤂.wav=n WD4,1213.261,375.0,-583.333,250.0,83.333 +_񂤂.wav=i WD4,1715.534,375.0,-583.333,250.0,83.333 +_񂤂.wav=i WD4,2188.345,375.0,-583.333,250.0,83.333 +_񂤂.wav=u WD4,2703.241,375.0,-583.333,250.0,83.333 +_񂤂.wav=i WD4,3206.917,375.0,-583.333,250.0,83.333 +_񂤂.wav=e WD4,3706.379,375.0,-583.333,250.0,83.333 +_񃔂.wav=- WD4,367.564,207.771,-416.104,82.77,49.102 +_񃔂.wav=i WD4,661.896,375.0,-583.333,250.0,83.333 +_񃔂.wav=n WD4,1173.98,375.0,-583.333,250.0,83.333 +_񃔂.wav=i WD4,1666.43,375.0,-583.333,250.0,83.333 +_񃔂.wav=i WD4,2177.12,375.0,-583.333,250.0,83.333 +_񃔂.wav=u WD4,2668.168,375.0,-583.333,250.0,83.333 +_񃔂.wav=i WD4,3173.245,375.0,-583.333,250.0,83.333 +_񃔂.wav=e WD4,3684.998,375.0,-583.333,250.0,83.333 +_.wav=- WD4,347.37,161,4190,23,8 +_.wav=u WD4,635.0,375.0,-583.333,250.0,83.333 +_.wav=u WD4,1157.828,375.0,-583.333,250.0,83.333 +_.wav=i WD4,1669.191,375,-583,250,83 +_.wav=o WD4,2148.989,375.0,-583.333,250.0,83.333 +_.wav=a WD4,2647.726,357.324,-583.333,250.0,83.333 +_.wav=o WD4,3155.934,375,-583,250,83 +_.wav=i RWD4,4182,497,-583,250,83 +_䂢.wav=- WD4,217.803,200.756,-409.089,75.756,37.878 +_䂢.wav=u WD4,554.999,375.0,-583.333,250.0,83.333 +_䂢.wav=e WD4,1028.408,375.0,-583.333,250.0,83.333 +_䂢.wav=u WD4,1593.434,375.0,-583.333,250.0,83.333 +_䂢.wav=o WD4,2029.04,375.0,-583.333,250.0,83.333 +_䂢.wav=i WD4,2590.909,375.0,-583.333,250.0,83.333 +_䂢.wav=u WD4,2979.166,375.0,-583.333,250.0,83.333 +_䂢.wav=i WD4,3537.877,375.0,-583.333,250.0,83.333 +_񃔂.wav=- WD4,261.994,229.166,-437.499,104.166,56.818 +_񃔂.wav=e WD4,583.333,375.0,-583.333,250.0,83.333 +_񃔂.wav=n WD4,1094.696,375.0,-583.333,250.0,83.333 +_񃔂.wav=e WD4,1606.06,375.0,-583.333,250.0,83.333 +_񃔂.wav=e WD4,2130.05,375.0,-583.333,250.0,83.333 +_񃔂.wav=o WD4,2625.982,375.0,-583.333,250.0,83.333 +_񃔂.wav=e WD4,3112.794,375.0,-583.333,250.0,83.333 +_񃔂.wav=a WD4,3592.592,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- WD4,277.777,210.577,-418.91,85.577,58.922 +_񂤂키.wav=e WD4,601.57,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n WD4,1106.621,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e WD4,1608.867,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e WD4,2099.886,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o WD4,2611.952,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e WD4,3105.779,375.0,-583.333,250.0,83.333 +_񂤂키.wav=a WD4,3603.815,375.0,-583.333,250.0,83.333 +_񃔂.wav=- WD4,333.894,190.936,-399.268,65.936,44.893 +_񃔂.wav=o WD4,628.226,375,-583,250,83 +_񃔂.wav=n WD4,1155.723,375.0,-583.333,250.0,83.333 +_񃔂.wav=o WD4,1657.968,375.0,-583.333,250.0,83.333 +_񃔂.wav=o WD4,2135.0,375.0,-583.333,250.0,83.333 +_񃔂.wav=a WD4,2631.593,375.0,-583.333,250.0,83.333 +_񃔂.wav=o WD4,3134.999,375.0,-583.333,250.0,83.333 +_񃔂.wav=i WD4,3654.32,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- WD4,378.787,172.699,-381.031,47.699,25.252 +_񂤂키.wav=o WD4,677.328,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n WD4,1168.367,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o WD4,1684.668,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o WD4,2196.76,375.0,-583.333,250.0,83.333 +_񂤂키.wav=a WD4,2690.614,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o WD4,3183.067,375.0,-583.333,250.0,83.333 +_񂤂키.wav=i WD4,3655.875,375.0,-583.333,250.0,83.333 +_񃔃.wav=- WD4,195.005,200.757,-409.09,75.757,50.505 +_񃔃.wav=u WD4,541.246,375.0,-583.333,250.0,83.333 +_񃔃.wav=n WD4,1058.922,375.0,-583.333,250.0,83.333 +_񃔃.wav=u WD4,1552.749,375.0,-583.333,250.0,83.333 +_񃔃.wav=u WD4,2050.784,375.0,-583.333,250.0,83.333 +_񃔃.wav=e WD4,2557.239,375.0,-583.333,250.0,83.333 +_񃔃.wav=u WD4,3063.692,375.0,-583.333,250.0,83.333 +_񃔃.wav=o WD4,3535.072,375.0,-583.333,250.0,83.333 +_.wav=- WD4,492.424,161.474,-369.808,36.474,23.849 +_.wav=e WD4,762.906,375.0,-583.333,250.0,83.333 +_.wav=e WD4,1228.697,375.0,-583.333,250.0,83.333 +_.wav=u WD4,1702.911,375.0,-583.333,250.0,83.333 +_.wav=o WD4,2144.851,375,-583,250,83 +_.wav=e WD4,2722.887,375.0,-583.333,250.0,83.333 +_.wav=o WD4,3330.377,375.0,-583.333,250.0,83.333 +_.wav=o RWD4,4122,560,191,250,83 +_񂠂.wav=- WD4,300.226,148.849,-357.182,23.849,14.027 +_񂠂.wav=o WD4,600.169,375.0,-583.333,250.0,83.333 +_񂠂.wav=u WD4,1043.49,375.0,-583.333,250.0,83.333 +_񂠂.wav=n WD4,1528.9,375.0,-583.333,250.0,83.333 +_񂠂.wav=a WD4,2024.13,375.0,-583.333,250.0,83.333 +_񂠂.wav=n WD4,2575.0,375.0,-583.333,250.0,83.333 +_񂠂.wav=n WD4,3086.138,375.0,-583.333,250.0,83.333 +_񂠂.wav=u RWD4,4017,516,-583,250,83 +_ĂĂエłł.wav=- WD4,390.011,158.669,-367.002,33.669,19.64 +_ĂĂエłł.wav=o ĂWD4,685.0,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u WD4,1150.111,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n ĂWD4,1660.774,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u WD4,2101.29,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=o łWD4,2640.011,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u WD4,3138.048,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n łWD4,3630.471,375.0,-583.333,250.0,83.333 +_񂩂.wav=- WD4,352,176,4210,48,25 +_񂩂.wav=a WD4,661.896,375.0,-583.333,250.0,83.333 +_񂩂.wav=n WD4,1175.364,375.0,-583.333,250.0,83.333 +_񂩂.wav=a WD4,1680.415,375.0,-583.333,250.0,83.333 +_񂩂.wav=a WD4,2219.134,375.0,-583.333,250.0,83.333 +_񂩂.wav=i WD4,2726.992,375.0,-583.333,250.0,83.333 +_񂩂.wav=a WD4,3223.625,375.0,-583.333,250.0,83.333 +_񂩂.wav=u WD4,3709.035,375.0,-583.333,250.0,83.333 +_񂪂.wav=- WD4,196.408,157.265,-441.919,32.265,14.029 +_񂪂.wav=a WD4,494.95,375.0,-583.333,250.0,83.333 +_񂪂.wav=n WD4,1037.878,375.0,-583.333,250.0,83.333 +_񂪂.wav=a WD4,1545.0,375.0,-583.333,250.0,83.333 +_񂪂.wav=a WD4,2060.605,375.0,-583.333,250.0,83.333 +_񂪂.wav=i WD4,2547.418,375.0,-583.333,250.0,83.333 +_񂪂.wav=a WD4,3042.647,375.0,-583.333,250.0,83.333 +_񂪂.wav=u WD4,3549.102,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=- WD4,354.938,205.06,-413.393,80.06,44.893 +_񂫂傫Ⴋ.wav=e WD4,667.508,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=n WD4,1172.558,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e WD4,1684.999,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e WD4,2194.999,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=o WD4,2668.069,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e WD4,3182.941,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=a WD4,3673.961,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=- WD4,420.875,169.124,-377.457,44.123,22.446 +_񂬂催Ⴌ.wav=e WD4,681.536,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=n WD4,1213.262,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e WD4,1743.594,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e WD4,2247.269,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=o WD4,2743.929,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e WD4,3230.769,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=a WD4,3745.661,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=- WD4,374,159,4238,70,44 +_カɂɂɂɂ.wav=i WD4,704.999,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u WD4,1217.472,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i WD4,1729.564,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=e WD4,2227.624,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i ɂWD4,2704.644,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u WD4,3225.153,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i ɂWD4,3709.185,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=- WD4,253.928,178.31,-386.643,53.31,35.072 +_񂫂ႫႫႫカ.wav=a WD4,539.842,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=n WD4,1047.699,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a WD4,1549.943,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a WD4,2065.0,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=i WD4,2555.837,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a WD4,3066.497,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=u WD4,3579.966,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=- WD4,364.758,161.475,-369.808,36.475,19.64 +_񂬂ႬႬႬガ.wav=a WD4,618.406,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=n WD4,1125.0,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a WD4,1624.298,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a WD4,2148.99,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=i WD4,2641.413,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a WD4,3134.999,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=u WD4,3654.999,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=- WD4,269.36,203.562,-411.895,78.562,43.49 +_񂫂カカカ傫.wav=u WD4,574.915,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=n WD4,1117.845,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u WD4,1625.0,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u WD4,2099.887,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=e WD4,2611.952,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u WD4,3112.795,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=o WD4,3620.651,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=- WD4,349.326,193.742,-402.075,68.742,33.67 +_񂬂ガガガ催.wav=u WD4,643.658,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=n WD4,1175.364,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u WD4,1702.861,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u WD4,2179.854,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=e WD4,2715.0,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u WD4,3205.0,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=o WD4,3710.437,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=- WD4,409.652,190.347,-398.68,65.347,30.864 +_񂫂傫傫Ⴋ傫.wav=o WD4,723.625,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=n WD4,1234.307,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o WD4,1754.999,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o WD4,2234.999,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=a WD4,2749.54,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o WD4,3261.634,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=i WD4,3754.999,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=- WD4,317.059,169.892,-378.224,44.892,28.058 +_񂬂催催Ⴌ催.wav=o WD4,604.377,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=n WD4,1093.995,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o WD4,1607.463,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o WD4,2094.276,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=a WD4,2590.909,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o WD4,3105.0,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=i WD4,3601.009,375.0,-583.333,250.0,83.333 +_񂫂.wav=- WD4,458.754,185.324,-393.657,60.324,28.058 +_񂫂.wav=i WD4,768.518,375.0,-583.333,250.0,83.333 +_񂫂.wav=n WD4,1291.83,375.0,-583.333,250.0,83.333 +_񂫂.wav=i WD4,1802.52,375.0,-583.333,250.0,83.333 +_񂫂.wav=i WD4,2283.745,375.0,-583.333,250.0,83.333 +_񂫂.wav=u WD4,2814.998,375.0,-583.333,250.0,83.333 +_񂫂.wav=i WD4,3284.998,375.0,-583.333,250.0,83.333 +_񂫂.wav=e WD4,3817.21,375.0,-583.333,250.0,83.333 +_񂬂.wav=- WD4,300.224,188.13,-396.463,63.13,29.461 +_񂬂.wav=i WD4,593.153,375.0,-583.333,250.0,83.333 +_񂬂.wav=n WD4,1115.039,375.0,-583.333,250.0,83.333 +_񂬂.wav=i WD4,1632.716,375.0,-583.333,250.0,83.333 +_񂬂.wav=i WD4,2125.14,375.0,-583.333,250.0,83.333 +_񂬂.wav=u WD4,2640.011,375.0,-583.333,250.0,83.333 +_񂬂.wav=i WD4,3119.808,375.0,-583.333,250.0,83.333 +_񂬂.wav=e WD4,3647.307,375.0,-583.333,250.0,83.333 +_񂭂.wav=- WD4,439.113,233.023,-441.356,108.023,63.131 +_񂭂.wav=a WD4,730.639,375.0,-583.333,250.0,83.333 +_񂭂.wav=n WD4,1267.979,375.0,-583.333,250.0,83.333 +_񂭂.wav=a WD4,1760.43,375.0,-583.333,250.0,83.333 +_񂭂.wav=a WD4,2274.998,375.0,-583.333,250.0,83.333 +_񂭂.wav=i WD4,2766.375,375.0,-583.333,250.0,83.333 +_񂭂.wav=a WD4,3250.41,375.0,-583.333,250.0,83.333 +_񂭂.wav=u WD4,3744.997,375.0,-583.333,250.0,83.333 +_񂮂.wav=- WD4,234.287,161.474,-369.806,36.474,14.029 +_񂮂.wav=a WD4,515.994,375.0,-583.333,250.0,83.333 +_񂮂.wav=n WD4,1015.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=a WD4,1535.0,375.0,-583.333,250.0,83.333 +_񂮂.wav=a WD4,2052.188,375.0,-583.333,250.0,83.333 +_񂮂.wav=i WD4,2540.404,375.0,-583.333,250.0,83.333 +_񂮂.wav=a WD4,3045.453,375.0,-583.333,250.0,83.333 +_񂮂.wav=u WD4,3560.325,375.0,-583.333,250.0,83.333 +_񂭂.wav=- WD4,230.078,211.98,-420.313,86.98,50.505 +_񂭂.wav=i WD4,537.036,375.0,-583.333,250.0,83.333 +_񂭂.wav=n WD4,1272.446,193.742,-402.075,68.742,25.252 +_񂭂.wav=i WD4,1603.254,375.0,-583.333,250.0,83.333 +_񂭂.wav=i WD4,2094.275,375.0,-583.333,250.0,83.333 +_񂭂.wav=u WD4,2606.341,375.0,-583.333,250.0,83.333 +_񂭂.wav=i WD4,3094.998,375.0,-583.333,250.0,83.333 +_񂭂.wav=e WD4,3598.204,375.0,-583.333,250.0,83.333 +_񂮂.wav=- WD4,303.03,188.13,-396.463,63.13,28.058 +_񂮂.wav=i WD4,574.915,375.0,-583.333,250.0,83.333 +_񂮂.wav=n WD4,1108.024,375.0,-583.333,250.0,83.333 +_񂮂.wav=i WD4,1631.313,375.0,-583.333,250.0,83.333 +_񂮂.wav=i WD4,2130.751,375.0,-583.333,250.0,83.333 +_񂮂.wav=u WD4,2610.549,375.0,-583.333,250.0,83.333 +_񂮂.wav=i WD4,3138.047,375.0,-583.333,250.0,83.333 +_񂮂.wav=e WD4,3695.005,375.0,-583.333,250.0,83.333 +_񂭂.wav=- WD4,310.044,189.955,-398.288,64.955,30.864 +_񂭂.wav=e WD4,617.003,375.0,-583.333,250.0,83.333 +_񂭂.wav=n WD4,1110.83,375.0,-583.333,250.0,83.333 +_񂭂.wav=e WD4,1635.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=e WD4,2174.242,375.0,-583.333,250.0,83.333 +_񂭂.wav=o WD4,2645.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=e WD4,3161.895,375.0,-583.333,250.0,83.333 +_񂭂.wav=a WD4,3648.709,375.0,-583.333,250.0,83.333 +_񂮂.wav=- WD4,368.967,175.503,-383.836,50.503,23.849 +_񂮂.wav=e WD4,659.09,375.0,-583.333,250.0,83.333 +_񂮂.wav=n WD4,1175.364,375.0,-583.333,250.0,83.333 +_񂮂.wav=e WD4,1686.025,375.0,-583.333,250.0,83.333 +_񂮂.wav=e WD4,2170.034,375.0,-583.333,250.0,83.333 +_񂮂.wav=o WD4,2669.471,375.0,-583.333,250.0,83.333 +_񂮂.wav=e WD4,3160.493,375.0,-583.333,250.0,83.333 +_񂮂.wav=a WD4,3675.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=- WD4,401.234,186.726,-395.059,61.726,29.461 +_񂭂.wav=o WD4,678.731,375.0,-583.333,250.0,83.333 +_񂭂.wav=n WD4,1210.456,375.0,-583.333,250.0,83.333 +_񂭂.wav=o WD4,1725.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=o WD4,2213.596,375.0,-583.333,250.0,83.333 +_񂭂.wav=a WD4,2717.272,375.0,-583.333,250.0,83.333 +_񂭂.wav=o WD4,3230.769,375.0,-583.333,250.0,83.333 +_񂭂.wav=i WD4,3747.064,375.0,-583.333,250.0,83.333 +_񂮂.wav=- WD4,436.307,173.692,-382.025,48.692,26.655 +_񂮂.wav=o WD4,680.134,375.0,-583.333,250.0,83.333 +_񂮂.wav=n WD4,1249.741,375.0,-583.333,250.0,83.333 +_񂮂.wav=o WD4,1759.027,375.0,-583.333,250.0,83.333 +_񂮂.wav=o WD4,2234.999,375.0,-583.333,250.0,83.333 +_񂮂.wav=a WD4,2734.999,375.0,-583.333,250.0,83.333 +_񂮂.wav=o WD4,3241.991,375.0,-583.333,250.0,83.333 +_񂮂.wav=i WD4,3738.647,375.0,-583.333,250.0,83.333 +_.wav=- WD4,256.734,195.144,-403.477,70.144,44.893 +_.wav=u WD4,584.999,375.0,-583.333,250.0,83.333 +_.wav=e WD4,1096.801,375.0,-583.333,250.0,83.333 +_.wav=u WD4,1613.075,375.0,-583.333,250.0,83.333 +_.wav=o WD4,2073.232,375.0,-583.333,250.0,83.333 +_.wav=u WD4,2567.059,375.0,-583.333,250.0,83.333 +_.wav=e WD4,3062.289,375.0,-583.333,250.0,83.333 +_.wav=u WD4,3565.937,375.0,-583.333,250.0,83.333 +_񂭂.wav=- WD4,312.85,193.741,-402.075,68.741,43.49 +_񂭂.wav=u WD4,602.973,375.0,-583.333,250.0,83.333 +_񂭂.wav=n WD4,1112.233,375.0,-583.333,250.0,83.333 +_񂭂.wav=u WD4,1600.448,375.0,-583.333,250.0,83.333 +_񂭂.wav=u WD4,2098.484,375.0,-583.333,250.0,83.333 +_񂭂.wav=e WD4,2609.147,375.0,-583.333,250.0,83.333 +_񂭂.wav=u WD4,3094.999,375.0,-583.333,250.0,83.333 +_񂭂.wav=o WD4,3603.815,375.0,-583.333,250.0,83.333 +_񂮂.wav=- WD4,350.729,171.294,-379.628,46.294,32.267 +_񂮂.wav=u WD4,631.031,375.0,-583.333,250.0,83.333 +_񂮂.wav=n WD4,1154.32,375.0,-583.333,250.0,83.333 +_񂮂.wav=u WD4,1679.012,375.0,-583.333,250.0,83.333 +_񂮂.wav=u WD4,2158.81,375.0,-583.333,250.0,83.333 +_񂮂.wav=e WD4,2673.681,375.0,-583.333,250.0,83.333 +_񂮂.wav=u WD4,3157.687,375.0,-583.333,250.0,83.333 +_񂮂.wav=o WD4,3685.186,375.0,-583.333,250.0,83.333 +_񂯂.wav=- WD4,314.253,179.713,-388.046,54.713,23.849 +_񂯂.wav=e WD4,628.226,375.0,-583.333,250.0,83.333 +_񂯂.wav=n WD4,1151.515,375.0,-583.333,250.0,83.333 +_񂯂.wav=e WD4,1691.638,375.0,-583.333,250.0,83.333 +_񂯂.wav=e WD4,2174.241,375.0,-583.333,250.0,83.333 +_񂯂.wav=o WD4,2652.637,375.0,-583.333,250.0,83.333 +_񂯂.wav=e WD4,3157.687,375.0,-583.333,250.0,83.333 +_񂯂.wav=a WD4,3668.35,375.0,-583.333,250.0,83.333 +_񂰂.wav=- WD4,392.817,185.323,-393.657,60.324,30.864 +_񂰂.wav=e WD4,699.775,375.0,-583.333,250.0,83.333 +_񂰂.wav=n WD4,1213.263,375.0,-583.333,250.0,83.333 +_񂰂.wav=e WD4,1726.758,375.0,-583.333,250.0,83.333 +_񂰂.wav=e WD4,2255.687,375.0,-583.333,250.0,83.333 +_񂰂.wav=o WD4,2741.124,375.0,-583.333,250.0,83.333 +_񂰂.wav=e WD4,3239.187,375.0,-583.333,250.0,83.333 +_񂰂.wav=a WD4,3731.632,375.0,-583.333,250.0,83.333 +_񂱂.wav=- WD4,391.414,190.585,-410.857,54.585,26.585 +_񂱂.wav=o WD4,709.596,375.0,-583.333,250.0,83.332 +_񂱂.wav=n WD4,1238.516,375.0,-583.333,250.0,83.333 +_񂱂.wav=o WD4,1729,375,-583,250,83 +_񂱂.wav=o WD4,2240.254,375.0,-583.333,250.0,83.333 +_񂱂.wav=a WD4,2735.511,375,-583,250,83 +_񂱂.wav=o WD4,3258.828,375.0,-583.333,250.0,83.333 +_񂱂.wav=i WD4,3737.243,375.0,-583.333,250.0,83.333 +_񂲂.wav=- WD4,263.748,168.49,-376.823,43.49,26.655 +_񂲂.wav=o WD4,545.454,375.0,-583.333,250.0,83.333 +_񂲂.wav=n WD4,1043.49,375.0,-583.333,250.0,83.333 +_񂲂.wav=o WD4,1586.419,375.0,-583.333,250.0,83.333 +_񂲂.wav=o WD4,2078.842,375.0,-583.333,250.0,83.333 +_񂲂.wav=a WD4,2572.671,375.0,-583.333,250.0,83.333 +_񂲂.wav=o WD4,3095.959,375.0,-583.333,250.0,83.333 +_񂲂.wav=i WD4,3572.951,375.0,-583.333,250.0,83.333 +_񂳂.wav=- WD4,98.204,275.795,-549.794,158.795,98.204 +_񂳂.wav=a WD4,518.799,375.0,-583.333,250.0,83.333 +_񂳂.wav=n WD4,1055.0,375.0,-583.333,250.0,83.333 +_񂳂.wav=a WD4,1545.735,375.0,-583.333,250.0,83.333 +_񂳂.wav=a WD4,2067.62,375.0,-583.333,250.0,83.333 +_񂳂.wav=i WD4,2585.296,375.0,-583.333,250.0,83.333 +_񂳂.wav=a WD4,3101.571,375.0,-583.333,250.0,83.333 +_񂳂.wav=u WD4,3574.354,375.0,-583.333,250.0,83.333 +_񂴂.wav=- WD4,304.433,190.936,-399.269,65.936,29.461 +_񂴂.wav=a WD4,607.181,375.0,-583.333,250.0,83.333 +_񂴂.wav=n WD4,1115.0,375.0,-583.333,250.0,83.333 +_񂴂.wav=a WD4,1625.0,375.0,-583.333,250.0,83.333 +_񂴂.wav=a WD4,2151.795,375.0,-583.333,250.0,83.333 +_񂴂.wav=i WD4,2640.011,375.0,-583.333,250.0,83.333 +_񂴂.wav=a WD4,3125.0,375.0,-583.333,250.0,83.333 +_񂴂.wav=u WD4,3615.038,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=- WD4,284.792,335.207,-543.54,210.207,134.68 +_񂵂債Ⴕ.wav=e WD4,739.057,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=n WD4,1259.561,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e WD4,1771.654,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e WD4,2271.12,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=o WD4,2770.586,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e WD4,3278.47,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=a WD4,3749.87,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=- WD4,274.971,192.341,-400.674,67.341,35.072 +_񂶂傶Ⴖ.wav=e WD4,572.109,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=n WD4,1108.024,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e WD4,1629.91,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e WD4,2126.542,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=o WD4,2623.176,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e WD4,3117.003,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=a WD4,3617.845,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=- WD4,136.083,289.14,-497.473,164.14,110.83 +_񂵂ႵႵႵサ.wav=a WD4,501.964,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=n WD4,1075.0,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a WD4,1579.405,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a WD4,2085.858,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=i WD4,2561.447,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a WD4,3087.542,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=u WD4,3577.16,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=- WD4,332.491,192.339,-400.671,67.339,40.684 +_񂶂ႶႶႶザ.wav=a WD4,612.794,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=n WD4,1166.947,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a WD4,1686.026,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a WD4,2179.854,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=i WD4,2665.0,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a WD4,3175.0,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=u WD4,3637.485,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=- WD4,258.136,325.617,-533.95,200.617,145.903 +_񂵂サササ債.wav=u WD4,674.524,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=n WD4,1230.078,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u WD4,1714.999,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u WD4,2174.999,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=e WD4,2694.999,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u WD4,3194.999,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=o WD4,3694.999,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=- WD4,210.437,209.562,-417.895,84.562,49.102 +_񂶂ザザザ傶.wav=u WD4,508.978,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=n WD4,1063.131,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u WD4,1575.0,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u WD4,2050.785,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=e WD4,2582.491,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u WD4,3075.0,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=o WD4,3585.0,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=- WD4,136.083,323.916,-532.249,198.916,127.665 +_񂵂債債Ⴕ債.wav=o WD4,556.676,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=n WD4,1095.0,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o WD4,1605.0,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o WD4,2085.0,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=a WD4,2595.0,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o WD4,3116,375,-583,250,83 +_񂵂債債Ⴕ債.wav=i WD4,3594.999,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=- WD4,375.982,194.016,-402.349,69.016,42.087 +_񂶂傶傶Ⴖ傶.wav=o WD4,678.732,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=n WD4,1184.999,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o WD4,1693.041,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o WD4,2174.998,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=a WD4,2674.998,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o WD4,3184.998,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=i WD4,3672.558,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=- WD4,176.767,333.232,-541.565,208.232,140.291 +_񂵂サ.wav=i WD4,607.182,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=n WD4,1145.0,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i WD4,1655.162,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i WD4,2134.96,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=u WD4,2641.414,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i WD4,3138.047,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=e WD4,3645.903,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=- WD4,381.593,211.98,-420.312,86.98,51.907 +_񂶂ザ.wav=i WD4,677.328,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=n WD4,1245.0,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i WD4,1754.818,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i WD4,2245.0,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=u WD4,2755.0,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i WD4,3235.0,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=e WD4,3755.0,375.0,-583.333,250.0,83.333 +_񂷂.wav=- WD4,185.185,300.362,-508.695,175.362,109.427 +_񂷂.wav=i WD4,597.362,375.0,-583.333,250.0,83.333 +_񂷂.wav=n WD4,1145.903,375.0,-583.333,250.0,83.333 +_񂷂.wav=i WD4,1657.968,375.0,-583.333,250.0,83.333 +_񂷂.wav=i WD4,2164.421,375.0,-583.333,250.0,83.333 +_񂷂.wav=u WD4,2641.414,375.0,-583.333,250.0,83.333 +_񂷂.wav=i WD4,3138.046,375.0,-583.333,250.0,83.333 +_񂷂.wav=e WD4,3655.723,375.0,-583.333,250.0,83.333 +_񂸂.wav=- WD4,352.132,200.757,-409.09,75.757,43.49 +_񂸂.wav=i WD4,664.703,375.0,-583.333,250.0,83.333 +_񂸂.wav=n WD4,1213.243,375.0,-583.333,250.0,83.333 +_񂸂.wav=i WD4,1715.488,375.0,-583.333,250.0,83.333 +_񂸂.wav=i WD4,2195.0,375.0,-583.333,250.0,83.333 +_񂸂.wav=u WD4,2698.933,375.0,-583.333,250.0,83.333 +_񂸂.wav=i WD4,3199.775,375.0,-583.333,250.0,83.333 +_񂸂.wav=e WD4,3721.66,375.0,-583.333,250.0,83.333 +_񂷂.wav=- WD4,252,375,-583,184,100 +_񂷂.wav=u WD4,684.999,375.0,-583.333,250.0,83.333 +_񂷂.wav=n WD4,1221.661,375.0,-583.333,250.0,83.333 +_񂷂.wav=u WD4,1709.876,375.0,-583.333,250.0,83.333 +_񂷂.wav=u WD4,2186.868,375.0,-583.333,250.0,83.333 +_񂷂.wav=e WD4,2704.999,375.0,-583.333,250.0,83.333 +_񂷂.wav=u WD4,3194.999,375.0,-583.333,250.0,83.333 +_񂷂.wav=o WD4,3716.049,375.0,-583.333,250.0,83.333 +_񂸂.wav=- WD4,436.307,183.692,-392.025,58.692,37.878 +_񂸂.wav=u WD4,741.863,375.0,-583.333,250.0,83.333 +_񂸂.wav=n WD4,1284.814,375.0,-583.333,250.0,83.333 +_񂸂.wav=u WD4,1792.7,375.0,-583.333,250.0,83.333 +_񂸂.wav=u WD4,2261.299,375.0,-583.333,250.0,83.333 +_񂸂.wav=e WD4,2791.631,375.0,-583.333,250.0,83.333 +_񂸂.wav=u WD4,3289.695,375.0,-583.333,250.0,83.333 +_񂸂.wav=o WD4,3785.0,375.0,-583.333,250.0,83.333 +_񂹂.wav=- WD4,350.729,299.269,-507.602,174.269,119.248 +_񂹂.wav=e WD4,774.999,375.0,-583.333,250.0,83.333 +_񂹂.wav=n WD4,1264.999,375.0,-583.333,250.0,83.333 +_񂹂.wav=e WD4,1791.297,375.0,-583.333,250.0,83.333 +_񂹂.wav=e WD4,2271.121,375.0,-583.333,250.0,83.333 +_񂹂.wav=o WD4,2729.901,375.0,-583.333,250.0,83.333 +_񂹂.wav=e WD4,3256.024,375.0,-583.333,250.0,83.333 +_񂹂.wav=a WD4,3753,375,-583,250,83 +_񂺂.wav=- WD4,242.704,192.339,-400.672,67.339,42.087 +_񂺂.wav=e WD4,549.663,375.0,-583.333,250.0,83.333 +_񂺂.wav=n WD4,1095.398,375.0,-583.333,250.0,83.333 +_񂺂.wav=e WD4,1597.643,375.0,-583.333,250.0,83.333 +_񂺂.wav=e WD4,2111.111,375.0,-583.333,250.0,83.333 +_񂺂.wav=o WD4,2594.999,375.0,-583.333,250.0,83.333 +_񂺂.wav=e WD4,3090.347,375.0,-583.333,250.0,83.333 +_񂺂.wav=a WD4,3586.98,375.0,-583.333,250.0,83.333 +_񂻂.wav=- WD4,165.544,269.499,-477.832,144.499,96.801 +_񂻂.wav=o WD4,546.857,375.0,-583.333,250.0,83.333 +_񂻂.wav=n WD4,1065.0,375.0,-583.333,250.0,83.333 +_񂻂.wav=o WD4,1575.0,375.0,-583.333,250.0,83.333 +_񂻂.wav=o WD4,2064.814,375.0,-583.333,250.0,83.333 +_񂻂.wav=a WD4,2576.879,375.0,-583.333,250.0,83.333 +_񂻂.wav=o WD4,3075.0,375.0,-583.333,250.0,83.333 +_񂻂.wav=i WD4,3585.0,375.0,-583.333,250.0,83.333 +_񂼂.wav=- WD4,325.476,174.523,-382.856,49.523,30.864 +_񂼂.wav=o WD4,607.183,375.0,-583.333,250.0,83.333 +_񂼂.wav=n WD4,1151.514,375.0,-583.333,250.0,83.333 +_񂼂.wav=o WD4,1665.0,375.0,-583.333,250.0,83.333 +_񂼂.wav=o WD4,2150.392,375.0,-583.333,250.0,83.333 +_񂼂.wav=a WD4,2648.428,375.0,-583.333,250.0,83.333 +_񂼂.wav=o WD4,3136.644,375.0,-583.333,250.0,83.333 +_񂼂.wav=i WD4,3652.917,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=- WD4,342.312,144.639,-352.971,19.639,0.0 +_񂽂ĂƂ.wav=a WD4,640.852,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=n WD4,1144.5,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=a WD4,1655.162,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=a ĂWD4,2153.198,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=i WD4,2662.457,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=a ƂWD4,3143.658,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=u WD4,3641.694,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=- WD4,434.904,139.028,-347.361,14.028,0.0 +_񂾂łǂ.wav=a WD4,682.939,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=n WD4,1203.441,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a WD4,1704.311,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a łWD4,2195.359,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=i WD4,2713.063,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a ǂWD4,3197.098,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=u WD4,3705.0,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=- WD4,273.569,204.965,-413.298,79.965,46.296 +_񂿂傿Ⴟ.wav=e WD4,587.542,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=n WD4,1122.053,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e WD4,1638.327,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e WD4,2139.169,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=o WD4,2615.0,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e WD4,3140.852,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=a WD4,3645.0,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=- WD4,333.894,206.105,-414.438,81.105,49.102 +_񂿂ႿႿႿタ.wav=a WD4,628.227,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=n WD4,1155.723,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a WD4,1660.774,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a WD4,2185.0,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=i WD4,2679.292,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a WD4,3191.358,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=u WD4,3674.999,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=- WD4,187.991,232.008,-440.341,107.008,61.728 +_񂿂タタタ傿.wav=u WD4,544.051,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=n WD4,1071.548,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u WD4,1575.0,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u WD4,2075.0,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=e WD4,2585.0,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u WD4,3045.0,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=o WD4,3575.0,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=- WD4,367.564,212.433,-420.767,87.434,46.296 +_񂿂傿傿Ⴟ傿.wav=o WD4,671.717,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=n WD4,1214.999,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o WD4,1687.429,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o WD4,2200.897,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=a WD4,2694.725,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o WD4,3196.969,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=i WD4,3694.999,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=- WD4,394.0,243.0,-505.271,107.999,68.962 +_񂿂タ.wav=i WD4,722.222,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=n WD4,1235.0,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i WD4,1765.0,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i WD4,2254.999,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=u WD4,2764.974,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i WD4,3253.216,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=e WD4,3744.998,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚WD4,207.631,192.339,-400.672,67.339,43.49 +_‚‚‚‚‚‚‚.wav=a WD4,532.828,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚WD4,1058.922,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚WD4,1565.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚WD4,2074.635,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚WD4,2572.671,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a WD4,3085.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚WD4,3551.906,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚WD4,298.821,211.178,-419.511,86.178,46.296 +_‚‚‚‚‚‚‚.wav=i WD4,629.63,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚WD4,1152.918,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚WD4,1674.803,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i WD4,2156.004,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚WD4,2634.399,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚WD4,3139.45,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚WD4,3644.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚WD4,213.243,206.756,-415.089,81.756,51.907 +_‚‚‚‚‚‚‚.wav=e WD4,531.425,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚WD4,1063.13,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚WD4,1548.54,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚WD4,2054.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚WD4,2534.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚WD4,3034.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚WD4,3530.864,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚WD4,262.345,204.967,-413.3,79.967,42.087 +_‚‚‚‚‚‚‚.wav=o WD4,573.512,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚WD4,1125.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚WD4,1613.075,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚WD4,2108.305,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚WD4,2617.564,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚WD4,3115.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚WD4,3598.204,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=- WD4,340,228,4163,95,51 +_‚‚‚‚‚‚.wav=u WD4,674.522,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=n WD4,1225.89,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u WD4,1729.565,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚WD4,2220.613,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=e WD4,2734.999,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚WD4,3209.725,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=o WD4,3724.998,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=- ĂWD4,387.205,164.281,-372.613,39.281,21.043 +_ĂĂĂƂĂĂĂ.wav=i WD4,701.179,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=n ĂWD4,1213.262,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ĂWD4,1728.162,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ƂWD4,2227.628,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=u ĂWD4,2727.095,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i WD4,3232.173,375,-583,250,83 +_ĂĂĂƂĂĂĂ.wav=e ĂWD4,3740.049,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=- łWD4,235.69,150.251,-358.584,25.251,0.0 +_łłłǂłłł.wav=i WD4,514.999,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=n łWD4,1040.684,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i łWD4,1540.123,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i ǂWD4,2039.562,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=u łWD4,2539.0,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i WD4,3034.231,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=e łWD4,3530.864,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=- ĂWD4,458.754,167.085,-375.418,42.084,15.432 +_ĂĂ゠ĂアĂウĂ.wav=u ĂWD4,755.892,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u WD4,1190.818,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=a ĂWD4,1749.206,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u WD4,2199.571,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=i ĂWD4,2753.75,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u WD4,3236.383,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=e ĂWD4,3765.301,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=- łWD4,303.03,157.266,-365.599,32.266,8.417 +_łł゠łアłウł.wav=u łWD4,608.585,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u WD4,1074.354,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=a łWD4,1583.613,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u WD4,2036.756,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=i łWD4,2555.0,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u WD4,3038.439,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=e łWD4,3544.893,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=- WD4,290.404,208.595,-474.594,64.595,26.595 +_ĂĂĂƂĂ.wav=e WD4,618.406,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=n WD4,1105.218,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e WD4,1635.522,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e WD4,2122.334,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=o WD4,2624.579,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e WD4,3133.838,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=a WD4,3645.0,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=- WD4,409.652,150.346,-358.679,25.346,0.0 +_łłłǂł.wav=e WD4,646.464,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=n WD4,1144.999,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e WD4,1677.609,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e WD4,2168.629,375,-583,250,83 +_łłłǂł.wav=o WD4,2689.113,375,-583,250,83 +_łłłǂł.wav=e WD4,3181.537,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=a WD4,3674.998,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=- ƂWD4,221.661,168.337,-376.67,43.337,12.626 +_ƂƂƂĂƂƂƂ.wav=u WD4,525.814,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=n ƂWD4,1053.311,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u ƂWD4,1569.583,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u WD4,2066.217,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=e ƂWD4,2586.7,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u WD4,3074.997,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=o ƂWD4,3588.383,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=- ǂWD4,374.579,164.279,-372.612,39.279,11.223 +_ǂǂǂłǂǂǂ.wav=u WD4,657.687,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=n ǂWD4,1145.903,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u ǂWD4,1635.521,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u WD4,2111.111,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=e ǂWD4,2613.355,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u WD4,3115.0,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=o ǂWD4,3601.009,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=- WD4,377.384,148.849,-357.182,23.849,0.0 +_ƂƂƂƂĂ.wav=o WD4,671.717,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=n WD4,1176.767,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o WD4,1704.264,375,-583,250,83 +_ƂƂƂƂĂ.wav=o WD4,2186.868,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=a WD4,2676.486,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o ĂWD4,3180.134,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=i WD4,3685.0,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=- WD4,437.71,151.654,-359.987,26.654,0.0 +_ǂǂǂǂł.wav=o WD4,719.415,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=n WD4,1214.666,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o WD4,1726.758,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o WD4,2215.0,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=a WD4,2720.08,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o łWD4,3214.999,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=i WD4,3744.999,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=- WD4,399.831,207.77,-416.103,82.77,39.281 +_ȂȂȂɂȂʂ.wav=a WD4,718.013,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=n WD4,1194.999,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a WD4,1736.576,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a WD4,2217.807,375,-583,250,83 +_ȂȂȂɂȂʂ.wav=i WD4,2724.287,375,-583,250,83 +_ȂȂȂɂȂʂ.wav=a WD4,3209.721,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=u WD4,3710.589,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂWD4,319.865,162.878,-371.21,37.878,19.64 +_ɂɂɂɂɂɂɂ.wav=e WD4,604.377,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂWD4,1120.649,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂWD4,1601.851,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂWD4,2112.514,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂWD4,2592.312,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂWD4,3094.557,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂWD4,3592.592,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂWD4,406.846,182.519,-390.851,57.519,29.461 +_ɂɂɂɂɂɂɂ.wav=a WD4,698.372,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂWD4,1195.024,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂWD4,1735.174,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a WD4,2212.194,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂWD4,2727.091,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂWD4,3208.319,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂWD4,3719.006,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂWD4,246.913,157.266,-365.599,32.266,12.626 +_ɂɂɂɂɂɂɂ.wav=u WD4,530.022,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂWD4,1043.491,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂWD4,1545.735,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂWD4,2047.979,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂWD4,2536.194,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂWD4,3048.259,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂWD4,3556.116,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂWD4,364.758,175.503,-383.837,50.504,29.461 +_ɂɂɂɂɂɂɂ.wav=o WD4,685.746,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂWD4,1173.978,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂWD4,1677.653,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂWD4,2192.551,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂWD4,2670.973,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o WD4,3173.245,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂWD4,3676.917,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=- WD4,248.316,165.684,-374.017,40.684,16.835 +_ɂɂɂʂɂ˂.wav=i WD4,532.828,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=n WD4,1050.505,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i WD4,1578,375,-583,250,83 +_ɂɂɂʂɂ˂.wav=i WD4,2053.591,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=u WD4,2551.627,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i WD4,3030.022,375,-583,250,83 +_ɂɂɂʂɂ˂.wav=e WD4,3544.892,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=- WD4,303.03,182.518,-390.851,57.518,37.878 +_ʂʂʂ˂ʂ̂.wav=u WD4,591.75,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=n WD4,1104.999,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u WD4,1617.283,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u WD4,2116.721,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=e WD4,2630.189,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u WD4,3111.39,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=o WD4,3605.218,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=- WD4,360.549,223.204,-431.537,98.204,43.49 +_˂˂˂̂˂Ȃ.wav=e WD4,691.358,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=n WD4,1182.396,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e WD4,1701.502,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e WD4,2177.116,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=o WD4,2697.626,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e WD4,3188,375,-583,250,83 +_˂˂˂̂˂Ȃ.wav=a WD4,3692.348,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=- WD4,221.661,175.504,-383.837,50.504,28.058 +_̂̂̂Ȃ̂ɂ.wav=o WD4,528.619,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=n WD4,1011.223,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o WD4,1517.677,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o WD4,2015.713,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=a WD4,2527.777,375,-583,250,83 +_̂̂̂Ȃ̂ɂ.wav=o WD4,3034.232,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=i WD4,3515.433,375,-583,250,83 +_͂͂͂Ђ͂ӂ.wav=- WD4,265.151,217.592,-425.924,92.592,51.907 +_͂͂͂Ђ͂ӂ.wav=a WD4,579.123,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=n WD4,1101.01,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a WD4,1606.06,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a WD4,2060.607,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=i WD4,2625.0,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a WD4,3131.032,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=u WD4,3635.0,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=- WD4,310.044,134.82,-343.153,9.82,0.0 +_΂΂΂т΂Ԃ.wav=a WD4,544.05,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=n WD4,1047.699,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a WD4,1562.57,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a WD4,2062.008,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=i WD4,2574.074,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a WD4,3069.304,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=u WD4,3567.34,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=- WD4,373.176,148.847,-357.181,23.847,0.0 +_ςςς҂ςՂ.wav=a WD4,649.27,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=n WD4,1152.918,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a WD4,1646.745,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a WD4,2136.363,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=i WD4,2654.04,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a WD4,3173.12,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=u WD4,3647.307,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂWD4,259.539,297.558,-505.891,172.558,99.607 +_ЂЂЂЂЂЂЂ.wav=e WD4,632.435,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂWD4,1220.258,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂWD4,1705.667,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂWD4,2192.48,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂWD4,2685.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂWD4,3181.537,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂWD4,3674.999,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тWD4,349.326,150.673,-359.006,25.673,0.0 +_ттттттт.wav=e WD4,617.003,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тWD4,1131.874,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тWD4,1652.356,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тWD4,2143.377,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тWD4,2647.025,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тWD4,3139.451,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тWD4,3637.485,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂WD4,349.326,151.655,-359.988,26.655,0.0 +_҂҂҂҂҂҂҂.wav=e WD4,625.42,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂WD4,1138.888,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂WD4,1646.745,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂WD4,2160.213,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂WD4,2662.457,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂WD4,3153.479,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂WD4,3643.098,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=- WD4,392.817,171.295,-379.628,46.295,0.0 +_тттт҂҂҂҂.wav=i тWD4,684.343,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u WD4,1152.918,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i тWD4,1645.341,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=e WD4,2154.999,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂WD4,2651.234,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u WD4,3135.241,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂WD4,3634.999,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=- WD4,165.544,235.455,-488.454,120.455,85.578 +_ЂЂЂЂ݂݂݂݂.wav=i ЂWD4,555.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u WD4,1075.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ЂWD4,1555.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=e WD4,2018.518,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ݂WD4,2512.345,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u WD4,2999.158,375,-583,250,83 +_ЂЂЂЂ݂݂݂݂.wav=i ݂WD4,3522.446,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂWD4,154.32,262.484,-470.817,137.484,81.369 +_ЂЂЂЂЂЂЂ.wav=a WD4,508.977,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂWD4,1065.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂWD4,1555.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a WD4,2065.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂWD4,2560.044,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂWD4,3054.999,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂWD4,3539.281,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тWD4,446.127,143.237,-351.57,18.237,9.82 +_ттттттт.wav=a WD4,710.998,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тWD4,1245.53,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тWD4,1735.0,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a WD4,2234.642,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тWD4,2724.999,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тWD4,3214.998,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тWD4,3717.604,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂WD4,234.287,145.712,-354.045,20.712,0.0 +_҂҂҂҂҂҂҂.wav=a WD4,500.561,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂WD4,1012.627,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂WD4,1505.05,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a WD4,2014.309,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂WD4,2536.195,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂WD4,3032.828,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂WD4,3526.654,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂWD4,231.481,284.931,-493.264,159.931,99.607 +_ЂЂЂЂЂЂЂ.wav=u WD4,604.377,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂWD4,1166.947,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂWD4,1642.536,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂWD4,2127.947,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂWD4,2609.147,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂWD4,3102.974,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂWD4,3603.815,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тWD4,259.539,144.64,-352.973,19.64,0.0 +_ттттттт.wav=u WD4,531.425,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тWD4,1035.072,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тWD4,1538.72,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тWD4,2054.993,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тWD4,2569.866,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тWD4,3077.721,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тWD4,3565.937,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂WD4,291.806,178.193,-386.526,53.193,23.849 +_҂҂҂҂҂҂҂.wav=u WD4,579.123,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂WD4,1095.399,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂WD4,1585.0,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂WD4,2085.0,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂WD4,2585.0,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂WD4,3107.182,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂WD4,3603.815,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂWD4,338.103,270.901,-479.235,145.902,86.98 +_ЂЂЂЂЂЂЂ.wav=o WD4,671.717,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂWD4,1225.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂWD4,1725.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂWD4,2225.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂWD4,2725.0,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o WD4,3219.545,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂWD4,3734.439,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тWD4,394.219,145.78,-354.113,20.78,0.0 +_ттттттт.wav=o WD4,657.687,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тWD4,1215.0,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тWD4,1686.072,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тWD4,2175.717,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тWD4,2694.823,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o WD4,3164.828,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тWD4,3688.142,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂WD4,420.875,149.123,-357.456,24.123,0.0 +_҂҂҂҂҂҂҂.wav=o WD4,677.328,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂WD4,1214.999,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂WD4,1704.999,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂WD4,2210.791,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂WD4,2736.915,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o WD4,3230.769,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂WD4,3717.604,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=- WD4,310.044,249.954,-458.287,124.954,93.995 +_ЂЂЂӂЂւ.wav=i WD4,663.299,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=n WD4,1169.753,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i WD4,1655.162,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i WD4,2151.796,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=u WD4,2659.652,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i WD4,3168.911,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=e WD4,3683.782,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=- WD4,340.909,140.43,-348.763,15.43,0.0 +_тттԂтׂ.wav=i WD4,597.362,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=n WD4,1117.845,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i WD4,1618.686,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i WD4,2123.736,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=u WD4,2616.161,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i WD4,3132.435,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=e WD4,3599.607,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=- WD4,406.846,233.152,-441.485,108.152,58.922 +_҂҂҂Ղ҂؂.wav=i WD4,710.997,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=n WD4,1245.532,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i WD4,1733.773,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i WD4,2255.688,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=u WD4,2729.899,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i WD4,3230.769,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=e WD4,3738.647,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂWD4,249.719,263.888,-472.221,138.888,85.578 +_ӂӂӂӂӂӂӂ.wav=a WD4,621.212,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂWD4,1162.738,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂWD4,1659.371,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂWD4,2158.81,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂWD4,2666.665,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a WD4,3157.687,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂWD4,3678.17,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂWD4,336.7,263.299,-471.632,138.299,86.98 +_ӂӂӂӂӂӂӂ.wav=i WD4,701.178,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂWD4,1218.874,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂWD4,1725.356,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i WD4,2229.03,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂWD4,2711.661,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂWD4,3208.321,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂWD4,3695.0,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂWD4,218.855,251.144,-459.477,126.144,99.607 +_ӂӂӂӂӂӂӂ.wav=e WD4,617.003,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂWD4,1129.068,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂWD4,1615.881,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂWD4,2144.781,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂWD4,2644.999,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂWD4,3132.435,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂWD4,3612.233,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂWD4,293.209,265.292,-473.624,140.292,95.398 +_ӂӂӂӂӂӂӂ.wav=o WD4,663.3,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂWD4,1162.738,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂWD4,1674.803,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂWD4,2185.464,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂWD4,2690.516,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂWD4,3181.537,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂWD4,3686.588,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=- WD4,183.782,252.664,-460.997,127.664,81.369 +_ӂӂӂӂӂӂ.wav=u WD4,552.469,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=n WD4,1050.504,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u WD4,1554.152,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂWD4,2045.173,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=e WD4,2569.865,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂWD4,3100.168,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=o WD4,3577.161,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=- WD4,390.011,221.8,-430.134,96.801,74.354 +_ӂӂӂւӂق.wav=u WD4,701.178,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=n WD4,1224.485,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u WD4,1712.727,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u WD4,2237.448,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=e WD4,2735.511,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u WD4,3230.767,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=o WD4,3754.079,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=- WD4,409.652,150.346,-358.679,25.346,0.0 +_ԂԂԂׂԂڂ.wav=u WD4,677.328,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=n WD4,1221.681,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u WD4,1723.953,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u WD4,2188.345,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=e WD4,2711.661,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u WD4,3218.142,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=o WD4,3690.949,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=- WD4,245.51,155.862,-364.195,30.862,0.0 +_ՂՂՂ؂Ղۂ.wav=u WD4,523.007,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=n WD4,1054.713,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u WD4,1559.764,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u WD4,2055.0,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=e WD4,2572.671,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u WD4,3081.93,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=o WD4,3575.0,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=- WD4,224.466,235.533,-443.866,110.533,75.757 +_ւււقւ͂.wav=e WD4,524.41,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=n WD4,1082.772,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e WD4,1565.0,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e WD4,2094.275,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=o WD4,2565.0,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e WD4,3058.08,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=a WD4,3545.0,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=- WD4,230.078,149.921,-358.254,24.921,0.0 +_ׂׂׂڂׂ΂.wav=e WD4,513.187,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=n WD4,1025.0,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e WD4,1525.0,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e WD4,2019.921,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=o WD4,2505.0,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e WD4,3010.381,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=a WD4,3507.014,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=- WD4,321.268,151.654,-359.987,26.654,0.0 +_؂؂؂ۂ؂ς.wav=e WD4,588.945,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=n WD4,1123.456,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e WD4,1615.881,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e WD4,2120.93,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=o WD4,2597.923,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e WD4,3117.003,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=a WD4,3608.024,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=- WD4,266.554,253.445,-461.778,128.445,79.966 +_ققق͂قЂ.wav=o WD4,624.016,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=n WD4,1120.65,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o WD4,1627.104,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o WD4,2097.081,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=a WD4,2610.549,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o WD4,3104.377,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=i WD4,3612.232,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=- WD4,293.209,156.789,-365.122,31.789,0.0 +_ڂڂڂ΂ڂт.wav=o WD4,574.999,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=n WD4,1108.024,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o WD4,1604.657,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o WD4,2117,375,-583,250,83 +_ڂڂڂ΂ڂт.wav=a WD4,2599.327,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o WD4,3088.944,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=i WD4,3608.024,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=- WD4,384.399,162.877,-371.211,37.878,5.611 +_ۂۂۂςۂ҂.wav=o WD4,654.882,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=n WD4,1204.845,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o WD4,1693.089,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o WD4,2178.522,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=a WD4,2687.808,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o WD4,3174.648,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=i WD4,3685.336,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=- WD4,373,193,4175,53,27 +_܂܂܂݂܂ނ.wav=a WD4,675.0,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=n WD4,1148.709,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a WD4,1641.133,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a WD4,2147.586,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=i WD4,2652.637,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a WD4,3175.0,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=u WD4,3640.292,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂WD4,371.773,175.503,-383.837,50.504,30.864 +_݂݂݂݂݂݂݂.wav=e WD4,635.241,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂WD4,1150.129,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂WD4,1646.789,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂WD4,2156.075,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂WD4,2658.347,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂WD4,3156.406,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂WD4,3646.053,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂WD4,286.195,176.907,-385.24,51.907,25.252 +_݂݂݂݂݂݂݂.wav=a WD4,538.439,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂WD4,1023.848,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂WD4,1527.497,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a WD4,2026.937,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂WD4,2554.433,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂WD4,3045.453,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂WD4,3526.654,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂WD4,311.447,178.552,-386.885,53.552,35.072 +_݂݂݂݂݂݂݂.wav=u WD4,602.973,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂WD4,1093.995,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂WD4,1592.031,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂WD4,2109.708,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂WD4,2618.966,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂WD4,3111.39,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂WD4,3588.383,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂WD4,213.243,167.087,-375.42,42.086,30.864 +_݂݂݂݂݂݂݂.wav=o WD4,471.099,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂WD4,1004.999,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂WD4,1485.409,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂WD4,1979.236,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂WD4,2494.107,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o WD4,2997.754,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂WD4,3515.432,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=- WD4,409.652,169.891,-378.223,44.891,22.446 +_݂݂݂ނ݂߂.wav=i WD4,713.804,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=n WD4,1225.889,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i WD4,1716.937,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i WD4,2212.194,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=u WD4,2721.478,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i WD4,3225.153,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=e WD4,3713.394,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=- WD4,227.272,179.713,-388.046,54.713,36.475 +_ނނނ߂ނ.wav=u WD4,562.289,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=n WD4,1051.907,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u WD4,1555.555,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u WD4,2050.785,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=e WD4,2571.269,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u WD4,3081.93,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=o WD4,3567.339,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=- WD4,298.821,196.548,-404.881,71.548,35.072 +_߂߂߂߂܂.wav=e WD4,614.197,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=n WD4,1103.815,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e WD4,1617.283,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e WD4,2125.14,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=o WD4,2623.176,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e WD4,3124.017,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=a WD4,3616.442,375.0,-583.333,250.0,83.333 +_܂݂.wav=- WD4,368.967,167.086,-375.419,42.086,19.64 +_܂݂.wav=o WD4,661.896,375.0,-583.333,250.0,83.333 +_܂݂.wav=n WD4,1196.414,375.0,-583.333,250.0,83.333 +_܂݂.wav=o WD4,1714.129,375.0,-583.333,250.0,83.333 +_܂݂.wav=o WD4,2198.162,375.0,-583.333,250.0,83.333 +_܂݂.wav=a WD4,2675,375,-583,250,83 +_܂݂.wav=o WD4,3173.243,375.0,-583.333,250.0,83.333 +_܂݂.wav=i WD4,3688.141,375.0,-583.333,250.0,83.333 +_₢.wav=- WD4,207.631,176.906,-385.239,51.906,35.072 +_₢.wav=a WD4,528.619,375.0,-583.333,250.0,83.333 +_₢.wav=n WD4,1043.49,375.0,-583.333,250.0,83.333 +_₢.wav=a WD4,1531.705,375.0,-583.333,250.0,83.333 +_₢.wav=a WD4,2014.999,375.0,-583.333,250.0,83.333 +_₢.wav=i WD4,2547.418,375.0,-583.333,250.0,83.333 +_₢.wav=a WD4,3056.677,375.0,-583.333,250.0,83.333 +_₢.wav=u WD4,3543.49,375.0,-583.333,250.0,83.333 +_䂢.wav=- WD4,232.884,265.29,-473.623,140.29,108.024 +_䂢.wav=u WD4,601.57,375.0,-583.333,250.0,83.333 +_䂢.wav=n WD4,1138.889,375.0,-583.333,250.0,83.333 +_䂢.wav=u WD4,1618.686,375.0,-583.333,250.0,83.333 +_䂢.wav=u WD4,2088.664,375.0,-583.333,250.0,83.333 +_䂢.wav=e WD4,2585.297,375.0,-583.333,250.0,83.333 +_䂢.wav=u WD4,3083.333,375.0,-583.333,250.0,83.333 +_䂢.wav=o WD4,3567.34,375.0,-583.333,250.0,83.333 +_悢.wav=- WD4,423.681,167.086,-375.419,42.085,30.864 +_悢.wav=o WD4,718.013,375.0,-583.333,250.0,83.333 +_悢.wav=n WD4,1202.04,375.0,-583.333,250.0,83.333 +_悢.wav=o WD4,1724.999,375.0,-583.333,250.0,83.333 +_悢.wav=o WD4,2210.792,375.0,-583.333,250.0,83.333 +_悢.wav=a WD4,2715,375,-583,250,83 +_悢.wav=o WD4,3211.127,375.0,-583.333,250.0,83.333 +_悢.wav=i WD4,3717.603,375.0,-583.333,250.0,83.333 +_.wav=- WD4,260.942,192.34,-400.673,67.34,36.475 +_.wav=a WD4,574.915,375.0,-583.333,250.0,83.333 +_.wav=n WD4,1070.145,375.0,-583.333,250.0,83.333 +_.wav=a WD4,1572.39,375,-583,250,83 +_.wav=a WD4,2050.785,375.0,-583.333,250.0,83.333 +_.wav=i WD4,2540.404,375.0,-583.333,250.0,83.333 +_.wav=a WD4,3069.303,375.0,-583.333,250.0,83.333 +_.wav=u WD4,3574.998,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=- 肥WD4,373.176,188.13,-396.463,63.13,36.475 +_肥肥肥肥肥.wav=e WD4,695.0,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=n 肥WD4,1182.398,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e 肥WD4,1693.087,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e WD4,2185.538,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=o 肥WD4,2693.421,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e WD4,3195.0,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=a 肥WD4,3695.0,375.0,-583.333,250.0,83.333 +_.wav=- WD4,270.763,158.669,-367.002,33.669,22.446 +_.wav=a WD4,542.649,375.0,-583.333,250.0,83.333 +_.wav=n WD4,1072.951,375.0,-583.333,250.0,83.333 +_.wav=a WD4,1568.181,375.0,-583.333,250.0,83.333 +_.wav=a WD4,2066.217,375.0,-583.333,250.0,83.333 +_.wav=i WD4,2565.0,375.0,-583.333,250.0,83.333 +_.wav=a WD4,3056.676,375.0,-583.333,250.0,83.333 +_.wav=u WD4,3551.907,375.0,-583.333,250.0,83.333 +_肥.wav=- WD4,408.249,146.041,-354.374,21.041,0.0 +_肥.wav=u WD4,674.522,375.0,-583.333,250.0,83.333 +_肥.wav=n WD4,1150.111,375.0,-583.333,250.0,83.333 +_肥.wav=u WD4,1648.148,375.0,-583.333,250.0,83.333 +_肥.wav=u 肥WD4,2119.528,375.0,-583.333,250.0,83.333 +_肥.wav=e WD4,2627.384,375.0,-583.333,250.0,83.333 +_肥.wav=u WD4,3117.003,375.0,-583.333,250.0,83.333 +_肥.wav=o WD4,3605.0,375.0,-583.333,250.0,83.333 +_.wav=- WD4,192.199,200.758,-409.091,75.758,58.922 +_.wav=o WD4,524.41,375.0,-583.333,250.0,83.333 +_.wav=n WD4,1014.029,375.0,-583.333,250.0,83.333 +_.wav=o WD4,1496.632,375.0,-583.333,250.0,83.333 +_.wav=o WD4,1998.877,375.0,-583.333,250.0,83.333 +_.wav=a WD4,2509.538,375.0,-583.333,250.0,83.333 +_.wav=o WD4,3020,375,-583,250,83 +_.wav=i WD4,3497.194,375.0,-583.333,250.0,83.333 +_肥ガ.wav=- WD4,277.777,202.222,-410.555,77.222,57.519 +_肥ガ.wav=i WD4,608.584,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u WD4,1099.607,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i 肥WD4,1573.793,375.0,-583.333,250.0,83.333 +_肥ガ.wav=e WD4,2122.334,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i WD4,2605.0,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u WD4,3107.182,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i WD4,3613.636,375.0,-583.333,250.0,83.333 +_.wav=- WD4,333.894,176.907,-385.24,51.907,30.864 +_.wav=i WD4,639.45,375.0,-583.333,250.0,83.333 +_.wav=n WD4,1150.111,375.0,-583.333,250.0,83.333 +_.wav=i WD4,1653.759,375.0,-583.333,250.0,83.333 +_.wav=i WD4,2113.916,375.0,-583.333,250.0,83.333 +_.wav=u WD4,2631.593,375.0,-583.333,250.0,83.333 +_.wav=i WD4,3118.406,375.0,-583.333,250.0,83.333 +_.wav=e WD4,3615.0,375.0,-583.333,250.0,83.333 +_.wav=- WD4,350.729,210.578,-418.911,85.578,53.31 +_.wav=u WD4,706.79,375.0,-583.333,250.0,83.333 +_.wav=n WD4,1217.467,375.0,-583.333,250.0,83.333 +_.wav=u WD4,1708.52,375.0,-583.333,250.0,83.333 +_.wav=u WD4,2157.478,375.0,-583.333,250.0,83.333 +_.wav=e WD4,2676.585,375.0,-583.333,250.0,83.333 +_.wav=u WD4,3177.454,375.0,-583.333,250.0,83.333 +_.wav=o WD4,3679.724,375.0,-583.333,250.0,83.333 +_.wav=- WD4,214.646,195.145,-403.478,70.145,42.087 +_.wav=e WD4,567.901,375.0,-583.333,250.0,83.333 +_.wav=n WD4,1030.863,375.0,-583.333,250.0,83.333 +_.wav=e WD4,1526.094,375.0,-583.333,250.0,83.333 +_.wav=e WD4,2021.324,375.0,-583.333,250.0,83.333 +_.wav=o WD4,2529.18,375.0,-583.333,250.0,83.333 +_.wav=e WD4,3020.202,375.0,-583.333,250.0,83.333 +_.wav=a WD4,3502.805,375.0,-583.333,250.0,83.333 +_.wav=- WD4,232.884,157.266,-365.599,32.266,18.237 +_.wav=o WD4,560.886,375.0,-583.333,250.0,83.333 +_.wav=n WD4,1096.801,375.0,-583.333,250.0,83.333 +_.wav=o WD4,1586.419,375,-583,250,83 +_.wav=o WD4,2063.411,375.0,-583.333,250.0,83.333 +_.wav=a WD4,2582.491,375.0,-583.333,250.0,83.333 +_.wav=o WD4,3076.318,375.0,-583.333,250.0,83.333 +_.wav=i WD4,3584.997,375.0,-583.333,250.0,83.333 +_키키.wav=- WD4,345.117,174.101,-382.434,49.101,23.849 +_키키.wav=a WD4,639.449,375.0,-583.333,250.0,83.333 +_키키.wav=n WD4,1145.0,375.0,-583.333,250.0,83.333 +_키키.wav=a WD4,1653.759,375.0,-583.333,250.0,83.333 +_키키.wav=a WD4,2125.14,375.0,-583.333,250.0,83.333 +_키키.wav=i WD4,2628.787,375.0,-583.333,250.0,83.333 +_키키.wav=a WD4,3149.27,375.0,-583.333,250.0,83.333 +_키키.wav=u WD4,3623.457,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=- WD4,353.535,172.697,-381.03,47.697,21.043 +_񂢂񂦂񂨂.wav=n WD4,619.809,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=i WD4,1085.578,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n WD4,1606.061,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=e WD4,2070.426,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n WD4,2550.224,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=o WD4,3097.362,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n RWD4,3995,503,-583,250,83 diff --git a/OpenUtau.Test/Files/ja_vcv/W_G4/oto.ini b/OpenUtau.Test/Files/ja_vcv/W_G4/oto.ini new file mode 100644 index 000000000..bb9c2c678 --- /dev/null +++ b/OpenUtau.Test/Files/ja_vcv/W_G4/oto.ini @@ -0,0 +1,1224 @@ +_.wav=- WG4,391.414,276.247,4097.0,119.246,75.246 +_.wav=a WG4,755.0,375.0,-583.333,250.0,83.333 +_.wav=a WG4,1203,375,-583,250,83 +_.wav=i WG4,1755.0,375.0,-583.333,250.0,83.333 +_.wav=a WG4,2222.023,375.0,-583.333,250.0,83.333 +_.wav=u WG4,2739.731,375.0,-583.333,250.0,83.333 +_.wav=e WG4,3255.0,375.0,-583.333,250.0,83.333 +_.wav=a RWG4,3919,538,454,250,83 +_.wav=- WG4,245.51,219.489,4279.0,84.489,50.489 +_.wav=i WG4,585.0,375.0,-583.333,250.0,83.333 +_.wav=i WG4,1070.158,375.0,-583.333,250.0,83.333 +_.wav=u WG4,1557.001,375.0,-583.333,250.0,83.333 +_.wav=a WG4,2064.886,375,-583,250,83 +_.wav=e WG4,2560.146,375.0,-583.333,250.0,83.333 +_.wav=i WG4,3084.868,375.0,-583.333,250.0,83.333 +_.wav=e RWG4,3792,680,404,250,83 +_񂢂悢₢.wav=- WG4,315.656,193.741,4282.562,68.742,39.281 +_񂢂悢₢.wav=e WG4,612.794,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=n WG4,1145.917,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e WG4,1646.79,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e WG4,2145.0,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=o WG4,2626.084,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=e WG4,3142.39,375.0,-583.333,250.0,83.333 +_񂢂悢₢.wav=a WG4,3660.096,375.0,-583.333,250.0,83.333 +_񃔂.wav=- WG4,274.971,203.563,4313.426,78.563,49.102 +_񃔂.wav=a WG4,565.095,375.0,-583.333,250.0,83.333 +_񃔂.wav=n WG4,1094.009,375.0,-583.333,250.0,83.333 +_񃔂.wav=a WG4,1610.313,375.0,-583.333,250.0,83.333 +_񃔂.wav=a WG4,2102.767,375.0,-583.333,250.0,83.333 +_񃔂.wav=i WG4,2620.474,375.0,-583.333,250.0,83.333 +_񃔂.wav=a WG4,3121.346,375.0,-583.333,250.0,83.333 +_񃔂.wav=u WG4,3602.575,375.0,-583.333,250.0,83.333 +_񂤂.wav=- WG4,408.249,154.46,4229.252,29.46,18.237 +_񂤂.wav=i WG4,694.163,375.0,-583.333,250.0,83.333 +_񂤂.wav=n WG4,1173.978,375.0,-583.333,250.0,83.333 +_񂤂.wav=i WG4,1690.283,375.0,-583.333,250.0,83.333 +_񂤂.wav=i WG4,2202.379,375.0,-583.333,250.0,83.333 +_񂤂.wav=u WG4,2696.236,375.0,-583.333,250.0,83.333 +_񂤂.wav=i WG4,3202.72,375.0,-583.333,250.0,83.333 +_񂤂.wav=e WG4,3706.392,375.0,-583.333,250.0,83.333 +_񃔂.wav=- WG4,335.297,168.489,4288.174,43.489,19.64 +_񃔂.wav=i WG4,642.255,375.0,-583.333,250.0,83.333 +_񃔂.wav=n WG4,1196.428,375.0,-583.333,250.0,83.333 +_񃔂.wav=i WG4,1705.718,375.0,-583.333,250.0,83.333 +_񃔂.wav=i WG4,2186.948,375.0,-583.333,250.0,83.333 +_񃔂.wav=u WG4,2704.655,375.0,-583.333,250.0,83.333 +_񃔂.wav=i WG4,3180.272,375.0,-583.333,250.0,83.333 +_񃔂.wav=e WG4,3669.915,375.0,-583.333,250.0,83.333 +_.wav=- WG4,315.656,204.965,4271.339,79.965,49.102 +_.wav=u WG4,638.047,375.0,-583.333,250.0,83.333 +_.wav=u WG4,1103.831,375,-583,250,83 +_.wav=i WG4,1639.777,375.0,-583.333,250.0,83.333 +_.wav=o WG4,2123.813,375.0,-583.333,250.0,83.333 +_.wav=a WG4,2641.519,375.0,-583.333,250.0,83.333 +_.wav=o WG4,3100.303,375.0,-583.333,250.0,83.333 +_.wav=i RWG4,3767,628,467,250,83 +_䂢.wav=- WG4,232.884,193.742,4365.334,68.742,44.893 +_䂢.wav=u WG4,552.469,375.0,-583.333,250.0,83.333 +_䂢.wav=e WG4,1030.874,375.0,-583.333,250.0,83.333 +_䂢.wav=u WG4,1526.133,375.0,-583.333,250.0,83.333 +_䂢.wav=o WG4,2024.198,375.0,-583.333,250.0,83.333 +_䂢.wav=i WG4,2541.904,375.0,-583.333,250.0,83.333 +_䂢.wav=u WG4,3007.703,375.0,-583.333,250.0,83.333 +_䂢.wav=i WG4,3549.259,375.0,-583.333,250.0,83.333 +_񃔂.wav=- WG4,251.122,199.353,4341.485,74.353,47.699 +_񃔂.wav=e WG4,562.289,375.0,-583.333,250.0,83.333 +_񃔂.wav=n WG4,1092.604,375.0,-583.333,250.0,83.333 +_񃔂.wav=e WG4,1568.223,375.0,-583.333,250.0,83.333 +_񃔂.wav=e WG4,2073.303,375.0,-583.333,250.0,83.333 +_񃔂.wav=o WG4,2578.385,375.0,-583.333,250.0,83.333 +_񃔂.wav=e WG4,3082.062,375.0,-583.333,250.0,83.333 +_񃔂.wav=a WG4,3554.872,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- WG4,331.088,178.309,4282.562,53.31,30.864 +_񂤂키.wav=e WG4,586.139,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n WG4,1064.542,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e WG4,1582.254,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e WG4,2104.169,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o WG4,2612.056,375.0,-583.333,250.0,83.333 +_񂤂키.wav=e WG4,3105.912,375.0,-583.333,250.0,83.333 +_񂤂키.wav=a WG4,3605.381,375.0,-583.333,250.0,83.333 +_񃔂.wav=- WG4,293.209,218.995,4279.756,93.995,60.325 +_񃔂.wav=o WG4,619.809,375.0,-583.333,250.0,83.333 +_񃔂.wav=n WG4,1119.263,375.0,-583.333,250.0,83.333 +_񃔂.wav=o WG4,1645.385,375.0,-583.333,250.0,83.333 +_񃔂.wav=o WG4,2109.781,375.0,-583.333,250.0,83.333 +_񃔂.wav=a WG4,2593.816,375.0,-583.333,250.0,83.333 +_񃔂.wav=o WG4,3107.316,375.0,-583.333,250.0,83.333 +_񃔂.wav=i WG4,3641.858,375.0,-583.333,250.0,83.333 +_񂤂키.wav=- WG4,377.384,175.505,4239.071,50.505,35.072 +_񂤂키.wav=o WG4,680.135,375.0,-583.333,250.0,83.333 +_񂤂키.wav=n WG4,1144.517,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o WG4,1659.418,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o WG4,2172.917,375,-583,250,83 +_񂤂키.wav=a WG4,2656.952,375.0,-583.333,250.0,83.333 +_񂤂키.wav=o WG4,3164.837,375.0,-583.333,250.0,83.333 +_񂤂키.wav=i WG4,3665.0,375.0,-583.333,250.0,83.333 +_񃔃.wav=- WG4,227.272,186.728,4377.96,61.728,43.49 +_񃔃.wav=u WG4,560.886,375.0,-583.333,250.0,83.333 +_񃔃.wav=n WG4,1036.483,375.0,-583.333,250.0,83.333 +_񃔃.wav=u WG4,1526.132,375.0,-583.333,250.0,83.333 +_񃔃.wav=u WG4,2011.573,375.0,-583.333,250.0,83.333 +_񃔃.wav=e WG4,2519.459,375.0,-583.333,250.0,83.333 +_񃔃.wav=u WG4,3004.896,375.0,-583.333,250.0,83.333 +_񃔃.wav=o WG4,3497.35,375.0,-583.333,250.0,83.333 +_.wav=- WG4,373.176,203.562,4215.222,78.562,56.116 +_.wav=e WG4,716.61,375.0,-583.333,250.0,83.333 +_.wav=e WG4,1188.011,375.0,-583.333,250.0,83.333 +_.wav=u WG4,1708.523,375.0,-583.333,250.0,83.333 +_.wav=o WG4,2160.294,375.0,-583.333,250.0,83.333 +_.wav=e WG4,2670.984,375.0,-583.333,250.0,83.333 +_.wav=o WG4,3289.702,375.0,-583.333,250.0,83.333 +_.wav=o RWG4,3989,669,139,250,83 +_񂠂.wav=- WG4,213.243,211.98,4366.737,86.98,63.131 +_񂠂.wav=o WG4,575.0,375.0,-583.333,250.0,83.333 +_񂠂.wav=u WG4,1021.067,375.0,-583.333,250.0,83.333 +_񂠂.wav=n WG4,1502.297,375.0,-583.333,250.0,83.333 +_񂠂.wav=a WG4,2005.975,375.0,-583.333,250.0,83.333 +_񂠂.wav=n WG4,2541.919,375.0,-583.333,250.0,83.333 +_񂠂.wav=n WG4,3000.702,375.0,-583.333,250.0,83.333 +_񂠂.wav=u RWG4,3692,584,589,250,83 +_ĂĂエłł.wav=- WG4,294.612,213.382,4283.966,88.382,64.534 +_ĂĂエłł.wav=o ĂWG4,631.031,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u WG4,1131.901,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n ĂWG4,1646.792,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u WG4,2116.799,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=o łWG4,2637.311,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=u WG4,3096.094,375.0,-583.333,250.0,83.333 +_ĂĂエłł.wav=n łWG4,3625.023,375.0,-583.333,250.0,83.333 +_񂩂.wav=- WG4,392.817,155.862,4243.282,30.862,11.223 +_񂩂.wav=a WG4,663.299,375.0,-583.333,250.0,83.333 +_񂩂.wav=n WG4,1164.158,375.0,-583.333,250.0,83.333 +_񂩂.wav=a WG4,1684.999,375.0,-583.333,250.0,83.333 +_񂩂.wav=a WG4,2219.215,375.0,-583.333,250.0,83.333 +_񂩂.wav=i WG4,2685.012,375.0,-583.333,250.0,83.333 +_񂩂.wav=a WG4,3180.271,375.0,-583.333,250.0,83.333 +_񂩂.wav=u WG4,3685.348,375,-583,250,83 +_񂪂.wav=- WG4,249.719,154.46,4387.781,29.46,14.029 +_񂪂.wav=a WG4,487.935,375.0,-583.333,250.0,83.333 +_񂪂.wav=n WG4,1014.999,375.0,-583.333,250.0,83.333 +_񂪂.wav=a WG4,1509,375,-583,250,83 +_񂪂.wav=a WG4,2029.811,375.0,-583.333,250.0,83.333 +_񂪂.wav=i WG4,2546,375,-583,250,83 +_񂪂.wav=a WG4,3042.778,375.0,-583.333,250.0,83.333 +_񂪂.wav=u WG4,3526.813,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=- WG4,354.938,171.295,4265.727,46.295,28.058 +_񂫂傫Ⴋ.wav=e WG4,612.794,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=n WG4,1136.099,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e WG4,1643.985,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e WG4,2147.663,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=o WG4,2641.517,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=e WG4,3133.971,375.0,-583.333,250.0,83.333 +_񂫂傫Ⴋ.wav=a WG4,3632.037,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=- WG4,437.71,160.071,4194.179,35.071,16.835 +_񂬂催Ⴌ.wav=e WG4,688.552,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=n WG4,1207.653,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e WG4,1716.941,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e WG4,2216.41,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=o WG4,2725.7,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=e WG4,3220.959,375.0,-583.333,250.0,83.333 +_񂬂催Ⴌ.wav=a WG4,3712.004,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=- WG4,384,174,4247,57,21 +_カɂɂɂɂ.wav=i WG4,674.999,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u WG4,1196,375,-583,250,83 +_カɂɂɂɂ.wav=i WG4,1691.687,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=e WG4,2121.011,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i ɂWG4,2696.237,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=u WG4,3184.999,375.0,-583.333,250.0,83.333 +_カɂɂɂɂ.wav=i ɂWG4,3654.999,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=- WG4,210.437,167.087,4414.436,42.087,21.043 +_񂫂ႫႫႫカ.wav=a WG4,497.755,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=n WG4,1032.277,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a WG4,1538.76,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a WG4,2029.81,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=i WG4,2529.279,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=a WG4,3023.134,375.0,-583.333,250.0,83.333 +_񂫂ႫႫႫカ.wav=u WG4,3509.978,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=- WG4,314.253,155.862,4321.845,30.862,14.029 +_񂬂ႬႬႬガ.wav=a WG4,587.542,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=n WG4,1081.382,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a WG4,1582.254,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a WG4,2088.735,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=i WG4,2605.042,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=a WG4,3105.913,375.0,-583.333,250.0,83.333 +_񂬂ႬႬႬガ.wav=u WG4,3610.993,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=- WG4,246.913,174.102,4370.946,49.102,26.655 +_񂫂カカカ傫.wav=u WG4,539.842,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=n WG4,1085.0,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u WG4,1596.284,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u WG4,2071.9,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=e WG4,2578.383,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=u WG4,3068.032,375.0,-583.333,250.0,83.333 +_񂫂カカカ傫.wav=o WG4,3580.125,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=- WG4,388.608,185.324,4218.028,60.324,29.461 +_񂬂ガガガ催.wav=u WG4,678.732,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=n WG4,1171.173,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u WG4,1677.657,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u WG4,2163.095,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=e WG4,2672.385,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=u WG4,3174.66,375.0,-583.333,250.0,83.333 +_񂬂ガガガ催.wav=o WG4,3685.348,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=- WG4,366.161,173.838,4251.961,48.838,16.835 +_񂫂傫傫Ⴋ傫.wav=o WG4,670.314,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=n WG4,1209.056,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o WG4,1704.999,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o WG4,2193.963,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=a WG4,2722.892,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=o WG4,3222.361,375.0,-583.333,250.0,83.333 +_񂫂傫傫Ⴋ傫.wav=i WG4,3712.004,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=- WG4,284.792,161.475,4345.693,36.475,16.835 +_񂬂催催Ⴌ催.wav=o WG4,563.692,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=n WG4,1058.935,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o WG4,1555.598,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o WG4,2057.871,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=a WG4,2560.145,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=o WG4,3072.239,375.0,-583.333,250.0,83.333 +_񂬂催催Ⴌ催.wav=i WG4,3581.53,375.0,-583.333,250.0,83.333 +_񂫂.wav=- WG4,416.666,204.965,4170.329,79.964,49.102 +_񂫂.wav=i WG4,727.833,375.0,-583.333,250.0,83.333 +_񂫂.wav=n WG4,1253.952,375.0,-583.333,250.0,83.333 +_񂫂.wav=i WG4,1747.807,375.0,-583.333,250.0,83.333 +_񂫂.wav=i WG4,2252.886,375.0,-583.333,250.0,83.333 +_񂫂.wav=u WG4,2759.37,375.0,-583.333,250.0,83.333 +_񂫂.wav=i WG4,3242.002,375.0,-583.333,250.0,83.333 +_񂫂.wav=e WG4,3764.999,375.0,-583.333,250.0,83.333 +_񂬂.wav=- WG4,272.166,178.309,4341.485,53.309,25.252 +_񂬂.wav=i WG4,542.649,375.0,-583.333,250.0,83.333 +_񂬂.wav=n WG4,1067.352,375.0,-583.333,250.0,83.333 +_񂬂.wav=i WG4,1579.448,375.0,-583.333,250.0,83.333 +_񂬂.wav=i WG4,2080.318,375.0,-583.333,250.0,83.333 +_񂬂.wav=u WG4,2583.998,375.0,-583.333,250.0,83.333 +_񂬂.wav=i WG4,3089.076,375.0,-583.333,250.0,83.333 +_񂬂.wav=e WG4,3596.963,375.0,-583.333,250.0,83.333 +_񂭂.wav=- WG4,413.86,164.28,4213.819,39.281,15.432 +_񂭂.wav=a WG4,685.746,375.0,-583.333,250.0,83.333 +_񂭂.wav=n WG4,1213.263,375.0,-583.333,250.0,83.333 +_񂭂.wav=a WG4,1718.345,375.0,-583.333,250.0,83.333 +_񂭂.wav=a WG4,2231.844,375.0,-583.333,250.0,83.333 +_񂭂.wav=i WG4,2735.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=a WG4,3254.631,375.0,-583.333,250.0,83.333 +_񂭂.wav=u WG4,3723.228,375.0,-583.333,250.0,83.333 +_񂮂.wav=- WG4,249.719,154.46,4387.781,29.46,16.835 +_񂮂.wav=a WG4,480.919,375.0,-583.333,250.0,83.333 +_񂮂.wav=n WG4,1014.04,375.0,-583.333,250.0,83.333 +_񂮂.wav=a WG4,1519.119,375.0,-583.333,250.0,83.333 +_񂮂.wav=a WG4,2022.795,375.0,-583.333,250.0,83.333 +_񂮂.wav=i WG4,2511.04,375.0,-583.333,250.0,83.333 +_񂮂.wav=a WG4,3025.942,375.0,-583.333,250.0,83.333 +_񂮂.wav=u WG4,3511.38,375.0,-583.333,250.0,83.333 +_񂭂.wav=- WG4,259.539,200.46,4331.961,75.46,50.505 +_񂭂.wav=i WG4,563.692,375.0,-583.333,250.0,83.333 +_񂭂.wav=n WG4,1081.383,375.0,-583.333,250.0,83.333 +_񂭂.wav=i WG4,1589.268,375.0,-583.333,250.0,83.333 +_񂭂.wav=i WG4,2085.931,375.0,-583.333,250.0,83.333 +_񂭂.wav=u WG4,2578.385,375.0,-583.333,250.0,83.333 +_񂭂.wav=i WG4,3086.27,375.0,-583.333,250.0,83.333 +_񂭂.wav=e WG4,3585.738,375.0,-583.333,250.0,83.333 +_񂮂.wav=- WG4,304.433,178.31,4309.218,53.31,23.849 +_񂮂.wav=i WG4,569.304,375.0,-583.333,250.0,83.333 +_񂮂.wav=n WG4,1108.039,375.0,-583.333,250.0,83.333 +_񂮂.wav=i WG4,1613.12,375.0,-583.333,250.0,83.333 +_񂮂.wav=i WG4,2108.377,375.0,-583.333,250.0,83.333 +_񂮂.wav=u WG4,2599.428,375.0,-583.333,250.0,83.333 +_񂮂.wav=i WG4,3101.702,375.0,-583.333,250.0,83.333 +_񂮂.wav=e WG4,3601.171,375.0,-583.333,250.0,83.333 +_񂭂.wav=- WG4,318.462,168.489,4305.01,43.489,22.446 +_񂭂.wav=e WG4,573.512,375.0,-583.333,250.0,83.333 +_񂭂.wav=n WG4,1115.0,375.0,-583.333,250.0,83.333 +_񂭂.wav=e WG4,1625.747,375.0,-583.333,250.0,83.333 +_񂭂.wav=e WG4,2140.648,375.0,-583.333,250.0,83.333 +_񂭂.wav=o WG4,2631.699,375.0,-583.333,250.0,83.333 +_񂭂.wav=e WG4,3150.808,375.0,-583.333,250.0,83.333 +_񂭂.wav=a WG4,3629.231,375.0,-583.333,250.0,83.333 +_񂮂.wav=- WG4,356.341,160.071,4275.548,35.071,15.432 +_񂮂.wav=e WG4,621.212,375.0,-583.333,250.0,83.333 +_񂮂.wav=n WG4,1126.279,375.0,-583.333,250.0,83.333 +_񂮂.wav=e WG4,1643.985,375.0,-583.333,250.0,83.333 +_񂮂.wav=e WG4,2147.663,375.0,-583.333,250.0,83.333 +_񂮂.wav=o WG4,2654.145,375.0,-583.333,250.0,83.333 +_񂮂.wav=e WG4,3149.406,375.0,-583.333,250.0,83.333 +_񂮂.wav=a WG4,3654.484,375.0,-583.333,250.0,83.333 +_񂭂.wav=- WG4,406.846,172.697,4212.418,47.697,25.252 +_񂭂.wav=o WG4,660.493,375.0,-583.333,250.0,83.333 +_񂭂.wav=n WG4,1169.772,375.0,-583.333,250.0,83.333 +_񂭂.wav=o WG4,1681.866,375.0,-583.333,250.0,83.333 +_񂭂.wav=o WG4,2195.366,375.0,-583.333,250.0,83.333 +_񂭂.wav=a WG4,2707.462,375.0,-583.333,250.0,83.333 +_񂭂.wav=o WG4,3209.734,375.0,-583.333,250.0,83.333 +_񂭂.wav=i WG4,3699.378,375.0,-583.333,250.0,83.333 +_񂮂.wav=- WG4,426.487,158.669,4206.804,33.669,19.64 +_񂮂.wav=o WG4,712.401,375.0,-583.333,250.0,83.333 +_񂮂.wav=n WG4,1206.25,375.0,-583.333,250.0,83.333 +_񂮂.wav=o WG4,1725.36,375.0,-583.333,250.0,83.333 +_񂮂.wav=o WG4,2215.006,375.0,-583.333,250.0,83.333 +_񂮂.wav=a WG4,2701.848,375.0,-583.333,250.0,83.333 +_񂮂.wav=o WG4,3222.361,375.0,-583.333,250.0,83.333 +_񂮂.wav=i WG4,3721.824,375.0,-583.333,250.0,83.333 +_.wav=- WG4,243,160,4350,47,32 +_.wav=u WG4,534.231,375.0,-583.333,250.0,83.333 +_.wav=e WG4,1055.0,375.0,-583.333,250.0,83.333 +_.wav=u WG4,1545.0,375.0,-583.333,250.0,83.333 +_.wav=o WG4,2050.857,375.0,-583.333,250.0,83.333 +_.wav=u WG4,2553.131,375.0,-583.333,250.0,83.333 +_.wav=e WG4,3055.405,375.0,-583.333,250.0,83.333 +_.wav=u WG4,3549.26,375.0,-583.333,250.0,83.333 +_񂭂.wav=- WG4,326.879,168.49,4296.591,43.49,22.446 +_񂭂.wav=u WG4,590.347,375.0,-583.333,250.0,83.333 +_񂭂.wav=n WG4,1109.444,375.0,-583.333,250.0,83.333 +_񂭂.wav=u WG4,1607.508,375.0,-583.333,250.0,83.333 +_񂭂.wav=u WG4,2088.735,375,-583,250,83 +_񂭂.wav=e WG4,2609.25,375.0,-583.333,250.0,83.333 +_񂭂.wav=u WG4,3100.301,375.0,-583.333,250.0,83.333 +_񂭂.wav=o WG4,3588.546,375.0,-583.333,250.0,83.333 +_񂮂.wav=- WG4,353.535,155.862,4282.562,30.863,14.029 +_񂮂.wav=u WG4,601.57,375.0,-583.333,250.0,83.333 +_񂮂.wav=n WG4,1123.473,375.0,-583.333,250.0,83.333 +_񂮂.wav=u WG4,1642.583,375.0,-583.333,250.0,83.333 +_񂮂.wav=u WG4,2151.872,375.0,-583.333,250.0,83.333 +_񂮂.wav=e WG4,2644.327,375.0,-583.333,250.0,83.333 +_񂮂.wav=u WG4,3162.033,375.0,-583.333,250.0,83.333 +_񂮂.wav=o WG4,3644.664,375.0,-583.333,250.0,83.333 +_񂯂.wav=- WG4,363.355,174.101,4254.504,49.1,25.252 +_񂯂.wav=e WG4,625.42,375.0,-583.333,250.0,83.333 +_񂯂.wav=n WG4,1126.278,375.0,-583.333,250.0,83.333 +_񂯂.wav=e WG4,1642.583,375.0,-583.333,250.0,83.333 +_񂯂.wav=e WG4,2158.887,375.0,-583.333,250.0,83.333 +_񂯂.wav=o WG4,2655.0,375.0,-583.333,250.0,83.333 +_񂯂.wav=e WG4,3148.003,375.0,-583.333,250.0,83.333 +_񂯂.wav=a WG4,3637.649,375.0,-583.333,250.0,83.333 +_񂰂.wav=- WG4,394.219,155.864,4241.877,30.864,15.432 +_񂰂.wav=e WG4,664.702,375.0,-583.333,250.0,83.333 +_񂰂.wav=n WG4,1169.771,375.0,-583.333,250.0,83.333 +_񂰂.wav=e WG4,1688.882,375.0,-583.333,250.0,83.333 +_񂰂.wav=e WG4,2203.783,375.0,-583.333,250.0,83.333 +_񂰂.wav=o WG4,2714.476,375.0,-583.333,250.0,83.333 +_񂰂.wav=e WG4,3214,375,-583,250,83 +_񂰂.wav=a WG4,3697.975,375.0,-583.333,250.0,83.333 +_񂱂.wav=- WG4,391.53,191,4167,56,30 +_񂱂.wav=o WG4,646.464,375.0,-583.333,250.0,83.333 +_񂱂.wav=n WG4,1195.0,375.0,-583.333,250.0,83.333 +_񂱂.wav=o WG4,1685.0,375.0,-583.333,250.0,83.333 +_񂱂.wav=o WG4,2192.558,375.0,-583.333,250.0,83.333 +_񂱂.wav=a WG4,2693.43,375.0,-583.333,250.0,83.333 +_񂱂.wav=o WG4,3204.122,375.0,-583.333,250.0,83.333 +_񂱂.wav=i WG4,3695.0,375.0,-583.333,250.0,83.333 +_񂲂.wav=- WG4,262.345,162.878,4366.737,37.878,19.64 +_񂲂.wav=o WG4,511.784,375.0,-583.333,250.0,83.333 +_񂲂.wav=n WG4,1029.501,375.0,-583.333,250.0,83.333 +_񂲂.wav=o WG4,1538.791,375.0,-583.333,250.0,83.333 +_񂲂.wav=o WG4,2059.302,375.0,-583.333,250.0,83.333 +_񂲂.wav=a WG4,2550.354,375.0,-583.333,250.0,83.333 +_񂲂.wav=o WG4,3063.851,375.0,-583.333,250.0,83.333 +_񂲂.wav=i WG4,3559.086,375.0,-583.333,250.0,83.333 +_񂳂.wav=- WG4,91.189,283.529,4411.961,158.529,87.312 +_񂳂.wav=a WG4,499.159,375.0,-583.333,250.0,83.333 +_񂳂.wav=n WG4,1021.055,375.0,-583.333,250.0,83.333 +_񂳂.wav=a WG4,1524.731,375.0,-583.333,250.0,83.333 +_񂳂.wav=a WG4,2034.999,375.0,-583.333,250.0,83.333 +_񂳂.wav=i WG4,2508.236,375.0,-583.333,250.0,83.333 +_񂳂.wav=a WG4,3023.134,375.0,-583.333,250.0,83.333 +_񂳂.wav=u WG4,3500.156,375.0,-583.333,250.0,83.333 +_񂴂.wav=- WG4,308.641,175.505,4307.814,50.505,30.864 +_񂴂.wav=a WG4,584.737,375.0,-583.333,250.0,83.333 +_񂴂.wav=n WG4,1119.264,375.0,-583.333,250.0,83.333 +_񂴂.wav=a WG4,1613.12,375.0,-583.333,250.0,83.333 +_񂴂.wav=a WG4,2101.365,375.0,-583.333,250.0,83.333 +_񂴂.wav=i WG4,2603.637,375.0,-583.333,250.0,83.333 +_񂴂.wav=a WG4,3121.344,375.0,-583.333,250.0,83.333 +_񂴂.wav=u WG4,3594.157,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=- WG4,305.836,287.737,4198.388,162.737,98.204 +_񂵂債Ⴕ.wav=e WG4,701.178,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=n WG4,1227.294,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e WG4,1732.375,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e WG4,2236.054,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=o WG4,2738.327,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=e WG4,3247.616,375.0,-583.333,250.0,83.333 +_񂵂債Ⴕ.wav=a WG4,3735.854,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=- WG4,284.91,186.61,4321.961,61.61,46.296 +_񂶂傶Ⴖ.wav=e WG4,584.736,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=n WG4,1084.187,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e WG4,1597.687,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e WG4,2092.944,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=o WG4,2595.218,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=e WG4,3090.481,375.0,-583.333,250.0,83.333 +_񂶂傶Ⴖ.wav=a WG4,3592.752,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=- WG4,138.888,286.335,4366.737,161.335,88.383 +_񂵂ႵႵႵサ.wav=a WG4,524.41,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=n WG4,1033.681,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a WG4,1541.566,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a WG4,2035.0,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=i WG4,2540.503,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=a WG4,3030.149,375.0,-583.333,250.0,83.333 +_񂵂ႵႵႵサ.wav=u WG4,3501.558,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=- WG4,326.879,174.102,4290.979,49.102,23.849 +_񂶂ႶႶႶザ.wav=a WG4,609.988,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=n WG4,1102.428,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a WG4,1625.747,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a WG4,2121.004,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=i WG4,2640.115,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=a WG4,3135.375,375.0,-583.333,250.0,83.333 +_񂶂ႶႶႶザ.wav=u WG4,3620.812,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=- WG4,291.806,276.516,4223.638,151.516,103.815 +_񂵂サササ債.wav=u WG4,671.717,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=n WG4,1200.636,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u WG4,1677.657,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u WG4,2153.276,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=e WG4,2647.13,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=u WG4,3159.225,375.0,-583.333,250.0,83.333 +_񂵂サササ債.wav=o WG4,3661.499,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=- WG4,245.51,193.742,4352.708,68.742,39.281 +_񂶂ザザザ傶.wav=u WG4,534.231,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=n WG4,1030.874,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u WG4,1552.79,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u WG4,2024.199,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=e WG4,2544.999,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=u WG4,3044.181,375.0,-583.333,250.0,83.333 +_񂶂ザザザ傶.wav=o WG4,3559.081,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=- WG4,172.558,279.32,4340.082,154.32,93.995 +_񂵂債債Ⴕ債.wav=o WG4,537.036,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=n WG4,1061.741,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o WG4,1564.014,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o WG4,2056.468,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=a WG4,2550.323,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=o WG4,3052.598,375.0,-583.333,250.0,83.333 +_񂵂債債Ⴕ債.wav=i WG4,3556.276,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=- WG4,356.341,190.935,4244.683,65.936,42.087 +_񂶂傶傶Ⴖ傶.wav=o WG4,677.328,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=n WG4,1164.159,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o WG4,1670.643,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o WG4,2172.915,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=a WG4,2658.356,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=o WG4,3153.613,375.0,-583.333,250.0,83.333 +_񂶂傶傶Ⴖ傶.wav=i WG4,3641.858,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=- WG4,206.228,304.771,4259.0,173.771,100.771 +_񂵂サ.wav=i WG4,588.944,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=n WG4,1127.681,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i WG4,1628.552,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i WG4,2115.0,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=u WG4,2576.98,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=i WG4,3094.689,375.0,-583.333,250.0,83.333 +_񂵂サ.wav=e WG4,3603,375,-583,250,83 +_񂶂ザ.wav=- WG4,377.384,211.98,4202.596,86.98,44.893 +_񂶂ザ.wav=i WG4,684.343,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=n WG4,1228.697,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i WG4,1742.196,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i WG4,2231.841,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=u WG4,2714.998,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=i WG4,3206.928,375.0,-583.333,250.0,83.333 +_񂶂ザ.wav=e WG4,3699.377,375.0,-583.333,250.0,83.333 +_񂷂.wav=- WG4,190.796,277.916,4323.248,152.916,96.801 +_񂷂.wav=i WG4,562.289,375.0,-583.333,250.0,83.333 +_񂷂.wav=n WG4,1095.0,375.0,-583.333,250.0,83.333 +_񂷂.wav=i WG4,1589.269,375.0,-583.333,250.0,83.333 +_񂷂.wav=i WG4,2084.529,375.0,-583.333,250.0,83.333 +_񂷂.wav=u WG4,2582.593,375.0,-583.333,250.0,83.333 +_񂷂.wav=i WG4,3080.659,375.0,-583.333,250.0,83.333 +_񂷂.wav=e WG4,3588.545,375.0,-583.333,250.0,83.333 +_񂸂.wav=- WG4,375.982,182.519,4233.46,57.519,33.67 +_񂸂.wav=i WG4,646.464,375.0,-583.333,250.0,83.333 +_񂸂.wav=n WG4,1180.994,375.0,-583.333,250.0,83.333 +_񂸂.wav=i WG4,1663.628,375.0,-583.333,250.0,83.333 +_񂸂.wav=i WG4,2191.154,375.0,-583.333,250.0,83.333 +_񂸂.wav=u WG4,2679.401,375.0,-583.333,250.0,83.333 +_񂸂.wav=i WG4,3177.466,375.0,-583.333,250.0,83.333 +_񂸂.wav=e WG4,3695.0,375.0,-583.333,250.0,83.333 +_񂷂.wav=- WG4,260.942,283.057,4150.294,176.057,89.057 +_񂷂.wav=u WG4,653.478,375.0,-583.333,250.0,83.333 +_񂷂.wav=n WG4,1164.999,375.0,-583.333,250.0,83.333 +_񂷂.wav=u WG4,1659.419,375.0,-583.333,250.0,83.333 +_񂷂.wav=u WG4,2137.842,375.0,-583.333,250.0,83.333 +_񂷂.wav=e WG4,2662.564,375.0,-583.333,250.0,83.333 +_񂷂.wav=u WG4,3139.585,375.0,-583.333,250.0,83.333 +_񂷂.wav=o WG4,3636.247,375.0,-583.333,250.0,83.333 +_񂸂.wav=- WG4,420.875,189.124,4181.961,64.124,32.267 +_񂸂.wav=u WG4,716.61,375.0,-583.333,250.0,83.333 +_񂸂.wav=n WG4,1255.0,375.0,-583.333,250.0,83.333 +_񂸂.wav=u WG4,1749.21,375.0,-583.333,250.0,83.333 +_񂸂.wav=u WG4,2243.069,375.0,-583.333,250.0,83.333 +_񂸂.wav=e WG4,2739.728,375.0,-583.333,250.0,83.333 +_񂸂.wav=u WG4,3226.571,375.0,-583.333,250.0,83.333 +_񂸂.wav=o WG4,3734.451,375.0,-583.333,250.0,83.333 +_񂹂.wav=- WG4,286.195,309.804,4135.0,160.803,102.804 +_񂹂.wav=e WG4,685.746,375.0,-583.333,250.0,83.333 +_񂹂.wav=n WG4,1205.0,375.0,-583.333,250.0,83.333 +_񂹂.wav=e WG4,1716.942,375.0,-583.333,250.0,83.333 +_񂹂.wav=e WG4,2223.424,375.0,-583.333,250.0,83.333 +_񂹂.wav=o WG4,2708.865,375.0,-583.333,250.0,83.333 +_񂹂.wav=e WG4,3227.974,375.0,-583.333,250.0,83.333 +_񂹂.wav=a WG4,3738.659,375.0,-583.333,250.0,83.333 +_񂺂.wav=- WG4,263.748,179.712,4348.5,54.712,32.267 +_񂺂.wav=e WG4,549.663,375.0,-583.333,250.0,83.333 +_񂺂.wav=n WG4,1096.816,375.0,-583.333,250.0,83.333 +_񂺂.wav=e WG4,1593.478,375.0,-583.333,250.0,83.333 +_񂺂.wav=e WG4,2097.155,375.0,-583.333,250.0,83.333 +_񂺂.wav=o WG4,2592.413,375.0,-583.333,250.0,83.333 +_񂺂.wav=e WG4,3079.256,375.0,-583.333,250.0,83.333 +_񂺂.wav=a WG4,3575.918,375.0,-583.333,250.0,83.333 +_񂻂.wav=- WG4,124.859,294.752,4372.349,169.752,110.83 +_񂻂.wav=o WG4,515.994,375.0,-583.333,250.0,83.333 +_񂻂.wav=n WG4,1050.516,375.0,-583.333,250.0,83.333 +_񂻂.wav=o WG4,1568.225,375.0,-583.333,250.0,83.333 +_񂻂.wav=o WG4,2055.065,375.0,-583.333,250.0,83.333 +_񂻂.wav=a WG4,2567.161,375.0,-583.333,250.0,83.333 +_񂻂.wav=o WG4,3027.345,375.0,-583.333,250.0,83.333 +_񂻂.wav=i WG4,3552.067,375.0,-583.333,250.0,83.333 +_񂼂.wav=- WG4,328.282,178.309,4285.368,53.309,32.267 +_񂼂.wav=o WG4,602.973,375.0,-583.333,250.0,83.333 +_񂼂.wav=n WG4,1143.115,375.0,-583.333,250.0,83.333 +_񂼂.wav=o WG4,1625,375,-583,250,83 +_񂼂.wav=o WG4,2136.439,375.0,-583.333,250.0,83.333 +_񂼂.wav=a WG4,2624.684,375.0,-583.333,250.0,83.333 +_񂼂.wav=o WG4,3125.0,375.0,-583.333,250.0,83.333 +_񂼂.wav=i WG4,3620.812,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=- WG4,311.447,148.849,4331.664,23.849,0.0 +_񂽂ĂƂ.wav=a WG4,595.0,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=n WG4,1106.637,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=a WG4,1611.716,375,-583,250,83 +_񂽂ĂƂ.wav=a ĂWG4,2123.811,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=i WG4,2623.28,375,-583,250,83 +_񂽂ĂƂ.wav=a ƂWG4,3132.569,375.0,-583.333,250.0,83.333 +_񂽂ĂƂ.wav=u WG4,3627.829,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=- WG4,426.487,139.028,4226.445,14.028,0.0 +_񂾂łǂ.wav=a WG4,682.94,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=n WG4,1168.369,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a WG4,1677.658,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a łWG4,2177.126,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=i WG4,2690.624,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=a ǂWG4,3204.123,375.0,-583.333,250.0,83.333 +_񂾂łǂ.wav=u WG4,3690.96,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=- WG4,286.195,233.804,4271.961,108.804,77.16 +_񂿂傿Ⴟ.wav=e WG4,597.363,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=n WG4,1125.0,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e WG4,1624.344,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e WG4,2115.0,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=o WG4,2593.817,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=e WG4,3098.897,375.0,-583.333,250.0,83.333 +_񂿂傿Ⴟ.wav=a WG4,3587.142,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=- WG4,336.7,203.299,4251.961,78.299,40.684 +_񂿂ႿႿႿタ.wav=a WG4,636.644,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=n WG4,1141.712,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a WG4,1638.373,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a WG4,2142.05,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=i WG4,2627.49,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=a WG4,3150.808,375.0,-583.333,250.0,83.333 +_񂿂ႿႿႿタ.wav=u WG4,3615.202,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=- WG4,221.661,213.382,4356.917,88.382,53.31 +_񂿂タタタ傿.wav=u WG4,538.439,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=n WG4,1044.999,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u WG4,1551.387,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u WG4,2015.782,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=e WG4,2529.278,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=u WG4,3025.941,375.0,-583.333,250.0,83.333 +_񂿂タタタ傿.wav=o WG4,3538.036,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=- WG4,356.341,189.533,4246.086,64.533,30.864 +_񂿂傿傿Ⴟ傿.wav=o WG4,650.673,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=n WG4,1179.592,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o WG4,1685.0,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o WG4,2177.125,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=a WG4,2666.772,375.0,-583.333,250.0,83.333 +_񂿂傿傿Ⴟ傿.wav=o WG4,3160.629,375,-583,250,83 +_񂿂傿傿Ⴟ傿.wav=i WG4,3658.694,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=- WG4,354.938,227.412,4209.61,102.412,64.534 +_񂿂タ.wav=i WG4,694.163,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=n WG4,1230.099,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i WG4,1734.999,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i WG4,2224.827,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=u WG4,2717.281,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=i WG4,3209.735,375.0,-583.333,250.0,83.333 +_񂿂タ.wav=e WG4,3721.824,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚WG4,234.287,203.562,4354.111,78.562,53.31 +_‚‚‚‚‚‚‚.wav=a WG4,558.079,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚WG4,1061.741,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚WG4,1555.597,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚WG4,2052.259,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚WG4,2558.743,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a WG4,3073.644,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚WG4,3545.052,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚WG4,267.957,204.964,4319.039,79.964,39.281 +_‚‚‚‚‚‚‚.wav=i WG4,601.57,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚WG4,1130.485,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚WG4,1621.538,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i WG4,2149.066,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=u ‚WG4,2640.115,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚WG4,3136.779,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚WG4,3632.037,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚WG4,183.782,199.354,4408.825,74.354,40.684 +_‚‚‚‚‚‚‚.wav=e WG4,501.964,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚WG4,994.395,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚WG4,1509.298,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚WG4,2012.976,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚WG4,2508.235,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=e ‚WG4,3021.731,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚WG4,3512.783,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=- ‚WG4,276.374,157.266,4358.32,32.266,1.402 +_‚‚‚‚‚‚‚.wav=o WG4,569.305,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=n ‚WG4,1058.935,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚WG4,1562.611,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚WG4,2070.499,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=a ‚WG4,2564.355,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=o ‚WG4,3090.479,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚‚.wav=i ‚WG4,3567.5,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=- WG4,345.117,202.159,4244.683,77.16,44.893 +_‚‚‚‚‚‚.wav=u WG4,649.27,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=n WG4,1205.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u WG4,1701.508,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚WG4,2196.768,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=e WG4,2715.0,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=u ‚WG4,3194.303,375.0,-583.333,250.0,83.333 +_‚‚‚‚‚‚.wav=o WG4,3699,375,-583,250,83 +_ĂĂĂƂĂĂĂ.wav=- ĂWG4,406.846,151.655,4233.46,26.655,0.0 +_ĂĂĂƂĂĂĂ.wav=i WG4,680.134,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=n ĂWG4,1183.803,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ĂWG4,1714.999,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i ƂWG4,2195.366,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=u ĂWG4,2692.026,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂĂĂ.wav=i WG4,3197,375,-583,250,83 +_ĂĂĂƂĂĂĂ.wav=e ĂWG4,3704.999,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=- łWG4,273.569,143.235,4375.156,18.235,0.0 +_łłłǂłłł.wav=i WG4,525.813,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=n łWG4,1051.919,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i łWG4,1538.761,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i ǂWG4,2064.886,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=u łWG4,2561.547,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=i WG4,3045.584,375.0,-583.333,250.0,83.333 +_łłłǂłłł.wav=e łWG4,3538.037,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=- ĂWG4,425.084,165.683,4201.193,40.682,16.835 +_ĂĂ゠ĂアĂウĂ.wav=u ĂWG4,718.013,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u WG4,1207.652,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=a ĂWG4,1732.375,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u WG4,2191.16,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=i ĂWG4,2718.683,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=u WG4,3208.331,375.0,-583.333,250.0,83.333 +_ĂĂ゠ĂアĂウĂ.wav=e ĂWG4,3754.999,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=- łWG4,303.03,136.968,4351.962,11.968,0.0 +_łł゠łアłウł.wav=u łWG4,577.721,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u WG4,1057.533,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=a łWG4,1572.433,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u WG4,2038.232,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=i łWG4,2569.964,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=u WG4,3070.837,375.0,-583.333,250.0,83.333 +_łł゠łアłウł.wav=e łWG4,3570.305,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=- WG4,293,151,4261,29,14 +_ĂĂĂƂĂ.wav=e WG4,558.079,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=n WG4,1064.999,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e WG4,1586.463,375,-583,250,83 +_ĂĂĂƂĂ.wav=e WG4,2099.96,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=o WG4,2595.221,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=e WG4,3094.998,375.0,-583.333,250.0,83.333 +_ĂĂĂƂĂ.wav=a WG4,3596.963,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=- WG4,382.996,140.431,4268.533,15.431,0.0 +_łłłǂł.wav=e WG4,684.343,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=n WG4,1172.578,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e WG4,1658.016,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e WG4,2168.707,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=o WG4,2659.758,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=e WG4,3159.227,375.0,-583.333,250.0,83.333 +_łłłǂł.wav=a WG4,3641.858,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=- ƂWG4,227.272,172.727,4391.961,47.727,30.864 +_ƂƂƂĂƂƂƂ.wav=u WG4,501.964,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=n ƂWG4,990.188,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u ƂWG4,1528.94,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u WG4,2015.78,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=e ƂWG4,2516.651,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=u WG4,3020.33,375.0,-583.333,250.0,83.333 +_ƂƂƂĂƂƂƂ.wav=o ƂWG4,3507.171,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=- ǂWG4,319.865,150.25,4321.845,25.25,0.0 +_ǂǂǂłǂǂǂ.wav=u WG4,583.333,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=n ǂWG4,1095.413,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u ǂWG4,1600.492,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u WG4,2084.529,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=e ǂWG4,2592.413,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=u WG4,3103.107,375.0,-583.333,250.0,83.333 +_ǂǂǂłǂǂǂ.wav=o ǂWG4,3618.008,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=- WG4,387.205,146.043,4258.712,21.043,0.0 +_ƂƂƂƂĂ.wav=o WG4,653.478,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=n WG4,1141.711,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o WG4,1649.597,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o WG4,2143.453,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=a WG4,2630.295,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=o ĂWG4,3145.196,375.0,-583.333,250.0,83.333 +_ƂƂƂƂĂ.wav=i WG4,3625.022,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=- WG4,437.71,144.64,4209.61,19.64,0.0 +_ǂǂǂǂł.wav=o WG4,715.207,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=n WG4,1199.235,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o WG4,1714.135,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o WG4,2223.426,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=a WG4,2711.667,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=o łWG4,3216.75,375.0,-583.333,250.0,83.333 +_ǂǂǂǂł.wav=i WG4,3707.795,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=- WG4,385,134,4154,54,25 +_ȂȂȂɂȂʂ.wav=a WG4,691.358,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=n WG4,1186.607,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a WG4,1705.0,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=a WG4,2203.781,375,-583,250,83 +_ȂȂȂɂȂʂ.wav=i WG4,2701.847,375,-583,250,83 +_ȂȂȂɂȂʂ.wav=a WG4,3185.884,375.0,-583.333,250.0,83.333 +_ȂȂȂɂȂʂ.wav=u WG4,3705.0,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂWG4,311.447,178.55,4301.963,53.55,32.267 +_ɂɂɂɂɂɂɂ.wav=e WG4,601.57,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂWG4,1144.999,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂWG4,1607.506,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂWG4,2104.169,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂWG4,2592.415,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂWG4,3090.479,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂWG4,3609.591,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂWG4,405.443,155.863,4230.654,30.863,0.0 +_ɂɂɂɂɂɂɂ.wav=a WG4,699.775,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂWG4,1200.634,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂWG4,1698.702,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a WG4,2195.364,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂWG4,2697.639,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂWG4,3191.495,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂWG4,3706.392,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂWG4,284.792,155.862,4351.306,30.862,9.82 +_ɂɂɂɂɂɂɂ.wav=u WG4,545.454,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂWG4,1022.456,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂWG4,1541.564,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂWG4,2039.632,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=e ɂWG4,2529.279,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=u ɂWG4,3031.553,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂWG4,3519.796,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=- ɂWG4,342.312,174.1,4275.548,49.1,23.849 +_ɂɂɂɂɂɂɂ.wav=o WG4,652.076,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=n ɂWG4,1134.693,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂWG4,1638.374,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o ɂWG4,2164.5,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=a ɂWG4,2655.0,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=o WG4,3143.792,375.0,-583.333,250.0,83.333 +_ɂɂɂɂɂɂɂ.wav=i ɂWG4,3648.87,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=- WG4,235.69,172.698,4383.572,47.698,28.058 +_ɂɂɂʂɂ˂.wav=i WG4,523.007,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=n WG4,1022.471,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i WG4,1533.178,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i WG4,2025.631,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=u WG4,2523.697,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=i WG4,3020.357,375.0,-583.333,250.0,83.333 +_ɂɂɂʂɂ˂.wav=e WG4,3507.179,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=- WG4,308.641,174.102,4309.218,49.102,33.67 +_ʂʂʂ˂ʂ̂.wav=u WG4,579.123,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=n WG4,1075.761,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u WG4,1587.864,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u WG4,2085.931,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=e WG4,2596.623,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=u WG4,3100.3,375.0,-583.333,250.0,83.333 +_ʂʂʂ˂ʂ̂.wav=o WG4,3589.948,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=- WG4,370.37,182.519,4239.071,57.519,42.087 +_˂˂˂̂˂Ȃ.wav=e WG4,656.285,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=n WG4,1129.084,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e WG4,1645.0,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e WG4,2149.066,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=o WG4,2644.325,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=e WG4,3148.002,375.0,-583.333,250.0,83.333 +_˂˂˂̂˂Ȃ.wav=a WG4,3650.276,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=- WG4,216.049,176.907,4399.004,51.907,32.267 +_̂̂̂Ȃ̂ɂ.wav=o WG4,510.381,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=n WG4,970.541,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o WG4,1505.0,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o WG4,2019.99,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=a WG4,2502.622,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=o WG4,2993.671,375.0,-583.333,250.0,83.333 +_̂̂̂Ȃ̂ɂ.wav=i WG4,3502.961,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=- WG4,256.734,262.484,4272.742,137.484,88.383 +_͂͂͂Ђ͂ӂ.wav=a WG4,579.124,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=n WG4,1039.293,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a WG4,1604.698,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a WG4,2091.541,375,-583,250,83 +_͂͂͂Ђ͂ӂ.wav=i WG4,2591.008,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=a WG4,3090.477,375.0,-583.333,250.0,83.333 +_͂͂͂Ђ͂ӂ.wav=u WG4,3591.348,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=- WG4,300.224,139.028,4352.708,14.028,0.0 +_΂΂΂т΂Ԃ.wav=a WG4,549.663,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=n WG4,1058.935,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a WG4,1548.581,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a WG4,2057.871,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=i WG4,2544.713,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=a WG4,3054.0,375.0,-583.333,250.0,83.333 +_΂΂΂т΂Ԃ.wav=u WG4,3533.827,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=- WG4,361.952,147.445,4282.562,22.446,0.0 +_ςςς҂ςՂ.wav=a WG4,632.435,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=n WG4,1152.935,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a WG4,1638.374,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a WG4,2129.424,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=i WG4,2638.715,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=a WG4,3145.197,375.0,-583.333,250.0,83.333 +_ςςς҂ςՂ.wav=u WG4,3643.261,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂWG4,260.942,242.844,4288.174,117.844,72.951 +_ЂЂЂЂЂЂЂ.wav=e WG4,636.644,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂWG4,1131.891,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂWG4,1667.837,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂWG4,2151.871,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂWG4,2651.339,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂWG4,3140.988,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂWG4,3644.663,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тWG4,336.7,141.834,4313.426,16.834,0.0 +_ттттттт.wav=e WG4,614.197,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тWG4,1116.457,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тWG4,1624.344,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тWG4,2126.618,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тWG4,2637.311,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тWG4,3119.943,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тWG4,3603.978,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂WG4,375.982,143.236,4276.949,18.236,0.0 +_҂҂҂҂҂҂҂.wav=e WG4,645.061,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂WG4,1150.128,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂WG4,1660.822,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂WG4,2170.111,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂WG4,2666.774,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂WG4,3146.6,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂WG4,3648.873,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=- WG4,384.399,137.624,4269.936,12.624,0.0 +_тттт҂҂҂҂.wav=i тWG4,639.45,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u WG4,1123.473,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i тWG4,1641.179,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=e WG4,2135.037,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂WG4,2633.1,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=u WG4,3126.958,375.0,-583.333,250.0,83.333 +_тттт҂҂҂҂.wav=i ҂WG4,3636.247,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=- WG4,185.185,175.814,4376.0,97.814,69.814 +_ЂЂЂЂ݂݂݂݂.wav=i ЂWG4,515.999,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u WG4,1015.444,375,-583,250,83 +_ЂЂЂЂ݂݂݂݂.wav=i ЂWG4,1516.341,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=e WG4,2010.195,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ݂WG4,2490.023,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=u WG4,2985.283,375.0,-583.333,250.0,83.333 +_ЂЂЂЂ݂݂݂݂.wav=i ݂WG4,3484.732,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂWG4,178.17,234.427,4379.363,109.427,64.534 +_ЂЂЂЂЂЂЂ.wav=a WG4,523.006,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂWG4,1015.442,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂWG4,1528.939,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a WG4,2012.975,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂWG4,2509.636,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂWG4,3011.91,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂWG4,3518.394,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тWG4,443.322,139.028,4209.61,14.028,0.0 +_ттттттт.wav=a WG4,715.212,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тWG4,1195.0,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тWG4,1704.315,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a WG4,2207.992,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тWG4,2714.476,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тWG4,3223.765,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тWG4,3716.213,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂WG4,253.928,144.64,4393.393,19.64,8.417 +_҂҂҂҂҂҂҂.wav=a WG4,525.814,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂WG4,1016.846,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂WG4,1527.537,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a WG4,2027.005,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂WG4,2519.457,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂WG4,3020.328,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂WG4,3508.575,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂWG4,238.496,216.189,4337.275,91.189,67.34 +_ЂЂЂЂЂЂЂ.wav=u WG4,579.123,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂWG4,1079.978,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂWG4,1617.328,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂWG4,2087.334,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=e ЂWG4,2589.608,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=u ЂWG4,3076.45,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂWG4,3561.888,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тWG4,274.971,136.223,4380.766,11.223,0.0 +_ттттттт.wav=u WG4,558.079,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тWG4,1049.111,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тWG4,1579.448,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тWG4,2060.678,375.0,-583.333,250.0,83.333 +_ттттттт.wav=e тWG4,2560.144,375.0,-583.333,250.0,83.333 +_ттттттт.wav=u тWG4,3046.987,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тWG4,3547.858,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂WG4,310.044,146.043,4335.874,21.043,0.0 +_҂҂҂҂҂҂҂.wav=u WG4,612.794,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂WG4,1105.234,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂WG4,1600.492,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂WG4,2088.737,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=e ҂WG4,2612.055,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=u ҂WG4,3090.481,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂WG4,3582.932,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=- ЂWG4,345.117,258.277,4188.566,133.277,92.592 +_ЂЂЂЂЂЂЂ.wav=o WG4,701.179,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=n ЂWG4,1216.071,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂWG4,1716.941,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o ЂWG4,2193.961,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=a ЂWG4,2699.04,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=o WG4,3205.525,375.0,-583.333,250.0,83.333 +_ЂЂЂЂЂЂЂ.wav=i ЂWG4,3707.795,375.0,-583.333,250.0,83.333 +_ттттттт.wav=- тWG4,406.846,140.43,4244.683,15.431,0.0 +_ттттттт.wav=o WG4,677.328,375.0,-583.333,250.0,83.333 +_ттттттт.wav=n тWG4,1169.772,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тWG4,1676.254,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o тWG4,2172.915,375.0,-583.333,250.0,83.333 +_ттттттт.wav=a тWG4,2677.998,375.0,-583.333,250.0,83.333 +_ттттттт.wav=o WG4,3167.645,375.0,-583.333,250.0,83.333 +_ттттттт.wav=i тWG4,3672.721,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=- ҂WG4,453.142,139.028,4199.79,14.028,0.0 +_҂҂҂҂҂҂҂.wav=o WG4,729.237,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=n ҂WG4,1225.892,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂WG4,1716.942,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o ҂WG4,2205.187,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=a ҂WG4,2710.265,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=o WG4,3195.705,375.0,-583.333,250.0,83.333 +_҂҂҂҂҂҂҂.wav=i ҂WG4,3688.154,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=- WG4,331.088,216.188,4244.683,91.189,51.907 +_ЂЂЂӂЂւ.wav=i WG4,621.212,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=n WG4,1157.142,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i WG4,1655.208,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i WG4,2143.453,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=u WG4,2627.489,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=i WG4,3126.957,375.0,-583.333,250.0,83.333 +_ЂЂЂӂЂւ.wav=e WG4,3632.037,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=- WG4,342.312,141.834,4307.814,16.834,0.0 +_тттԂтׂ.wav=i WG4,608.585,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=n WG4,1147.324,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i WG4,1631.359,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i WG4,2122.409,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=u WG4,2623.279,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=i WG4,3122.749,375.0,-583.333,250.0,83.333 +_тттԂтׂ.wav=e WG4,3609.59,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=- WG4,437.71,141.833,4212.418,16.833,0.0 +_҂҂҂Ղ҂؂.wav=i WG4,718.014,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=n WG4,1209.055,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i WG4,1712.732,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i WG4,2219.214,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=u WG4,2701.846,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=i WG4,3232.183,375.0,-583.333,250.0,83.333 +_҂҂҂Ղ҂؂.wav=e WG4,3704.99,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂWG4,251.122,255.469,4285.368,130.469,85.578 +_ӂӂӂӂӂӂӂ.wav=a WG4,615.601,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂWG4,1133.293,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂWG4,1628.553,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂWG4,2128.022,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂWG4,2635.908,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a WG4,3132.57,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂWG4,3619.412,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂWG4,325.476,234.426,4232.058,109.426,75.757 +_ӂӂӂӂӂӂӂ.wav=i WG4,691.358,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂWG4,1172.578,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂWG4,1674.852,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i WG4,2207.991,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=u ӂWG4,2679.4,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂWG4,3181.675,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂWG4,3690.96,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂWG4,207.631,245.649,4338.68,120.649,79.966 +_ӂӂӂӂӂӂӂ.wav=e WG4,583.333,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂWG4,1081.383,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂWG4,1592.076,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂWG4,2122.409,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂWG4,2607.848,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=e ӂWG4,3098.898,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂWG4,3582.933,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=- ӂWG4,325.476,193.742,4272.742,68.742,28.058 +_ӂӂӂӂӂӂӂ.wav=o WG4,667.508,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=n ӂWG4,1143.114,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂWG4,1638.374,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂWG4,2157.484,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=a ӂWG4,2663.969,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=o ӂWG4,3149.406,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂӂ.wav=i ӂWG4,3648.872,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=- WG4,157.126,240.039,4394.795,115.039,88.383 +_ӂӂӂӂӂӂ.wav=u WG4,532.829,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=n WG4,1035.08,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u WG4,1545.771,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂWG4,2014.378,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=e WG4,2544.711,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=u ӂWG4,3037.166,375.0,-583.333,250.0,83.333 +_ӂӂӂӂӂӂ.wav=o WG4,3559.082,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=- WG4,363.355,226.644,4201.961,101.643,64.534 +_ӂӂӂւӂق.wav=u WG4,691.358,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=n WG4,1199.23,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u WG4,1701.504,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u WG4,2199.57,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=e WG4,2696.232,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=u WG4,3198.506,375.0,-583.333,250.0,83.333 +_ӂӂӂւӂق.wav=o WG4,3700.779,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=- WG4,399.831,141.834,4250.295,16.834,0.0 +_ԂԂԂׂԂڂ.wav=u WG4,682.939,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=n WG4,1172.578,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u WG4,1672.046,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u WG4,2168.707,375,-583,250,83 +_ԂԂԂׂԂڂ.wav=e WG4,2661.16,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=u WG4,3178.869,375.0,-583.333,250.0,83.333 +_ԂԂԂׂԂڂ.wav=o WG4,3681.14,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=- WG4,293.209,153.058,4345.693,28.058,11.223 +_ՂՂՂ؂Ղۂ.wav=u WG4,558.079,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=n WG4,1067.352,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u WG4,1561.209,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u WG4,2048.05,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=e WG4,2560.145,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=u WG4,3051.196,375.0,-583.333,250.0,83.333 +_ՂՂՂ؂Ղۂ.wav=o WG4,3546.455,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=- WG4,189.393,237.232,4365.336,112.232,77.16 +_ւււقւ͂.wav=e WG4,524.41,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=n WG4,1028.083,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e WG4,2021.39,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e WG4,2518.054,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=o WG4,3007.7,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=e WG4,3507.169,375.0,-583.333,250.0,83.333 +_ւււقւ͂.wav=a WG4,3985.0,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=- WG4,262.345,136.223,4393.393,11.223,0.0 +_ׂׂׂڂׂ΂.wav=e WG4,539.842,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=n WG4,1040.694,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e WG4,1507.895,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e WG4,2031.214,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=o WG4,2532.084,375.0,-583.333,250.0,83.333 +_ׂׂׂڂׂ΂.wav=e WG4,3010.508,375,-583,250,83 +_ׂׂׂڂׂ΂.wav=a WG4,3497.35,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=- WG4,324.074,140.431,4327.455,15.431,0.0 +_؂؂؂ۂ؂ς.wav=e WG4,621.212,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=n WG4,1116.458,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e WG4,1627.15,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e WG4,2116.797,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=o WG4,2617.669,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=e WG4,3118.54,375.0,-583.333,250.0,83.333 +_؂؂؂ۂ؂ς.wav=a WG4,3625.023,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=- WG4,262.345,224.606,4305.01,99.606,64.534 +_ققق͂قЂ.wav=o WG4,617.003,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=n WG4,1110.841,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o WG4,1625.741,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o WG4,2080.316,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=a WG4,2593.815,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=o WG4,3097.491,375.0,-583.333,250.0,83.333 +_ققق͂قЂ.wav=i WG4,3596.959,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=- WG4,301.627,139.027,4351.306,14.027,0.0 +_ڂڂڂ΂ڂт.wav=o WG4,577.721,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=n WG4,1065.0,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o WG4,1592.075,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o WG4,2109.782,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=a WG4,2581.189,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=o WG4,3080.658,375.0,-583.333,250.0,83.333 +_ڂڂڂ΂ڂт.wav=i WG4,3580.125,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=- WG4,406,125,4163,21,11 +_ۂۂۂςۂ҂.wav=o WG4,675.925,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=n WG4,1180.995,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o WG4,1687.479,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o WG4,2193.961,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=a WG4,2666.774,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=o WG4,3150.808,375.0,-583.333,250.0,83.333 +_ۂۂۂςۂ҂.wav=i WG4,3672.722,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=- WG4,349.326,165.685,4276.949,40.685,9.82 +_܂܂܂݂܂ނ.wav=a WG4,655.0,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=n WG4,1171.164,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a WG4,1676.255,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=a WG4,2165.0,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=i WG4,2682.206,375,-583,250,83 +_܂܂܂݂܂ނ.wav=a WG4,3178.866,375.0,-583.333,250.0,83.333 +_܂܂܂݂܂ނ.wav=u WG4,3653.081,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂WG4,385.802,164.197,4241.962,39.197,26.655 +_݂݂݂݂݂݂݂.wav=e WG4,654.882,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂WG4,1154.335,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂WG4,1648.195,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂WG4,2140.647,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂WG4,2654.146,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂WG4,3145.196,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂WG4,3627.829,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂WG4,273.569,151.654,4366.737,26.654,2.805 +_݂݂݂݂݂݂݂.wav=a WG4,518.799,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂WG4,1014.998,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂WG4,1521.924,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a WG4,2007.363,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂WG4,2508.235,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂WG4,3031.553,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂WG4,3526.812,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂WG4,290.404,157.265,4344.291,32.265,9.82 +_݂݂݂݂݂݂݂.wav=u WG4,576.318,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂WG4,1085.0,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂WG4,1593.475,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂WG4,2083.121,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=e ݂WG4,2582.593,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=u ݂WG4,3075.045,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂WG4,3575.917,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=- ݂WG4,168.35,167.085,4416.961,42.084,23.849 +_݂݂݂݂݂݂݂.wav=o WG4,461.279,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=n ݂WG4,981.769,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂WG4,1493.866,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o ݂WG4,1991.928,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=a ݂WG4,2481.577,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=o WG4,2990.866,375.0,-583.333,250.0,83.333 +_݂݂݂݂݂݂݂.wav=i ݂WG4,3484.722,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=- WG4,462.962,160.072,4168.926,35.072,16.835 +_݂݂݂ނ݂߂.wav=i WG4,729.236,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=n WG4,1221.674,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i WG4,1725.359,375,-583,250,83 +_݂݂݂ނ݂߂.wav=i WG4,2234.645,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=u WG4,2721.488,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=i WG4,3225.0,375.0,-583.333,250.0,83.333 +_݂݂݂ނ݂߂.wav=e WG4,3706.392,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=- WG4,245.51,178.309,4368.141,53.309,28.058 +_ނނނ߂ނ.wav=u WG4,545.454,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=n WG4,1082.783,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u WG4,1559.803,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=u WG4,2043.84,375,-583,250,83 +_ނނނ߂ނ.wav=e WG4,2561.547,375,-583,250,83 +_ނނނ߂ނ.wav=u WG4,3080.656,375.0,-583.333,250.0,83.333 +_ނނނ߂ނ.wav=o WG4,3560.484,375,-583,250,83 +_߂߂߂߂܂.wav=- WG4,297.418,186.727,4307.815,61.727,32.267 +_߂߂߂߂܂.wav=e WG4,594.556,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=n WG4,1098.218,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e WG4,1605.0,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e WG4,2123.812,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=o WG4,2621.877,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=e WG4,3111.524,375.0,-583.333,250.0,83.333 +_߂߂߂߂܂.wav=a WG4,3610.992,375,-583,250,83 +_܂݂.wav=- WG4,387.205,158.669,4246.086,33.669,15.432 +_܂݂.wav=o WG4,673.12,375.0,-583.333,250.0,83.333 +_܂݂.wav=n WG4,1171.174,375.0,-583.333,250.0,83.333 +_܂݂.wav=o WG4,1680.463,375.0,-583.333,250.0,83.333 +_܂݂.wav=o WG4,2181.334,375.0,-583.333,250.0,83.333 +_܂݂.wav=a WG4,2693.43,375.0,-583.333,250.0,83.333 +_܂݂.wav=o WG4,3180.272,375.0,-583.333,250.0,83.333 +_܂݂.wav=i WG4,3686.75,375.0,-583.333,250.0,83.333 +_₢.wav=- WG4,265.151,165.684,4361.125,40.684,28.058 +_₢.wav=a WG4,517.395,375.0,-583.333,250.0,83.333 +_₢.wav=n WG4,1023.856,375.0,-583.333,250.0,83.333 +_₢.wav=a WG4,1523.328,375.0,-583.333,250.0,83.333 +_₢.wav=a WG4,1963.873,375.0,-583.333,250.0,83.333 +_₢.wav=i WG4,2519.458,375.0,-583.333,250.0,83.333 +_₢.wav=a WG4,3024.538,375.0,-583.333,250.0,83.333 +_₢.wav=u WG4,3524.006,375.0,-583.333,250.0,83.333 +_䂢.wav=- WG4,279.18,170.819,4341.961,45.819,32.267 +_䂢.wav=u WG4,590.347,375.0,-583.333,250.0,83.333 +_䂢.wav=n WG4,1058.932,375.0,-583.333,250.0,83.333 +_䂢.wav=u WG4,1580.847,375.0,-583.333,250.0,83.333 +_䂢.wav=u WG4,2108.374,375.0,-583.333,250.0,83.333 +_䂢.wav=e WG4,2576.979,375.0,-583.333,250.0,83.333 +_䂢.wav=u WG4,3072.238,375.0,-583.333,250.0,83.333 +_䂢.wav=o WG4,3570.305,375.0,-583.333,250.0,83.333 +_悢.wav=- WG4,415,151,4133,36,15 +_悢.wav=o WG4,698.372,375.0,-583.333,250.0,83.333 +_悢.wav=n WG4,1209.051,375.0,-583.333,250.0,83.333 +_悢.wav=o WG4,1691.688,375.0,-583.333,250.0,83.333 +_悢.wav=o WG4,2233.245,375.0,-583.333,250.0,83.333 +_悢.wav=a WG4,2735.518,375.0,-583.333,250.0,83.333 +_悢.wav=o WG4,3181.676,375.0,-583.333,250.0,83.333 +_悢.wav=i WG4,3693.766,375.0,-583.333,250.0,83.333 +_.wav=- WG4,227.272,181.115,4383.573,56.115,43.49 +_.wav=a WG4,528.618,375.0,-583.333,250.0,83.333 +_.wav=n WG4,1036.485,375.0,-583.333,250.0,83.333 +_.wav=a WG4,1545.775,375,-583,250,83 +_.wav=a WG4,2041.033,375,-583,250,83 +_.wav=i WG4,2536.292,375,-583,250,83 +_.wav=a WG4,3046.986,375.0,-583.333,250.0,83.333 +_.wav=u WG4,3532.425,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=- 肥WG4,391.414,189.533,4211.013,64.533,42.087 +_肥肥肥肥肥.wav=e WG4,705.387,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=n 肥WG4,1207.652,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e 肥WG4,1693.091,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e WG4,2175.724,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=o 肥WG4,2689.223,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=e WG4,3177.466,375.0,-583.333,250.0,83.333 +_肥肥肥肥肥.wav=a 肥WG4,3664.305,375.0,-583.333,250.0,83.333 +_.wav=- WG4,255.331,183.921,4352.708,58.921,50.505 +_.wav=a WG4,566.497,375.0,-583.333,250.0,83.333 +_.wav=n WG4,1043.502,375.0,-583.333,250.0,83.333 +_.wav=a WG4,1538.761,375.0,-583.333,250.0,83.333 +_.wav=a WG4,2053.662,375.0,-583.333,250.0,83.333 +_.wav=i WG4,2544.712,375.0,-583.333,250.0,83.333 +_.wav=a WG4,3062.419,375.0,-583.333,250.0,83.333 +_.wav=u WG4,3552.066,375.0,-583.333,250.0,83.333 +_肥.wav=- WG4,303.03,168.489,4320.441,43.489,29.461 +_肥.wav=u WG4,643.658,375.0,-583.333,250.0,83.333 +_肥.wav=n WG4,1126.274,375.0,-583.333,250.0,83.333 +_肥.wav=u WG4,1607.507,375.0,-583.333,250.0,83.333 +_肥.wav=u 肥WG4,2083.126,375.0,-583.333,250.0,83.333 +_肥.wav=e WG4,2614.863,375.0,-583.333,250.0,83.333 +_肥.wav=u WG4,3111.525,375.0,-583.333,250.0,83.333 +_肥.wav=o WG4,3620.812,375.0,-583.333,250.0,83.333 +_.wav=- WG4,241.301,167.087,4383.572,42.087,32.267 +_.wav=o WG4,514.59,375.0,-583.333,250.0,83.333 +_.wav=n WG4,1012.635,375.0,-583.333,250.0,83.333 +_.wav=o WG4,1507.896,375.0,-583.333,250.0,83.333 +_.wav=o WG4,1998.946,375.0,-583.333,250.0,83.333 +_.wav=a WG4,2509.637,375.0,-583.333,250.0,83.333 +_.wav=o WG4,3007.704,375.0,-583.333,250.0,83.333 +_.wav=i WG4,3515.589,375.0,-583.333,250.0,83.333 +_肥ガ.wav=- WG4,280.583,161.475,4349.902,36.475,18.237 +_肥ガ.wav=i WG4,563.692,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u WG4,1056.128,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i 肥WG4,1547.178,375.0,-583.333,250.0,83.333 +_肥ガ.wav=e WG4,2102.768,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i WG4,2610.652,375.0,-583.333,250.0,83.333 +_肥ガ.wav=u WG4,3104.509,375.0,-583.333,250.0,83.333 +_肥ガ.wav=i WG4,3601.172,375.0,-583.333,250.0,83.333 +_.wav=- WG4,312.85,179.712,4299.398,54.712,33.67 +_.wav=i WG4,601.57,375.0,-583.333,250.0,83.333 +_.wav=n WG4,1110.841,375.0,-583.333,250.0,83.333 +_.wav=i WG4,1618.732,375.0,-583.333,250.0,83.333 +_.wav=i WG4,2113.991,375.0,-583.333,250.0,83.333 +_.wav=u WG4,2603.638,375.0,-583.333,250.0,83.333 +_.wav=i WG4,3110.118,375.0,-583.333,250.0,83.333 +_.wav=e WG4,3606.784,375.0,-583.333,250.0,83.333 +_.wav=- WG4,361.952,202.16,4227.848,77.16,46.296 +_.wav=u WG4,663.299,375.0,-583.333,250.0,83.333 +_.wav=n WG4,1178.189,375.0,-583.333,250.0,83.333 +_.wav=u WG4,1689,375,-583,250,83 +_.wav=u WG4,2165.0,375.0,-583.333,250.0,83.333 +_.wav=e WG4,2670.982,375.0,-583.333,250.0,83.333 +_.wav=u WG4,3166.241,375.0,-583.333,250.0,83.333 +_.wav=o WG4,3668.513,375.0,-583.333,250.0,83.333 +_.wav=- WG4,214.646,178.31,4399.004,53.31,32.267 +_.wav=e WG4,515.994,375.0,-583.333,250.0,83.333 +_.wav=n WG4,1018.247,375.0,-583.333,250.0,83.333 +_.wav=e WG4,1507.894,375.0,-583.333,250.0,83.333 +_.wav=e WG4,2008.766,375.0,-583.333,250.0,83.333 +_.wav=o WG4,2533.488,375.0,-583.333,250.0,83.333 +_.wav=e WG4,3009.106,375.0,-583.333,250.0,83.333 +_.wav=a WG4,3515.587,375,-583,250,83 +_.wav=- WG4,297.418,172.581,4321.961,47.581,32.267 +_.wav=o WG4,586.139,375.0,-583.333,250.0,83.333 +_.wav=n WG4,1096.815,375.0,-583.333,250.0,83.333 +_.wav=o WG4,1585.06,375.0,-583.333,250.0,83.333 +_.wav=o WG4,2078.917,375.0,-583.333,250.0,83.333 +_.wav=a WG4,2574.999,375.0,-583.333,250.0,83.333 +_.wav=o WG4,3104.999,375.0,-583.333,250.0,83.333 +_.wav=i WG4,3574.999,375.0,-583.333,250.0,83.333 +_키키.wav=- WG4,365,146,4162,30,19 +_키키.wav=a WG4,639.449,375.0,-583.333,250.0,83.333 +_키키.wav=n WG4,1123.472,375.0,-583.333,250.0,83.333 +_키키.wav=a WG4,1655.209,375.0,-583.333,250.0,83.333 +_키키.wav=a WG4,2132.23,375.0,-583.333,250.0,83.333 +_키키.wav=i WG4,2648.534,375.0,-583.333,250.0,83.333 +_키키.wav=a WG4,3105.915,375.0,-583.333,250.0,83.333 +_키키.wav=u WG4,3647.47,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=- WG4,317.059,175.503,4299.398,50.503,30.864 +_񂢂񂦂񂨂.wav=n WG4,577.721,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=i WG4,1051.908,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n WG4,1558.391,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=e WG4,2059.261,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n WG4,2579.774,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=o WG4,3080.645,375.0,-583.333,250.0,83.333 +_񂢂񂦂񂨂.wav=n RWG4,3731,658,435,250,83 diff --git a/OpenUtau.Test/Files/ja_vcv/character.txt b/OpenUtau.Test/Files/ja_vcv/character.txt new file mode 100644 index 000000000..977dfceb6 --- /dev/null +++ b/OpenUtau.Test/Files/ja_vcv/character.txt @@ -0,0 +1 @@ +name=ja_vcv diff --git a/OpenUtau.Test/Files/ja_vcv/character.yaml b/OpenUtau.Test/Files/ja_vcv/character.yaml new file mode 100644 index 000000000..2dfc97902 --- /dev/null +++ b/OpenUtau.Test/Files/ja_vcv/character.yaml @@ -0,0 +1,58 @@ +text_file_encoding: shift_jis +portrait_opacity: 0.67000001668930054 +subbanks: +- color: '' + prefix: '' + suffix: C5 + tone_ranges: + - C5-B7 +- color: '' + prefix: '' + suffix: G4 + tone_ranges: + - G4-B4 +- color: '' + prefix: '' + suffix: D4 + tone_ranges: + - D4-F#4 +- color: '' + prefix: '' + suffix: A3 + tone_ranges: + - C1-C#4 +- color: Clear + prefix: '' + suffix: CC5 + tone_ranges: + - C5-B7 +- color: Clear + prefix: '' + suffix: CG4 + tone_ranges: + - G4-B4 +- color: Clear + prefix: '' + suffix: CD4 + tone_ranges: + - D4-F#4 +- color: Clear + prefix: '' + suffix: CA3 + tone_ranges: + - C1-C#4 +- color: Whisper + prefix: '' + suffix: WG4 + tone_ranges: + - G4-B7 +- color: Whisper + prefix: '' + suffix: WD4 + tone_ranges: + - D4-F#4 +- color: Whisper + prefix: '' + suffix: WA3 + tone_ranges: + - C1-C#4 diff --git a/OpenUtau.Test/OpenUtau.Test.csproj b/OpenUtau.Test/OpenUtau.Test.csproj index b0c3ca4a6..78f0bcce1 100644 --- a/OpenUtau.Test/OpenUtau.Test.csproj +++ b/OpenUtau.Test/OpenUtau.Test.csproj @@ -1,6 +1,6 @@ - net5.0-windows + net6.0-windows net6.0 @@ -13,7 +13,6 @@ - @@ -30,6 +29,7 @@ + diff --git a/OpenUtau.Test/Plugins/EnArpaTest.cs b/OpenUtau.Test/Plugins/EnArpaTest.cs new file mode 100644 index 000000000..f73d51a10 --- /dev/null +++ b/OpenUtau.Test/Plugins/EnArpaTest.cs @@ -0,0 +1,34 @@ +using OpenUtau.Api; +using OpenUtau.Plugin.Builtin; +using Xunit; +using Xunit.Abstractions; + +namespace OpenUtau.Plugins { + public class EnArpaTest : PhonemizerTestBase { + public EnArpaTest(ITestOutputHelper output) : base(output) { } + + protected override Phonemizer CreatePhonemizer() { + return new ArpasingPhonemizer(); + } + + [Theory] + [InlineData("en_arpa", + new string[] { "good", "morning" }, + new string[] { "C4", "C4" }, + new string[] { "", "" }, + new string[] { "- g_3", "g uh_3", "uh d_3", "d m_3", "m ao_3", "ao r_3", "r n_3", "n ih_3", "ih ng_3", "ng -_3" })] + [InlineData("en_arpa", + new string[] { "good", "morning", "-" }, + new string[] { "A3", "F4", "C4" }, + new string[] { "", "", "" }, + new string[] { "- g_3", "g uh_3", "uh d_3", "d m_3", "m ao", "ao r", "r n", "n ih", "ih ng", "ng -_3" })] + [InlineData("en_arpa", + new string[] { "moon", "+", "+", "+", "star", "+" }, + new string[] { "F4", "C4", "F4", "F4", "C4", "F4" }, + new string[] { "Whisper", "", "", "", "", "" }, + new string[] { "- m_W", "m uw", "uw n", "n s", "s t_3", "t aa_3", "aa r", "r -" })] + public void PhonemizeTest(string singerName, string[] lyrics, string[] tones, string[] colors, string[] aliases) { + RunPhonemizeTest(singerName, lyrics, tones, colors, aliases); + } + } +} diff --git a/OpenUtau.Test/Plugins/JaCvvcTest.cs b/OpenUtau.Test/Plugins/JaCvvcTest.cs new file mode 100644 index 000000000..f8fb9da39 --- /dev/null +++ b/OpenUtau.Test/Plugins/JaCvvcTest.cs @@ -0,0 +1,34 @@ +using OpenUtau.Api; +using OpenUtau.Plugin.Builtin; +using Xunit; +using Xunit.Abstractions; + +namespace OpenUtau.Plugins { + public class JaCvvcTest : PhonemizerTestBase { + public JaCvvcTest(ITestOutputHelper output) : base(output) { } + + protected override Phonemizer CreatePhonemizer() { + return new JapaneseCVVCPhonemizer(); + } + + [Theory] + [InlineData("ja_cvvc", + new string[] { "あ", "+", "あ", "-" }, + new string[] { "C4", "C4", "C4", "C4" }, + new string[] { "", "", "弱", "" }, + new string[] { "- あ_C4", "a あ_弱C4", "-" })] + [InlineData("ja_cvvc", + new string[] { "お", "にょ", "ひょ", "みょ", "びょ", "ぴょ", "りょ" }, + new string[] { "A3", "C4", "D4", "E4", "F4", "G3", "F3" }, + new string[] { "", "弱", "", "", "強", "", "" }, + new string[] { "- お_A3", "o ny_A3", "にょ_弱C4", "o hy_弱C4", "ひょ_C4", "o my_C4", "みょ_F4", "o by_F4", "びょ_強F4", "o py_強F4", "ぴょ_A3", "o ry_A3", "りょ_A3" })] + [InlineData("ja_cvvc", + new string[] { "ラ", "リ", "ル", "ら" }, + new string[] { "C4", "C4", "C4", "C4" }, + new string[] { "", "", "", "" }, + new string[] { "ラ_C4", "a ly_C4", "リ_C4", "i l_C4", "ル_C4", "u r_C4", "ら_C4" })] + public void PhonemizeTest(string singerName, string[] lyrics, string[] tones, string[] colors, string[] aliases) { + RunPhonemizeTest(singerName, lyrics, tones, colors, aliases); + } + } +} diff --git a/OpenUtau.Test/Plugins/JaVcvTest.cs b/OpenUtau.Test/Plugins/JaVcvTest.cs new file mode 100644 index 000000000..10e688f54 --- /dev/null +++ b/OpenUtau.Test/Plugins/JaVcvTest.cs @@ -0,0 +1,34 @@ +using OpenUtau.Api; +using OpenUtau.Plugin.Builtin; +using Xunit; +using Xunit.Abstractions; + +namespace OpenUtau.Plugins { + public class JaVcvTest : PhonemizerTestBase { + public JaVcvTest(ITestOutputHelper output) : base(output) { } + + protected override Phonemizer CreatePhonemizer() { + return new JapaneseVCVPhonemizer(); + } + + [Theory] + [InlineData("ja_vcv", + new string[] { "あ", "+", "あ", "-" }, + new string[] { "C4", "C4", "C4", "C4" }, + new string[] { "", "", "Clear", "" }, + new string[] { "- あA3", "a あCA3", "-" })] + [InlineData("ja_vcv", + new string[] { "お", "にょ", "ひょ", "みょ", "びょ", "ぴょ", "りょ" }, + new string[] { "A3", "C4", "D4", "E4", "F4", "G3", "F3" }, + new string[] { "", "Clear", "", "", "Whisper", "", "" }, + new string[] { "- おA3", "o にょCA3", "o ひょD4", "o みょD4", "o びょWD4", "o ぴょA3", "o りょA3" })] + [InlineData("ja_vcv", + new string[] { "- ず", "u と", "o R" }, + new string[] { "A3", "C4", "D4" }, + new string[] { "", "", "" }, + new string[] { "- ずA3", "u とA3", "o RD4" })] + public void PhonemizeTest(string singerName, string[] lyrics, string[] tones, string[] colors, string[] aliases) { + RunPhonemizeTest(singerName, lyrics, tones, colors, aliases); + } + } +} diff --git a/OpenUtau.Test/Plugins/PhonemizerTestBase.cs b/OpenUtau.Test/Plugins/PhonemizerTestBase.cs new file mode 100644 index 000000000..8b9356e4f --- /dev/null +++ b/OpenUtau.Test/Plugins/PhonemizerTestBase.cs @@ -0,0 +1,97 @@ +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using OpenUtau.Api; +using OpenUtau.Classic; +using Xunit; +using Xunit.Abstractions; + +namespace OpenUtau.Plugins { + public abstract class PhonemizerTestBase { + protected readonly ITestOutputHelper output; + + protected abstract Phonemizer CreatePhonemizer(); + + public PhonemizerTestBase(ITestOutputHelper output) { + this.output = output; + } + + public void RunPhonemizeTest(string singerName, string[] lyrics, string[] tones, string[] colors, string[] aliases) { + Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); + var dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + var basePath = Path.Join(dir, "Files"); + var file = Path.Join(basePath, singerName, "character.txt"); + + var voicebank = new Voicebank() { File = file, BasePath = dir }; + VoicebankLoader.LoadVoicebank(voicebank); + var singer = new ClassicSinger(voicebank); + singer.EnsureLoaded(); + + var timeAxis = new Core.TimeAxis(); + timeAxis.BuildSegments(new Core.Ustx.UProject()); + + var phonemizer = CreatePhonemizer(); + phonemizer.SetSinger(singer); + phonemizer.SetTiming(timeAxis); + + var results = new List(); + var groups = GetNotes(lyrics, tones, colors); + for (var i = 0; i < groups.Count; i++) { + results.Add(phonemizer.Process( + groups[i], + i > 0 ? groups[i - 1].First() : null, + i < groups.Count - 1 ? groups[i + 1].First() : null, + i > 0 ? groups[i - 1].First() : null, + i < groups.Count - 1 ? groups[i + 1].First() : null, + i > 0 ? groups[i - 1] : null)); + } + var resultAliases = results.SelectMany(r => r.phonemes).Select(p => p.phoneme).ToArray(); + + var builder = new StringBuilder(); + foreach (var resultAlias in resultAliases) { + builder.Append("\""); + builder.Append(resultAlias); + builder.Append("\", "); + } + output.WriteLine(builder.ToString()); + + Assert.Equal(aliases, resultAliases); + } + + List GetNotes(string[] lyrics, string[] tones, string[] colors) { + Assert.Equal(lyrics.Length, tones.Length); + Assert.Equal(lyrics.Length, colors.Length); + var result = new List(); + var group = new List(); + int position = 240; + for (var i = 0; i < lyrics.Length; i++) { + var lyric = lyrics[i]; + if (!lyric.StartsWith("+") && group.Count > 0) { + result.Add(group.ToArray()); + group.Clear(); + } + group.Add(new Phonemizer.Note { + lyric = lyric, + duration = 240, + position = position, + tone = Core.MusicMath.NameToTone(tones[i]), + phonemeAttributes = new Phonemizer.PhonemeAttributes[] { + new Phonemizer.PhonemeAttributes{ + index = 0, + consonantStretchRatio = 1, + voiceColor = colors[i], + } + }, + }); + position += 240; + } + if (group.Count > 0) { + result.Add(group.ToArray()); + group.Clear(); + } + return result; + } + } +} diff --git a/OpenUtau.sln b/OpenUtau.sln index a16d03d84..a37e02914 100644 --- a/OpenUtau.sln +++ b/OpenUtau.sln @@ -13,6 +13,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenUtau.Test", "OpenUtau.Test\OpenUtau.Test.csproj", "{7B351EB5-B83A-4938-99A0-45C2B2116DEF}" + ProjectSection(ProjectDependencies) = postProject + {9535E26C-4584-4126-B6F7-B91B41113196} = {9535E26C-4584-4126-B6F7-B91B41113196} + EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenUtau.Core", "OpenUtau.Core\OpenUtau.Core.csproj", "{7793257C-054C-4935-A1EF-CAB345E9F6C5}" EndProject diff --git a/OpenUtau/App.axaml b/OpenUtau/App.axaml index 65c6823ad..62703c1a2 100644 --- a/OpenUtau/App.axaml +++ b/OpenUtau/App.axaml @@ -19,8 +19,11 @@ + + + diff --git a/OpenUtau/App.axaml.cs b/OpenUtau/App.axaml.cs index c52114988..41059ea1a 100644 --- a/OpenUtau/App.axaml.cs +++ b/OpenUtau/App.axaml.cs @@ -14,14 +14,17 @@ namespace OpenUtau.App { public class App : Application { public override void Initialize() { + Log.Information("Initializing application."); AvaloniaXamlLoader.Load(this); InitializeCulture(); InitializeTheme(); InitOpenUtau(); InitAudio(); + Log.Information("Initialized application."); } public override void OnFrameworkInitializationCompleted() { + Log.Information("Framework initialization completed."); if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) { desktop.MainWindow = new MainWindow(); } @@ -30,6 +33,7 @@ public override void OnFrameworkInitializationCompleted() { } public void InitializeCulture() { + Log.Information("Initializing culture."); var language = CultureInfo.InstalledUICulture.Name; if (!string.IsNullOrEmpty(Core.Util.Preferences.Default.Language)) { language = Core.Util.Preferences.Default.Language; @@ -39,6 +43,7 @@ public void InitializeCulture() { // Force using InvariantCulture to prevent issues caused by culture dependent string conversion, especially for floating point numbers. Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture; + Log.Information("Initialized culture."); } public static void SetLanguage(string language) { @@ -58,7 +63,9 @@ public static void SetLanguage(string language) { } static void InitializeTheme() { + Log.Information("Initializing theme."); SetTheme(); + Log.Information("Initialized theme."); } public static void SetTheme() { @@ -79,12 +86,16 @@ public static void SetTheme() { } public static void InitOpenUtau() { - Resamplers.Search(); + Log.Information("Initializing OpenUtau."); + ToolsManager.Inst.Initialize(); SingerManager.Inst.Initialize(); DocManager.Inst.Initialize(); + DocManager.Inst.PostOnUIThread = action => Avalonia.Threading.Dispatcher.UIThread.Post(action); + Log.Information("Initialized OpenUtau."); } public static void InitAudio() { + Log.Information("Initializing audio."); if (!OS.IsWindows() || Core.Util.Preferences.Default.PreferPortAudio) { try { PlaybackManager.Inst.AudioOutput = new Audio.PortAudioOutput(); @@ -98,6 +109,7 @@ public static void InitAudio() { Log.Error(e2, "Failed to init NAudio"); } } + Log.Information("Initialized audio."); } } } diff --git a/OpenUtau/Colors/DarkTheme.axaml b/OpenUtau/Colors/DarkTheme.axaml index 62f015e6d..e2fa06e5e 100644 --- a/OpenUtau/Colors/DarkTheme.axaml +++ b/OpenUtau/Colors/DarkTheme.axaml @@ -22,7 +22,7 @@ #A0A0A0 #4EA6EA #FF679D - #FF347c + #E62E6E #707070 #D0D0D0 diff --git a/OpenUtau/Colors/LightTheme.axaml b/OpenUtau/Colors/LightTheme.axaml index e3175489e..a7240bafb 100644 --- a/OpenUtau/Colors/LightTheme.axaml +++ b/OpenUtau/Colors/LightTheme.axaml @@ -22,7 +22,7 @@ #948A99 #4EA6EA #FF679D - #FF347c + #E62E6E #AFA3B5 #AFA3B5 diff --git a/OpenUtau/Controls/NotesCanvas.cs b/OpenUtau/Controls/NotesCanvas.cs index 6a82f3072..dafb1917f 100644 --- a/OpenUtau/Controls/NotesCanvas.cs +++ b/OpenUtau/Controls/NotesCanvas.cs @@ -7,6 +7,7 @@ using OpenUtau.App.ViewModels; using OpenUtau.Core; using OpenUtau.Core.Ustx; +using OpenUtau.Core.Util; using ReactiveUI; namespace OpenUtau.App.Controls { @@ -99,9 +100,13 @@ public bool ShowVibrato { private HashSet selectedNotes = new HashSet(); private Geometry pointGeometry; + private bool showGhostNotes = true; + private List otherPartsInView = new List(); + public NotesCanvas() { ClipToBounds = true; pointGeometry = new EllipseGeometry(new Rect(-2.5, -2.5, 5, 5)); + MessageBus.Current.Listen() .Subscribe(_ => InvalidateVisual()); MessageBus.Current.Listen() @@ -111,6 +116,22 @@ public NotesCanvas() { selectedNotes.UnionWith(e.tempSelectedNotes); InvalidateVisual(); }); + MessageBus.Current.Listen() + .Subscribe(_ => RefreshGhostNotes()); + this.WhenAnyValue(x => x.Part) + .Subscribe(_ => RefreshGhostNotes()); + } + + void RefreshGhostNotes() { + showGhostNotes = Convert.ToBoolean(Preferences.Default.ShowGhostNotes); + if (Part == null || !showGhostNotes) { + return; + } + otherPartsInView = DocManager.Inst.Project.parts + .Where(other => other.trackNo != Part.trackNo && + other.position < Part.End && + Part.position < other.End) + .ToList(); } protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change) { @@ -133,6 +154,21 @@ public override void Render(DrawingContext context) { double leftTick = TickOffset - 480; double rightTick = TickOffset + Bounds.Width / TickWidth + 480; bool hidePitch = viewModel.TickWidth <= ViewConstants.PianoRollTickWidthShowDetails * 0.5; + + if (showGhostNotes) { + foreach (UPart otherPart in otherPartsInView) { + if (otherPart is UVoicePart otherVoicePart) { + var xOffset = otherVoicePart.position - Part.position; + foreach (var note in otherVoicePart.notes) { + if (note.LeftBound >= rightTick || note.RightBound <= leftTick) { + continue; + } + RenderGhostNote(note, viewModel, context, xOffset); + } + } + } + } + foreach (var note in Part.notes) { if (note.LeftBound >= rightTick || note.RightBound <= leftTick) { continue; @@ -188,13 +224,31 @@ private void RenderNoteBody(UNote note, NotesViewModel viewModel, DrawingContext } } + private void RenderGhostNote(UNote note, NotesViewModel viewModel, DrawingContext context, int partOffset) { + // REVIEW should ghost note be smaller? + double relativeSize = 0.5d; + double height = TrackHeight * relativeSize; + double yOffset = Math.Floor(height * 0.5f); + Point leftTop = viewModel.TickToneToPoint(partOffset + note.position, note.tone); + leftTop = leftTop.WithX(leftTop.X + 1).WithY(Math.Round(leftTop.Y + 1 + yOffset)); + + Size size = viewModel.TickToneToSize(note.duration, relativeSize); + size = size.WithWidth(size.Width - 1).WithHeight(Math.Floor(size.Height - 2)); + + Point rightBottom = new Point(leftTop.X + size.Width, leftTop.Y + size.Height); + + // REVIEW Using existing color to avoid problems with theming. Not sure if ideal color. + var brush = ThemeManager.NeutralAccentBrushSemi; + context.DrawRectangle(brush, null, new Rect(leftTop, rightBottom), 2, 2); + } + private void RenderPitchBend(UNote note, NotesViewModel viewModel, DrawingContext context) { var pitchExp = note.pitch; var pts = pitchExp.data; - if (pts.Count < 2) return; + if (pts.Count < 2 || viewModel.Part == null) return; var project = viewModel.Project; - double p0Tick = note.position + project.MillisecondToTick(pts[0].X); + double p0Tick = project.timeAxis.MsPosToTickPos(note.PositionMs + pts[0].X) - viewModel.Part.position; double p0Tone = note.tone + pts[0].Y / 10.0; Point p0 = viewModel.TickToneToPoint(p0Tick, p0Tone - 0.5); points.Clear(); @@ -207,7 +261,7 @@ private void RenderPitchBend(UNote note, NotesViewModel viewModel, DrawingContex } for (int i = 1; i < pts.Count; i++) { - double p1Tick = note.position + project.MillisecondToTick(pts[i].X); + double p1Tick = project.timeAxis.MsPosToTickPos(note.PositionMs + pts[i].X) - viewModel.Part.position; double p1Tone = note.tone + pts[i].Y / 10.0; Point p1 = viewModel.TickToneToPoint(p1Tick, p1Tone - 0.5); @@ -244,7 +298,7 @@ private void RenderVibrato(UNote note, NotesViewModel viewModel, DrawingContext } var pen = ThemeManager.AccentPen3; - float nPeriod = (float)viewModel.Project.MillisecondToTick(vibrato.period) / note.duration; + float nPeriod = (float)viewModel.Project.timeAxis.TicksBetweenMsPos(note.PositionMs, note.PositionMs + vibrato.period) / note.duration; float nPos = vibrato.NormalizedStart; var point = vibrato.Evaluate(nPos, nPeriod, note); points.Clear(); @@ -291,7 +345,7 @@ private void RenderVibratoControl(UNote note, NotesViewModel viewModel, DrawingC using (var state = context.PushPreTransform(Matrix.CreateTranslation(fadeOut))) { context.DrawGeometry(pen.Brush, pen, pointGeometry); } - vibrato.GetPeriodStartEnd(note, DocManager.Inst.Project, out var periodStartPos, out var periodEndPos); + vibrato.GetPeriodStartEnd(DocManager.Inst.Project, note, out var periodStartPos, out var periodEndPos); Point periodStart = viewModel.TickToneToPoint(periodStartPos); Point periodEnd = viewModel.TickToneToPoint(periodEndPos); float height = (float)TrackHeight / 3; @@ -306,11 +360,10 @@ private void RenderFinalPitch(double leftTick, double rightTick, NotesViewModel var pen = ThemeManager.FinalPitchPen!; lock (Part!) { foreach (var phrase in Part!.renderPhrases) { - if (phrase.phones.First().position > rightTick || - phrase.phones.Last().position + phrase.phones.Last().duration < leftTick) { + if (phrase.position - Part.position > rightTick || phrase.end - Part.position < leftTick) { continue; } - int pitchStart = phrase.phones[0].position - phrase.phones[0].leading; + int pitchStart = phrase.position - phrase.leading - Part.position; int startIdx = (int)Math.Max(0, (leftTick - pitchStart) / 5); int endIdx = (int)Math.Min(phrase.pitches.Length, (rightTick - pitchStart) / 5 + 1); points.Clear(); diff --git a/OpenUtau/Controls/PartControl.cs b/OpenUtau/Controls/PartControl.cs index dbe40b556..48f834d22 100644 --- a/OpenUtau/Controls/PartControl.cs +++ b/OpenUtau/Controls/PartControl.cs @@ -13,6 +13,7 @@ using System.Threading.Tasks; using Serilog; using System.Threading; +using NWaves.Signals; namespace OpenUtau.App.Controls { class PartControl : TemplatedControl, IDisposable, IProgress { @@ -119,9 +120,7 @@ public PartControl(UPart part, PartsCanvas canvas) { if (part is UWavePart wavePart) { var scheduler = TaskScheduler.FromCurrentSynchronizationContext(); - Task.Run(() => { - wavePart.BuildPeaks(this); - }).ContinueWith((task) => { + wavePart.Peaks.ContinueWith((task) => { if (task.IsFaulted) { Log.Error(task.Exception, "Failed to build peaks"); } else { @@ -195,9 +194,6 @@ public override void Render(DrawingContext context) { } } else if (part is UWavePart wavePart) { // Waveform - if (wavePart.Peaks == null) { - return; - } try { DrawWaveform(wavePart, GetBitmap(ViewWidth)); } catch (Exception e) { @@ -226,66 +222,53 @@ private WriteableBitmap GetBitmap(double width) { } private void DrawWaveform(UWavePart wavePart, WriteableBitmap bitmap) { - double width = wavePart.Duration * TickWidth; + if (wavePart.Peaks == null || + !wavePart.Peaks.IsCompletedSuccessfully || + wavePart.Peaks.Result == null) { + return; + } double height = TrackHeight; - double offset = TickWidth * (TickOffset - wavePart.position); + double monoChnlAmp = (height - 4.0) / 2; + double stereoChnlAmp = (height - 6.0) / 4; + + var timeAxis = Core.DocManager.Inst.Project.timeAxis; + DiscreteSignal[] peaks = wavePart.Peaks.Result; + int x = 0; + if (TickOffset <= wavePart.position) { + // Part starts in or to the right of view. + x = (int)(TickWidth * (wavePart.position - TickOffset)); + } + int posTick = (int)(TickOffset + x / TickWidth); + double posMs = timeAxis.TickPosToMsPos(posTick); + double offsetMs = timeAxis.TickPosToMsPos(wavePart.position); + int sampleIndex = (int)(wavePart.peaksSampleRate * (posMs - offsetMs) * 0.001); + sampleIndex = Math.Clamp(sampleIndex, 0, peaks[0].Length); using (var frameBuffer = bitmap.Lock()) { Array.Clear(bitmapData, 0, bitmapData.Length); - - double monoChnlAmp = (height - 4.0) / 2; - double stereoChnlAmp = (height - 6.0) / 4; - float[] peaks = wavePart.Peaks; - double samplesPerPixel = peaks.Length / width; - - int channels = wavePart.channels; - float left, right, lmax, lmin, rmax, rmin; - lmax = lmin = rmax = rmin = 0; - double position = (int)Math.Round(offset) * samplesPerPixel; - int x = 0; - if (offset < 0) { - position = 0; - x = (int)-offset; - } else { - position = (int)Math.Round(offset) * samplesPerPixel; - x = 0; - } - - for (int i = (int)(position / channels) * channels; i < peaks.Length; i += channels) { - left = peaks[i]; - right = channels > 1 ? peaks[i + 1] : left; - lmax = Math.Max(left, lmax); - lmin = Math.Min(left, lmin); - if (channels > 1) { - rmax = Math.Max(right, rmax); - rmin = Math.Min(right, rmin); + while (x < frameBuffer.Size.Width) { + if (posTick >= wavePart.position + wavePart.Duration) { + break; } - if (i > position) { - lmax = Math.Clamp(lmax, -1, 1); - lmin = Math.Clamp(lmin, -1, 1); - if (channels > 1) { - rmax = Math.Clamp(rmax, -1, 1); - rmin = Math.Clamp(rmin, -1, 1); - DrawPeak( - bitmapData, frameBuffer.Size.Width, x, - (int)(stereoChnlAmp * (1 + lmin)) + 2, - (int)(stereoChnlAmp * (1 + lmax)) + 2); - DrawPeak( - bitmapData, frameBuffer.Size.Width, x, - (int)(stereoChnlAmp * (1 + rmin) + monoChnlAmp) + 2, - (int)(stereoChnlAmp * (1 + rmax) + monoChnlAmp) + 2); - } else { - DrawPeak( - bitmapData, frameBuffer.Size.Width, x, - (int)(monoChnlAmp * (1 + lmin)) + 2, - (int)(monoChnlAmp * (1 + lmax)) + 2); - } - lmax = lmin = rmax = rmin = 0; - position += samplesPerPixel; - x++; - if (x >= bitmap.Size.Width) { - break; + int nextPosTick = (int)(TickOffset + (x + 1) / TickWidth); + double nexPosMs = timeAxis.TickPosToMsPos(nextPosTick); + int nextSampleIndex = (int)(wavePart.peaksSampleRate * (nexPosMs - offsetMs) * 0.001); + nextSampleIndex = Math.Clamp(nextSampleIndex, 0, peaks[0].Length); + if (nextSampleIndex > sampleIndex) { + for (int i = 0; i < peaks.Length; ++i) { + var segment = new ArraySegment(peaks[i].Samples, sampleIndex, nextSampleIndex - sampleIndex); + float min = segment.Min(); + float max = segment.Max(); + double ySpan = peaks.Length == 1 ? monoChnlAmp : stereoChnlAmp; + double yOffset = i == 1 ? monoChnlAmp : 0; + DrawPeak(bitmapData, frameBuffer.Size.Width, x, + (int)(ySpan * (1 + -min) + yOffset) + 2, + (int)(ySpan * (1 + -max) + yOffset) + 2); } } + x++; + posTick = nextPosTick; + posMs = nexPosMs; + sampleIndex = nextSampleIndex; } Marshal.Copy(bitmapData, 0, frameBuffer.Address, bitmapData.Length); } diff --git a/OpenUtau/Controls/PartsCanvas.cs b/OpenUtau/Controls/PartsCanvas.cs index c5d5a47b6..cc19e884a 100644 --- a/OpenUtau/Controls/PartsCanvas.cs +++ b/OpenUtau/Controls/PartsCanvas.cs @@ -95,6 +95,12 @@ public PartsCanvas() { control.InvalidateVisual(); } }); + MessageBus.Current.Listen() + .Subscribe(e => { + foreach (var (part, control) in partControls) { + control.InvalidateVisual(); + } + }); MessageBus.Current.Listen() .Subscribe(_ => InvalidateVisual()); } diff --git a/OpenUtau/Controls/PhonemeCanvas.cs b/OpenUtau/Controls/PhonemeCanvas.cs index 692a257cb..b9ffc4a56 100644 --- a/OpenUtau/Controls/PhonemeCanvas.cs +++ b/OpenUtau/Controls/PhonemeCanvas.cs @@ -102,23 +102,24 @@ public override void Render(DrawingContext context) { const double y = 35.5; const double height = 24; foreach (var phoneme in Part.phonemes) { - double leftBound = phoneme.position - viewModel.Project.MillisecondToTick(phoneme.preutter); + double leftBound = viewModel.Project.timeAxis.MsPosToTickPos(phoneme.PositionMs - phoneme.preutter) - Part.position; double rightBound = phoneme.End; if (leftBound > rightTick || rightBound < leftTick || phoneme.Parent.OverlapError) { continue; } - int position = phoneme.position; - double x = Math.Round(viewModel.TickToneToPoint(position, 0).X) + 0.5; + var timeAxis = viewModel.Project.timeAxis; + double x = Math.Round(viewModel.TickToneToPoint(phoneme.position, 0).X) + 0.5; + double posMs = phoneme.PositionMs; if (!phoneme.Error) { - double x0 = viewModel.TickToneToPoint(position + viewModel.Project.MillisecondToTick(phoneme.envelope.data[0].X), 0).X; + double x0 = viewModel.TickToneToPoint(timeAxis.MsPosToTickPos(posMs + phoneme.envelope.data[0].X) - Part.position, 0).X; double y0 = (1 - phoneme.envelope.data[0].Y / 100) * height; - double x1 = viewModel.TickToneToPoint(position + viewModel.Project.MillisecondToTick(phoneme.envelope.data[1].X), 0).X; + double x1 = viewModel.TickToneToPoint(timeAxis.MsPosToTickPos(posMs + phoneme.envelope.data[1].X) - Part.position, 0).X; double y1 = (1 - phoneme.envelope.data[1].Y / 100) * height; - double x2 = viewModel.TickToneToPoint(position + viewModel.Project.MillisecondToTick(phoneme.envelope.data[2].X), 0).X; + double x2 = viewModel.TickToneToPoint(timeAxis.MsPosToTickPos(posMs + phoneme.envelope.data[2].X) - Part.position, 0).X; double y2 = (1 - phoneme.envelope.data[2].Y / 100) * height; - double x3 = viewModel.TickToneToPoint(position + viewModel.Project.MillisecondToTick(phoneme.envelope.data[3].X), 0).X; + double x3 = viewModel.TickToneToPoint(timeAxis.MsPosToTickPos(posMs + phoneme.envelope.data[3].X) - Part.position, 0).X; double y3 = (1 - phoneme.envelope.data[3].Y / 100) * height; - double x4 = viewModel.TickToneToPoint(position + viewModel.Project.MillisecondToTick(phoneme.envelope.data[4].X), 0).X; + double x4 = viewModel.TickToneToPoint(timeAxis.MsPosToTickPos(posMs + phoneme.envelope.data[4].X) - Part.position, 0).X; double y4 = (1 - phoneme.envelope.data[4].Y / 100) * height; var pen = selectedNotes.Contains(phoneme.Parent) ? ThemeManager.AccentPen2 : ThemeManager.AccentPen1; diff --git a/OpenUtau/Controls/TickBackground.cs b/OpenUtau/Controls/TickBackground.cs index 56c4cd29c..03b1f4ef1 100644 --- a/OpenUtau/Controls/TickBackground.cs +++ b/OpenUtau/Controls/TickBackground.cs @@ -1,26 +1,16 @@ using System; -using System.Collections.Generic; +using System.Collections.ObjectModel; using Avalonia; -using Avalonia.Controls; using Avalonia.Controls.Primitives; using Avalonia.Media; using Avalonia.Media.Immutable; +using OpenUtau.App.ViewModels; using ReactiveUI; namespace OpenUtau.App.Controls { class TickBackground : TemplatedControl { private static readonly IDashStyle DashStyle = new ImmutableDashStyle(new double[] { 2, 4 }, 0); - public static readonly DirectProperty BeatPerBarProperty = - AvaloniaProperty.RegisterDirect( - nameof(BeatPerBar), - o => o.BeatPerBar, - (o, v) => o.BeatPerBar = v); - public static readonly DirectProperty BeatUnitProperty = - AvaloniaProperty.RegisterDirect( - nameof(BeatUnit), - o => o.BeatUnit, - (o, v) => o.BeatUnit = v); public static readonly DirectProperty ResolutionProperty = AvaloniaProperty.RegisterDirect( nameof(Resolution), @@ -41,30 +31,22 @@ class TickBackground : TemplatedControl { nameof(TickOrigin), o => o.TickOrigin, (o, v) => o.TickOrigin = v); - public static readonly DirectProperty SnapUnitProperty = + public static readonly DirectProperty SnapDivProperty = AvaloniaProperty.RegisterDirect( - nameof(SnapUnit), - o => o.SnapUnit, - (o, v) => o.SnapUnit = v); - public static readonly DirectProperty IsPianoRollProperty = - AvaloniaProperty.RegisterDirect( - nameof(IsPianoRoll), - o => o.IsPianoRoll, - (o, v) => o.IsPianoRoll = v); + nameof(SnapDiv), + o => o.SnapDiv, + (o, v) => o.SnapDiv = v); + public static readonly DirectProperty?> SnapTicksProperty = + AvaloniaProperty.RegisterDirect?>( + nameof(SnapTicks), + o => o.SnapTicks, + (o, v) => o.SnapTicks = v); public static readonly DirectProperty ShowBarNumberProperty = AvaloniaProperty.RegisterDirect( nameof(ShowBarNumber), o => o.ShowBarNumber, (o, v) => o.ShowBarNumber = v); - public int BeatPerBar { - get => _beatPerBar; - private set => SetAndRaise(BeatPerBarProperty, ref _beatPerBar, value); - } - public int BeatUnit { - get => _beatUnit; - private set => SetAndRaise(BeatUnitProperty, ref _beatUnit, value); - } public int Resolution { get => _resolution; private set => SetAndRaise(ResolutionProperty, ref _resolution, value); @@ -82,27 +64,25 @@ public int TickOrigin { get => _tickOrigin; private set => SetAndRaise(TickOriginProperty, ref _tickOrigin, value); } - public int SnapUnit { - get => _snapUnit; - set => SetAndRaise(SnapUnitProperty, ref _snapUnit, value); + public int SnapDiv { + get => _snapDiv; + set => SetAndRaise(SnapDivProperty, ref _snapDiv, value); } - public bool IsPianoRoll { - get => _isPianoRoll; - set => SetAndRaise(IsPianoRollProperty, ref _isPianoRoll, value); + public ObservableCollection? SnapTicks { + get => _snapTicks; + set => SetAndRaise(SnapTicksProperty, ref _snapTicks, value); } public bool ShowBarNumber { get => _showBarNumber; set => SetAndRaise(ShowBarNumberProperty, ref _showBarNumber, value); } - private int _beatUnit = 4; - private int _beatPerBar = 4; private int _resolution = 480; private double _tickWidth; private double _tickOffset; private int _tickOrigin; - private int _snapUnit; - private bool _isPianoRoll; + private int _snapDiv; + private ObservableCollection? _snapTicks; private bool _showBarNumber; private Pen penBar; @@ -117,6 +97,8 @@ public TickBackground() { }; MessageBus.Current.Listen() .Subscribe(e => InvalidateVisual()); + MessageBus.Current.Listen() + .Subscribe(e => InvalidateVisual()); } protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change) { @@ -133,43 +115,91 @@ protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs DashStyle = DashStyle, }; } - if (change.Property == BeatPerBarProperty || - change.Property == BeatUnitProperty || - change.Property == ResolutionProperty || + if (change.Property == ResolutionProperty || change.Property == TickOriginProperty || change.Property == TickWidthProperty || - change.Property == TickOffsetProperty) { + change.Property == TickOffsetProperty || + change.Property == SnapDivProperty) { InvalidateVisual(); } } public override void Render(DrawingContext context) { - if (TickWidth <= 0 || SnapUnit <= 0 || BeatUnit <= 0) { + if (TickWidth <= 0) { return; } - int beatUnitTicks = Resolution * 4 / BeatUnit; - int barTicks = beatUnitTicks * BeatPerBar; - int snapUnitIndex = (int)((TickOffset + TickOrigin) / SnapUnit); + var project = Core.DocManager.Inst.Project; + int snapUnit = project.resolution * 4 / SnapDiv; + while (snapUnit * TickWidth < ViewConstants.MinTicklineWidth) { + snapUnit *= 2; // Avoid drawing too dense. + } + double minLineTick = ViewConstants.MinTicklineWidth / TickWidth; double pixelOffset = (TickOffset + TickOrigin) * TickWidth; - for (; snapUnitIndex * SnapUnit * TickWidth - pixelOffset < Bounds.Width; ++snapUnitIndex) { - int tick = snapUnitIndex * SnapUnit; - double x = Math.Round(tick * TickWidth - pixelOffset) + 0.5; - double y = ShowBarNumber ? 24.5 : -0.5; - var pen = penDanshed; - if (tick % barTicks == 0) { - pen = penBar; - if (ShowBarNumber) { - y = -0.5; - int bar = tick / barTicks + 1; - var textLayout = TextLayoutCache.Get(bar.ToString(), ThemeManager.BarNumberBrush, 12); - using (var state = context.PushPreTransform(Matrix.CreateTranslation(x + 3, 8))) { - textLayout.Draw(context); - } + double leftTick = TickOffset + TickOrigin; + double rightTick = TickOffset + TickOrigin + Bounds.Width / TickWidth; + + project.timeAxis.TickPosToBarBeat(TickOrigin, out int bar, out int beat, out int remainingTicks); + if (bar > 0) { + bar--; + } + int barTick = project.timeAxis.BarBeatToTickPos(bar, 0); + SnapTicks?.Clear(); + while (barTick <= rightTick) { + SnapTicks?.Add(barTick); + // Bar lines and numbers. + double x = Math.Round(barTick * TickWidth - pixelOffset) + 0.5; + double y = -0.5; + var textLayout = TextLayoutCache.Get((bar + 1).ToString(), ThemeManager.BarNumberBrush, 10); + using (var state = context.PushPreTransform(Matrix.CreateTranslation(x + 3, 10))) { + textLayout.Draw(context); + } + context.DrawLine(penBar, new Point(x, y), new Point(x, Bounds.Height + 0.5f)); + // Lines between bars. + var timeSig = project.timeAxis.TimeSignatureAtBar(bar); + int nextBarTick = project.timeAxis.BarBeatToTickPos(bar + 1, 0); + int ticksPerBeat = project.resolution * 4 * timeSig.beatPerBar / timeSig.beatUnit; + int ticksPerLine = snapUnit; + if (ticksPerBeat < snapUnit) { + ticksPerLine = ticksPerBeat; + } else if (ticksPerBeat % snapUnit != 0) { + if (ticksPerBeat > minLineTick) { + ticksPerLine = ticksPerBeat; + } else { + ticksPerLine = nextBarTick - barTick; + } + } + if (nextBarTick > leftTick) { + for (int tick = barTick + ticksPerLine; tick < nextBarTick; tick += ticksPerLine) { + SnapTicks?.Add(tick); + project.timeAxis.TickPosToBarBeat(tick, out int snapBar, out int snapBeat, out int snapRemainingTicks); + var pen = snapRemainingTicks != 0 ? penDanshed : penBeatUnit; + x = Math.Round(tick * TickWidth - pixelOffset) + 0.5; + y = 24; + context.DrawLine(pen, new Point(x, y), new Point(x, Bounds.Height + 0.5f)); } - } else if (tick % beatUnitTicks == 0) { - pen = penBeatUnit; } - context.DrawLine(pen, new Point(x, y), new Point(x, Bounds.Height + 0.5f)); + barTick = nextBarTick; + bar++; + } + SnapTicks?.Add(barTick); + + foreach (var tempo in project.tempos) { + double x = Math.Round(tempo.position * TickWidth - pixelOffset) + 0.5; + context.DrawLine(penDanshed, new Point(x, 0), new Point(x, 24)); + var textLayout = TextLayoutCache.Get(tempo.bpm.ToString("#0.00"), ThemeManager.BarNumberBrush, 10); + using (var state = context.PushPreTransform(Matrix.CreateTranslation(x + 3, 0))) { + textLayout.Draw(context); + } + } + + foreach (var timeSig in project.timeSignatures) { + int tick = project.timeAxis.BarBeatToTickPos(timeSig.barPosition, 0); + var barTextLayout = TextLayoutCache.Get((timeSig.barPosition + 1).ToString(), ThemeManager.BarNumberBrush, 10); + double x = Math.Round(tick * TickWidth - pixelOffset) + 0.5 + barTextLayout.Size.Width + 4; + var textLayout = TextLayoutCache.Get($"{timeSig.beatPerBar}/{timeSig.beatUnit}", ThemeManager.BarNumberBrush, 10); + using (var state = context.PushPreTransform(Matrix.CreateTranslation(x + 3, 10))) { + textLayout.Draw(context); + } } } } diff --git a/OpenUtau/Controls/TrackHeader.axaml b/OpenUtau/Controls/TrackHeader.axaml index 474855402..56544d92e 100644 --- a/OpenUtau/Controls/TrackHeader.axaml +++ b/OpenUtau/Controls/TrackHeader.axaml @@ -87,6 +87,19 @@ IsChecked="{Binding Solo, Mode=OneWay}" Command="{Binding ToggleSolo}"> + u.Dispose()); unbinds.Clear(); diff --git a/OpenUtau/Controls/WaveformImage.cs b/OpenUtau/Controls/WaveformImage.cs index 403197388..1c44e5c35 100644 --- a/OpenUtau/Controls/WaveformImage.cs +++ b/OpenUtau/Controls/WaveformImage.cs @@ -1,4 +1,5 @@ using System; +using System.Linq; using System.Runtime.InteropServices; using Avalonia; using Avalonia.Controls; @@ -78,8 +79,8 @@ public override void Render(DrawingContext context) { var project = viewModel.Project; var part = viewModel.Part; if (project != null && part != null && part.Mix != null) { - double leftMs = project.TickToMillisecond(viewModel.TickOrigin + viewModel.TickOffset); - double rightMs = project.TickToMillisecond(viewModel.TickOrigin + viewModel.TickOffset + viewModel.ViewportTicks); + double leftMs = project.timeAxis.TickPosToMsPos(viewModel.TickOrigin + viewModel.TickOffset); + double rightMs = project.timeAxis.TickPosToMsPos(viewModel.TickOrigin + viewModel.TickOffset + viewModel.ViewportTicks); int samplePos = (int)(leftMs * 44100 / 1000) * 2; sampleCount = (int)((rightMs - leftMs) * 44100 / 1000) * 2; if (sampleData.Length < sampleCount) { @@ -88,19 +89,19 @@ public override void Render(DrawingContext context) { Array.Clear(sampleData, 0, sampleData.Length); part.Mix.Mix(samplePos, sampleData, 0, sampleCount); - double samplesPerPixel = (double)sampleCount / bitmap.PixelSize.Width; int startSample = 0; for (int i = 0; i < bitmap.PixelSize.Width; ++i) { - int endSample = Math.Min(sampleCount, (int)(i * samplesPerPixel)); - float max = 0; - float min = 0; - for (int j = startSample; j < endSample; ++j) { - max = Math.Max(max, sampleData[j]); - min = Math.Min(min, sampleData[j]); + int endTick = (int)(viewModel.TickOrigin + viewModel.TickOffset + (i + 1) / viewModel.TickWidth); + double endMs = project.timeAxis.TickPosToMsPos(endTick); + int endSample = Math.Clamp((int)((endMs - leftMs) * 44100 / 1000) * 2, 0, sampleCount); + if (endSample > startSample) { + var segment = new ArraySegment(sampleData, startSample, endSample - startSample); + float min = segment.Min(); + float max = segment.Max(); + float yMax = Math.Clamp(-max + 1f, 0, 2) * 0.5f * (bitmap.PixelSize.Height - 2) + 1; + float yMin = Math.Clamp(-min + 1f, 0, 2) * 0.5f * (bitmap.PixelSize.Height - 2) + 1; + DrawPeak(bitmapData, bitmap.PixelSize.Width, i, (int)yMax, (int)yMin); } - float yMax = Math.Clamp(-max + 1f, 0, 2) * 0.5f * (bitmap.PixelSize.Height - 2) + 1; - float yMin = Math.Clamp(-min + 1f, 0, 2) * 0.5f * (bitmap.PixelSize.Height - 2) + 1; - DrawPeak(bitmapData, bitmap.PixelSize.Width, i, (int)yMax, (int)yMin); startSample = endSample; } } diff --git a/OpenUtau/Integrations/VLabelerClient.cs b/OpenUtau/Integrations/VLabelerClient.cs new file mode 100644 index 000000000..5eb002c65 --- /dev/null +++ b/OpenUtau/Integrations/VLabelerClient.cs @@ -0,0 +1,169 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Text; +using System.Threading.Tasks; +using K4os.Hash.xxHash; +using NetMQ; +using NetMQ.Sockets; +using Newtonsoft.Json; +using OpenUtau.Core; +using Serilog; + +namespace OpenUtau.Integrations { + internal class VLabelerClient : Core.Util.SingletonBase { + class HeartbeatRequest { + public string type = "Heartbeat"; + public long sentAt = Epoch(); + } + + class GotoEntryByName { + public string parentFolderName; + public string entryName; + public GotoEntryByName(string parentFolderName, string entryName) { + this.parentFolderName = parentFolderName; + this.entryName = entryName; + } + } + + class GotoEntryByIndex { + public string parentFolderName; + public string entryIndex; + public GotoEntryByIndex(string parentFolderName, string entryIndex) { + this.parentFolderName = parentFolderName; + this.entryIndex = entryIndex; + } + } + + class TypedValue { + public string type; + public object value; + public TypedValue(string type, object value) { + this.type = type; + this.value = value; + } + } + + class NewProjectArgs { + public string labelerName = "utau-singer.default"; + public string? sampleDirectory; + public string? cacheDirectory; + public Dictionary? labelerParams; + public string? pluginName; + public Dictionary? pluginParams; + public string? inputFile; + public string encoding = Encoding.UTF8.WebName; + public bool autoExport; + } + + class OpenOrCreateRequest { + public string type = "OpenOrCreate"; + public string projectFile = string.Empty; + public GotoEntryByName? gotoEntryByName; + public GotoEntryByIndex? gotoEntryByIndex; + public NewProjectArgs newProjectArgs = new NewProjectArgs(); + public long sentAt = Epoch(); + } + + private static long Epoch() { + return (long)(DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds; + } + + private static string HashHex(string s) { + return $"{XXH32.DigestOf(Encoding.UTF8.GetBytes(s)):x8}"; + } + + private bool Heartbeat() { + using (var client = new RequestSocket()) { + client.Connect("tcp://localhost:32342"); + string reqStr = JsonConvert.SerializeObject(new HeartbeatRequest()); + client.SendFrame(reqStr); + if (client.TryReceiveFrameString(TimeSpan.FromMilliseconds(1000), out string? respStr)) { + return true; + } + return false; + } + } + + private void OpenOrCreate(Core.Ustx.USinger singer, Core.Ustx.UOto? oto) { + var request = new OpenOrCreateRequest() { + projectFile = Path.Combine(singer.Location, "_vlabeler.lbp"), + newProjectArgs = new NewProjectArgs { + cacheDirectory = Path.Combine(PathManager.Inst.CachePath, $"vlabeler-{HashHex(singer.Id)}"), + labelerParams = new Dictionary { + { "useRootDirectory", new TypedValue("boolean", true) } + }, + encoding = singer.TextFileEncoding.WebName, + autoExport = true, + }, + }; + if (oto != null) { + request.gotoEntryByName = new GotoEntryByName(oto.Set.Replace("\\","/"), oto.Alias); + } + using (var client = new RequestSocket()) { + client.Connect("tcp://localhost:32342"); + string reqStr = JsonConvert.SerializeObject(request); + client.SendFrame(reqStr); + if (!client.TryReceiveFrameString(TimeSpan.FromMilliseconds(1000), out string? respStr)) { + Log.Warning($"Failed to OpenOrCreate with vLabeler"); + } + } + } + + private Task TryStart() { + return Task.Run(() => { + if (Heartbeat()) { + return true; + } + var path = Core.Util.Preferences.Default.VLabelerPath; + if (!OS.AppExists(path)) { + throw new FileNotFoundException($"Cannot find file {path}."); + } + using (var proc = new Process()) { + if (OS.IsMacOS()) { + OS.OpenFolder(path); + } else { + proc.StartInfo = new ProcessStartInfo(path) { + UseShellExecute = false, + CreateNoWindow = true, + }; + proc.Start(); + } + Log.Information("Starting vLabeler."); + } + for (int i = 0; i < 50; i++) { + Task.Delay(100); + if (Heartbeat()) { + Log.Information("vLabeler started."); + return true; + } + } + Log.Warning("Unable to start vLabeler."); + return false; + }); + } + + public void GotoOto(Core.Ustx.USinger singer, Core.Ustx.UOto? oto) { + TryStart().ContinueWith(task => { + if (!task.IsFaulted && task.Result) { + OpenOrCreate(singer, oto); + } else if (task.IsFaulted) { + if (task.Exception != null) { + throw task.Exception; + } + } else { + throw new Exception("Failed to start vLabeler"); + } + }).ContinueWith(task => { + if (task.IsFaulted) { + if (task.Exception != null) { + DocManager.Inst.ExecuteCmd(new ErrorMessageNotification(task.Exception)); + } else { + DocManager.Inst.ExecuteCmd(new ErrorMessageNotification("Failed to start vLabeler")); + } + } + }); + } + } +} diff --git a/OpenUtau/OpenUtau.csproj b/OpenUtau/OpenUtau.csproj index d880aa24f..056bf2774 100644 --- a/OpenUtau/OpenUtau.csproj +++ b/OpenUtau/OpenUtau.csproj @@ -1,6 +1,7 @@  - net5.0-windows + net6.0-windows + true net6.0 @@ -11,6 +12,8 @@ enable 0.0.0 Assets\open-utau.ico + true + embedded @@ -35,17 +38,17 @@ - - - - - - + + + + + + - + @@ -62,7 +65,7 @@ - + @@ -73,6 +76,9 @@ True Resources.resx + + TrackSettingsDialog.axaml + diff --git a/OpenUtau/Program.cs b/OpenUtau/Program.cs index 218813f6e..717cc7efb 100644 --- a/OpenUtau/Program.cs +++ b/OpenUtau/Program.cs @@ -1,4 +1,5 @@ using System; +using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; @@ -20,12 +21,13 @@ public class Program { public static void Main(string[] args) { Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); InitLogging(); - var exists = System.Diagnostics.Process.GetProcessesByName( - Path.GetFileNameWithoutExtension( - Assembly.GetEntryAssembly()?.Location)).Count() > 1; - if (exists) { - Log.Information("OpenUtau already open. Exiting."); - return; + string processName = Process.GetCurrentProcess().ProcessName; + if (processName != "dotnet") { + var exists = Process.GetProcessesByName(processName).Count() > 1; + if (exists) { + Log.Information($"Process {processName} already open. Exiting."); + return; + } } Log.Information($"{Environment.OSVersion}"); Log.Information($"{RuntimeInformation.OSDescription} " + @@ -33,11 +35,18 @@ public static void Main(string[] args) { $"{RuntimeInformation.ProcessArchitecture}"); Log.Information($"OpenUtau v{Assembly.GetEntryAssembly()?.GetName().Version} " + $"{RuntimeInformation.RuntimeIdentifier}"); + Log.Information($"Data path = {PathManager.Inst.DataPath}"); + Log.Information($"Cache path = {PathManager.Inst.CachePath}"); try { Run(args); + Log.Information($"Exiting."); } finally { - NetMQ.NetMQConfig.Cleanup(); + if (!OS.IsMacOS()) { + NetMQ.NetMQConfig.Cleanup(/*block=*/false); + // Cleanup() hangs on macOS https://github.com/zeromq/netmq/issues/1018 + } } + Log.Information($"Exited."); } // Avalonia configuration, don't remove; also used by visual designer. @@ -66,6 +75,7 @@ public static void InitLogging() { AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler((sender, args) => { Log.Error((Exception)args.ExceptionObject, "Unhandled exception"); }); + Log.Information("Logging initialized."); } } } diff --git a/OpenUtau/Strings/Strings.axaml b/OpenUtau/Strings/Strings.axaml index b070b1558..4c41b5966 100644 --- a/OpenUtau/Strings/Strings.axaml +++ b/OpenUtau/Strings/Strings.axaml @@ -2,6 +2,11 @@ xmlns:system="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + Copy note + Delete note + Delete part + Rename part + Reselect audio file Ease in Ease in/out Ease out @@ -9,6 +14,10 @@ Add point Delete point Snap to previous note + Add tempo change at {0} + Add time signature change + Delete tempo change at {0} + Delete time signature change Clear Copy Log @@ -29,6 +38,10 @@ No resampler No resampler! Put your favourite resampler exe or dll in the Resamplers folder and choose it in Preferences! Time Signature + Track Settings + Location + Renderer + Set As Default Error @@ -67,12 +80,18 @@ Undo File Exit + Export Audio + Export Midi File + Mixdown To Wav File + Export Project Export Ust Files Export Ust Files To... Export Wav Files Export Wav Files To... Import Audio... Import Midi... + DryWetMidi Importer + Naudio Importer Import Tracks... New New From Template @@ -86,6 +105,9 @@ Save Template... Help About OpenUtau + Check Update + Open Logs Location + Report Issue OpenUtau Wiki Tools Clear Cache @@ -131,6 +153,11 @@ Warning: this option removes custom presets. Color Consonant Cutoff + Set Consonant + Set Cutoff + Set Offset + Set Overlap + Set Preutter File Offset Overlap @@ -140,9 +167,13 @@ Warning: this option removes custom presets. Set Suffix + Phonetic Assistant + Copy + Lyrics Replace "-" with "+" Edit Lyrics + Hanzi to Pinyin Hiragana to Romaji Japanese VCV to CV Remove Letter Suffix @@ -153,7 +184,9 @@ Warning: this option removes custom presets. Add tail "-" Add tail "R" Clear vibratos - Load Rendered Pitch + Load rendered pitch + Move an octave down + Move an octave up Quantize to 1/128 Quantize to 1/64 Reset all expressions @@ -162,11 +195,12 @@ Warning: this option removes custom presets. Reset vibratos Part Legacy Plugin (Experimental) - Rename View Final Pitch to Render (R) View Phonemes (O) View Pitch Bend (I) Toggle Snap (P) + Auto + Auto (triplet) View Tips (T) Toggle Note Tone (Y) View Vibrato (U) @@ -174,19 +208,26 @@ Warning: this option removes custom presets. Draw Pitch Tool (4) Eraser Tool (3) Knife Tool (5) - Pen Tool (2) -Left click to draw -Right click to delete - Selection Tool (1) -Hold Ctrl to select more + Pen Plus Tool (Ctrl + 2) + Left click to draw + Right click to delete +Hold Ctrl to select + Pen Tool (2) + Left click to draw +Hold Ctrl to select + Selection Tool (1) Advanced Beta + Lyrics Helper + Lyrics Helper Adds Brackets Resampler Logging Stores resampler output in log files. This option slows down UI and rendering. Stable + Vlabeler Path Appearance Language + Show other tracks' notes on piano roll Show portrait on piano roll Theme Dark @@ -195,6 +236,8 @@ Hold Ctrl to select more Note: please restart OpenUtau after changing this item. Off On + Oto Editor + Default Oto Editor Paths Additional Singer Path Install to Additional Singer Path @@ -215,24 +258,37 @@ Hold Ctrl to select more Move cursor back to where you started playing Test Rendering + Diffsinger Render Speedup Phase Compensation Pre-render - Pre-render Threads Resampler -Warning: moresampler is not fully supported. It may be slow and cause high CPU usage. If you insist, please: -1. Set "resampler-compatibility" to "on" in moreconfig.txt. -2. Set "auto-update-llsm-mrq" to "off" in moreconfig.txt. -3. Patiently wait for moresampler to generate missing llsm files. + Warning: moresampler is not fully supported. It may be slow and cause high CPU usage. If you insist, please: + 1. Set "resampler-compatibility" to "on" in moreconfig.txt. + 2. Set "auto-update-llsm-mrq" to "off" in moreconfig.txt. + 3. Patiently wait for moresampler to generate missing llsm files. Note: to use external resamplers, please add the resampler DLL or EXE file in the Resamplers folder in the OpenUtau install path and choose it in Preferences. + + Warning: too many render threads may cause OpenUtau to run slowly. + + Maximum Render Threads + Wavtool Project saved. {0} Waiting Rendering Singers + Edit In vLabeler + Goto Source File + Regenerate FRQ + Regenerating FRQ + Reset Otos + Save Otos + Download vLabeler (1.0.0-beta1 or higher) from https://github.com/sdercolin/vlabeler and set vLabeler path in Preferences first! + Generate Singer Error Report Location Move Left Move Right @@ -258,26 +314,27 @@ Warning: moresampler is not fully supported. It may be slow and cause high CPU u Set Tone Tone Ranges + Visit Website Override Alias -Left Button Draw: Set expressions -Right Button Draw: Reset expressions + Left Button Draw: Set expressions + Right Button Draw: Reset expressions Expression not supported by renderer Tab: Next Note Shift+Tab: Previous Note -Selection Tool + Selection Tool Box Select: Select notes Ctrl + Box Select: Select more notes Up/Down: Transpose selected notes Ctrl + Up/Down: Transpose selected notes by octave -Pen Tool + Pen Tool Left Button Draw: Add note Right Click: Remove note Right Button Draw: Remove multiple notes -General + General T: Toggle tips Drag Note: Move note Drag End of Note: Resize note @@ -308,4 +365,5 @@ General Warning Your OpenUtau home path "{0}" contains non-ASCII character. Exe resamplers may not work. + No settings for this renderer. diff --git a/OpenUtau/Strings/Strings.es-ES.axaml b/OpenUtau/Strings/Strings.es-ES.axaml index 16a9c63a1..9458f5311 100644 --- a/OpenUtau/Strings/Strings.es-ES.axaml +++ b/OpenUtau/Strings/Strings.es-ES.axaml @@ -2,6 +2,11 @@ xmlns:system="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + + + + + @@ -9,6 +14,10 @@ + + + + @@ -29,6 +38,10 @@ No hay resampler ¡No hay resampler! Coloque el resampler.exe o .dll de su preferencia en la carpeta "Resamplers" y selecciónelo en preferencias.! + + + + @@ -67,12 +80,18 @@ Deshacer Archivo Salir + + + + Importar Audio... Importar Midi... + + Nuevo @@ -86,6 +105,9 @@ Ayuda Acerca de OpenUTAU + + + Herramientas @@ -131,6 +153,11 @@ Warning: this option removes custom presets.--> + + + + + @@ -140,9 +167,13 @@ Warning: this option removes custom presets.--> + + + + @@ -153,7 +184,9 @@ Warning: this option removes custom presets.--> - + + + @@ -162,11 +195,12 @@ Warning: this option removes custom presets.--> - + + @@ -174,19 +208,26 @@ Warning: this option removes custom presets.--> - - + + + + + + Apariencia + Tema Oscuro @@ -195,6 +236,8 @@ Hold Ctrl to select more--> + + Rutas @@ -217,22 +260,34 @@ Hold Ctrl to select more--> - Nota: Para usar resamplers externos, por favor, añada el archivo DLL o EXE en la carpeta "Resamplers" dentro de la ruta de instalación de OpenUTAU y selecciónelo en preferencias. + + + + + + + + + + + @@ -258,26 +313,27 @@ Warning: moresampler is not fully supported. It may be slow and cause high CPU u + Tab: Siguiente nota Shift+Tab: Nota anterior diff --git a/OpenUtau/Strings/Strings.es-MX.axaml b/OpenUtau/Strings/Strings.es-MX.axaml index 960f613f5..567033562 100644 --- a/OpenUtau/Strings/Strings.es-MX.axaml +++ b/OpenUtau/Strings/Strings.es-MX.axaml @@ -2,6 +2,11 @@ xmlns:system="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + Copiar nota + Borrar nota + Borrar parte + Renombrar parte + Suavizar ataque Suavizar ataque/salida Suavizar salida @@ -9,10 +14,14 @@ Agregar punto Borrar punto Ajustar a la nota previa + Cambiar el tempo en {0} + Cambiar la medida del compás + Borrar el cambio del tempo en {0} + Borrar el cambio de la medida del compás Limpiar - Copiar Registro - Revertir Orden del Registro + Copiar registro + Revertir orden del registro Sobre OpenUTAU @@ -21,28 +30,32 @@ Salir de OpenUTAU El projecto tiene cambios sin guardar. ¿Quieres guardar el archivo? Exportar - Porfavor, guarda el archivo antes de exportarlo. + Por favor, guarda el archivo antes de exportarlo. Cancelar OK Resampler no encontrado No se encontró un Resampler. Pone uno (sea .exe o .dll) en la carpeta Resamplers en la ruta de instalación de OpenUTAU. - Tiempos de Compás + Medida del compás + Ajustes de la pista + Ubicación + Renderizador + Usar como predeterminado Abreviación Aplicar Expresiones - Valores Predeterminados - Flags del Resampler - Es Flag del Resampler + Valores predeterminados + Flags del resampler + Es flag del resampler Máx Mín Nombre - Opciones de los Valores - Separar Valores por ',' + Opciones de los valores + Separar valores por ',' Tipo Curva Numérico @@ -50,7 +63,7 @@ Aplicar Cancelar - Editar Letras + Editar letra Previsualizar Máx Restablecer @@ -67,29 +80,38 @@ _Deshacer _Archivo _Salir - Exportar como Archivos UST - Exportar Archivos UST a... - Exportar como Archivos WAV - Exportar Archivos WAV a... - _Importar Audio + + Exportar como MIDI + + + Exportar como UST + Exportar como UST a... + Exportar como WAV + Exportar como WAV a... + _Importar audio _Importar MIDI - Importar Pistas... + + + Importar pistas _Nuevo - Nuevo desde Plantilla + Nuevo desde plantilla _Abrir A_brir como - Abrir Ubicación de Exportación - Abrir Ubicación del Archivo - Abrir Archivo Reciente + Abrir ubicación de exportación + Abrir ubicación del proyecto + Abrir archivos recientes _Guardar Guardar _como - Guardar Plantilla... + Guardar plantilla _Ayuda Sobre OpenUTAU + Buscar actualizaciones + Abrir la ubicación de los registros + Reportar problema Wiki de OpenUTAU _Herramientas - Limpiar Caché - Ventana de Depuración + Limpiar caché + Ventana de depuración 1:1 Horizontal 1:2 Horizontal @@ -99,38 +121,43 @@ 1:3 Vertical Ajustes Expresiones - Instalar Voz - Instalar Voz (Avanzado) + Instalar voz + Instalar voz (Avanzado) Voces Letra - Letra Predeterminada + Letra predeterminada Duración Inicio Base - Nombrar Base Nueva... + Nombrar base nueva... Eliminar Elimina la ultima base aplicada. Guardar Guarda los ajustes seleccionados a una base nueva. - Reestablecer Ajustes + Reestablecer ajustes Reestablece todos los ajustes a sus valores predeterminados. Advertencia: Esta opción eliminará las bases personalizadas. - Largo Mínimo - Vibrato Automatico por Largo de Nota + Largo mínimo + Vibrato automático por largo Profundidad Entrada Duración Salida Frecuencia - Cambio de Onda + Cambio de onda Consonante Silencio (Derecho) + Aplicar Consonante + Aplicar Silencio (Derecho) + Aplicar Silencio (Izquierdo) + Aplicar Superposición + Aplicar Precedente Archivo Silencio (Izquierdo) Superposición @@ -140,20 +167,26 @@ Advertencia: Esta opción eliminará las bases personalizadas. Aplicar Sufijo + Asistente fonético + Copiar + Letra Reemplazar "-" con "+" Editar Letra + Hanzi a Pinyin Hiragana a Romaji VCV a CV (Japonés) - Quitar Sufijo de Letra - Quitar Sufijo de Tono + Quitar sufijo de letra + Quitar sufijo de tono Romaji a Hiragana - Ajustes de Notas - Notas - Añadir cola "-" - Añadir cola "R" + Ajustes de Nota + Nota + Añadir "-" + Añadir "R" Quitar vibratos - Cargar Tono Renderizado + Cargar tono automático + Transponer por una octava (para abajo) + Transponer por una octava (para arriba) Cuantificar a 1/128 Cuantificar a 1/64 Restablecer expresiones @@ -161,63 +194,72 @@ Advertencia: Esta opción eliminará las bases personalizadas. Reestablecer curvas del tono Restablecer vibratos Partes - Plug-ins Antiguos (Experimental) - Renombrar - Ver Tono Final para Renderizar (R) - Ver Fonemas (O) - Ver Curvas del Tono (I) - Activar/Desactivar Ajuste (P) - Ver Consejos (T) - Activar/Desactivar Tono de Nota (Y) - Ver Vibratos (U) - Ver Formas de Onda (W) - Dibujar Tono (4) + Plug-ins antiguos (Experimental) + Ver línea de tono avanzada (R) + Ver fonemas (O) + Ver curvas del tono (I) + Activar/Desactivar ajuste (P) + + Auto (tresillo) + Ver consejos (T) + Activar/Desactivar tono de nota (Y) + Ver vibratos (U) + Ver formas de onda (W) + Dibujar en tono avanzado (4) Goma (3) Cuchillo (5) - Lápiz (2) -Click izquierdo para dibujar -Click derecho para borrar - Herramienta de Selección (1) -Mantiene Ctrl para seleccionar más + Lápiz avanzado (Ctrl + 2) + Click izquierdo para dibujar + Click derecho para borrar +Mantén Ctrl para seleccionar + Lápiz (2) + Click izquierdo para borrar +Mantén Ctrl para seleccionar + Mano (1) Avanzado - Registrar Resamplers + Ayudante de letra + El ayudante añade en brackets + Registrar resamplers Esta opción guarda la producción del resampler en archivos de registro. Esta opción causará peor rendimiento y ralentización en la UI. Estable + Ruta a vLabeler Apariencia Lenguaje - Mostrar Foto en el Piano Roll + Mostrar notas de otras pistas en el piano + Mostrar foto en el piano Tema Oscuro Claro Ajustes Nota: Por favor, reinicia OpenUTAU después de cambiar esta opción. - - No + No + + Editor de OTO + Editor predeterminado Rutas - Ruta de Voces Adicional - Instalar a la Ruta Adicional + Ruta de voces adicional + Instalar a la ruta adicional Restablecer Seleccionar Reproducción - Desplazamiento Automático - Modo de Desplazamiento - Desplazar Página - Cursor Fijo - Backend de Audio - Escoger Automáticamente + Desplazamiento automático + Modo de desplazamiento + Desplazar página + Cursor fijo + Backend de audio + Escoger automáticamente - Posición del Cursor - Dispositivo de Reproducción - Cuando se Pausa... + Posición del cursor + Dispositivo de reproducción + Cuando se pausa... Hacer nada - Mover cursor a donde se empezó a reproducir + Mover el cursor a donde se empezó a reproducir Probar Renderización - Compensación de Fase + Compensación de fase Prerenderización - Hilos de Pre-Renderización Advertencia: Moresampler no es totalmente compatible por ahora. Este puede ser lento y causar un alto uso de la CPU. Si quiere usarlo, por favor: @@ -228,40 +270,54 @@ Advertencia: Moresampler no es totalmente compatible por ahora. Este puede ser l Nota: Para usar un Resampler externo, pon su archivo (sea .exe o .dll) en la carpeta Resamplers, en la ruta de instalación de OpenUTAU. + + + WAVTool Proyecto guardado. {0} Esperando al Renderizador... Voces - Mostrar Archivos - Mover hacia Izquierda - Mover hacia Derecha - Seleccionar Siguiente - Seleccionar Anterior - Mostrar Todo + Editar en vLabeler + Ver el archivo fuente + + + Restablecer OTO + Guardar OTO + Por favor, descarga vLabeler (1.0.0-beta1 o más nuevo) de https://github.com/sdercolin/vlabeler y configura la ruta de vLabeler en ajustes primero. + Generar registro de error de voz + Mostrar archivos + Mover hacia la izquierda + Mover hacia la derecha + Seleccionar siguiente + Seleccionar anterior + Mostrar todo Acercar Alejar Refrescar - Fonemizador Predeterminado - Fijar Codificación - Cambiar Foto de Fondo + Fonemizador predeterminado + Fijar codificación + Cambiar foto de fondo Cancelar Borrar - Agregar Color - Borrar Color + Agregar color + Borrar color Renombrar - Editar Sub-bancos de Voz + Editar sub-bancos de voz Reestablecer Guardar - Seleccionar Todo + Seleccionar todo Carpeta Tono - Rangos Tonales + Rangos tonales + Visitar sitio web - Cambiar Alias + Cambiar alias -Click Izquierdo + Arrastrar: Poner expresiones +Click Izquierdo + Arrastrar: Configurar expresiones Click Derecho + Arrastrar: Reestablecer expresiones Esta expresión no es soportada por el renderizador seleccionado. @@ -297,15 +353,16 @@ General - Buscar Actualizaciones - La Plataforma de Síntesis de Canto de Código Abierto + Buscar actualizaciones + La plataforma de síntesis de canto de código abierto Abrir GitHub - Actualización Disponible (v{0}) - Buscando Actualizaciones... + Actualización disponible (v{0}) + Buscando actualizaciones... OpenUTAU esta actualizado No se pueden buscar actualizaciones Actualizar Alerta La ruta de OpenUTAU "{0}" contiene símbolos que no son ASCII. Puede que Resamplers en .exe no funcionen. + Este renderizador no está configurado. Por favor, escoge CLASSIC. diff --git a/OpenUtau/Strings/Strings.fi-FI.axaml b/OpenUtau/Strings/Strings.fi-FI.axaml index eb862d14b..453fd163e 100644 --- a/OpenUtau/Strings/Strings.fi-FI.axaml +++ b/OpenUtau/Strings/Strings.fi-FI.axaml @@ -2,6 +2,11 @@ xmlns:system="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + + + + + Lähennä Lähennä/loitonna Loitonna @@ -9,6 +14,10 @@ Lisää kontrollipiste Poista kontrollipiste Liimaudu kiinni edelliseen nuottiin + + + + @@ -29,6 +38,10 @@ Ei valittua resampleria Resampleria ei löydetty! Laita resampler.exe tai dll- tiedosto Resamplers -kansioon ja valitse se sitten asetuksista. + + + + Virhe @@ -67,12 +80,18 @@ Kumoa Tiedosto Lopeta OpenUtau + + + + Vie Ust-tiedostot Tuo audio... Tuo Midi-tiedosto... + + Tuo raidat... Uusi Luo uusi mallista @@ -86,6 +105,9 @@ Tallenna malli... Apua Tietoa OpenUtausta + + + Työkalut @@ -131,6 +153,11 @@ Warning: this option removes custom presets.--> Konsonantti Leikkaus + + + + + Tiedosto Aloitus Päällekäisyys @@ -140,9 +167,13 @@ Warning: this option removes custom presets.--> Ryhmä Jälkiliite + + + Sanoitus + @@ -153,7 +184,9 @@ Warning: this option removes custom presets.--> lisää loppuun "-" - + + + sovita 1/128 sovita 1/64 @@ -162,11 +195,12 @@ Warning: this option removes custom presets.--> Osa - Nimeä uudelleen Näytä foneemit (O) Näytä pitch-käyrä (I) Aktivoi kohdistus (P) + + Näytä vihjeet (T) Aktivoi opasääni (Y) Näytä vibrato (U) @@ -174,19 +208,26 @@ Warning: this option removes custom presets.--> Pyyhekumityökalu (3) - Kynätyökalu (2) -Piirrä vasemmalla hiiren klikkauksella -Poista oikealla hiiren klikkauksella - Valitse työkalu(1) -Aktivoi monivalinta pitämällä Ctrl pohjassa + + + Lisäasetukset Beta versio + + Vakaa versio + Ulkonäkö Kieli + Teema Tumma @@ -195,6 +236,8 @@ Aktivoi monivalinta pitämällä Ctrl pohjassa HUOM: Käynnistäthän OpenUtau uudelleen muutettuasi tätä asetusta. + + Tiedoston sijainti @@ -217,22 +260,34 @@ Aktivoi monivalinta pitämällä Ctrl pohjassa Renderöi - Esirenderöidyt säkeet HUOM: Jos haluat käyttää ulkoisia resamplereita, lisää resampler DLL tai EXE-tiedosto Resamplers-kansioon, joka sijaitsee OpenUtaun polulla ja valitse se asetuksista. + + + Laulajat + + + + + + + + Sijainti @@ -258,6 +313,7 @@ Warning: moresampler is not fully supported. It may be slow and cause high CPU u Ääniala + @@ -308,4 +364,5 @@ Yleiset Varoitus OpenUtau -kotihakemistossasi "{0}" sisältää ei-ASCII merkkejä. Exe resampler ei välttämättä toimi. + diff --git a/OpenUtau/Strings/Strings.fr-FR.axaml b/OpenUtau/Strings/Strings.fr-FR.axaml index d0a64df22..3481a15c7 100644 --- a/OpenUtau/Strings/Strings.fr-FR.axaml +++ b/OpenUtau/Strings/Strings.fr-FR.axaml @@ -2,6 +2,11 @@ xmlns:system="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + Copier la note + Supprimer la note + Supprimer la partie + Renommer la partie + Remplacer le fichier audio Courber vers le haut Courber vers le haut/bas Courber vers le bas @@ -9,10 +14,14 @@ Ajouter un point Supprimer un point Aimanter à la note précédente + Ajouter un changement de tempo a {0} + Ajouter un changement de signature temporelle + Supprimer le changement de tempo a {0} + Supprimer le changement de signature Nettoyer - - + Copier le rapport + Inverser l'ordre du rapport À propos de OpenUTAU @@ -24,17 +33,21 @@ Sauvegardez le fichier d'abord Annuler Non - + Accepter Oui Aucun resampler Aucun resampler ! Ajoutez le fichier .exe ou .dll du resampler dans le dossier "Resamplers" de OpenUTAU, puis choisissez-le dans Préférences. Mesure + Paramètre de piste + Emplacement + Moteur de rendu + Réglage par défaut Erreur Abréviation Appliquer - + Expressions Valeur par défaut Est un Resampler Flag @@ -67,12 +80,18 @@ Annuler Fichier Quitter + Exporter l'audio + Exporter un MIDI + Mixer en fichier Wav + Exporter le projet Exporter les pistes UST Exporter les pistes UST vers... Exporter les fichiers Wav Exporter les fichiers Wav vers... Importer un fichier audio Importer un MIDI + + Importer une piste Nouveau Nouveau à partir d'un modèle @@ -86,7 +105,10 @@ Enregistrer le modèle... Aide À propos de OpenUTAU - + Mises a jour + Ouvrir la location du rapport + Signaler un problème + Wiki OpenUtau Outils Effacer le Cache Fenêtre de débogage @@ -98,10 +120,10 @@ Préférences... - - Installer une voicebank - Installer une voicebank (paramètres avancés) - Voicebank + Expressions... + Installer une Voix + Installer une Voix (paramètres avancés) + Voix Parole Parole par défaaut @@ -118,31 +140,40 @@ Réinitialiser tous les paramètres par défaut. Attention: cela va effacer le préréglage. - - Vibrato automatique selon la longueur + Longueur minimum + Vibrato automatique Amplitude - + Estomper le début Longueur - + Estomper la fin Période - + Décalage - + Couleur Consonne Fin + Définir la consonne + Définir la fin + Définir le début + Définir le chevauchement + Définir la pré-uttérance Fichier Début - + Chevauchement Phonétique Préfixe - - + Pré-uttérance + Pitch Suffixe + Assistant phonétique + Copier + Paroles - + Remplacer "-" par "+" Modifier les paroles + Hanzi -> Pinyin Hiragana -> Romaji Japanese VCV -> CV Enlever un suffixe (lettres) @@ -154,6 +185,8 @@ Ajouter un "R" final Réinitaliser le vibrato Charger le pitch du rendu + Bouger un octave en dessous + Bouger un octave au dessus Quantizer en 1/128 Quantizer en 1/64 Réinitialiser toutes les expressions @@ -162,49 +195,59 @@ Réinitialiser les vibratos Partie Plugin antérieur (Expérimental) - Renommer - + Voir le pitch rendu final (R) Voir les Phonèmes (O) Voir les Pitch Bends (I) Aimant On/Off (P) + + Voir les Astuces (T) Tonalité de la Note On/Off (Y) Voir les Vibratos (U) - + Voir la forme d'onde (W) Outil traçage du pitch (4) Gomme (3) - - Pinceau (2) -Clic gauche pour dessiner -Clic droit pour gommer - Outil de sélection (1) -Maintenir Ctrl pour ajouter à la sélection + Couteau (5) + Crayon Plus (Ctrl + 2) + Clique gauche pour placer + Clique droit pour supprimer +Maintenir Ctrl pour sélectionner + Crayon (2) + Clique gauche pour placer +Maintenir Ctrl pour sélectionner + Sélectionner (1) Paramètres avancés - - Écrit la sortie du resampler dans les logs. Cette option ralentit l'UI et le rendu. + + + Rapport du resampler + Écrit la sortie du resampler dans le rapport. Cette option ralentit l'UI et le rendu. + Emplacement de VLabeler Apparence Langue - + Montrer les notes des autres pistes sur le piano roll + Montrer le portrait sur le piano roll Thème - Nuit - Jour + Sombre + Clair Préférences Note: veuillez redémarrer OpenUtau après avoir changé cette option. Désactivé Activé + Editeur d'Oto + Editeur d'Oto par défaut Chemins Chemin(s) de voicebank additionel(s) - Installer vers l'emplacement de voicebank additionnel + Installer vers l'emplacement de Voix additionnel Réinitialiser Sélectionner Audio - - - - + Défilement automatique + Mode de défilement automatique + Défilement de page + Curseur fixe Automatique @@ -214,10 +257,9 @@ Maintenir Ctrl pour ajouter à la sélection Ne rien faire Déplacez le curseur vers l'endroit où vous avez commencé à jouer - - - - + En train de rendre... + Compensation de phase + Pré-rendu Avertissement : moresampler n'est pas entièrement pris en charge. Il peut être lent et entraîner une utilisation élevée du CPU. Si vous insistez, veuillez : @@ -228,28 +270,41 @@ Avertissement : moresampler n'est pas entièrement pris en charge. Il peut être Note: pour utiliser des resamplers externes, ajoutez le fichier .exe ou .dll du resampler dans le dossier "Resamplers" de OpenUTAU, puis choisissez-le dans Préférences. + + Attention : trop de thread pourrait ralentir OpenUTAU. + + Threads maximum pour le rendu + Projet enregistré. {0} En attente du Rendu Voicebanks + Editer dans VLabeler + Ouvrir l'emplacement + Régénérer FRQ + Régénération FRQ + Réinitialiser l'Oto + Sauvegarder l'Oto + Téléchargez vLabeler (1.0.0-beta1 ou plus) de https://github.com/sdercolin/vlabeler et définissez le chemin d'accès dans préférences d'abord ! + Générer un rapport d'erreur de la Voix Emplacement - - - - - - - + Bouger à gauche + Bouger à droite + Séléctionner suivant + Séléctionner précédent + Montrer tout + Zoomer + Dézoomer Rafraîchir - + Définir le phonemizer par défaut Configurer l'encodage - + Définir le portrait Annuler Effacer Couleur - Ajouter une Color - Enlever une Color + Ajouter une Couleur + Enlever une Couleur Renommer Éditer les Subbanks Réinitialiser @@ -258,13 +313,14 @@ Avertissement : moresampler n'est pas entièrement pris en charge. Il peut être Définir Tonalité Registre + Visiter le site Remplacer l'alias Clic gauche: Configurer les expressions Clic droit: Réinitialiser les expressions - + Expression non supportée par le moteur de rendu Tab: Note Suivante Maj+Tab: Note Précédente @@ -284,15 +340,15 @@ Général Alt + Glisser à la fin d'une note pour changer sa longueur en prenant en compte les notes voisines Barre d'espace: Jouer le projet - ◀ Scrollez ici pour zoomer horizontalement ▶ - Scrollez ici pour zoomer verticalement ▶ + ◀ Scroller ici pour zoomer horizontalement ▶ + Scroller ici pour zoomer verticalement ▶ Plus Descendre Monter Supprimer - - Sélectionner une Voicebank + Séléctionner le moteur de rendu + Sélectionner une voix @@ -308,4 +364,5 @@ Général Attention Le dossier d'installation d'OpenUTAU "{0}" contient des lettres non-ASCII, les resamplers en .exe peuvent ne pas marcher. + Pas de paramètres pour ce moteur de rendu. diff --git a/OpenUtau/Strings/Strings.id-ID.axaml b/OpenUtau/Strings/Strings.id-ID.axaml index 2e8a15797..c4844b783 100644 --- a/OpenUtau/Strings/Strings.id-ID.axaml +++ b/OpenUtau/Strings/Strings.id-ID.axaml @@ -2,6 +2,11 @@ xmlns:system="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + Salin not + Hapus not + Hapus bagian + Namai ulang bagian + Mereda kedalam Mereda kedalam/luar Mereda keluar @@ -9,10 +14,14 @@ Tambahkan titik Hapus titik Snap ke not sebelumnya + Tambahkan perubahan tempo di {0} + Tambahkan perubahan tanda tangan waktu + Hapus perubahan tempo di {0} + Hapus perubahan tanda tangan waktu - - - + Bersihkan + Salin Log + Balikan Urutan Log Tentang OpenUtau @@ -29,6 +38,10 @@ Tidak ada resampler Tidak ada resampler! Letakkan resampler exe atau dll favorit Anda di folder Resamplers dan pilih di Preferensi! Tanda Waktu + Pengaturan Trek + Lokasi + + Tetapkan Sebagai Bawaan Kesalahan @@ -67,29 +80,38 @@ Batalkan Berkas Keluar + + Ekspor Berkas Midi + + Ekspor Berkas UST - - - + Ekspor Berkas Ust Ke... + Ekspor Berkas Wav + Ekspor Berkas Wav Ke... Impor Audio... Impor Midi... + + Impor Trek... Baru Baru Dari Templat Buka... Buka Sebagai - - + Buka Lokasi Ekspor + Buka Lokasi Proyek Buka Terbaru Simpan Simpan Sebagai... Simpan Templat... Bantuan Tentang OpenUtau + Periksa Pembaruan + Buka Lokasi Logs + Laporkan Masalah Peralatan - - + Hapus Cache + Jendela Debug Tata Letak Horisontal 1:1 Horisontal 1:2 @@ -103,23 +125,23 @@ Instal Penyanyi (Lanjutan)... Penyanyi... - - + Lirik + Lirik Bawaan - - + Panjang + Mulai - - - - - - - + Nama Preset Baru + Hapus + Hapus preset yang terakhir diterapkan. + Simpan + Simpan pengaturan saat ini ke preset baru. + Atur Ulang Semua Pengaturan + Atur ulang setiap pengaturan ke nilai bawaan. +Peringatan: opsi ini menghapus prasetel khusus. - - + Panjang Minimal + Vibrato Otomatis menurut Panjangnya @@ -131,6 +153,11 @@ Warning: this option removes custom presets.--> Warna Konsonan Batas + Set Konsonan + Set Potongan Akhir + + Setel Overlap + Setel Preutter Berkas Mengimbangi Tumpang Tindih @@ -140,20 +167,26 @@ Warning: this option removes custom presets.--> Setel Akhiran + Asisten Fonetik + Salin + Lirik - + Ganti "-" dengan "+" Sunting Lirik + Hanzi ke Pinyin Hiragana ke Romaji VCV Jepang ke CV Hapus Akhiran Huruf Hapus Akhiran Nada Romaji ke Hiragana - + Not Bawaan Not Tambahkan bagian akhir "-" Tambahkan bagian akhir "R" - - + Setel Ulang Vibrato + Muat Pitch yang Dirender + Turunkan satu oktaf + Naikkan satu oktaf Kuantisasi hingga 1/128 Kuantisasi hingga 1/64 Setel ulang semua ekspresi @@ -162,32 +195,40 @@ Warning: this option removes custom presets.--> Setel ulang vibrato Bagian Plugin Lama (Eksperimental) - Ganti Nama - + Tampilkan Pitch Akhir Untuk Dirender (R) Perlihatkan Fonem (O) Perlihatkan Pitch Bend(I) Alihkan Snap (P) + + Perlihatkan Tips (T) Alihkan Not Nada (Y) Perlihatkan Vibrato (U) - - + Perlihatkan Waveform (W) + Alat Penggambar Pitch (4) Alat Penghapus (3) - - Alat Pena (2) -Klik kiri untuk menarik -Klik kanan untuk menghapus - Alat Seleksi (1) -Tahan Ctrl untuk memilih lainnya + Alat Pisau (5) + Alat Pena Plus (Ctrl + 2) + Klik kiri untuk menggambar + Klik kanan untuk menghapus +Hold Ctrl to select + Alat Pena (2) + Klik kiri untuk menggambar +Hold Ctrl to select + Alat Seleksi (1) Lanjutan + Pembantu Lirik + Pembantu Lirik Menambahkan Tanda Kurung Pencatatan Resampler Menyimpan output resampler dalam file log. Opsi ini akan memperlambat UI dan rendering. Stabil + Jalur Vlabeler Penampilan Bahasa - + Tampilkan not trek lain di piano roll + Tampilkan foto potret di piano roll Tema Gelap Terang @@ -195,56 +236,70 @@ Tahan Ctrl untuk memilih lainnya Catatan: silakan restart OpenUtau setelah mengubah item ini. Mati Hidup + Editor Oto + Editor Oto Bawaan Jalur Jalur Penyanyi Tambahan - + Instal ke Jalur Penyanyi Tambahan Setel Ulang Pilih Pemutaran - - - - + Gulir Otomatis + Mode Gulir Otomatis + Gulir Halaman + Kursor stasioner Latar Belakang Audio Otomatis - + Port Audio Posisi Kursor Perangkat Pemutaran - - - + Saat Menjeda + Tidak Melakukan Apa-Apa + Pindahkan kursor kembali ke tempat Anda mulai Memutar Uji Merender - - - Utas Pra-perenderan + Kompensasi Fase + Pra-render - + + Peringatan: moresampler tidak sepenuhnya didukung. Ini mungkin lambat dan menyebabkan penggunaan CPU yang tinggi. Jika Anda bersikeras, silakan: + 1. Setel "resampler-compatibility" ke "on" di moreconfig.txt. + 2. Atur "auto-update-llsm-mrq" ke "off" di moreconfig.txt. + 3. Tunggu sampai moresampler untuk menghasilkan file llsm yang hilang. + Catatan: untuk menggunakan resampler eksternal, silakan tambahkan berkas resampler DLL atau EXE di folder Resamplers di jalur instal OpenUtau dan pilih di Preferensi. + + + Proyek tersimpan. {0} - + Menunggu Dirender Penyanyi + Edit Di vLabeler + Pergi Ke Sumber File + + + Setel Ulang Otos + Simpan Otos + Unduh vLabeler (1.0.0-beta1 atau lebih tinggi) dari https://github.com/sdercolin/vlabeler dan atur jalur vLabeler di Preferensi terlebih dahulu! + Hasilkan Laporan Kesalahan Penyanyi Lokasi - - - - - - - + Pindah Kekiri + Pindah Kekanan + Pilih Selanjutnya + Pilih Sebelumnya + Tampilkan Semua + Perbesar + Perkecil Segarkan - + Tetapkan Phonemizer Bawaan Setel Pengkodean - + Tetapkan Foto Potret Batal Jelas Warna @@ -258,13 +313,14 @@ Warning: moresampler is not fully supported. It may be slow and cause high CPU u Setel Nada Rentang Nada + Visit Situs Web - + Timpa Alias Tombol Kiri Tarik: Setel ekspresi Tombol Kanan Tarik: Setel ulang ekspresi - + Ekspresi tidak didukung oleh perender Tab: Not Berikutnya Shift+Tab: Not Sebelumnya @@ -287,18 +343,18 @@ Umum ◀ Gulir ke sini untuk memperbesar secara horizontal ▶ Gulir ke sini untuk memperbesar secara vertikal ▶ - + Lainnya Turunkan Naikkan Hapus - + Pilih Perender Pilih Penyanyi Memeriksa Pembaruan - + Platform sintesis bernyanyi Terbuka Pembaruan v{0} tersedia! Memeriksa pembaruan... @@ -308,4 +364,5 @@ Umum Peringatan Jalur beranda OpenUtau Anda "{0}" berisi karakter non-ASCII. Resampler exe mungkin tidak berfungsi. + Tidak ada pengaturan untuk perender ini. Silakan pilih CLASSIC. diff --git a/OpenUtau/Strings/Strings.it-IT.axaml b/OpenUtau/Strings/Strings.it-IT.axaml index 7c8a32621..034df7617 100644 --- a/OpenUtau/Strings/Strings.it-IT.axaml +++ b/OpenUtau/Strings/Strings.it-IT.axaml @@ -2,13 +2,22 @@ xmlns:system="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + Copia nota + Elimina nota + Elimina parte + Rinomina parte + Rilascio Attacco/Rilascio Attacco Lineare Aggiungi punto Elimina punto - Aggancia alla nota precedente + Snap alla nota precedente + Aggiungi cambiamento del tempo in {0} + Aggiungi indicazione del tempo time + Elimina cambiamento del tempo in {0} + Elimina indicazione del tempo time Ripristina Copia Log @@ -29,6 +38,10 @@ Nessun resampler Nessun resampler! Aggiungi il file DLL o EXE del resampler nella cartella Resampler e scegli nelle Preferenze! Indicazione di tempo + Impostazioni traccia + Percorso + + Imposta default Errore @@ -38,7 +51,7 @@ Predefinito Flag Resampler È Flag Resampler - + Nome Opzione Valori @@ -67,12 +80,18 @@ Annulla Esci + + Esporta File MIDI + + Esporta File Ust - Esporta i File Ust in... + Esporta File Ust in... Esporta File Wav - Esporta i File Wav in... + Esporta File Wav in... Importa Audio... Importa MIDI... + + Importa Tracce... Nuovo Nuovo da modello @@ -86,6 +105,9 @@ Salva Modello... Aiuto Informazioni su OpenUTAU + Controllo aggiornamenti + Apri percorso dei log + Segnala un problema OpenUTAU Wiki Strumenti Svuota Cache @@ -131,18 +153,27 @@ Attenzione: questa opzione rimuove tutti i preset salvati. Colore Consonante Taglio + Imposta consonante + Imposta taglio + Imposta offset + Imposta overlap + Imposta pre-utteranza - Coincidenza + Fonemi Prefisso Pre-utteranza Gruppo Suffisso + Assistente fonetico + Copia + Testo Sostituisci "-" con "+" Modifica Testo + Da Hanzi a Pinyin Da Hiragana a Romaji Da VCV a CV (Giapponese) Rimuovi Suffisso Lettere @@ -154,50 +185,62 @@ Attenzione: questa opzione rimuove tutti i preset salvati. Aggiungi "R" in coda Elimina Vibrati Carica Pitch Renderizzato + Trasponi un'ottava su + Trasponi un'ottava giù Quantizza a 1/128 Quantizza a 1/64 Resetta tutte le espressioni - Resetta tutti i tempi dei fonemi - Resetta tutti i pitch bends + Resetta tutti i timing dei fonemi + Resetta tutti i pitch bend Resetta tutti i vibrati Parte Legacy Plugin (Sperimentale) - Rinomina - Mostra i Pitch Bend Finale Renderizzato (R) + Mostra il Pitch Bend Finale Renderizzato (R) Mostra Fonemi (O) Mostra Pitch Bend (I) Attiva/Disattiva Snap (P) + + Auto (terzina) Mostra Suggerimenti (T) - Attiva/Disattiva tono note (Y) + Attiva/Disattiva suono di note (Y) Mostra Vibrato (U) Mostra Waveform (W) Strumento Disegna Pitch (4) Strumento Gommma (3) Strumento Coltello (5) - Strumento Penna (2) -Click sinistro per disegnare -Click destro per eliminare - Strumento Selezione (1) -Tieni premuto click sinistro + Ctrl per selezionare più note + Strumento Penna Plus (Ctrl + 2) + Click sinistro per disegnare + Click destro per eliminare +Tieni premuto Ctrl per selezionare + Strumento Penna (2) + Click sinistro per disegnare +Tieni premuto Ctrl per selezionare + Strumento Selezione (1) Avanzato + Aiutante Testo + Aiutante Testo aggiunge parentesi Log del Resampler Memorizza l'output del resampler in un file log. Questa operazione può rallentare la UI e il resampler. Stabile + Percorso di vLabeler Aspetto Lingua - Mostra portrait sul piano roll + Mostra note di altre tracce sul piano roll + Mostra immagine del cantante sul piano roll Tema Scuro Chiaro Preferenze - Nota: riavvia OpenUtau dopo aver cambiato questo elemento. + Nota: riavvia OpenUtau dopo aver modificato questo elemento. + Oto editor + Oto editor di default Percorsi - Percorso alternativo per i cantanti - Install nel percorso alternativo per i cantanti + Percorso aggiuntivo per i cantanti + Installa nel percorso aggiuntivo per i cantanti Resetta Seleziona Audio @@ -216,23 +259,35 @@ Tieni premuto click sinistro + Ctrl per selezionare più note Renderizzazione Compensazione di Fase - - Threads Pre-renderizzazione + Pre-renderizzazione -Attenzione: moresampler non è pienamente supportato. Potrebbe essere lento e causare alto utilizzo della CPU. Se vuoi: +Attenzione: moresampler non è completamente supportato. Potrebbe causare rallentamenti ed alto utilizzo della CPU. Se vuoi: 1. Imposta "resampler-compatibility" su "on" nel file moreconfig.txt. 2. Imposta "auto-update-llsm-mrq" su "off" nel file moreconfig.txt. -3. Aspetta che moresampler generi tutti i file llsm mancanti. +3. Attendere che moresampler generi tutti i file llsm mancanti. Se vuoi utilizzare resampler esterni, aggiungi il file DLL o EXE del resampler nella cartella Resampler all'interno del percorso d'installazione. + + + Progetto salvato. {0} In Attesa di Renderizzazione Cantanti + Modifica in vLabeler + Vai al file di origine + + + Resetta oto + Salva oto + Scarica vLabeler (1.0.0-beta1 o superiore) da https://github.com/sdercolin/vlabeler e imposta prima il percorso vLabeler nelle Preferenze! + Genera rapporto errori del cantante Percorso Muovi a Sinistra Muovi a Destra @@ -258,6 +313,7 @@ Attenzione: moresampler non è pienamente supportato. Potrebbe essere lento e ca Imposta Tono Range Tonale + Visita il sito web Annulla Alias @@ -308,4 +364,5 @@ Tieni premuto click destro: Resetta espressioni Avviso "{0}" Questo percorso contiene caratteri inesistenti nel codice ASCII. I resampler protrebbero malfunzionare. + Nessuna impostazione per questo renderer. Si prega di selezionare CLASSIC. diff --git a/OpenUtau/Strings/Strings.ja-JP.axaml b/OpenUtau/Strings/Strings.ja-JP.axaml index e2d9176d9..90bfc6692 100644 --- a/OpenUtau/Strings/Strings.ja-JP.axaml +++ b/OpenUtau/Strings/Strings.ja-JP.axaml @@ -2,6 +2,11 @@ xmlns:system="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + + 音符を削除 + パートを削除 + パートの名前を変更 + イーズイン イーズイン/アウト イーズアウト @@ -9,10 +14,14 @@ 点を追加 点を削除 前の音符にスナップ + {0}にテンポ変更を追加 + 拍子変更を追加 + {0}のテンポ変更を削除 + 拍子変更を削除 クリア - - + ログをコピー + 古い順に並び変える OpenUTAUについて @@ -29,6 +38,10 @@ エンジンがありません エンジンが設定されていません!お好みのエンジンのEXEやDLLファイルをResamplerフォルダに入れて、環境設定でエンジンを選択してください! 拍子 + + 場所 + + エラー @@ -67,12 +80,18 @@ 元に戻る ファイル OpenUTAUを終了 + + + + USTをエクスポート 別名でUSTをエクスポート... Wavファイルを出力 別名でWavファイルを出力... 音声をインポート... MIDIをインポート... + + トラックをインポート... 新規作成 テンプレートから新規作成 @@ -86,6 +105,9 @@ テンプレートを保存... ヘルプ OpenUTAUについて + アップデートを確認 + ログの場所を開く + 問題を報告 ツール キャッシュクリア @@ -131,6 +153,11 @@ 子音部 ブランク + 固定範囲 + 右ブランク + オフセット + オーバーラップ + 先行発声 ファイル オフセット オーバーラップ @@ -140,9 +167,13 @@ セット + + + 歌詞 - + "-" を "+" に置き換え 歌詞を編集 + 漢字をピンインへ ひらがな→ローマ字 連続音→単独音(日本語) 文字のSuffixを削除 @@ -154,6 +185,8 @@ 末尾に"R"を追加 ビブラートを削除 レンダリング済みピッチの読み込み + + 1/128にクオンタイズ 1/64にクオンタイズ 全ての表情をリセット @@ -162,32 +195,40 @@ ビブラートをリセット パート 継承プラグイン (実験的) - 名前を変更 最終的なピッチを表示 (R) 音素を表示 (O) ピッチ曲線を表示 (I) スナップを有効化 (P) + + ヒントを表示 (T) ガイド音を有効化 (Y) ビブラートを表示 (U) - + 波形を表示 (W) ピッチ描画ツール (4) 消しゴムツール (3) ナイフツール (5) - ペンツール (2) -左クリックで描画 -右クリックで削除 - 選択ツール (1) -Ctrl長押しで複数選択 + ペン+ツール (Ctrl + 2) + 左クリックで描画 + 右クリックで削除 +Ctrl長押しで選択 + ペンツール (2) + 左クリックで描画 +Ctrl長押しで選択 + 選択ツール (1) 高度な設定 ベータ版 + + Resamplerロギング Resamplerの出力をログファイルに格納します。この設定はUIやレンダリングが遅くなります。 安定版 + 外観 言語 - + ピアノロール上に他トラックの音符を表示 + ピアノロール上にポートフォリオを表示 テーマ ダーク ライト @@ -195,6 +236,8 @@ Ctrl長押しで複数選択 Note: この設定を変更した後は、OpenUtauを再起動してください。 オフ オン + + ファイルの場所 シンガーの場所(追加) シンガーの場所(追加)にインストール @@ -217,7 +260,6 @@ Ctrl長押しで複数選択 レンダリング 位相補正 - プリレンダースレッド数 警告: moresamplerは完全にはサポートされていません。速度が遅くなり、CPU使用率が高くなる可能性があります。それでも使用する場合: @@ -228,23 +270,36 @@ Ctrl長押しで複数選択 Note: エンジンを使用するには、使用したいエンジンのDLLまたはEXEファイルをOpenUTAUフォルダ内のResamplersフォルダに追加し、選択してください。 + + + プロジェクトが保存されました。 {0} レンダリング中 シンガー + + ソースファイルへ + + + Otoをリセット + Otoを保存 + + ファイルの場所 - - - - - - - + 左へ移動 + 右へ移動 + 次を選択 + 前を選択 + 全て表示 + ズームイン + ズームアウト 更新 文字コード設定 - + ポートレートを設定 キャンセル クリア @@ -258,6 +313,7 @@ Ctrl長押しで複数選択 セット 音程 音域 + ウェブサイトへ @@ -308,4 +364,5 @@ Ctrl長押しで複数選択 警告 OpenUtauのファイルパス "{0}" に非ASCII文字が含まれています。 EXE形式のエンジンが動作しない可能性があります。 + diff --git a/OpenUtau/Strings/Strings.ko-KR.axaml b/OpenUtau/Strings/Strings.ko-KR.axaml index 3d955554f..a92b7e485 100644 --- a/OpenUtau/Strings/Strings.ko-KR.axaml +++ b/OpenUtau/Strings/Strings.ko-KR.axaml @@ -2,6 +2,11 @@ xmlns:system="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + + 노트 삭제 + 파트 삭제 + 파트 이름 변경 + 시작 감속 곡선 시작/끝 감속 곡선 끝 감속 곡선 @@ -9,6 +14,10 @@ 포인트 추가 포인트 제거 이전 노트 스냅 + {0} 에서 템포 변화 추가 + 박자 변화 추가 + {0} 에서 템포 변화 삭제 + 박자 변화 삭제 지우기 로그 복사 @@ -29,6 +38,10 @@ 엔진 없음 엔진이 없습니다! 엔진 파일을 Resamplers 폴더에 넣고 환경 설정에서 설정해주세요! 박자 기호 + 트랙 설정 + 위치 열기 + 랜더러 + 기본값으로 변경 에러 @@ -67,12 +80,18 @@ 실행 취소 파일 나가기 + + + + Ust 파일 내보내기 다른 이름으로 Ust 파일 내보내기 Wav 파일 내보내기 다른 이름으로 Wav 파일 내보내기 오디오 가져오기 Midi 가져오기 + + 트랙 삽입하기... 새로 만들기 템플릿 가져오기 @@ -86,6 +105,9 @@ 템플릿 저장 도움말 OpenUtau 정보 + 업데이트 확인 + 로그 파일 위치 열기 + 이슈 제보 OpenUtau 위키 도구 캐시 초기화 @@ -131,6 +153,11 @@ 색상 자음 컷오프 + 자음(Consonant) 설정 + 컷오프(Cutoff) 설정 + 오프셋(Offset) 설정 + 오버랩(Overlap) 설정 + 선행발성(Preutter) 설정 파일 오프셋 오버랩 @@ -140,9 +167,13 @@ 설정 접미사 + 음소 변환(G2P) 보조 + 복사 + 가사 "-" 기호를 "+" 기호로 대체 가사 편집 + 한자를 병음으로 히라가나를 로마자로 일본어 VCV를 CV로 문자 접미사 제거 @@ -154,6 +185,8 @@ "R" 꼬리 추가 비브라토 지우기 렌더링 된 피치 로드 + + 1/128로 양자화 1/64로 양자화 모든 표현 초기화 @@ -162,32 +195,40 @@ 비브라토 초기화 파트 레거시 플러그인 (실험) - 이름 변경 렌더링 할 최종 피치 보기 (R) 음소 보기 (O) 피치벤드 보기 (I) 스냅 켜고 끄기 (P) + 자동 + 자동 (3부분으로) 팁 보기 (T) 노트 톤 켜고 끄기 (Y) 비브라토 보기 (U) - + 파형 보기 (W) 피치 그리기 툴 (4) 삭제 툴 (3) 잘라내기 툴 (5) - 펜 툴 (2) -왼쪽 마우스로 그리기 -오른쪽 마우스로 삭제 - 선택 툴 (1) -컨트롤 누른 채로 선택 + 팬+ 툴 (Ctrl + 2) + 왼쪽 클릭으로 그리기 + 오른쪽 클릭으로 삭제 +컨트롤 키를 누르고 선택 + 팬 툴 (2) + 왼쪽 클릭으로 그리기 +컨트롤 키를 누르고 선택 + 선택 툴 (1) 고급 베타 + 가사 도우미 + 가사 도우미 괄호 추가 리샘플러 로그 리샘플러 출력을 로그 파일에 저장합니다. 이 옵션을 사용하면 UI 및 렌더링 속도가 느려집니다. 안정된 버전 + 외형 언어 - + 피아노 롤에 다른 트랙의 노트 표시 + 피아노 롤에 초상화 표시 테마 다크 라이트 @@ -195,6 +236,8 @@ 참고: OpenUtau를 재시작해야 해당 항목이 적용됩니다. + + 경로 추가적인 가수 폴더 경로 추가적인 가수 폴더 경로 설치 @@ -216,8 +259,7 @@ 테스트 렌더링 위상 보정 - - 스레드 사전 렌더링 + 사전 렌더러 리샘플러 경고: moresampler가 완벽하게 지원되지 않습니다. 속도가 느리고 CPU 사용량이 높아질 수 있습니다. 그럼에도 불구하고 사용하고 싶은 경우: @@ -228,11 +270,24 @@ 참고 : 외부 엔진을 사용하려면, OpenUtau 설치 경로의 Resamplers 폴더에 엔진 DLL 또는 EXE 파일을 추가하고 환경 설정에서 선택하세요. + + + 프로젝트 저장됨. {0} 렌더링 대기 중 가수 + + 소스파일 열기 + + + Oto 초기화 + Oto 저장 + + 위치 왼쪽으로 이동 오른쪽으로 이동 @@ -258,6 +313,7 @@ 설정 톤 범위 + 웹 사이트 방문 Alias 재정의 @@ -298,7 +354,7 @@ Malgun Gothic,Apple SD Gothic Neo,Segoe UI,San Francisco,Helvetica Neue 업데이트 확인 - 오픈형 가창 합성 플랫폼 + 개방형 가창 합성 플랫폼 깃허브 v{0} 업데이트가 존재합니다! 업데이트를 확인하고 있습니다... @@ -308,4 +364,5 @@ 경고 OpenUtau 홈 경로 "{0}"에 ASCII가 아닌 문자가 포함되어 있습니다. EXE 엔진이 작동하지 않을 수 있습니다. + diff --git a/OpenUtau/Strings/Strings.nl-NL.axaml b/OpenUtau/Strings/Strings.nl-NL.axaml index 2f12ce394..34ec13bf4 100644 --- a/OpenUtau/Strings/Strings.nl-NL.axaml +++ b/OpenUtau/Strings/Strings.nl-NL.axaml @@ -2,6 +2,11 @@ xmlns:system="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + + noot verwijderen + Deel verwijderen + Naam wijzigen + Zak in Zak in/uit Zak uit @@ -9,6 +14,10 @@ Punt toevoegen Punt wissen Snap terug naar vorige noot + + + + wegwissen Kopieer Log @@ -24,13 +33,17 @@ sla projectbestand eerst op Annuleren Nee - Ok + Ja Geen resampler Geen resampler! Zet je favoriete resampler exe of dll in de Resamplers map en kies het in Voorkeuren! Tijd Signatuur + + + + - Error + Afkorting Toepassen @@ -38,12 +51,12 @@ Standaard Resampler Vlag Is Resampler Vlag - Max - Min + + Naam Optiewaarden Scheid waarden door ',' - Type + Bocht Numeriek Opties @@ -52,8 +65,8 @@ Annuleer Bewerk Tekst Live voorbeeld - Max - Reset + + Select eerst noten Scheiders @@ -67,12 +80,18 @@ _Ongedaan maken _Bestand _Afsluiten + + + + Export Ust-bestanden Export Ust-bestanden naar... Export Wav-bestanden Export Wav-bestanden naar... _Audio importeren... _Midi importeren... + + Tracks importeren... Nieuw bestand Nieuw vanaf sjabloon @@ -86,7 +105,10 @@ Sjabloon opslaan... _Help Over OpenUTAU - OpenUtau Wiki + + + + _Tools Cache wissen Debug venster @@ -105,10 +127,10 @@ Tekst Standaard tekst - Portamento + Lengte - Start - Preset + + Nieuwe Preset Naam Wissen Verwijdert de laatst toegepaste preset. @@ -117,32 +139,41 @@ Reset alle instellingen Zet elke instelling terug naar de standaardwaarden. Waarschuwing: deze optie verwijdert aangepaste voorinstellingen. - Vibrato + Minimale lengte Automatisch vibrato op lengte Diepte - Fade In + Infaden Lengte - Fade Out + uitfaden Periode - Shift + - Alias + Kleur Medeklinker Afsnij + Set Medeklinker + Stel afsnijding in + Offset instellen + Overlap instellen + Reutterance instellen Bestand - Offset - Overlap + + Fonetisch Voorvoegsel preutterantie - Set + Achtervoegsel + Fonetische assistent + Kopieer + Songtekst Vervang "-" door "+" Bewerk Lyrics + Hanzi naar Pinyin Hiragana naar Romaji Japanese VCV naar CV Letter achtervoegsel verwijderen @@ -154,6 +185,8 @@ Waarschuwing: deze optie verwijdert aangepaste voorinstellingen. Voeg staart "R" toe vibratos wissen Laad gerenderde pitch + + Kwantiseren tot 1/128 Kwantiseren tot 1/64 Reset alle expressies @@ -162,11 +195,12 @@ Waarschuwing: deze optie verwijdert aangepaste voorinstellingen. Reset vibrato's Deel Legacy Plugin (Experimenteel) - Naam wijzigen Bekijk de final toonhoogte om te renderen (R) Toon fonemen (O) Toon Pitch Bend (I) Schakel Snap (P) + + Bekijk tips (T) schakel noot toon (Y) Vibrato weergeven (U) @@ -174,19 +208,26 @@ Waarschuwing: deze optie verwijdert aangepaste voorinstellingen. toonhoogte tekenen (4) Gummetje (3) Mess (5) - Pen (2) + Pen Plus gereedschap (Ctrl + 2) +Links klikken om te tekenen +Rechter muisklik om te verwijderen +Ctrl ingedrukt houden om te selecteren + Pen gereedschap (2) Links klikken om te tekenen -Rechts klikken om te wissen - Selectie (1) -Houd Ctrl ingedrukt om meer te selecteren +Ctrl ingedrukt houden om te selecteren + Selectiegereedschap (1) Geavanceerd - Beta + + + Resampler loggen Slaat de uitvoer van de resampler op in logbestanden. Deze optie vertraagt de UI en rendering. Stabiel + Uiterlijk Taal + Toon portret op pianorol Thema Donker @@ -195,30 +236,31 @@ Houd Ctrl ingedrukt om meer te selecteren *herstart OpenUtau a.u.b. na het wijzigen van dit item.* Uit Aan + + Paden Extra Zangerspad Installeren naar extra Singer-pad Reseiten Selecteer Afspelen - Auto-Scroll + Auto-scroll modus Pagina Scroll Vaste cursor - Audio Backend + Automatisch - PortAudio + Cursorpositie Afspeelapparaat Op pauze Doe niets Verplaats de cursor terug naar het punt waar u begon te spelen - Test + Renderen Fase Compensatie - Pre-render - Pre-render Draden - Resampler + + Waarschuwing: moresampler wordt niet volledig ondersteund. Het kan traag zijn en een hoog CPU-gebruik veroorzaken. Als u erop staat, alstublieft: 1. Zet "resampler-compatibility" op "on" in moreconfig.txt. @@ -228,19 +270,32 @@ Waarschuwing: moresampler wordt niet volledig ondersteund. Het kan traag zijn en Note: Om externe resamplers te gebruiken, voeg de resampler DLL of EXE bestand toe in de Resamplers map in het OpenUtau installatie pad en kies het in Voorkeuren. + + + Project opgeslagen.{0} Wacht Rendering Zangers + + + + + + Sla Otos op + + Plaats Naar links Naar rechts Kies Volgende Kies Vorige Toon all - Zoom In - Zoom Out + + Vernieuwen Standaard Phonemizer instellen Codering instellen @@ -255,9 +310,10 @@ Waarschuwing: moresampler wordt niet volledig ondersteund. Het kan traag zijn en Resetten Opslaan Selecteer alles - Set + Toon Toonbereiken + Overschrijf Alias @@ -291,21 +347,22 @@ Algemeen Naar beneden Naar boven Verwijder - Select Renderer + kies Zanger - Segoe UI,San Francisco,Helvetica Neue - Microsoft YaHei,Simsun,苹方-简,宋体-简 + + Controleren op updates Open zang synthese platform - GitHub + Update v{0} beschikbaar! Controleren op updates... Up to date! Kan update niet checken - Update + Waarschuwing Uw OpenUtau home path "{0}" bevat geen ASCII tekens. Exe resamplers werken mogelijk niet. + diff --git a/OpenUtau/Strings/Strings.pl-PL.axaml b/OpenUtau/Strings/Strings.pl-PL.axaml index 74540db1d..4f469a3e1 100644 --- a/OpenUtau/Strings/Strings.pl-PL.axaml +++ b/OpenUtau/Strings/Strings.pl-PL.axaml @@ -2,6 +2,11 @@ xmlns:system="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + + + + + @@ -9,6 +14,10 @@ + + + + @@ -29,6 +38,10 @@ Brak resamplera Brak resamplera! Dodaj plik DLL lub EXE swojego ulubionego Resamplera do folderu Resamplers i wybierz go w ustawieniach! + + + + Błąd @@ -67,12 +80,18 @@ Cofnij Plik Zamnkij + + + + Importuj Audio Importuj Midi... + + Nowy @@ -86,6 +105,9 @@ Pomoc O OpenUTAU + + + Narzędzia @@ -131,6 +153,11 @@ Warning: this option removes custom presets.--> + + + + + @@ -140,9 +167,13 @@ Warning: this option removes custom presets.--> + + + + @@ -153,7 +184,9 @@ Warning: this option removes custom presets.--> - + + + @@ -162,11 +195,12 @@ Warning: this option removes custom presets.--> - + + @@ -174,19 +208,26 @@ Warning: this option removes custom presets.--> - - + + + + + + Wygląd + Motyw Ciemny @@ -195,6 +236,8 @@ Hold Ctrl to select more--> + + Ścieżki @@ -217,22 +260,34 @@ Hold Ctrl to select more--> Renderowanie - Uwaga: Aby używać zewnętrznego resamplera, dodaj jego plik DLL lub EXE do folderu Resamplers w miejscu, gdzie OpenUtau jest zainstalowane i wybierz go w ustawieniach. + + + + + + + + + + + @@ -258,26 +313,27 @@ Warning: moresampler is not fully supported. It may be slow and cause high CPU u + Tabulator: Następna Nuta Shift+Tabulator: Ostatnia Nuta diff --git a/OpenUtau/Strings/Strings.pt-BR.axaml b/OpenUtau/Strings/Strings.pt-BR.axaml index 732f8c297..a9cf54c5e 100644 --- a/OpenUtau/Strings/Strings.pt-BR.axaml +++ b/OpenUtau/Strings/Strings.pt-BR.axaml @@ -2,6 +2,11 @@ xmlns:system="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + Copiar nota + Remover nota + Deletar parte + Renomear parte + Curva J Curva S Curva R @@ -9,6 +14,10 @@ Adicionar ponto Remover ponto Conectar à nota anterior + Adicionar mudança de BPM em {0} + Adicionar mudança de tempo + Remover mudança de BPM em {0} + Remover mudança de tempo Limpar Copiar Log @@ -29,6 +38,10 @@ Sem resampler Sem resampler! Coloque o .exe ou .dll do seu resampler favorito na pasta Resampler e selecione-o em Preferências! Assinatura de Tempo + Configurações de Faixa + Local + Renderizador + Definir como Padrão Erro @@ -67,12 +80,18 @@ Desfazer Arquivo Fechar + + Exportar Arquivo Midi + + Exportar como Ust Exportar Ust para... Exportar Arquivos Wav Exportar Wav para... Importar Audio... Importar Midi... + + Importar Faixas... Novo Novo por Modelo @@ -86,6 +105,9 @@ Salvar Modelo... Ajuda Sobre OpenUTAU + Checar Atualização + Abrir Localização de Logs + Reportar Problemas Ferramentas Limpar Cache @@ -131,6 +153,11 @@ Aviso: esta opção remove predefinições personalizadas. Cor + Definir Consonant + Definir Cutoff + Definir Offset + Definir Overlap + Definir Preutter Arquivo @@ -140,9 +167,13 @@ Aviso: esta opção remove predefinições personalizadas. Pasta Sufixo + Assistente Fonético + Copiar + Lírica Trocar "-" por "+" Editar Lírica + Hanzi para Pinyin Hiragana para Romaji (Japonês) VCV para CV Remover Letra de Suffixo @@ -154,6 +185,8 @@ Aviso: esta opção remove predefinições personalizadas. Adicionar Final "R" Limpar Vibratos Carregar Tom Renderizado + Mover uma oitava abaixo + Mover uma oitava acima Quantizar para 1/128 Quantizar para 1/64 Redefinir Todas as Expressões @@ -162,11 +195,12 @@ Aviso: esta opção remove predefinições personalizadas. Redefinir Vibratos Parte Plugin Legado (Experimental) - Renomear Ver Tom Final para Renderizar (R) Ver Fonemas (O) Ver Curva de Tom (I) Ativar Ajuste (P) + + Ver Dicas (T) Ativar Tom de Nota (Y) Ver Vibrato (U) @@ -174,19 +208,26 @@ Aviso: esta opção remove predefinições personalizadas. Ferramenta Desenhar Tom (4) Ferramenta Borracha (3) Ferramenta Faca (5) - Ferramenta Caneta (2) + Ferramenta Lapis+ (Ctrl + 2) Botão esquerdo para desenhar -Botão direito para apagar - Ferramenta Seleção (1) -Segure Ctrl para selecionar mais notas +Botão direito e arraste para apagar +Segure Ctrl para selecionar + Ferramenta Lapis (2) + Botão esquerdo para desenhar +Segure Ctrl para selecionar + Ferramenta Seleção (1) Avançado + Ajudante Lírico + Ajudante Lírico Adiciona Colchetes Resampler Log Armazena a saída do resampler em arquivos de log. Esta opção atrasa a UI e a renderização. Estável + Caminho do vLabeler Aparência Idioma + Mostrar notas fantasma Mostrar retrato no piano roll Tema Escuro @@ -195,6 +236,8 @@ Segure Ctrl para selecionar mais notas Nota: reinicie o OpenUtau após alterar este item. + Editor de Oto + Editor de Oto Padr Diretório Caminho Adicional de Vozes Instalar no Caminho Adicional de Vozes @@ -217,7 +260,6 @@ Segure Ctrl para selecionar mais notas Renderização Compensação de Fase - Threads do Pre-render Aviso: ainda não há suporte completo para moresampler. Ele poderá estar devegar e causar alto uso da CPU. Se deseja usar, por favor: @@ -228,11 +270,24 @@ Segure Ctrl para selecionar mais notas Observação: para usar resamplers externos, adicione o arquivo .dll ou .exe do resampler na pasta Resamplers no caminho de instalação do OpenUtau e escolha-o em Preferências. + + + Projeto salvo. {0} Esperando Renderização Vozes + Editar no vLabeler + Vá para o Arquivo Original + + + Redefinir Otos + Salvar Otos + Baixe o vLabeler (1.0.0-beta1 ou maior) em https://github.com/sdercolin/vlabeler e adicione o caminho do vLabeler nas Preferências primeiro! + Gerar Relatório de Erro de Cantor Pasta Mover para Esquerda Mover para Direita @@ -258,6 +313,7 @@ Segure Ctrl para selecionar mais notas Aplicar Tom Alcance + Visite o Website Substituir Alias @@ -308,4 +364,5 @@ Geral Atenção O caminho da pasta do OpenUtau "{0}" contém caracteres não ASCII. Resamplers .exe podem não funcionar. + Sem configurações para este renderizador. Favor selecionar CLASSIC. diff --git a/OpenUtau/Strings/Strings.ru-RU.axaml b/OpenUtau/Strings/Strings.ru-RU.axaml index aac412d99..f7345bc00 100644 --- a/OpenUtau/Strings/Strings.ru-RU.axaml +++ b/OpenUtau/Strings/Strings.ru-RU.axaml @@ -2,33 +2,46 @@ xmlns:system="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + Скопировать ноту + Удалить ноту + Удалить часть + Переименовать часть + Линейный Добавить точку Удалить точку - Привязка к предыдущей ноте + Привязать к предыдущей ноте + Добавить изменение темпа на {0} + Добавить изменение метки такта + Удалить изменение темпа на {0} + Удалить изменение метки такта Очистить - - + Скопировать журнал + Обратный порядок журнала О OpenUTAU - Open Utau стремится стать средой редактирования с открытым исходным кодом для сообщества UTAU, с современным пользовательским интерфейсом и интеллектуальной фонологической поддержкой. Посетите нас на Github. + OpenUtau стремится стать средой редактирования с открытым исходным кодом для сообщества UTAU, с современным пользовательским интерфейсом и интеллектуальной фонологической поддержкой. Посетите нас на Github. - Выход из OpenUtau + Выйти из OpenUtau Текущий проект содержит несохраненные изменения. Вы хотите сохранить его? - Экспорт - Сначала сохранить проект + Экспортировать + Сначала нужно сохранить проект Отмена Нет - + ОК Да - Нет ресемплера - Нет ресемплера! Поместите файл ресемплера .exe или .dll в папку Resamplers и выберите его в Настройках! + Нет ресамплера + Нет ресамплера! Поместите файл ресамплера (.exe или .dll) в папку Resamplers папки OpenUtau и выберите его в настройках! Такт + Параметры трека + Расположение + Рендерер + Установить по умолчанию Ошибка @@ -36,57 +49,66 @@ Применить Параметры флагов По умолчанию - Флаг ресемплера - Это флаг ресемплера + Флаг ресамплера + Это является флагом ресамплера Максимум Минимум Название Значение параметра - Отдельные значения через запятную (,) + Разделять значения через запятую (,) Тип Кривая Числовой - Параметр + Параметры - Применить - Отменить + Применит + Отмена Редактировать текст - Живой просмотр + Предварительный просмотр в реальном времени Максимум Сбросить - Выделите несколько нот! + Сначала выделите несколько нот! Разделители - Редактировать + Изменить Копировать - Вырезать + Выделить Удалить Вставить - Повторить действие - Выбрать всё - Отменить действие + Повторить + Выбрать все + Отменить Файл Выйти - Экспортировать .ust файлы - Экспортировать .ust файлы в... - Экспортировать .wav файлы - Экспортировать .wav файлы в... + + Экспортировать MIDI файл + + + Экспортировать UST файлы + Экспортировать UST файлы в... + Экспортировать WAV файлы + Экспортировать WAV файлы в... Импортировать аудио... - Импортировать .midi... + Импортировать Midi... + + Импортировать треки... Создать Создать из шаблона Открыть... Открыть как - - - Открыть последнее + Открыть место экспорта + Открыть место проекта + Открыть последний Сохранить Сохранить как... Сохранить шаблон... - Помощь - О OpenUtau - + Справка + Об OpenUtau + Проверить обновления + Открыть место журналов + Сообщить об ошибке + Вики OpenUtau Инструменты Очистить кэш Окно отладки @@ -97,63 +119,74 @@ Вертикально 1:1 Вертикально 1:2 Вертикально 1:3 - Настройки... + Параметры... Параметры флагов... - Установить голосовой банк... - Установить голосовой банк (расширенный)... - Голосовые банки... + Установить вокалиста... + Установить вокалиста (дополнительно)... + Вокалисты... - - - - - - - - - - - - - - - - - - - - - - + Текст + Текст по умолчанию + Портаменто + Длина + Начало + Пресет + Новое название пресета + Убрать + Убирает последний примененный пресет. + Сохранить + Сохраняет текущие настройки в новый пресет.. + Сбросить все настройки + Сбрасывает все настройки до значений по умолчанию. +Предупреждение: этот параметр удаляет пользовательские пресеты. + Вибрато + Минимальная длина + Автоматическое вибрато на основе длины + Глубина + Нарастание + Длина + Затухание + Период + Сдвиг Алиас Оттенок Согласная Конец + Установить согласную + Установить конец + Установить начало + Установить нахлест + Установить вступление Файл Начало - Нахлёст + Нахлест Фонетика Префикс Вступление Установить Суффикс + Фонетический ассистент + Скопировать + Текст - - Редактировать текста - Hiragana в Romaji + Заменить "-" на "+" + Редактировать текст + Ханзи в Пиньинь + Хирагана в ромадзи Японский VCV в CV - Удалить суффикс - Удалить суффикс тона - Romaji в Hiragana - + Убрать суффикс + Убрать суффикс тона + Ромадзи в хирагану + Нота по умолчанию Ноты Добавить "-" Добавить "R" - - Загрузить визуальный питч + Очистить вибрато + Загрузить отрендеренный питч + Переместить на октаву ниже + Переместить на октаву выше Квантовать до 1/128 Квантовать до 1/64 Сбросить все параметры @@ -161,43 +194,53 @@ Warning: this option removes custom presets.--> Сбросить кривые питча Сбросить вибрато Партия - Устаревшие плагины (экспериментальное) - Переименовать - Показать срендеренный питч (R) - Отображение фонем (O) + Устаревшие плагины (экспериментально) + Показать отрендеренный питч (R) + Показать фонемы (O) Показать кривую питча (I) Привязка (P) - Подсказки (T) - Прослушивание тона (Y) + Авто + Авто (триплет) + Показать подсказдки (T) + Переключить тон ноты (Y) Показать вибрато (U) - + Показать волну (W) Инструмент рисовки питча (4) Ластик (3) - Инструмент нарезки (5) - Карандаш (2) -ЛКМ - рисовать -ПКМ - удалить - Инструмент выбора (1) - + Нож (5) + Карандаш Plus (Ctrl + 2) + Левый клик чтобы рисовать + Правый клик чтобы удалить + Удерживайте Ctrl чтобы выбрать + Карандаш (2) + Левый клик чтобы рисовать +Удерживайте Ctrl чтобы выбрать + Инструмент выбора (1) Дополнительно Бета - Логировать ресемплер - Сохраняет выходные данные ресемплеров в лог файлы. Этот параметр замедляет работу пользовательского интерфейса и рендеринга. + Текстовый помощник + Добавить скобки в текстовом помощнике + Журналирование ресамплера + Сохраняет выходные данные ресамплера в файлах журнала. Этот параметр замедляет работу пользовательского интерфейса и рендеринга. Стабильный + Путь Vlabeler Интерфейс Язык - + Показывать ноты других треков на пиано-ролле + Показывать портрет на пиано-ролле Тема - Тёмная + Темная Светлая - Настройки + Параметры Примечание: пожалуйста, перезапустите OpenUtau после изменения этого пункта. - Выкл. - Вкл. + Выкл + Вкл + Редактор Oto + Редактор Oto по умолчанию Пути - Дополнительные пути голосовых баз - Установить дополнительный путь к голосовой базе + Дополнительные пути вокалистов + Установить дополнительный путь к вокалисту Сбросить Выбрать Воспроизведение @@ -205,20 +248,19 @@ Warning: this option removes custom presets.--> Режим автоматической прокрутки Прокрутка страницы Неподвижный курсор - Аудио движок + Движок аудио Автоматически Поле авто-прокрутки - Устройства воспроизведения + Устройство воспроизведения При паузе Ничего не делать Переместить курсор в начало с прошлой паузы Тест Рендер Фазовая компенсация - - Потоки пререндера - Ресемплер + Пре-рендер + Ресамплер Внимание: moresampler поддерживается не полностью. Рендер может быть медленным и привести к высокой нагрузке процессора. Если хотите использовать его, пожалуйста: 1. Установите для параметра "resampler-compatibility" значение "on" в файле moreconfig.txt. @@ -226,49 +268,63 @@ Warning: this option removes custom presets.--> 3. Потерпите немного, пока moresampler сгенерирует недостающие llsm файлы. - Примечание: чтобы использовать внешние ресемплеры, пожалуйста, добавьте .dll или .exe-файл в папку Resamplers в пути установки OpenUtau и выберите его в Настройках. + Примечание: чтобы использовать внешние ресамплеры, пожалуйста, добавьте .dll или .exe-файл в папку Resamplers в пути установки OpenUtau и выберите его в параметрах. + + + - Проект сохранён. {0} - Рендер... + Проект сохранен. {0} + Ожидание рендеринга - Голосовые банки + Вокалисты + Редактировать в vLabeler + Перейти к исходному файлу + + + Сбросить oto + Сохранить oto + Сначала нужно скачать vLabeler версии 1.0.0-beta или выше из https://github.com/sdercolin/vlabeler и указать путь к vLabeler в параметрах! + Сгенерировать отчет об ошибке вокалиста Расположение - - - - - - - - Обновить - + Влево + Вправо + Выбрать след + Выбрать пред + Показать все + Приблизить + Отдалить + Перезагрузить + Установить фонемайзер по умолчанию Установить кодировку - + Установить портрет Отмена Очистить Оттенок Добавить оттенок - Удалить оттенок + Убрать оттенок Переименовать - Редактировать подбанки + Редактировать суббанки Сбросить Сохранить - Выбрать всё + Выбрать все Установить Тон - Диапозон тональности + Диапазон тональности + Посетить сайт - Переопределить алиасы + Заменить алиасы -Рисование левой кнопкой мыши: набор выражений + Рисование левой кнопкой мыши: набор выражений Рисование правой кнопкой мыши: сброс выражений - + Выражения не поддерживаются рендером Tab: следующая нота Shift+Tab: предыдущая нота -Инструмент выбора + Инструмент выбора Выбор в поле: выбрать ноты Ctrl + Выбор в поле: выбрать дополнительные ноты ↑/↓: сместить выбранные ноты @@ -287,25 +343,26 @@ Warning: this option removes custom presets.--> ◀ Прокрутите здесь, чтобы изменить масштаб по горизонтали ▶ Прокрутите здесь, чтобы изменить масштаб по вертикали ▶ - Ещё + Еще Сместить вниз Сместить вверх Удалить - - Выбрать голосовой банк + Выбрать рендерер + Выбрать вокалиста - Проверить обновления - Открытая платформа вокального синтеза + Проверить наличие обновлений + Открытая платформа синтеза вокала - Доступно обновление v{0}! + Доступно обновление версии {0}! Проверка обновлений... Ваша версия актуальная - Не удалось проверить обновления + не удалось проверить наличие обновлений Обновить Внимание Ваш путь к OpenUtau "{0}" содержит символ, отличный от ASCII кодировки. .exe-ресемплеры могут не работать. + Для этого рендерера настроек нет. Пожалуйста, выберите CLASSIC. diff --git a/OpenUtau/Strings/Strings.th-TH.axaml b/OpenUtau/Strings/Strings.th-TH.axaml new file mode 100644 index 000000000..f127cbd81 --- /dev/null +++ b/OpenUtau/Strings/Strings.th-TH.axaml @@ -0,0 +1,368 @@ + + + + ลบโน้ต + ลบพาร์ท + เปลี่ยนชื่อพาร์ท + + + + + เส้นตรง + เพิ่มจุด + ลบจุด + สแน็ปไปยังโน้ตก่อนหน้า + + + + + + ล้าง + บันทึกการคัดลอก + ย้อนกลับไปยังบันทึกคำสั่งเดิม + + เกี่ยวกับ OpenUTAU + + OpenUtau มีเป้าหมายที่จะเป็นฐานข้อมูลแบบเปิดสำหรับชุมชนเสียงสังเคราะห์ UTAU ซึ่งทุกคนสามารถแก้ไขเขียนโค้ดโปรแกรมได้ ทำให้ได้รับประสบการณ์การใช้งานที่ทันสมัย และการออกเสียงที่เป็นอัจฉริยะมากยิ่งขึ้น เยี่ยมชมเราได้บน Github. + + ออกจาก OpenUtau + โปรเจกต์ปัจจุบันยังไม่มีการบันทึกการเปลี่ยนแปลง คุณต้องการบันทึกหรือไม่? + ส่งออก + บันทึกไฟล์โปรเจกต์ก่อน + ยกเลิก + ไม่ + ตกลง + ใช่ + ไม่มี resampler + ไม่มี resampler! โปรดใส่ไฟล์ resampler exe หรือ dll ใน resampler folder ที่ชอบ และตั้งค่าเลือก resampler นั้น! + เครื่องหมายกำหนดจังหวะ + + + + + + เกิดข้อผิดพลาด + + + ใช้งาน + + ค่าเริ่มต้น + + + สูงสุด + ขั้นต่ำ + ชื่อ + ค่าตัวเลือก + แยกค่าโดย ',' + ประเภท + เส้นโค้ง + ตัวเลข + ตัวเลือก + + ใช้งาน + ยกเลิก + แก้ไขเนื้อเพลง + แสดงผลตัวอย่างสด + สูงสุด + คืนค่า + โปรดเลือกตัวโน้ตก่อน! + ตัวแบ่งแยก + + แก้ไข + คัดลอก + ตัด + ลบ + วาง + ทำซ้ำ + เลือกทั้งหมด + เลิกทำ + ไฟล์ + ออก + + + + + ส่งออกไฟล์ Ust + ส่งออกไฟล์ Ust ไปยัง... + ส่งออกไฟล์ Wav + ส่งออกไฟล์ Wav ไปยัง... + นำเข้า Audio... + นำเข้า Midi... + + + นำเข้า Tracks... + ใหม่ + เทมเพลตใหม่ + เปิด... + เปิดเป็น + เปิดตำแหน่งส่งออก + เปิดตำแหน่งโปรเจกต์ + เปิดล่าสุด + บันทึก + บันทึกเป็น... + บันทึกเทมเพลต... + ช่วยเหลือ + เกี่ยวกับ OpenUtau + + + + + เครื่องมือ + ล้างแคช + + เลย์เอาท์ + แนวนอน 1:1 + แนวนอน 1:2 + แนวนอน 1:3 + แนวตั้ง 1:1 + แนวตั้ง 1:2 + แนวตั้ง 1:3 + กำหนดค่า... + เครื่องหมาย... + ติดตั้งคลังเสียง + ติดตั้งคลังเสียง (ขั้นสูง)... + นักร้อง... + + เนื้อเพลง + ค่าเริ่มต้นเนื้อเพลง + ปอร์ตาเมนโต + ความยาว + เริ่มต้น + + ชื่อ Preset ใหม่ + ลบออก + ลบค่า Preset ที่ใช้ล่าสุดออก + บันทึก + บันทึกการตั้งค่าปัจจุบันเป็นค่า Preset ใหม่ + คืนค่าการตั้งค่าทั้งหมด + คืนค่าทุกการตั้งค่าเป็นค่าเริ่มต้น +คำเตือน: ตัวเลือกนี้จะลบการตั้งค่า Preset ที่กำหนดเอง + ไวบราโต + ความยาวขั้นต่ำ + ไวบราโตอัตโนมัติตามความยาวโน้ต + + + ความยาว + + ระยะเวลา + + + + + + + กำหนด Consonant + กำหนด Cutoff + กำหนด Offset + กำหนด Overlap + กำหนด Preutter + + + + + + + ตั้งค่า + + + ผู้ช่วยการออกเสียง + คัดลอก + + เนื้อเพลง + แทนที่ "-" ด้วย "+" + แก้ไขเนื้อเพลง + + เปลี่ยนฮิระงะนะเป็นโรมันจิ + เปลี่ยนระบบ JP VCV เป็น CV + ลบ Letter Suffix ออก + ลบ Tone Suffix ออก + เปลี่ยนโรมันจิเป็นฮิระงะนะ + โน้ตค่าเริ่มต้น + โน้ต + เพิ่มหาง "-" + เพิ่มหาง "R" + ล้างไวบราโต + โหลดการประมวลผล Pitch + + + Quantize ถึง 1/128 + Quantize ถึง 1/64 + คืนค่าเครื่องหมายทั้งหมด + คืนค่า phoneme timings + คืนค่า pitch bends + คืนค่าไวบราโต + พาร์ท + ปลั๊กอินรุ่นดั้งเดิม (รุ่นทดลอง) + ดูการประมวลผล Final Pitch (R) + ดู Phonemes (O) + ดู Pitch Bend (I) + สลับสแน็ป (P) + อัตโนมัติ + อัตโนมัติ (triplet) + ดูเคล็ดลับ (T) + สลับเสียงโน้ต (Y) + แสดงผลไวบราโต (U) + แสดงผล Waveform (W) + เครื่องมือวาด Pitch (4) + ยางลบ (3) + มีด (5) + ปากกาอัจฉริยะ (Ctrl + 2) +คลิกซ้ายเพื่อวาด +คลิกขวาเพื่อลบ +กด Ctrl ค้างไว้เพื่อเลือก + + + + ขั้นสูง + เบต้า + + + + การจัดเก็บ output resempler ใน log files ตัวเลือกนี้ทำให้ UI และการแสดงผลช้าลง + เสถียร + + รูปร่าง + ภาษา + + แสดงภาพเหมือนบน Piano roll + ธีม + โหมดกลางคืน + โหมดกลางวัน + การตั้งค่า + หมายเหตุ: โปรดรีสตาร์ท OpenUtau หลังจากเปลี่ยนรายการนี้ + ปิด + เปิด + + + เส้นทาง + เส้นทางคลังเสียงเสริม + ติดตั้งไปยังเส้นทางคลังเสียงเสริม + คืนค่า + เลือก + เล่นซ้ำ + เลื่อนอัตโนมัติ + โหมดเลื่อนอัตโนมัติ + ตัวเลื่อนหน้า + + ระบบเสียงหลังบ้าน + อัตโนมัติ + + ระยะขอบเลื่อนอัตโนมัติ + เครื่องเล่นซ้ำ + หยุดชั่วคราว + ไม่ต้องทำอะไร + ย้ายเคอร์เซอร์กลับไปยังตําแหน่งที่คุณเริ่มเล่น + ทดสอบ + กำลังประมวลผล + การชดเชย Phase + ประมวลผลล่วงหน้า + + +คําเตือน: moresampler ไม่ได้รับการสนับสนุนอย่างเต็มที่ อาจทำให้ประมวลผลล่าช้า และทําให้การใช้งาน CPU สูงมากยิ่งขึ้น หากคุณยืนยัน โปรด: +1. ตั้งค่า "resampler-compatibility" เป็น "เปิด" ใน moreconfig.txt +2. ตั้งค่า "auto-update-llsm-mrq" เป็น "ปิด" ใน moreconfig.txt. +3. อดทนรอให้ moresampler สร้างไฟล์ llsm ที่หายไป + + + หมายเหตุ: หากต้องการใช้ resampler นอกเหนือจากโปรแกรมโปรดเพิ่มไฟล์ DLL หรือ EXE ใน Resamplers folder ในเส้นทางการติดตั้ง OpenUtau และเลือก resampler ได้ในการตั้งค่า + + + + + + บันทึกโปรเจกต์ {0} แล้ว + โปรดรอ กำลังประมวลผล + + นักร้อง + + + + + คืนค่า Otos + บันทึก Otos + + + ตำแหน่ง + ขยับซ้าย + ขยับไปขวา + เลือกถัดไป + เลือกก่อนหน้า + แสดงทั้งหมด + ซูมเข้า + ซูมออก + รีเฟรช + ตั้งค่าเริ่มต้น Phonemizer + ตั้งค่า Encoding + ตั้งค่า Portrait + ยกเลิก + ล้าง + color + เพิ่มสี + ลบสีออก + เปลี่ยนชื่อ + แก้ไข Subbanks + คืนค่า + บันทึก + เลือกทั้งหมด + ตั้งค่า + + + + + + +คลิกปุ่มซ้าย: ตั้งค่าเครื่องหมาย +คลิกปุ่มขวา: คืนค่าเครื่องหมาย + + เครื่องหมายยังไม่ได้รับการสนับสนุนจากการประมวลผล + Tab: โน้ตถัดไป + Shift+Tab: โน้ตก่อนหน้า + +เคอร์เซอร์สำหรับเลือกโน้ต + สร้างสี่เหลี่ยมคลุมโน้ต: เลือกโน้ตที่คลุม + Ctrl + สร้างสี่เหลี่ยมคลุมโน้ต: เลือกโน้ตที่ต้องการเพิ่มเติม + Up/Down: สลับเปลี่ยนโน้ตที่เลือก + Ctrl + Up/Down: เลื่อนตําแหน่งโน้ตที่เลือกโดย octave +ปากกา + คลิกค้างลากด้วยปุ่มซ้าย: เพิ่มโน้ต + คลิกขวา: ลบโน้ตออก + คลิกค้างขวาคลุมโน้ต: เอาโน้ตหลายตัวออก +ปุ่มลัดทั่วไป + T: ดูเคล็ดลับการใช้งาน + คลิกซ้ายทับบนตัวโน้ต: เคลื่อนย้ายโน้ตนั้นตามต้องการ + คลิกซ้ายทับท้ายตัวโน้ต: ปรับขนาดความสั้นยาวของโน้ต + Alt + คลิกซ้ายทับท้ายตัวโน้ต: ปรับขนาดความสั้นยาวของโน้ตที่เลือก กรณีมีโน้ตติดกันป้องกันโน้ตซ้อนกัน + Space: เล่น + + ◀ เลื่อนที่นี่เพื่อซูมในแนวนอน ▶ + เลื่อนที่นี่เพื่อซูมในแนวตั้ง ▶ + + เพิ่มเติม + ย้ายลง + ย้ายขึ้น + ลบออก + เลือกตัวประมวลผล + เลือกนักร้อง + + Noto serif Thai,Angsana New,Noto Sans Thai,IBM Plex Sans Thai,Segoe UI,San Francisco,Helvetica Neue + Noto serif Thai,Angsana New,Noto Sans Thai,IBM Plex Sans Thai,Microsoft YaHei,Simsun,苹方-简,宋体-简 + + ตรวจสอบการอัปเดต + เปิดแพลตฟอร์มเสียงสังเคราะห์ + + อัปเดต v{0} เสร็จสิ้นแล้ว! + ตรวจสอบการอัปเดต... + อัปเดตเป็นเวอร์ชั่นปัจจุบันแล้ว + ไม่สามารถตรวจสอบการอัปเดตได้ + อัปเดต + + คำเตือน + เส้นทางหลัก OpenUtau ของคุณ "{0}" ประกอบด้วยอักขระที่ไม่ใช่ ASCII. Exe resamplers โปรแกรมอาจไม่ทำงาน + + diff --git a/OpenUtau/Strings/Strings.vi-VN.axaml b/OpenUtau/Strings/Strings.vi-VN.axaml index 26bb35e03..2869bf671 100644 --- a/OpenUtau/Strings/Strings.vi-VN.axaml +++ b/OpenUtau/Strings/Strings.vi-VN.axaml @@ -2,17 +2,26 @@ xmlns:system="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + Copy nốt + Xoá nốt + Xoá phần + Đặt lại tên phần + Cong xuống Cong xuống/lên Cong lên Đường thẳng Thêm điểm Xoá điểm - Gán vào nốt trước + Gắn vào nốt trước + Thêm thay đổi tempo vào {0} + Thêm thay đổi số chỉ nhịp + Xoá thay đổi tempo vào {0} + Xoá thay đổi số chỉ nhịp Xoá - - + Sao chép log + Đảo ngược thứ tự log Thông tin về OpenUTAU @@ -29,6 +38,10 @@ Chưa có resampler Chưa có resampler nào cả! Thêm resampler yêu thích của bạn với định dạng exe hoặc dll vào trong thư mục Resamplers và chọn ở trong mục Tuỳ chọn! Số chỉ nhịp + Cài đặt Track + Thư mục + Trình render + Đặt thành mặc định Lỗi @@ -53,7 +66,7 @@ Chỉnh sửa lời bài hát Xem trước nhiều nhất - Reset + Chọn một số nốt trước đã! Ngăn cách @@ -67,12 +80,18 @@ Tệp Thoát ra + Xuất ra tệp nhạc + Xuất ra tệp MIDI + Gộp thành một tệp nhạc + Xuất ra tệp UST Xuất tệp UST vào... Xuất ra tệp WAV Xuất tệp WAV vào... Nhập vào tệp Âm thanh... Nhập vào Midi... + + Nhập vào UST/VSQX... Dự án mới Dự án mới từ các mẫu @@ -86,7 +105,10 @@ Lưu thành mẫu... Hướng dẫn Thông tin về OpenUtau - + Kiểm tra cập nhật + Mở thư mục chứa log + Báo cáo lỗi + Hướng dẫn sử dụng Công cụ Xoá bộ nhớ đệm Mở cửa sổ Debug @@ -101,7 +123,7 @@ Biểu cảm... Cài đặt voicebank vào máy... Cài đặt voicebank vào(Nâng cao)... - Danh sách các voicebank... + Danh sách voicebank... Lời nhạc Lời mặc định @@ -127,10 +149,15 @@ Lưu ý: tuỳ chọn này cũng sẽ xoá các preset của bạn.Tần số Dịch chuyển - Tên trong oto + Sắc thái + Chỉnh Consonant + Chỉnh Cutoff + Chỉnh Offset + Chỉnh Overlap + Chỉnh Preutter Tệp âm thanh @@ -140,20 +167,26 @@ Lưu ý: tuỳ chọn này cũng sẽ xoá các preset của bạn.Thư mục Hậu tố + Phân tích cách phát âm + Sao chép + Lời nhạc Thay thế "-" với "+" - Chỉnh lời nhạc - Chuyển Hiragana sang Romaji - Chuyển VCV sang CV - Xoá hậu tố là từ + Sửa lời nhạc + Chữ Hán sang phiên âm + Hiragana sang Romaji + VCV sang CV + Xoá hậu tố là kí tự Xoá hậu tố là cao độ - Chuyển Romaji sang Hiragana - Thông số các nốt + Romaji sang Hiragana + Đặc tính các nốt Nốt nhạc Thêm nốt "-" Thêm nốt "R" Xoá đường rung giọng Luyến giọng tự nhiên (AI only) + Dời xuống quãng tám + Dời lên quãng tám Chia thành quãng 1/128 Chia thành quãng 1/64 Reset các biểu cảm @@ -162,11 +195,12 @@ Lưu ý: tuỳ chọn này cũng sẽ xoá các preset của bạn.Reset đường rung giọng Phần Sử dụng Plugin (Thử nghiệm) - Đặt tên phần Hiện đường luyến giọng vẽ tự do (R) Hiện thời gian các âm (O) - Hiện đường luyến giọng nối giữa các điểm (I) + Hiện đường luyến giọng nối bằng hai điểm (I) Bật tắt gắn độ dài nốt (P) + Tự động + Tự động (chia nhỏ hơn) Hiện hướng dẫn (T) Bật tắt âm cao độ khi viết nốt(Y) Hiện đường rung giọng (U) @@ -174,20 +208,27 @@ Lưu ý: tuỳ chọn này cũng sẽ xoá các preset của bạn.Vẽ tự do đường luyến giọng (4) Xoá nốt (3) Cắt nốt (5) - Viết nốt (2) -Nhấn chuột trái để viết nốt -Nhấn chuột phải để xoá nốt - Lựa chọn (1) -Nhấn giữ Ctrl để chọn đồng loạt nhiều nốt + Viết nốt PLUS (Ctrl + 2) +Nhấn chuột trái để viết +Nhấn chuột phải để xoá +Nhấn giữ Ctrl để chọn nhiều nốt + Viết nốt (2) +Nhấn chuột trái để viết +Nhấn giữ Ctrl để chọn nhiều nốt + Chọn nốt (1) Nâng cao Thử nghiệm + + Ghi lại kết quả của Resampler Lưu trữ kết quả đầu ra của resampler trong tệp log. Tuỳ chọn này sẽ làm cho giao diện và việc render chậm lại. Ổn định + Thư mục chứa Vlabeler Diện mạo Ngôn ngữ - Hiện avatar trong cửa sổ Piano Roll + Hiện nốt của các track khác trong Piano Roll + Hiện avatar trong Piano Roll Chủ đề Tối Sáng @@ -195,6 +236,8 @@ Nhấn giữ Ctrl để chọn đồng loạt nhiều nốt Lưu ý: khởi động lại OpenUTAU sau khi chỉnh sửa tuỳ chọn này. Tắt Mở + Trình chỉnh oto + Trình chỉnh oto mặc định Đường dẫn Thư mục phụ chứa các voicebank Cài đặt vào thư mục phụ chứa các voicebank @@ -217,22 +260,34 @@ Nhấn giữ Ctrl để chọn đồng loạt nhiều nốt Render - Luồng cho phép nghe thử trước Ghi chú: để sử dụng resampler bên ngoài, hãy thêm resampler định dạng EXE hoặc DLL vào trong thư mục Resamplers của OpenUTAU và lựa chọn trong Tuỳ chỉnh. + + Cảnh báo: quá nhiều luồng render có thể làm OpenUTAU chạy chậm. + + Luồng render tối đa + Hoàn tất lưu dự án. {0} - Đang chờ việc render + Đang render ... Voicebank + Sửa trong vLabeler + Mở tệp nguồn + + + Reset Oto + Lưu Oto + Cần phải tải vLabeler xuống (bản 1.0.0-beta1 hoặc mới hơn) ở trang https://github.com/sdercolin/vlabeler và đặt thư mục chứa vLabeler trong mục Tuỳ chọn trước cái đã! + Tạo tệp báo cáo lỗi voicebank Đường dẫn Sang trái Sang phải @@ -243,7 +298,7 @@ Warning: moresampler is not fully supported. It may be slow and cause high CPU u Thu nhỏ Làm mới Đặt Phonemizer mặc định - Sửa đổi mã hoá + Đặt bảng mã Đặt avatar Huỷ bỏ Xoá bỏ @@ -252,19 +307,20 @@ Warning: moresampler is not fully supported. It may be slow and cause high CPU u Xoá sắc thái Đổi tên Sửa đổi sắc thái - Reset + Lưu Chọn tất cả Áp dụng Cao độ Cao độ + Mở trang web Thay đổi âm vị Nhấn giữ và kéo trái chuột: Điều chỉnh biểu cảm Nhấn giữ và kéo phải: Xoá biểu cảm - Biểu cảm không được hỗ trợ bởi renderer + Biểu cảm không được hỗ trợ bởi trình render này Tab: Nốt tiếp theo Shift+Tab: Nốt trước @@ -291,7 +347,7 @@ Tổng quát Di chuyển xuống Di chuyển lên Xoá bỏ - Chọn renderer + Chọn trình render Chọn Voicebank @@ -308,4 +364,5 @@ Tổng quát Cảnh báo Đường dẫn OpenUTAU của bạn "{0}" có chứa kí tự không thuộc ASCII. Resampler định dạng exe có thể không hoạt động. + Trình render này không có tuỳ chọn nào hết. Vui lòng chuyển sang trình render CLASSIC. diff --git a/OpenUtau/Strings/Strings.zh-CN.axaml b/OpenUtau/Strings/Strings.zh-CN.axaml index 26a072533..7448a478d 100644 --- a/OpenUtau/Strings/Strings.zh-CN.axaml +++ b/OpenUtau/Strings/Strings.zh-CN.axaml @@ -2,6 +2,11 @@ xmlns:system="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> + 复制音符 + 删除音符 + 删除片段 + 重命名片段 + 替换音频 缓入 缓入缓出 缓出 @@ -9,10 +14,14 @@ 添加控制点 删除控制点 吸附到上一个音符 + + + + 清空 - - + 复制日志 + 反序 关于 OpenUTAU @@ -29,6 +38,10 @@ 无重采样器 无重采样器! 将你选择的重采样器 exe 或者 dll 文件放入 Resamplers 文件夹中并在使用偏好中选择它! 拍号 + + + + 错误 @@ -67,12 +80,18 @@ 撤销 文件 退出 + 导出音频 + 导出Midi文件 + 混缩为Wav文件 + 导出工程 导出Ust文件 导出Ust文件至... 导出Wav文件 导出Wav文件至... 导入音频... 导入Midi... + + 导入轨道... 新建 从模板新建 @@ -86,6 +105,9 @@ 保存模板... 帮助 关于 OpenUTAU + + + OpenUtau 维基 工具 清空缓存 @@ -129,20 +151,29 @@ 别名 色彩 - 辅音速度 + 辅音 结束 + 设置辅音 + 设置结束 + 设置开始 + 设置重叠 + 前发音 文件 开始 重叠 发音 前缀 - 先行发音 + 前发音 子集 后缀 + 语音学助手 + 复制 + 歌词 - + 将 "-" 替换为 "+" 编辑歌词 + 汉字转拼音 平假名转罗马音 日语 VCV 转 CV 去除字母后缀 @@ -154,6 +185,8 @@ 添加尾部"R"音符 清除颤音 加载音高渲染结果 + 下移八度 + 上移八度 量化至1/128音符 量化至1/64音符 重置表情 @@ -162,11 +195,12 @@ 重置颤音 片段 传统插件 (实验性) - 重命名 显示最终音高线 (R) 显示音素 (O) 显示弯音 (I) 开关吸附 (P) + 自动 + 自动 (三连音) 显示提示 (T) 开关音符音 (Y) 显示颤音 (U) @@ -174,19 +208,26 @@ 绘制音高线工具 (4) 橡皮工具 (3) 分割工具 (5) - 笔工具 (2) + 笔(增强)工具 (Ctrl + 2) +鼠标左键绘制音符 +鼠标右键擦除音符 +按住 Ctrl 选择音符 + 笔工具 (2) 鼠标左键绘制音符 -鼠标右键擦除音符 - 选择工具 (1) -按住Ctrl选择更多 +按住 Ctrl 选择音符 + 选择工具 (1) 高级 Beta测试版 + + 重采样器日志 在日志文件中保存重采样器输出。这个选项会使UI和渲染性能下降。 稳定版 + 外观 语言 + 在钢琴窗上显示歌手背景图 主题 @@ -195,6 +236,8 @@ 注意: 修改本项后请重启OpenUtau + + 路径 额外歌手路径 安装至额外歌手路径 @@ -217,7 +260,6 @@ 渲染 相位修正 预渲染 - 预渲染线程数 重采样器 警告: 暂不完全支持 moresampler。可能导致渲染极慢和高CPU使用率。如果您仍想使用,请: @@ -228,11 +270,24 @@ 注意: 将你选择的重采样器 exe 或者 dll 文件放入 Resamplers 文件夹中并在使用偏好中选择它. + + + 工程已保存 {0} 等待渲染 歌手 + + + + + 重置 Oto 设置 + 保存 Oto 设置 + + 位置 左移 右移 @@ -258,6 +313,7 @@ 设定 音调 音调范围 + 访问歌手官网 手动选择别名 @@ -308,4 +364,5 @@ 警告 OpenUtau路径"{0}"包含非ASCII字符. Exe格式resampler可能无法正常工作. + diff --git a/OpenUtau/Strings/Strings.zh-TW.axaml b/OpenUtau/Strings/Strings.zh-TW.axaml new file mode 100644 index 000000000..32e38ee0f --- /dev/null +++ b/OpenUtau/Strings/Strings.zh-TW.axaml @@ -0,0 +1,368 @@ + + + + + + + + 緩入 + 緩入並緩出 + 緩出 + 線性 + 新增控制點 + 刪除控制點 + 貼齊前一個音符 + + + + + + 清除 + 複製 + 反轉記錄檔順序 + + 關於 OpenUTAU + + OpenUtau 致力於為 UTAU 社群建立開源編輯環境,提供現代化使用體驗與智慧型拆音功能。歡迎瀏覽我們的 GitHub。 + + 結束 OpenUtau + 專案包含未儲存的變更。是否要儲存? + 匯出 + 請先儲存專案 + 取消 + + + 確定 + 未套用引擎 + 未套用引擎! 請將引擎 EXE 或 DLL 檔案置入 Resamplers 資料夾中,並在偏好設定選擇欲使用的引擎! + 拍號 + + + + + + 錯誤 + + 縮寫 + 套用 + 表現 + 預設 + 引擎 Flag + 是引擎 Flag + 最大值 + 最小值 + 名稱 + 選項 + 請使用半形逗號分隔 + 類型 + 曲線 + 數值 + 選項 + + 套用 + 取消 + 編輯歌詞 + 即時預覽 + 個音符 + 重設 + 請先選取音符! + 分隔符號 + + 編輯 + 複製 + 剪下 + 刪除 + 貼上 + 重做 + 全選 + 復原 + 檔案 + 結束 + + + + + 匯出 UST 專案 + 匯出 UST 檔案至... + 匯出 WAV 音訊 + 匯出 WAV 音訊至... + 匯入音訊... + 匯入 MIDI... + + + 匯入音軌... + 新增 + 從範本新增 + 開啟舊檔 + 開啟為 + 開啟匯出位置 + 開啟專案位置 + 最近開啟 + 儲存檔案 + 另存新檔 + 另存為範本 + 說明 + 關於 OpenUtau + + + + + 工具 + 清除快取 + 除錯視窗 + 版面配置 + 橫向 1:1 + 橫向 1:2 + 橫向 1:3 + 縱向 1:1 + 縱向 1:2 + 縱向 1:3 + 偏好設定... + 表現... + 安裝歌手... + 安装歌手 (進階模式)... + 歌手... + + 歌詞 + 預設歌詞 + 滑音 + 長度 + 開始 + 預設集 + 命名新預設集 + 移除 + 移除先前套用的預設集。 + 儲存 + 儲存目前設定為新預設集。 + 重設所有設定 + 重設所有設定為預設值。 + 警告: 此選項將移除自訂預設集。 + 顫音 + 最短長度 + 長音符自動顫音 + 深度 + 淡入 + 長度 + 淡出 + 週期 + 相位 + + 別名 + 色彩 + 子音 + 後裁切 + + + + + + 檔案 + 前裁切 + 重疊 + 音標 + 前綴 + 先行發聲 + 設定 + 後綴 + + + + + 歌詞 + 使用 "+" 替換 "-" + 編輯歌詞 + + 平假名轉羅馬拼音 + 日文 VCV 轉 CV + 移除字母後綴 + 移除音調後綴 + 羅馬拼音轉平假名 + 音符預設設定 + 音符 + 新增音符尾端 "-" + 新增音符尾端 "R" + 清除顫音 + 載入已算繪的音高曲線 + + + 量化至 1/128 + 量化至 1/64 + 重設所有表現 + 重設音標時間 + 重設音高曲線 + 重設顫音 + 段落 + 舊版插件 (實驗性) + 顯示算繪音高曲線 (R) + 顯示音標 (O) + 顯示手動音高曲線 (I) + 啟用自動貼齊 (P) + + + 顯示使用提示 (T) + 啟用音調提示 (Y) + 顯示顫音 (U) + 顯示波形 (W) + 音高繪製工具 (4) + 橡皮擦工具 (3) + 剪刀工具 (5) + + + + + 進階 + 測試版 + + + 引擎紀錄 + 儲存引擎輸出紀錄至記錄檔。此選項可能影響介面與算繪效能。 + 穩定版 + + 外觀 + 語言 + + 在鋼琴卷軸上顯示角色背景圖 + 主題 + 深色 + 淺色 + 偏好設定 + 注意: 請重新啟動 OpenUtau 以套用變更 + 關閉 + 開啟 + + + 路徑 + 額外歌手路徑 + 安裝至額外歌手路徑 + 重設 + 選擇 + 播放 + 自動捲動 + 自動捲動模式 + 捲動整個頁面 + 固定游標位置 + 音訊後端 + 自動 + + 開始捲動位置 + 播放裝置 + 暫停時 + 不進行動作 + 移動游標至起始播放位置 + 測試 + 算繪 + 相位補償 + 預先算繪 + 引擎 + +警告: Moresampler 尚未完整支援,可能導致使用速度緩慢並提高 CPU 使用率。若欲繼續,請遵循以下步驟: +1. 將 moreconfig.txt 中的 "resampler-compatibility" 設定值更改為 "on"。 +2. 將 moreconfig.txt 中的 "auto-update-llsm-mrq" 設定值更改為 "off"。 +3. 首次播放時,請稍等 Moresampler 產生 LLSM 檔案。 + + + 注意: 欲使用外部引擎,請將引擎 EXE 或 DLL 檔案置入 Resamplers 資料夾中,並在偏好設定選擇欲使用的引擎。 + + + + + + 已儲存專案。{0} + 等待算繪 + + 歌手 + + + + + + + + + 位置 + 左移 + 右移 + 選取下一項 + 選取上一項 + 顯示全部 + 放大 + 縮小 + 重新整理 + 設定預設拆音器 + 設定編碼 + 設定背景圖 + 取消 + 清除 + 色彩 + 新增色彩 + 移除色彩 + 重新命名 + 編輯子聲庫 + 重設 + 儲存 + 全選 + 設定 + 音調 + 音調範圍 + + + 覆寫別名 + +使用左鍵描繪: 設定表現 +使用右鍵描繪: 重設表現 + + 此算繪器不支援表現 + Tab: 下一個音符 + Shift+Tab: 上一個音符 + +選取工具 + 框選: 選取音符 + Ctrl + 框選: 選取更多音符 + 上下鍵: 移調選取音符(一個半音) + Ctrl + 上下鍵: 移調選取音符(一個八度) +畫筆工具 + 使用左鍵描繪: 新增音符 + 點擊右鍵: 移除音符 + 使用右鍵描繪: 移除多個音符 +一般 + T: 顯示提示 + 拖曳音符: 移動音符 + 拖曳音符尾端: 調整音符長度 + Alt + 拖曳音符尾端: 調整相連音符長度 + 空白鍵: 播放 + + ◀ 捲動以橫向縮放 ▶ + 捲動以縱向縮放 ▶ + + 更多 + 下移 + 上移 + 移除 + 選取算繪器 + 選取歌手 + + + + + 檢查更新 + 開放歌聲合成平台 + + 版本 v{0} 已可更新! + 檢查更新... + 已為最新版本 + 無法檢查更新 + 更新 + + 警告 + 您的 OpenUtau 主路徑 「{0}」 包含非 ASCII 字元。部分 EXE 引擎可能無法正常運作。 + + diff --git a/OpenUtau/Styles/Styles.axaml b/OpenUtau/Styles/Styles.axaml index 04abe120c..aa67bd161 100644 --- a/OpenUtau/Styles/Styles.axaml +++ b/OpenUtau/Styles/Styles.axaml @@ -64,6 +64,7 @@ + + + + + SnapDiv="{Binding TracksViewModel.SnapDiv}" + SnapTicks="{Binding TracksViewModel.SnapTicks}" + ShowBarNumber="True"/> + + + + + + + diff --git a/OpenUtau/Views/MainWindow.axaml.cs b/OpenUtau/Views/MainWindow.axaml.cs index df692a3ed..cb3f46fb3 100644 --- a/OpenUtau/Views/MainWindow.axaml.cs +++ b/OpenUtau/Views/MainWindow.axaml.cs @@ -1,835 +1,1055 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -using System.Threading.Tasks; -using Avalonia; -using Avalonia.Controls; -using Avalonia.Controls.ApplicationLifetimes; -using Avalonia.Controls.Primitives; -using Avalonia.Controls.Shapes; -using Avalonia.Input; -using Avalonia.Interactivity; -using Avalonia.Markup.Xaml; -using Avalonia.Threading; -using Avalonia.VisualTree; -using OpenUtau.App.Controls; -using OpenUtau.App.ViewModels; -using OpenUtau.Classic; -using OpenUtau.Core; -using OpenUtau.Core.Format; -using OpenUtau.Core.Ustx; -using Serilog; -using Point = Avalonia.Point; - -namespace OpenUtau.App.Views { - public partial class MainWindow : Window, ICmdSubscriber { - private readonly KeyModifiers cmdKey = - OS.IsMacOS() ? KeyModifiers.Meta : KeyModifiers.Control; - private readonly MainWindowViewModel viewModel; - - private PianoRollWindow? pianoRollWindow; - private bool openPianoRollWindow; - - private PartEditState? partEditState; - private Rectangle? selectionBox; - private DispatcherTimer timer; - private DispatcherTimer autosaveTimer; - private bool forceClose; - - public MainWindow() { - InitializeComponent(); - DataContext = viewModel = new MainWindowViewModel(); -#if DEBUG - this.AttachDevTools(); -#endif - viewModel.InitProject(); - timer = new DispatcherTimer( - TimeSpan.FromMilliseconds(15), - DispatcherPriority.Normal, - (sender, args) => PlaybackManager.Inst.UpdatePlayPos()); - timer.Start(); - - autosaveTimer = new DispatcherTimer( - TimeSpan.FromSeconds(30), - DispatcherPriority.Normal, - (sender, args) => DocManager.Inst.AutoSave()); - autosaveTimer.Start(); - - AddHandler(DragDrop.DropEvent, OnDrop); - - DocManager.Inst.AddSubscriber(this); - - UpdaterDialog.CheckForUpdate( - dialog => dialog.Show(this), - () => ((IControlledApplicationLifetime)Application.Current.ApplicationLifetime).Shutdown(), - TaskScheduler.FromCurrentSynchronizationContext()); - } - - private void InitializeComponent() { - AvaloniaXamlLoader.Load(this); - } - - void OnEditTimeSignature(object sender, PointerPressedEventArgs args) { - var project = DocManager.Inst.Project; - var dialog = new TypeInDialog(); - dialog.Title = ThemeManager.GetString("dialogs.timesig.caption"); - dialog.SetText($"{project.beatPerBar}/{project.beatUnit}"); - dialog.onFinish = s => { - var parts = s.Split('/'); - int beatPerBar = parts.Length > 0 && int.TryParse(parts[0], out beatPerBar) ? beatPerBar : project.beatPerBar; - int beatUnit = parts.Length > 1 && int.TryParse(parts[1], out beatUnit) ? beatUnit : project.beatUnit; - viewModel.PlaybackViewModel.SetTimeSignature(beatPerBar, beatUnit); - }; - dialog.ShowDialog(this); - // Workaround for https://github.com/AvaloniaUI/Avalonia/issues/3986 - args.Pointer.Capture(null); - } - - void OnEditBpm(object sender, PointerPressedEventArgs args) { - var project = DocManager.Inst.Project; - var dialog = new TypeInDialog(); - dialog.Title = "BPM"; - dialog.SetText(project.bpm.ToString()); - dialog.onFinish = s => { - if (double.TryParse(s, out double bpm)) { - viewModel.PlaybackViewModel.SetBpm(bpm); - } - }; - dialog.ShowDialog(this); - // Workaround for https://github.com/AvaloniaUI/Avalonia/issues/3986 - args.Pointer.Capture(null); - } - - void OnMenuNew(object sender, RoutedEventArgs args) => NewProject(); - async void NewProject() { - if (!DocManager.Inst.ChangesSaved && !await AskIfSaveAndContinue()) { - return; - } - viewModel.NewProject(); - } - - void OnMenuOpen(object sender, RoutedEventArgs args) => Open(); - async void Open() { - if (!DocManager.Inst.ChangesSaved && !await AskIfSaveAndContinue()) { - return; - } - var dialog = new OpenFileDialog() { - Filters = new List() { - new FileDialogFilter() { - Name = "Project Files", - Extensions = new List(){ "ustx", "vsqx", "ust", "mid" }, - }, - }, - AllowMultiple = true, - }; - var files = await dialog.ShowAsync(this); - try { - viewModel.OpenProject(files); - } catch (Exception e) { - Log.Error(e, $"Failed to open files {string.Join("\n", files)}"); - _ = await MessageBox.Show( - this, - e.ToString(), - ThemeManager.GetString("errors.caption"), - MessageBox.MessageBoxButtons.Ok); - } - } - - void OnMainMenuOpened(object sender, RoutedEventArgs args) { - viewModel.RefreshOpenRecent(); - viewModel.RefreshTemplates(); - viewModel.RefreshCacheSize(); - } - - void OnMenuOpenProjectLocation(object sender, RoutedEventArgs args) { - var project = DocManager.Inst.Project; - if (string.IsNullOrEmpty(project.FilePath) || !project.Saved) { - MessageBox.Show( - this, - ThemeManager.GetString("dialogs.export.savefirst"), - ThemeManager.GetString("errors.caption"), - MessageBox.MessageBoxButtons.Ok); - } - try { - OS.OpenFolder(System.IO.Path.GetDirectoryName(project.FilePath)); - } catch (Exception e) { - Log.Error(e, "Failed to open project location."); - MessageBox.Show( - this, - e.ToString(), - ThemeManager.GetString("errors.caption"), - MessageBox.MessageBoxButtons.Ok); - } - } - - async void OnMenuSave(object sender, RoutedEventArgs args) => await Save(); - public async Task Save() { - if (!viewModel.ProjectSaved) { - await SaveAs(); - } else { - viewModel.SaveProject(); - string message = ThemeManager.GetString("progress.saved"); - message = string.Format(message, DateTime.Now); - DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, message)); - } - } - - async void OnMenuSaveAs(object sender, RoutedEventArgs args) => await SaveAs(); - async Task SaveAs() { - SaveFileDialog dialog = new SaveFileDialog() { - DefaultExtension = "ustx", - Filters = new List() { - new FileDialogFilter() { - Name = "Project Files", - Extensions = new List(){ "ustx" }, - }, - }, - Title = "Save As", - }; - viewModel.SaveProject(await dialog.ShowAsync(this)); - } - - void OnMenuSaveTemplate(object sender, RoutedEventArgs args) { - var project = DocManager.Inst.Project; - var dialog = new TypeInDialog(); - dialog.Title = ThemeManager.GetString("menu.file.savetemplate"); - dialog.SetText("default"); - dialog.onFinish = file => { - if (string.IsNullOrEmpty(file)) { - return; - } - file = System.IO.Path.GetFileNameWithoutExtension(file); - file = $"{file}.ustx"; - file = System.IO.Path.Combine(PathManager.Inst.TemplatesPath, file); - Ustx.Save(file, project.CloneAsTemplate()); - }; - dialog.ShowDialog(this); - } - - async void OnMenuImportTracks(object sender, RoutedEventArgs args) { - var dialog = new OpenFileDialog() { - Filters = new List() { - new FileDialogFilter() { - Name = "Project Files", - Extensions = new List(){ "ustx", "vsqx", "ust", "mid"}, - }, - }, - AllowMultiple = true, - }; - try { - viewModel.ImportTracks(await dialog.ShowAsync(this)); - } catch (Exception e) { - Log.Error(e, $"Failed to import files"); - _ = await MessageBox.Show( - this, - e.ToString(), - ThemeManager.GetString("errors.caption"), - MessageBox.MessageBoxButtons.Ok); - } - } - - async void OnMenuImportAudio(object sender, RoutedEventArgs args) { - var dialog = new OpenFileDialog() { - Filters = new List() { - new FileDialogFilter() { - Name = "Audio Files", - Extensions = new List(){ "wav", "mp3", "ogg", "flac" }, - }, - }, - AllowMultiple = false, - }; - var files = await dialog.ShowAsync(this); - if (files == null || files.Length != 1) { - return; - } - try { - viewModel.ImportAudio(files[0]); - } catch (Exception e) { - Log.Error(e, "Failed to import audio"); - _ = await MessageBox.Show( - this, - e.ToString(), - ThemeManager.GetString("errors.caption"), - MessageBox.MessageBoxButtons.Ok); - } - } - - async void OnMenuImportMidi(object sender, RoutedEventArgs args) { - var dialog = new OpenFileDialog() { - Filters = new List() { - new FileDialogFilter() { - Name = "Midi File", - Extensions = new List(){ "mid" }, - }, - }, - AllowMultiple = false, - }; - var files = await dialog.ShowAsync(this); - if (files == null || files.Length != 1) { - return; - } - try { - viewModel.ImportMidi(files[0]); - } catch (Exception e) { - Log.Error(e, "Failed to import midi"); - _ = await MessageBox.Show( - this, - e.ToString(), - ThemeManager.GetString("errors.caption"), - MessageBox.MessageBoxButtons.Ok); - } - } - - async void OnMenuExportWav(object sender, RoutedEventArgs args) { - var project = DocManager.Inst.Project; - if (await WarnToSave(project)) { - var name = System.IO.Path.GetFileNameWithoutExtension(project.FilePath); - var path = System.IO.Path.GetDirectoryName(project.FilePath); - path = System.IO.Path.Combine(path!, "Export"); - path = System.IO.Path.Combine(path!, $"{name}.wav"); - PlaybackManager.Inst.RenderToFiles(project, path); - } - } - - async void OnMenuExportWavTo(object sender, RoutedEventArgs args) { - var project = DocManager.Inst.Project; - var dialog = new SaveFileDialog() { - DefaultExtension = "wav", - Filters = new List() { - new FileDialogFilter() { - Extensions = new List(){ "wav" }, - }, - }, - }; - var file = await dialog.ShowAsync(this); - if (!string.IsNullOrEmpty(file)) { - PlaybackManager.Inst.RenderToFiles(project, file); - } - } - - async void OnMenuExportUst(object sender, RoutedEventArgs e) { - var project = DocManager.Inst.Project; - if (await WarnToSave(project)) { - var name = System.IO.Path.GetFileNameWithoutExtension(project.FilePath); - var path = System.IO.Path.GetDirectoryName(project.FilePath); - path = System.IO.Path.Combine(path!, "Export"); - path = System.IO.Path.Combine(path!, $"{name}.ust"); - for (var i = 0; i < project.parts.Count; i++) { - var part = project.parts[i]; - if (part is UVoicePart voicePart) { - var savePath = PathManager.Inst.GetPartSavePath(path, i); - Ust.SavePart(project, voicePart, savePath); - DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, $"{savePath}.")); - } - } - } - } - - async void OnMenuExportUstTo(object sender, RoutedEventArgs e) { - var project = DocManager.Inst.Project; - var dialog = new SaveFileDialog() { - DefaultExtension = "ust", - Filters = new List() { - new FileDialogFilter() { - Extensions = new List(){ "ust" }, - }, - }, - }; - var file = await dialog.ShowAsync(this); - if (!string.IsNullOrEmpty(file)) { - for (var i = 0; i < project.parts.Count; i++) { - var part = project.parts[i]; - if (part is UVoicePart voicePart) { - var savePath = PathManager.Inst.GetPartSavePath(file, i); - Ust.SavePart(project, voicePart, savePath); - DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, $"{savePath}.")); - } - } - } - } - - private async Task WarnToSave(UProject project) { - if (string.IsNullOrEmpty(project.FilePath)) { - await MessageBox.Show( - this, - ThemeManager.GetString("dialogs.export.savefirst"), - ThemeManager.GetString("dialogs.export.caption"), - MessageBox.MessageBoxButtons.Ok); - return false; - } - return true; - } - - void OnMenuExpressionss(object sender, RoutedEventArgs args) { - var dialog = new ExpressionsDialog() { - DataContext = new ExpressionsViewModel(), - }; - dialog.ShowDialog(this); - if (dialog.Position.Y < 0) { - dialog.Position = dialog.Position.WithY(0); - } - } - - void OnMenuSingers(object sender, RoutedEventArgs args) { - var dialog = new SingersDialog() { - DataContext = new SingersViewModel(), - }; - dialog.ShowDialog(this); - if (dialog.Position.Y < 0) { - dialog.Position = dialog.Position.WithY(0); - } - } - - async void OnMenuInstallSinger(object sender, RoutedEventArgs args) { - var dialog = new OpenFileDialog() { - Filters = new List() { - new FileDialogFilter() { - Name = "Archive File", - Extensions = new List(){ "zip", "rar", "uar", "vogeon" }, - }, - }, - AllowMultiple = false, - }; - var files = await dialog.ShowAsync(this); - if (files == null || files.Length != 1) { - return; - } - if (files[0].EndsWith(Core.Vogen.VogenSingerInstaller.FileExt)) { - Core.Vogen.VogenSingerInstaller.Install(files[0]); - return; - } - var setup = new SingerSetupDialog() { - DataContext = new SingerSetupViewModel() { - ArchiveFilePath = files[0], - }, - }; - _ = setup.ShowDialog(this); - if (setup.Position.Y < 0) { - setup.Position = setup.Position.WithY(0); - } - } - - void OnMenuPreferences(object sender, RoutedEventArgs args) { - var dialog = new PreferencesDialog() { - DataContext = new PreferencesViewModel(), - }; - dialog.ShowDialog(this); - if (dialog.Position.Y < 0) { - dialog.Position = dialog.Position.WithY(0); - } - } - - void OnMenuClearCache(object sender, RoutedEventArgs args) { - Task.Run(() => { - DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, "Clearing cache...")); - PathManager.Inst.ClearCache(); - DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, "Cache cleared.")); - }); - } - - void OnMenuDebugWindow(object sender, RoutedEventArgs args) { - var desktop = Application.Current?.ApplicationLifetime as IClassicDesktopStyleApplicationLifetime; - if (desktop == null) { - return; - } - var window = desktop.Windows.FirstOrDefault(w => w is DebugWindow); - if (window == null) { - window = new DebugWindow(); - } - window.Show(); - } - - void OnMenuWiki(object sender, RoutedEventArgs args) { - try { - OS.OpenWeb("https://github.com/stakira/OpenUtau/wiki/Getting-Started"); - } catch (Exception e) { - DocManager.Inst.ExecuteCmd(new UserMessageNotification(e.ToString())); - } - } - - void OnMenuVersion(object sender, RoutedEventArgs args) { - var dialog = new UpdaterDialog(); - dialog.ViewModel.CloseApplication = - () => ((IControlledApplicationLifetime)Application.Current.ApplicationLifetime).Shutdown(); - dialog.ShowDialog(this); - } - - void OnMenuLayoutVSplit11(object sender, RoutedEventArgs args) => LayoutSplit(null, 1.0 / 2); - void OnMenuLayoutVSplit12(object sender, RoutedEventArgs args) => LayoutSplit(null, 1.0 / 3); - void OnMenuLayoutVSplit13(object sender, RoutedEventArgs args) => LayoutSplit(null, 1.0 / 4); - void OnMenuLayoutHSplit11(object sender, RoutedEventArgs args) => LayoutSplit(1.0 / 2, null); - void OnMenuLayoutHSplit12(object sender, RoutedEventArgs args) => LayoutSplit(1.0 / 3, null); - void OnMenuLayoutHSplit13(object sender, RoutedEventArgs args) => LayoutSplit(1.0 / 4, null); - - private void LayoutSplit(double? x, double? y) { - var wa = Screens.Primary.WorkingArea; - WindowState = WindowState.Normal; - double titleBarHeight = 20; - if (FrameSize != null) { - double borderThickness = (FrameSize!.Value.Width - ClientSize.Width) / 2; - titleBarHeight = FrameSize!.Value.Height - ClientSize.Height - borderThickness; - } - Position = new PixelPoint(0, 0); - Width = x != null ? wa.Size.Width * x.Value : wa.Size.Width; - Height = (y != null ? wa.Size.Height * y.Value : wa.Size.Height) - titleBarHeight; - if (pianoRollWindow != null) { - pianoRollWindow.Position = new PixelPoint(x != null ? (int)Width : 0, y != null ? (int)(Height + (OS.IsMacOS() ? 25 : titleBarHeight)) : 0); - pianoRollWindow.Width = x != null ? wa.Size.Width - Width : wa.Size.Width; - pianoRollWindow.Height = (y != null ? wa.Size.Height - (Height + titleBarHeight) : wa.Size.Height) - titleBarHeight; - } - } - - void OnKeyDown(object sender, KeyEventArgs args) { - var tracksVm = viewModel.TracksViewModel; - if (args.KeyModifiers == KeyModifiers.None) { - switch (args.Key) { - case Key.Delete: viewModel.TracksViewModel.DeleteSelectedParts(); break; - case Key.Space: PlayOrPause(); break; - default: break; - } - } else if (args.KeyModifiers == KeyModifiers.Alt) { - switch (args.Key) { - case Key.F4: ((IControlledApplicationLifetime)Application.Current.ApplicationLifetime).Shutdown(); break; - default: break; - } - } else if (args.KeyModifiers == cmdKey) { - switch (args.Key) { - case Key.A: viewModel.TracksViewModel.SelectAllParts(); break; - case Key.N: NewProject(); break; - case Key.O: Open(); break; - case Key.S: _ = Save(); break; - case Key.Z: viewModel.Undo(); break; - case Key.Y: viewModel.Redo(); break; - case Key.C: tracksVm.CopyParts(); break; - case Key.X: tracksVm.CutParts(); break; - case Key.V: tracksVm.PasteParts(); break; - default: break; - } - } else if (args.KeyModifiers == (cmdKey | KeyModifiers.Shift)) { - switch (args.Key) { - case Key.Z: viewModel.Redo(); break; - default: break; - } - } - args.Handled = true; - } - - async void OnDrop(object? sender, DragEventArgs args) { - if (!args.Data.Contains(DataFormats.FileNames)) { - return; - } - string file = args.Data.GetFileNames().FirstOrDefault(); - if (string.IsNullOrEmpty(file)) { - return; - } - var ext = System.IO.Path.GetExtension(file); - if (ext == ".ustx" || ext == ".ust" || ext == ".vsqx") { - if (!DocManager.Inst.ChangesSaved && !await AskIfSaveAndContinue()) { - return; - } - try { - viewModel.OpenProject(new string[] { file }); - } catch (Exception e) { - Log.Error(e, $"Failed to open file {file}"); - _ = await MessageBox.Show( - this, - e.ToString(), - ThemeManager.GetString("errors.caption"), - MessageBox.MessageBoxButtons.Ok); - } - }else if(ext==".mid") { - try { - viewModel.ImportMidi(file); - } catch (Exception e) { - Log.Error(e, "Failed to import midi"); - _ = await MessageBox.Show( - this, - e.ToString(), - ThemeManager.GetString("errors.caption"), - MessageBox.MessageBoxButtons.Ok); - } - } else if (ext == ".zip" || ext == ".rar" || ext == ".uar") { - var setup = new SingerSetupDialog() { - DataContext = new SingerSetupViewModel() { - ArchiveFilePath = file, - }, - }; - _ = setup.ShowDialog(this); - if (setup.Position.Y < 0) { - setup.Position = setup.Position.WithY(0); - } - } else if (ext == Core.Vogen.VogenSingerInstaller.FileExt) { - Core.Vogen.VogenSingerInstaller.Install(file); - } else if (ext == ".mp3" || ext == ".wav" || ext == ".ogg" || ext == ".flac") { - try { - viewModel.ImportAudio(file); - } catch (Exception e) { - Log.Error(e, "Failed to import audio"); - _ = await MessageBox.Show( - this, - e.ToString(), - ThemeManager.GetString("errors.caption"), - MessageBox.MessageBoxButtons.Ok); - } - } - } - - void OnPlayOrPause(object sender, RoutedEventArgs args) { - PlayOrPause(); - } - - void PlayOrPause() { - if (!viewModel.PlaybackViewModel.PlayOrPause()) { - MessageBox.Show( - this, - ThemeManager.GetString("dialogs.noresampler.message"), - ThemeManager.GetString("dialogs.noresampler.caption"), - MessageBox.MessageBoxButtons.Ok); - } - } - - public void HScrollPointerWheelChanged(object sender, PointerWheelEventArgs args) { - var scrollbar = (ScrollBar)sender; - scrollbar.Value = Math.Max(scrollbar.Minimum, Math.Min(scrollbar.Maximum, scrollbar.Value - scrollbar.SmallChange * args.Delta.Y)); - } - - public void VScrollPointerWheelChanged(object sender, PointerWheelEventArgs args) { - var scrollbar = (ScrollBar)sender; - scrollbar.Value = Math.Max(scrollbar.Minimum, Math.Min(scrollbar.Maximum, scrollbar.Value - scrollbar.SmallChange * args.Delta.Y)); - } - - public void TimelinePointerWheelChanged(object sender, PointerWheelEventArgs args) { - var canvas = (Canvas)sender; - var position = args.GetCurrentPoint((IVisual)sender).Position; - var size = canvas.Bounds.Size; - position = position.WithX(position.X / size.Width).WithY(position.Y / size.Height); - viewModel.TracksViewModel.OnXZoomed(position, 0.1 * args.Delta.Y); - } - - public void ViewScalerPointerWheelChanged(object sender, PointerWheelEventArgs args) { - viewModel.TracksViewModel.OnYZoomed(new Point(0, 0.5), 0.1 * args.Delta.Y); - } - - public void TimelinePointerPressed(object sender, PointerPressedEventArgs args) { - var canvas = (Canvas)sender; - var point = args.GetCurrentPoint(canvas); - if (point.Properties.IsLeftButtonPressed) { - args.Pointer.Capture(canvas); - int tick = viewModel.TracksViewModel.PointToSnappedTick(point.Position); - viewModel.PlaybackViewModel.MovePlayPos(tick); - } - } - - public void TimelinePointerMoved(object sender, PointerEventArgs args) { - var canvas = (Canvas)sender; - var point = args.GetCurrentPoint(canvas); - if (point.Properties.IsLeftButtonPressed) { - int tick = viewModel.TracksViewModel.PointToSnappedTick(point.Position); - viewModel.PlaybackViewModel.MovePlayPos(tick); - } - } - - public void TimelinePointerReleased(object sender, PointerReleasedEventArgs args) { - args.Pointer.Capture(null); - } - - public void PartsCanvasPointerPressed(object sender, PointerPressedEventArgs args) { - var canvas = (Canvas)sender; - var point = args.GetCurrentPoint(canvas); - var control = canvas.InputHitTest(point.Position); - if (partEditState != null) { - return; - } - if (point.Properties.IsLeftButtonPressed) { - if (args.KeyModifiers == cmdKey) { - // New selection. - viewModel.TracksViewModel.DeselectParts(); - partEditState = new PartSelectionEditState(canvas, viewModel, GetSelectionBox(canvas)); - Cursor = ViewConstants.cursorCross; - } else if (args.KeyModifiers == (cmdKey | KeyModifiers.Shift)) { - // Additional selection. - partEditState = new PartSelectionEditState(canvas, viewModel, GetSelectionBox(canvas)); - Cursor = ViewConstants.cursorCross; - } else if (control == canvas) { - viewModel.TracksViewModel.DeselectParts(); - var part = viewModel.TracksViewModel.MaybeAddPart(point.Position); - if (part != null) { - // Start moving right away - partEditState = new PartMoveEditState(canvas, viewModel, part); - Cursor = ViewConstants.cursorSizeAll; - } - } else if (control is PartControl partControl) { - bool isVoice = partControl.part is UVoicePart; - bool isWave = partControl.part is UWavePart; - bool trim = point.Position.X > partControl.Bounds.Right - ViewConstants.ResizeMargin; - bool skip = point.Position.X < partControl.Bounds.Left + ViewConstants.ResizeMargin; - if (isVoice && trim) { - partEditState = new PartResizeEditState(canvas, viewModel, partControl.part); - Cursor = ViewConstants.cursorSizeWE; - } else if (isWave && skip) { - // TODO - } else if (isWave && trim) { - // TODO - } else { - partEditState = new PartMoveEditState(canvas, viewModel, partControl.part); - Cursor = ViewConstants.cursorSizeAll; - } - } - } else if (point.Properties.IsRightButtonPressed) { - viewModel.TracksViewModel.DeselectParts(); - partEditState = new PartEraseEditState(canvas, viewModel); - Cursor = ViewConstants.cursorNo; - } else if (point.Properties.IsMiddleButtonPressed) { - partEditState = new PartPanningState(canvas, viewModel); - Cursor = ViewConstants.cursorHand; - } - if (partEditState != null) { - partEditState.Begin(point.Pointer, point.Position); - partEditState.Update(point.Pointer, point.Position); - } - } - - private Rectangle GetSelectionBox(Canvas canvas) { - if (selectionBox != null) { - return selectionBox; - } - selectionBox = new Rectangle() { - Stroke = ThemeManager.ForegroundBrush, - StrokeThickness = 2, - Fill = ThemeManager.TickLineBrushLow, - // radius = 8 - IsHitTestVisible = false, - }; - canvas.Children.Add(selectionBox); - selectionBox.ZIndex = 1000; - return selectionBox; - } - - public void PartsCanvasPointerMoved(object sender, PointerEventArgs args) { - var canvas = (Canvas)sender; - var point = args.GetCurrentPoint(canvas); - if (partEditState != null) { - partEditState.Update(point.Pointer, point.Position); - return; - } - var control = canvas.InputHitTest(point.Position); - if (control is PartControl partControl) { - bool isVoice = partControl.part is UVoicePart; - bool isWave = partControl.part is UWavePart; - bool trim = point.Position.X > partControl.Bounds.Right - ViewConstants.ResizeMargin; - bool skip = point.Position.X < partControl.Bounds.Left + ViewConstants.ResizeMargin; - if (isVoice && trim) { - Cursor = ViewConstants.cursorSizeWE; - } else if (isWave && (skip || trim)) { - Cursor = null; // TODO - } else { - Cursor = null; - } - } else { - Cursor = null; - } - } - - public void PartsCanvasPointerReleased(object sender, PointerReleasedEventArgs args) { - if (partEditState != null) { - if (partEditState.MouseButton != args.InitialPressMouseButton) { - return; - } - var canvas = (Canvas)sender; - var point = args.GetCurrentPoint(canvas); - partEditState.Update(point.Pointer, point.Position); - partEditState.End(point.Pointer, point.Position); - partEditState = null; - Cursor = null; - } - if (openPianoRollWindow) { - pianoRollWindow?.Show(); - pianoRollWindow?.Activate(); - openPianoRollWindow = false; - } - } - - public void PartsCanvasDoubleTapped(object sender, RoutedEventArgs args) { - if (!(sender is Canvas canvas)) { - return; - } - var e = (TappedEventArgs)args; - var control = canvas.InputHitTest(e.GetPosition(canvas)); - if (control is PartControl partControl && partControl.part is UVoicePart) { - if (pianoRollWindow == null) { - pianoRollWindow = new PianoRollWindow() { - MainWindow = this, - }; - pianoRollWindow.ViewModel.PlaybackViewModel = viewModel.PlaybackViewModel; - } - // Workaround for new window losing focus. - openPianoRollWindow = true; - int tick = viewModel.TracksViewModel.PointToTick(e.GetPosition(canvas)); - DocManager.Inst.ExecuteCmd(new LoadPartNotification(partControl.part, DocManager.Inst.Project, tick)); - } - } - - public void PartsCanvasPointerWheelChanged(object sender, PointerWheelEventArgs args) { - var delta = args.Delta; - if (args.KeyModifiers == KeyModifiers.None || args.KeyModifiers == KeyModifiers.Shift) { - if (delta.X != 0) { - var scrollbar = this.FindControl("HScrollBar"); - scrollbar.Value = Math.Max(scrollbar.Minimum, - Math.Min(scrollbar.Maximum, scrollbar.Value - scrollbar.SmallChange * delta.X)); - } - if (delta.Y != 0) { - var scrollbar = this.FindControl("VScrollBar"); - scrollbar.Value = Math.Max(scrollbar.Minimum, - Math.Min(scrollbar.Maximum, scrollbar.Value - scrollbar.SmallChange * delta.Y)); - } - } else if (args.KeyModifiers == KeyModifiers.Alt) { - var scaler = this.FindControl("VScaler"); - ViewScalerPointerWheelChanged(scaler, args); - } else if (args.KeyModifiers == cmdKey) { - var timelineCanvas = this.FindControl("TimelineCanvas"); - TimelinePointerWheelChanged(timelineCanvas, args); - } - } - - public async void WindowClosing(object? sender, CancelEventArgs e) { - if (forceClose || DocManager.Inst.ChangesSaved) { - return; - } - e.Cancel = true; - if (!await AskIfSaveAndContinue()) { - return; - } - pianoRollWindow?.Close(); - forceClose = true; - Close(); - } - - private async Task AskIfSaveAndContinue() { - var result = await MessageBox.Show( - this, - ThemeManager.GetString("dialogs.exitsave.message"), - ThemeManager.GetString("dialogs.exitsave.caption"), - MessageBox.MessageBoxButtons.YesNoCancel); - switch (result) { - case MessageBox.MessageBoxResult.Yes: - await Save(); - goto case MessageBox.MessageBoxResult.No; - case MessageBox.MessageBoxResult.No: - return true; // Continue. - default: - return false; // Cancel. - } - } - - public void OnNext(UCommand cmd, bool isUndo) { - if (cmd is UserMessageNotification userMessage) { - MessageBox.Show( - this, - userMessage.message, - ThemeManager.GetString("errors.caption"), - MessageBox.MessageBoxButtons.Ok); - } - } - } -} +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Reactive; +using System.Threading.Tasks; +using Avalonia; +using Avalonia.Controls; +using Avalonia.Controls.ApplicationLifetimes; +using Avalonia.Controls.Primitives; +using Avalonia.Controls.Shapes; +using Avalonia.Input; +using Avalonia.Interactivity; +using Avalonia.Markup.Xaml; +using Avalonia.Threading; +using Avalonia.VisualTree; +using OpenUtau.App.Controls; +using OpenUtau.App.ViewModels; +using OpenUtau.Classic; +using OpenUtau.Core; +using OpenUtau.Core.Format; +using OpenUtau.Core.Ustx; +using ReactiveUI; +using Serilog; +using Point = Avalonia.Point; + +namespace OpenUtau.App.Views { + public partial class MainWindow : Window, ICmdSubscriber { + private readonly KeyModifiers cmdKey = + OS.IsMacOS() ? KeyModifiers.Meta : KeyModifiers.Control; + private readonly MainWindowViewModel viewModel; + + private PianoRollWindow? pianoRollWindow; + private bool openPianoRollWindow; + + private PartEditState? partEditState; + private Rectangle? selectionBox; + private DispatcherTimer timer; + private DispatcherTimer autosaveTimer; + private bool forceClose; + + private ContextMenu? partsContextMenu; + private bool shouldOpenPartsContextMenu; + + private readonly ReactiveCommand PartRenameCommand; + private readonly ReactiveCommand PartReplaceAudioCommand; + + public MainWindow() { + Log.Information("Creating main window."); + InitializeComponent(); + Log.Information("Initialized main window component."); + DataContext = viewModel = new MainWindowViewModel(); + partsContextMenu = this.Find("PartsContextMenu"); +#if DEBUG + this.AttachDevTools(); +#endif + viewModel.InitProject(); + viewModel.AddTempoChangeCmd = ReactiveCommand.Create(tick => AddTempoChange(tick)); + viewModel.DelTempoChangeCmd = ReactiveCommand.Create(tick => DelTempoChange(tick)); + viewModel.AddTimeSigChangeCmd = ReactiveCommand.Create(bar => AddTimeSigChange(bar)); + viewModel.DelTimeSigChangeCmd = ReactiveCommand.Create(bar => DelTimeSigChange(bar)); + + timer = new DispatcherTimer( + TimeSpan.FromMilliseconds(15), + DispatcherPriority.Normal, + (sender, args) => PlaybackManager.Inst.UpdatePlayPos()); + timer.Start(); + + autosaveTimer = new DispatcherTimer( + TimeSpan.FromSeconds(30), + DispatcherPriority.Normal, + (sender, args) => DocManager.Inst.AutoSave()); + autosaveTimer.Start(); + + PartRenameCommand = ReactiveCommand.Create(part => RenamePart(part)); + PartReplaceAudioCommand = ReactiveCommand.Create(async part => ReplaceAudio(part)); + + AddHandler(DragDrop.DropEvent, OnDrop); + + DocManager.Inst.AddSubscriber(this); + + Log.Information("Main window checking Update."); + UpdaterDialog.CheckForUpdate( + dialog => dialog.Show(this), + () => (Application.Current?.ApplicationLifetime as IControlledApplicationLifetime)?.Shutdown(), + TaskScheduler.FromCurrentSynchronizationContext()); + Log.Information("Created main window."); + } + + private void InitializeComponent() { + AvaloniaXamlLoader.Load(this); + } + + void OnEditTimeSignature(object sender, PointerPressedEventArgs args) { + var project = DocManager.Inst.Project; + var timeSig = project.timeSignatures[0]; + var dialog = new TimeSignatureDialog(timeSig.beatPerBar, timeSig.beatUnit); + dialog.OnOk = (beatPerBar, beatUnit) => { + viewModel.PlaybackViewModel.SetTimeSignature(beatPerBar, beatUnit); + }; + dialog.ShowDialog(this); + // Workaround for https://github.com/AvaloniaUI/Avalonia/issues/3986 + args.Pointer.Capture(null); + } + + void OnEditBpm(object sender, PointerPressedEventArgs args) { + var project = DocManager.Inst.Project; + var dialog = new TypeInDialog(); + dialog.Title = "BPM"; + dialog.SetText(project.tempos[0].bpm.ToString()); + dialog.onFinish = s => { + if (double.TryParse(s, out double bpm)) { + viewModel.PlaybackViewModel.SetBpm(bpm); + } + }; + dialog.ShowDialog(this); + // Workaround for https://github.com/AvaloniaUI/Avalonia/issues/3986 + args.Pointer.Capture(null); + } + + private void AddTempoChange(int tick) { + var project = DocManager.Inst.Project; + var dialog = new TypeInDialog(); + dialog.Title = "BPM"; + dialog.SetText(project.tempos[0].bpm.ToString()); + dialog.onFinish = s => { + if (double.TryParse(s, out double bpm)) { + DocManager.Inst.StartUndoGroup(); + DocManager.Inst.ExecuteCmd(new AddTempoChangeCommand( + project, tick, bpm)); + DocManager.Inst.EndUndoGroup(); + } + }; + dialog.ShowDialog(this); + } + + private void DelTempoChange(int tick) { + var project = DocManager.Inst.Project; + DocManager.Inst.StartUndoGroup(); + DocManager.Inst.ExecuteCmd(new DelTempoChangeCommand(project, tick)); + DocManager.Inst.EndUndoGroup(); + } + + private void AddTimeSigChange(int bar) { + var project = DocManager.Inst.Project; + var timeSig = project.timeAxis.TimeSignatureAtBar(bar); + var dialog = new TimeSignatureDialog(timeSig.beatPerBar, timeSig.beatUnit); + dialog.OnOk = (beatPerBar, beatUnit) => { + DocManager.Inst.StartUndoGroup(); + DocManager.Inst.ExecuteCmd(new AddTimeSigCommand( + project, bar, dialog.BeatPerBar, dialog.BeatUnit)); + DocManager.Inst.EndUndoGroup(); + }; + dialog.ShowDialog(this); + } + + private void DelTimeSigChange(int bar) { + var project = DocManager.Inst.Project; + DocManager.Inst.StartUndoGroup(); + DocManager.Inst.ExecuteCmd(new DelTimeSigCommand(project, bar)); + DocManager.Inst.EndUndoGroup(); + } + + void OnMenuNew(object sender, RoutedEventArgs args) => NewProject(); + async void NewProject() { + if (!DocManager.Inst.ChangesSaved && !await AskIfSaveAndContinue()) { + return; + } + viewModel.NewProject(); + } + + void OnMenuOpen(object sender, RoutedEventArgs args) => Open(); + async void Open() { + if (!DocManager.Inst.ChangesSaved && !await AskIfSaveAndContinue()) { + return; + } + var dialog = new OpenFileDialog() { + Filters = new List() { + new FileDialogFilter() { + Name = "Project Files", + Extensions = new List(){ "ustx", "vsqx", "ust", "mid", "midi" }, + }, + }, + AllowMultiple = true, + }; + var files = await dialog.ShowAsync(this); + if (files == null || files.Length == 0) { + return; + } + try { + viewModel.OpenProject(files); + } catch (Exception e) { + Log.Error(e, $"Failed to open files {string.Join("\n", files)}"); + _ = await MessageBox.ShowError(this, e); + } + } + + void OnMainMenuOpened(object sender, RoutedEventArgs args) { + viewModel.RefreshOpenRecent(); + viewModel.RefreshTemplates(); + viewModel.RefreshCacheSize(); + } + + void OnMainMenuClosed(object sender, RoutedEventArgs args) { + Focus(); // Force unfocus menu for key down events. + } + + void OnMainMenuPointerLeave(object sender, PointerEventArgs args) { + Focus(); // Force unfocus menu for key down events. + } + + void OnMenuOpenProjectLocation(object sender, RoutedEventArgs args) { + var project = DocManager.Inst.Project; + if (string.IsNullOrEmpty(project.FilePath) || !project.Saved) { + MessageBox.Show( + this, + ThemeManager.GetString("dialogs.export.savefirst"), + ThemeManager.GetString("errors.caption"), + MessageBox.MessageBoxButtons.Ok); + } + try { + OS.OpenFolder(System.IO.Path.GetDirectoryName(project.FilePath)); + } catch (Exception e) { + Log.Error(e, "Failed to open project location."); + MessageBox.ShowError(this, e); + } + } + + async void OnMenuSave(object sender, RoutedEventArgs args) => await Save(); + public async Task Save() { + if (!viewModel.ProjectSaved) { + await SaveAs(); + } else { + viewModel.SaveProject(); + string message = ThemeManager.GetString("progress.saved"); + message = string.Format(message, DateTime.Now); + DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, message)); + } + } + + async void OnMenuSaveAs(object sender, RoutedEventArgs args) => await SaveAs(); + async Task SaveAs() { + SaveFileDialog dialog = new SaveFileDialog() { + DefaultExtension = "ustx", + Filters = new List() { + new FileDialogFilter() { + Name = "Project Files", + Extensions = new List(){ "ustx" }, + }, + }, + Title = "Save As", + }; + viewModel.SaveProject(await dialog.ShowAsync(this)); + } + + void OnMenuSaveTemplate(object sender, RoutedEventArgs args) { + var project = DocManager.Inst.Project; + var dialog = new TypeInDialog(); + dialog.Title = ThemeManager.GetString("menu.file.savetemplate"); + dialog.SetText("default"); + dialog.onFinish = file => { + if (string.IsNullOrEmpty(file)) { + return; + } + file = System.IO.Path.GetFileNameWithoutExtension(file); + file = $"{file}.ustx"; + file = System.IO.Path.Combine(PathManager.Inst.TemplatesPath, file); + Ustx.Save(file, project.CloneAsTemplate()); + }; + dialog.ShowDialog(this); + } + + async void OnMenuImportTracks(object sender, RoutedEventArgs args) { + var dialog = new OpenFileDialog() { + Filters = new List() { + new FileDialogFilter() { + Name = "Project Files", + Extensions = new List(){ "ustx", "vsqx", "ust", "mid", "midi" }, + }, + }, + AllowMultiple = true, + }; + try { + viewModel.ImportTracks(await dialog.ShowAsync(this)); + } catch (Exception e) { + Log.Error(e, $"Failed to import files"); + _ = await MessageBox.ShowError(this, e); + } + } + + async void OnMenuImportAudio(object sender, RoutedEventArgs args) { + var dialog = new OpenFileDialog() { + Filters = new List() { + new FileDialogFilter() { + Name = "Audio Files", + Extensions = Wave.FileExtensions, + }, + }, + AllowMultiple = false, + }; + var files = await dialog.ShowAsync(this); + if (files == null || files.Length != 1) { + return; + } + try { + viewModel.ImportAudio(files[0]); + } catch (Exception e) { + Log.Error(e, "Failed to import audio"); + _ = await MessageBox.ShowError(this, e); + } + } + + async void OnMenuImportMidi(bool UseDrywetmidi=false) { + var dialog = new OpenFileDialog() { + Filters = new List() { + new FileDialogFilter() { + Name = "Midi File", + Extensions = new List(){ "mid", "midi" }, + }, + }, + AllowMultiple = false, + }; + var files = await dialog.ShowAsync(this); + if (files == null || files.Length != 1) { + return; + } + try { + viewModel.ImportMidi(files[0], UseDrywetmidi); + } catch (Exception e) { + Log.Error(e, "Failed to import midi"); + _ = await MessageBox.ShowError(this, e); + } + } + + async void OnMenuImportMidiNaudio(object sender, RoutedEventArgs args) { + OnMenuImportMidi(false); + } + + async void OnMenuImportMidiDrywetmidi(object sender, RoutedEventArgs args) { + OnMenuImportMidi(true); + } + + async void OnMenuExportMixdown(object sender, RoutedEventArgs args) { + var project = DocManager.Inst.Project; + var dialog = new SaveFileDialog() { + DefaultExtension = "wav", + Filters = new List() { + new FileDialogFilter() { + Extensions = new List(){ "wav" }, + }, + }, + }; + var file = await dialog.ShowAsync(this); + if (!string.IsNullOrEmpty(file)) { + PlaybackManager.Inst.RenderMixdown(project, file); + } + } + + async void OnMenuExportWav(object sender, RoutedEventArgs args) { + var project = DocManager.Inst.Project; + if (await WarnToSave(project)) { + var name = System.IO.Path.GetFileNameWithoutExtension(project.FilePath); + var path = System.IO.Path.GetDirectoryName(project.FilePath); + path = System.IO.Path.Combine(path!, "Export"); + path = System.IO.Path.Combine(path!, $"{name}.wav"); + PlaybackManager.Inst.RenderToFiles(project, path); + } + } + + async void OnMenuExportWavTo(object sender, RoutedEventArgs args) { + var project = DocManager.Inst.Project; + var dialog = new SaveFileDialog() { + DefaultExtension = "wav", + Filters = new List() { + new FileDialogFilter() { + Extensions = new List(){ "wav" }, + }, + }, + }; + var file = await dialog.ShowAsync(this); + if (!string.IsNullOrEmpty(file)) { + PlaybackManager.Inst.RenderToFiles(project, file); + } + } + + async void OnMenuExportUst(object sender, RoutedEventArgs e) { + var project = DocManager.Inst.Project; + if (await WarnToSave(project)) { + var name = System.IO.Path.GetFileNameWithoutExtension(project.FilePath); + var path = System.IO.Path.GetDirectoryName(project.FilePath); + path = System.IO.Path.Combine(path!, "Export"); + path = System.IO.Path.Combine(path!, $"{name}.ust"); + for (var i = 0; i < project.parts.Count; i++) { + var part = project.parts[i]; + if (part is UVoicePart voicePart) { + var savePath = PathManager.Inst.GetPartSavePath(path, i); + Ust.SavePart(project, voicePart, savePath); + DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, $"{savePath}.")); + } + } + } + } + + async void OnMenuExportUstTo(object sender, RoutedEventArgs e) { + var project = DocManager.Inst.Project; + var dialog = new SaveFileDialog() { + DefaultExtension = "ust", + Filters = new List() { + new FileDialogFilter() { + Extensions = new List(){ "ust" }, + }, + }, + }; + var file = await dialog.ShowAsync(this); + if (!string.IsNullOrEmpty(file)) { + for (var i = 0; i < project.parts.Count; i++) { + var part = project.parts[i]; + if (part is UVoicePart voicePart) { + var savePath = PathManager.Inst.GetPartSavePath(file, i); + Ust.SavePart(project, voicePart, savePath); + DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, $"{savePath}.")); + } + } + } + } + + async void OnMenuExportMidi(object sender, RoutedEventArgs e) { + var project = DocManager.Inst.Project; + var dialog = new SaveFileDialog() { + DefaultExtension = "mid", + Filters = new List() { + new FileDialogFilter() { + Extensions = new List(){ "mid" }, + }, + }, + }; + var file = await dialog.ShowAsync(this); + if (!string.IsNullOrEmpty(file)) { + MidiWriter.Save(file, project); + } + } + + private async Task WarnToSave(UProject project) { + if (string.IsNullOrEmpty(project.FilePath)) { + await MessageBox.Show( + this, + ThemeManager.GetString("dialogs.export.savefirst"), + ThemeManager.GetString("dialogs.export.caption"), + MessageBox.MessageBoxButtons.Ok); + return false; + } + return true; + } + + void OnMenuExpressionss(object sender, RoutedEventArgs args) { + var dialog = new ExpressionsDialog() { + DataContext = new ExpressionsViewModel(), + }; + dialog.ShowDialog(this); + if (dialog.Position.Y < 0) { + dialog.Position = dialog.Position.WithY(0); + } + } + + void OnMenuSingers(object sender, RoutedEventArgs args) { + OpenSingersWindow(); + } + + public void OpenSingersWindow() { + var lifetime = Application.Current?.ApplicationLifetime as IClassicDesktopStyleApplicationLifetime; + if (lifetime == null) { + return; + } + var dialog = lifetime.Windows.FirstOrDefault(w => w is SingersDialog); + if (dialog == null) { + dialog = new SingersDialog() { + DataContext = new SingersViewModel(), + }; + dialog.Show(); + } + dialog.Activate(); + if (dialog.Position.Y < 0) { + dialog.Position = dialog.Position.WithY(0); + } + } + + async void OnMenuInstallSinger(object sender, RoutedEventArgs args) { + var dialog = new OpenFileDialog() { + Filters = new List() { + new FileDialogFilter() { + Name = "Archive File", + Extensions = new List(){ "zip", "rar", "uar", "vogeon" }, + }, + }, + AllowMultiple = false, + }; + var files = await dialog.ShowAsync(this); + if (files == null || files.Length != 1) { + return; + } + if (files[0].EndsWith(Core.Vogen.VogenSingerInstaller.FileExt)) { + Core.Vogen.VogenSingerInstaller.Install(files[0]); + return; + } + try { + var setup = new SingerSetupDialog() { + DataContext = new SingerSetupViewModel() { + ArchiveFilePath = files[0], + }, + }; + _ = setup.ShowDialog(this); + if (setup.Position.Y < 0) { + setup.Position = setup.Position.WithY(0); + } + } catch (Exception e) { + _ = MessageBox.ShowError(this, e); + } + } + + void OnMenuPreferences(object sender, RoutedEventArgs args) { + var dialog = new PreferencesDialog() { + DataContext = new PreferencesViewModel(), + }; + dialog.ShowDialog(this); + if (dialog.Position.Y < 0) { + dialog.Position = dialog.Position.WithY(0); + } + } + + void OnMenuClearCache(object sender, RoutedEventArgs args) { + Task.Run(() => { + DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, "Clearing cache...")); + PathManager.Inst.ClearCache(); + DocManager.Inst.ExecuteCmd(new ProgressBarNotification(0, "Cache cleared.")); + }); + } + + void OnMenuDebugWindow(object sender, RoutedEventArgs args) { + var desktop = Application.Current?.ApplicationLifetime as IClassicDesktopStyleApplicationLifetime; + if (desktop == null) { + return; + } + var window = desktop.Windows.FirstOrDefault(w => w is DebugWindow); + if (window == null) { + window = new DebugWindow(); + } + window.Show(); + } + + void OnMenuPhoneticAssistant(object sender, RoutedEventArgs args) { + var desktop = Application.Current?.ApplicationLifetime as IClassicDesktopStyleApplicationLifetime; + if (desktop == null) { + return; + } + var window = desktop.Windows.FirstOrDefault(w => w is PhoneticAssistant); + if (window == null) { + window = new PhoneticAssistant(); + } + window.Show(); + } + + void OnMenuCheckUpdate(object sender, RoutedEventArgs args) { + var dialog = new UpdaterDialog(); + dialog.ViewModel.CloseApplication = + () => (Application.Current?.ApplicationLifetime as IControlledApplicationLifetime)?.Shutdown(); + dialog.ShowDialog(this); + } + + void OnMenuLogsLocation(object sender, RoutedEventArgs args) { + try { + OS.OpenFolder(PathManager.Inst.LogsPath); + } catch (Exception e) { + DocManager.Inst.ExecuteCmd(new ErrorMessageNotification(e)); + } + } + + void OnMenuReportIssue(object sender, RoutedEventArgs args) { + try { + OS.OpenWeb("https://github.com/stakira/OpenUtau/issues"); + } catch (Exception e) { + DocManager.Inst.ExecuteCmd(new ErrorMessageNotification(e)); + } + } + + void OnMenuWiki(object sender, RoutedEventArgs args) { + try { + OS.OpenWeb("https://github.com/stakira/OpenUtau/wiki/Getting-Started"); + } catch (Exception e) { + DocManager.Inst.ExecuteCmd(new ErrorMessageNotification(e)); + } + } + + void OnMenuLayoutVSplit11(object sender, RoutedEventArgs args) => LayoutSplit(null, 1.0 / 2); + void OnMenuLayoutVSplit12(object sender, RoutedEventArgs args) => LayoutSplit(null, 1.0 / 3); + void OnMenuLayoutVSplit13(object sender, RoutedEventArgs args) => LayoutSplit(null, 1.0 / 4); + void OnMenuLayoutHSplit11(object sender, RoutedEventArgs args) => LayoutSplit(1.0 / 2, null); + void OnMenuLayoutHSplit12(object sender, RoutedEventArgs args) => LayoutSplit(1.0 / 3, null); + void OnMenuLayoutHSplit13(object sender, RoutedEventArgs args) => LayoutSplit(1.0 / 4, null); + + private void LayoutSplit(double? x, double? y) { + var wa = Screens.Primary.WorkingArea; + WindowState = WindowState.Normal; + double titleBarHeight = 20; + if (FrameSize != null) { + double borderThickness = (FrameSize!.Value.Width - ClientSize.Width) / 2; + titleBarHeight = FrameSize!.Value.Height - ClientSize.Height - borderThickness; + } + Position = new PixelPoint(0, 0); + Width = x != null ? wa.Size.Width * x.Value : wa.Size.Width; + Height = (y != null ? wa.Size.Height * y.Value : wa.Size.Height) - titleBarHeight; + if (pianoRollWindow != null) { + pianoRollWindow.Position = new PixelPoint(x != null ? (int)Width : 0, y != null ? (int)(Height + (OS.IsMacOS() ? 25 : titleBarHeight)) : 0); + pianoRollWindow.Width = x != null ? wa.Size.Width - Width : wa.Size.Width; + pianoRollWindow.Height = (y != null ? wa.Size.Height - (Height + titleBarHeight) : wa.Size.Height) - titleBarHeight; + } + } + + void OnKeyDown(object sender, KeyEventArgs args) { + var tracksVm = viewModel.TracksViewModel; + if (args.KeyModifiers == KeyModifiers.None) { + args.Handled = true; + switch (args.Key) { + case Key.Delete: viewModel.TracksViewModel.DeleteSelectedParts(); break; + case Key.Space: PlayOrPause(); break; + case Key.Home: viewModel.PlaybackViewModel.MovePlayPos(0); break; + case Key.End: + if (viewModel.TracksViewModel.Parts.Count > 0) { + int endTick = viewModel.TracksViewModel.Parts.Max(part => part.End); + viewModel.PlaybackViewModel.MovePlayPos(endTick); + } + break; + default: + args.Handled = false; + break; + } + } else if (args.KeyModifiers == KeyModifiers.Alt) { + args.Handled = true; + switch (args.Key) { + case Key.F4: + (Application.Current?.ApplicationLifetime as IControlledApplicationLifetime)?.Shutdown(); + break; + default: + args.Handled = false; + break; + } + } else if (args.KeyModifiers == cmdKey) { + args.Handled = true; + switch (args.Key) { + case Key.A: viewModel.TracksViewModel.SelectAllParts(); break; + case Key.N: NewProject(); break; + case Key.O: Open(); break; + case Key.S: _ = Save(); break; + case Key.Z: viewModel.Undo(); break; + case Key.Y: viewModel.Redo(); break; + case Key.C: tracksVm.CopyParts(); break; + case Key.X: tracksVm.CutParts(); break; + case Key.V: tracksVm.PasteParts(); break; + default: + args.Handled = false; + break; + } + } else if (args.KeyModifiers == (cmdKey | KeyModifiers.Shift)) { + args.Handled = true; + switch (args.Key) { + case Key.Z: viewModel.Redo(); break; + case Key.S: _ = SaveAs(); break; + default: + args.Handled = false; + break; + } + } + } + + async void OnDrop(object? sender, DragEventArgs args) { + if (!args.Data.Contains(DataFormats.FileNames)) { + return; + } + string file = args.Data.GetFileNames()?.FirstOrDefault() ?? string.Empty; + if (string.IsNullOrEmpty(file)) { + return; + } + var ext = System.IO.Path.GetExtension(file); + if (ext == ".ustx" || ext == ".ust" || ext == ".vsqx") { + if (!DocManager.Inst.ChangesSaved && !await AskIfSaveAndContinue()) { + return; + } + try { + viewModel.OpenProject(new string[] { file }); + } catch (Exception e) { + Log.Error(e, $"Failed to open file {file}"); + _ = await MessageBox.ShowError(this, e); + } + } else if (ext == ".mid") { + try { + viewModel.ImportMidi(file); + } catch (Exception e) { + Log.Error(e, "Failed to import midi"); + _ = await MessageBox.ShowError(this, e); + } + } else if (ext == ".zip" || ext == ".rar" || ext == ".uar") { + var setup = new SingerSetupDialog() { + DataContext = new SingerSetupViewModel() { + ArchiveFilePath = file, + }, + }; + _ = setup.ShowDialog(this); + if (setup.Position.Y < 0) { + setup.Position = setup.Position.WithY(0); + } + } else if (ext == Core.Vogen.VogenSingerInstaller.FileExt) { + Core.Vogen.VogenSingerInstaller.Install(file); + } else if (ext == ".mp3" || ext == ".wav" || ext == ".ogg" || ext == ".flac") { + try { + viewModel.ImportAudio(file); + } catch (Exception e) { + Log.Error(e, "Failed to import audio"); + _ = await MessageBox.ShowError(this, e); + } + } + } + + void OnPlayOrPause(object sender, RoutedEventArgs args) { + PlayOrPause(); + } + + void PlayOrPause() { + try { + viewModel.PlaybackViewModel.PlayOrPause(); + } catch (Core.Render.NoResamplerException _) { + MessageBox.Show( + this, + ThemeManager.GetString("dialogs.noresampler.message"), + ThemeManager.GetString("dialogs.noresampler.caption"), + MessageBox.MessageBoxButtons.Ok); + } catch (Core.Render.NoWavtoolException _) { + MessageBox.Show( + this, + ThemeManager.GetString("dialogs.noresampler.message"), + ThemeManager.GetString("dialogs.noresampler.caption"), + MessageBox.MessageBoxButtons.Ok); + } catch (Exception e) { + MessageBox.ShowError(this, e); + } + } + + public void HScrollPointerWheelChanged(object sender, PointerWheelEventArgs args) { + var scrollbar = (ScrollBar)sender; + scrollbar.Value = Math.Max(scrollbar.Minimum, Math.Min(scrollbar.Maximum, scrollbar.Value - scrollbar.SmallChange * args.Delta.Y)); + } + + public void VScrollPointerWheelChanged(object sender, PointerWheelEventArgs args) { + var scrollbar = (ScrollBar)sender; + scrollbar.Value = Math.Max(scrollbar.Minimum, Math.Min(scrollbar.Maximum, scrollbar.Value - scrollbar.SmallChange * args.Delta.Y)); + } + + public void TimelinePointerWheelChanged(object sender, PointerWheelEventArgs args) { + var canvas = (Canvas)sender; + var position = args.GetCurrentPoint((IVisual)sender).Position; + var size = canvas.Bounds.Size; + position = position.WithX(position.X / size.Width).WithY(position.Y / size.Height); + viewModel.TracksViewModel.OnXZoomed(position, 0.1 * args.Delta.Y); + } + + public void ViewScalerPointerWheelChanged(object sender, PointerWheelEventArgs args) { + viewModel.TracksViewModel.OnYZoomed(new Point(0, 0.5), 0.1 * args.Delta.Y); + } + + public void TimelinePointerPressed(object sender, PointerPressedEventArgs args) { + var canvas = (Canvas)sender; + var point = args.GetCurrentPoint(canvas); + if (point.Properties.IsLeftButtonPressed) { + args.Pointer.Capture(canvas); + viewModel.TracksViewModel.PointToLineTick(point.Position, out int left, out int right); + viewModel.PlaybackViewModel.MovePlayPos(left); + } else if (point.Properties.IsRightButtonPressed) { + int tick = viewModel.TracksViewModel.PointToTick(point.Position); + viewModel.RefreshTimelineContextMenu(tick); + } + } + + public void TimelinePointerMoved(object sender, PointerEventArgs args) { + var canvas = (Canvas)sender; + var point = args.GetCurrentPoint(canvas); + if (point.Properties.IsLeftButtonPressed) { + viewModel.TracksViewModel.PointToLineTick(point.Position, out int left, out int right); + viewModel.PlaybackViewModel.MovePlayPos(left); + } + } + + public void TimelinePointerReleased(object sender, PointerReleasedEventArgs args) { + args.Pointer.Capture(null); + } + + public void PartsCanvasPointerPressed(object sender, PointerPressedEventArgs args) { + var canvas = (Canvas)sender; + var point = args.GetCurrentPoint(canvas); + var control = canvas.InputHitTest(point.Position); + if (partEditState != null) { + return; + } + if (point.Properties.IsLeftButtonPressed) { + if (args.KeyModifiers == cmdKey) { + partEditState = new PartSelectionEditState(canvas, viewModel, GetSelectionBox(canvas)); + Cursor = ViewConstants.cursorCross; + } else if (control == canvas) { + viewModel.TracksViewModel.DeselectParts(); + var part = viewModel.TracksViewModel.MaybeAddPart(point.Position); + if (part != null) { + // Start moving right away + partEditState = new PartMoveEditState(canvas, viewModel, part); + Cursor = ViewConstants.cursorSizeAll; + } + } else if (control is PartControl partControl) { + bool isVoice = partControl.part is UVoicePart; + bool isWave = partControl.part is UWavePart; + bool trim = point.Position.X > partControl.Bounds.Right - ViewConstants.ResizeMargin; + bool skip = point.Position.X < partControl.Bounds.Left + ViewConstants.ResizeMargin; + if (isVoice && trim) { + partEditState = new PartResizeEditState(canvas, viewModel, partControl.part); + Cursor = ViewConstants.cursorSizeWE; + } else if (isWave && skip) { + // TODO + } else if (isWave && trim) { + // TODO + } else { + partEditState = new PartMoveEditState(canvas, viewModel, partControl.part); + Cursor = ViewConstants.cursorSizeAll; + } + } + } else if (point.Properties.IsRightButtonPressed) { + if (control is PartControl partControl) { + if (!viewModel.TracksViewModel.SelectedParts.Contains(partControl.part)) { + viewModel.TracksViewModel.DeselectParts(); + viewModel.TracksViewModel.SelectPart(partControl.part); + } + if (partsContextMenu != null && viewModel.TracksViewModel.SelectedParts.Count > 0) { + partsContextMenu.DataContext = new PartsContextMenuArgs { + Part = partControl.part, + PartDeleteCommand = viewModel.PartDeleteCommand, + PartReplaceAudioCommand = PartReplaceAudioCommand, + PartRenameCommand = PartRenameCommand, + }; + shouldOpenPartsContextMenu = true; + } + } else { + viewModel.TracksViewModel.DeselectParts(); + } + } else if (point.Properties.IsMiddleButtonPressed) { + partEditState = new PartPanningState(canvas, viewModel); + Cursor = ViewConstants.cursorHand; + } + if (partEditState != null) { + partEditState.Begin(point.Pointer, point.Position); + partEditState.Update(point.Pointer, point.Position); + } + } + + private Rectangle GetSelectionBox(Canvas canvas) { + if (selectionBox != null) { + return selectionBox; + } + selectionBox = new Rectangle() { + Stroke = ThemeManager.ForegroundBrush, + StrokeThickness = 2, + Fill = ThemeManager.TickLineBrushLow, + // radius = 8 + IsHitTestVisible = false, + }; + canvas.Children.Add(selectionBox); + selectionBox.ZIndex = 1000; + return selectionBox; + } + + public void PartsCanvasPointerMoved(object sender, PointerEventArgs args) { + var canvas = (Canvas)sender; + var point = args.GetCurrentPoint(canvas); + if (partEditState != null) { + partEditState.Update(point.Pointer, point.Position); + return; + } + var control = canvas.InputHitTest(point.Position); + if (control is PartControl partControl) { + bool isVoice = partControl.part is UVoicePart; + bool isWave = partControl.part is UWavePart; + bool trim = point.Position.X > partControl.Bounds.Right - ViewConstants.ResizeMargin; + bool skip = point.Position.X < partControl.Bounds.Left + ViewConstants.ResizeMargin; + if (isVoice && trim) { + Cursor = ViewConstants.cursorSizeWE; + } else if (isWave && (skip || trim)) { + Cursor = null; // TODO + } else { + Cursor = null; + } + } else { + Cursor = null; + } + } + + public void PartsCanvasPointerReleased(object sender, PointerReleasedEventArgs args) { + if (partEditState != null) { + if (partEditState.MouseButton != args.InitialPressMouseButton) { + return; + } + var canvas = (Canvas)sender; + var point = args.GetCurrentPoint(canvas); + partEditState.Update(point.Pointer, point.Position); + partEditState.End(point.Pointer, point.Position); + partEditState = null; + Cursor = null; + } + if (openPianoRollWindow) { + pianoRollWindow?.Show(); + pianoRollWindow?.Activate(); + openPianoRollWindow = false; + } + } + + public void PartsCanvasDoubleTapped(object sender, RoutedEventArgs args) { + if (!(sender is Canvas canvas)) { + return; + } + var e = (TappedEventArgs)args; + var control = canvas.InputHitTest(e.GetPosition(canvas)); + if (control is PartControl partControl && partControl.part is UVoicePart) { + if (pianoRollWindow == null) { + pianoRollWindow = new PianoRollWindow() { + MainWindow = this, + }; + pianoRollWindow.ViewModel.PlaybackViewModel = viewModel.PlaybackViewModel; + } + // Workaround for new window losing focus. + openPianoRollWindow = true; + int tick = viewModel.TracksViewModel.PointToTick(e.GetPosition(canvas)); + DocManager.Inst.ExecuteCmd(new LoadPartNotification(partControl.part, DocManager.Inst.Project, tick)); + } + } + + public void PartsCanvasPointerWheelChanged(object sender, PointerWheelEventArgs args) { + var delta = args.Delta; + if (args.KeyModifiers == KeyModifiers.None || args.KeyModifiers == KeyModifiers.Shift) { + if (delta.X != 0) { + var scrollbar = this.FindControl("HScrollBar"); + scrollbar.Value = Math.Max(scrollbar.Minimum, + Math.Min(scrollbar.Maximum, scrollbar.Value - scrollbar.SmallChange * delta.X)); + } + if (delta.Y != 0) { + var scrollbar = this.FindControl("VScrollBar"); + scrollbar.Value = Math.Max(scrollbar.Minimum, + Math.Min(scrollbar.Maximum, scrollbar.Value - scrollbar.SmallChange * delta.Y)); + } + } else if (args.KeyModifiers == KeyModifiers.Alt) { + var scaler = this.FindControl("VScaler"); + ViewScalerPointerWheelChanged(scaler, args); + } else if (args.KeyModifiers == cmdKey) { + var timelineCanvas = this.FindControl("TimelineCanvas"); + TimelinePointerWheelChanged(timelineCanvas, args); + } + if (partEditState != null) { + var point = args.GetCurrentPoint(partEditState.canvas); + partEditState.Update(point.Pointer, point.Position); + } + } + + public void PartsContextMenuOpening(object sender, CancelEventArgs args) { + if (shouldOpenPartsContextMenu) { + shouldOpenPartsContextMenu = false; + } else { + args.Cancel = true; + } + } + + public void PartsContextMenuClosing(object sender, CancelEventArgs args) { + if (partsContextMenu != null) { + partsContextMenu.DataContext = null; + } + } + + void RenamePart(UPart part) { + var dialog = new TypeInDialog(); + dialog.Title = ThemeManager.GetString("context.part.rename"); + dialog.SetText(part.name); + dialog.onFinish = name => { + if (!string.IsNullOrWhiteSpace(name) && name != part.name) { + if (!string.IsNullOrWhiteSpace(name) && name != part.name) { + DocManager.Inst.StartUndoGroup(); + DocManager.Inst.ExecuteCmd(new RenamePartCommand(DocManager.Inst.Project, part, name)); + DocManager.Inst.EndUndoGroup(); + } + } + }; + dialog.ShowDialog(this); + } + + async void ReplaceAudio(UPart part) { + var dialog = new OpenFileDialog() { + Filters = new List() { + new FileDialogFilter() { + Name = "Audio Files", + Extensions = Wave.FileExtensions, + }, + }, + AllowMultiple = false, + }; + var files = await dialog.ShowAsync(this); + if (files == null || files.Length != 1) { + return; + } + UWavePart newPart = new UWavePart() { + FilePath = files[0], + trackNo = part.trackNo, + position = part.position + }; + newPart.Load(DocManager.Inst.Project); + DocManager.Inst.StartUndoGroup(); + DocManager.Inst.ExecuteCmd(new ReplacePartCommand(DocManager.Inst.Project, part, newPart)); + DocManager.Inst.EndUndoGroup(); + } + + public async void WindowClosing(object? sender, CancelEventArgs e) { + if (forceClose || DocManager.Inst.ChangesSaved) { + return; + } + e.Cancel = true; + if (!await AskIfSaveAndContinue()) { + return; + } + pianoRollWindow?.Close(); + forceClose = true; + Close(); + } + + private async Task AskIfSaveAndContinue() { + var result = await MessageBox.Show( + this, + ThemeManager.GetString("dialogs.exitsave.message"), + ThemeManager.GetString("dialogs.exitsave.caption"), + MessageBox.MessageBoxButtons.YesNoCancel); + switch (result) { + case MessageBox.MessageBoxResult.Yes: + await Save(); + goto case MessageBox.MessageBoxResult.No; + case MessageBox.MessageBoxResult.No: + return true; // Continue. + default: + return false; // Cancel. + } + } + + public void OnNext(UCommand cmd, bool isUndo) { + if (cmd is ErrorMessageNotification notif) { + MessageBox.ShowError(this, notif.message, notif.e); + } + } + } +} diff --git a/OpenUtau/Views/MessageBox.axaml.cs b/OpenUtau/Views/MessageBox.axaml.cs index fdebb9179..7ddd73caa 100644 --- a/OpenUtau/Views/MessageBox.axaml.cs +++ b/OpenUtau/Views/MessageBox.axaml.cs @@ -1,7 +1,11 @@ -using System.Threading.Tasks; +using System; +using System.Linq; +using System.Text; +using System.Threading.Tasks; using Avalonia; using Avalonia.Controls; using Avalonia.Markup.Xaml; +using Avalonia.Threading; namespace OpenUtau.App.Views { public partial class MessageBox : Window { @@ -19,6 +23,40 @@ private void InitializeComponent() { AvaloniaXamlLoader.Load(this); } + public void SetText(string text) { + Dispatcher.UIThread.Post(() => { + this.FindControl("Text").Text = text; + }); + } + + public static Task ShowError(Window parent, Exception e) { + return ShowError(parent, string.Empty, e); + } + + public static Task ShowError(Window parent, string message, Exception e) { + var builder = new StringBuilder(); + if (!string.IsNullOrEmpty(message)) { + builder.AppendLine(message); + } + if (e != null) { + if (e is AggregateException ae) { + ae = ae.Flatten(); + builder.AppendLine(ae.InnerExceptions.First().Message); + builder.AppendLine(); + builder.Append(ae.ToString()); + } else { + builder.AppendLine(e.Message); + builder.AppendLine(); + builder.Append(e.ToString()); + } + } + builder.AppendLine(); + builder.AppendLine(); + builder.AppendLine(System.Reflection.Assembly.GetEntryAssembly()?.GetName().Version?.ToString() ?? "Unknown Version"); + string title = ThemeManager.GetString("errors.caption"); + return Show(parent, builder.ToString(), title, MessageBoxButtons.Ok); + } + public static Task Show(Window parent, string text, string title, MessageBoxButtons buttons) { var msgbox = new MessageBox() { Title = title @@ -56,5 +94,14 @@ void AddButton(string caption, MessageBoxResult r, bool def = false) { else msgbox.Show(); return tcs.Task; } + + public static MessageBox ShowModal(Window parent, string text, string title) { + var msgbox = new MessageBox() { + Title = title + }; + msgbox.FindControl("Text").Text = text; + msgbox.ShowDialog(parent); + return msgbox; + } } } diff --git a/OpenUtau/Views/NoteEditStates.cs b/OpenUtau/Views/NoteEditStates.cs index 6634c64f3..65fbe1960 100644 --- a/OpenUtau/Views/NoteEditStates.cs +++ b/OpenUtau/Views/NoteEditStates.cs @@ -82,6 +82,8 @@ public static double Lerp(Point p1, Point p2, double x) { class NoteSelectionEditState : NoteEditState { public readonly Rectangle selectionBox; protected override bool ShowValueTip => false; + private int startTick; + private int startTone; public NoteSelectionEditState( Canvas canvas, PianoRollViewModel vm, @@ -93,6 +95,9 @@ public override void Begin(IPointer pointer, Point point) { pointer.Capture(canvas); startPoint = point; selectionBox.IsVisible = true; + var notesVm = vm.NotesViewModel; + startTick = notesVm.PointToTick(point); + startTone = notesVm.PointToTone(point); } public override void End(IPointer pointer, Point point) { pointer.Capture(null); @@ -102,18 +107,17 @@ public override void End(IPointer pointer, Point point) { } public override void Update(IPointer pointer, Point point) { var notesVm = vm.NotesViewModel; - int x0 = notesVm.PointToSnappedTick(point); - int x1 = notesVm.PointToSnappedTick(startPoint); - int y0 = notesVm.PointToTone(point); - int y1 = notesVm.PointToTone(startPoint); - if (x0 > x1) { - Swap(ref x0, ref x1); - } - if (y0 > y1) { - Swap(ref y0, ref y1); - } - x1 += notesVm.SnapUnit; - y0--; + int tick = notesVm.PointToTick(point); + int tone = notesVm.PointToTone(point); + + int minTick = Math.Min(tick, startTick); + int maxTick = Math.Max(tick, startTick); + notesVm.TickToLineTick(minTick, out int x0, out int _); + notesVm.TickToLineTick(maxTick, out int _, out int x1); + + int y0 = Math.Min(tone, startTone) - 1; + int y1 = Math.Max(tone, startTone); + var leftTop = notesVm.TickToneToPoint(x0, y1); var Size = notesVm.TickToneToSize(x1 - x0, y1 - y0); Canvas.SetLeft(selectionBox, leftTop.X); @@ -135,8 +139,7 @@ public NoteMoveEditState( UNote note) : base(canvas, vm, valueTip) { this.note = note; var notesVm = vm.NotesViewModel; - if (!notesVm.SelectedNotes.Contains(note)) { - notesVm.DeselectNotes(); + if (!notesVm.Selection.Contains(note)) { notesVm.SelectNote(note); } } @@ -150,6 +153,7 @@ public override void Update(IPointer pointer, Point point) { if (Math.Abs(delta.X) + Math.Abs(delta.Y) < 4) { return; } + var project = DocManager.Inst.Project; var notesVm = vm.NotesViewModel; var part = notesVm.Part; if (part == null) { @@ -159,23 +163,27 @@ public override void Update(IPointer pointer, Point point) { int deltaTone = notesVm.PointToTone(point) - note.tone; int minDeltaTone; int maxDeltaTone; - if (notesVm.SelectedNotes.Count > 0) { - minDeltaTone = -notesVm.SelectedNotes.Select(p => p.tone).Min(); - maxDeltaTone = ViewConstants.MaxTone - 1 - notesVm.SelectedNotes.Select(p => p.tone).Max(); + var selectedNotes = notesVm.Selection.ToList(); + if (selectedNotes.Count > 0) { + minDeltaTone = -selectedNotes.Select(p => p.tone).Min(); + maxDeltaTone = ViewConstants.MaxTone - 1 - selectedNotes.Select(p => p.tone).Max(); } else { minDeltaTone = -note.tone; maxDeltaTone = ViewConstants.MaxTone - 1 - note.tone; } deltaTone = Math.Clamp(deltaTone, minDeltaTone, maxDeltaTone); - int deltaTick = notesVm.IsSnapOn - ? notesVm.PointToSnappedTick(point - new Point(xOffset, 0)) - note.position - : notesVm.PointToTick(point - new Point(xOffset, 0)) - note.position; + int snapUnit = project.resolution * 4 / notesVm.SnapDiv; + int newPos = notesVm.PointToTick(point - new Point(xOffset, 0)); + if (notesVm.IsSnapOn) { + newPos = (int)Math.Floor((double)newPos / snapUnit) * snapUnit; + } + int deltaTick = newPos - note.position; int minDeltaTick; int maxDeltaTick; - if (notesVm.SelectedNotes.Count > 0) { - minDeltaTick = -notesVm.SelectedNotes.Select(n => n.position).Min(); - maxDeltaTick = part.Duration - notesVm.SelectedNotes.Select(n => n.End).Max(); + if (selectedNotes.Count > 0) { + minDeltaTick = -selectedNotes.Select(n => n.position).Min(); + maxDeltaTick = part.Duration - selectedNotes.Select(n => n.End).Max(); } else { minDeltaTick = -note.position; maxDeltaTick = part.Duration - note.End; @@ -185,12 +193,12 @@ public override void Update(IPointer pointer, Point point) { if (deltaTone == 0 && deltaTick == 0) { return; } - if (notesVm.SelectedNotes.Count == 0) { + if (selectedNotes.Count == 0) { DocManager.Inst.ExecuteCmd(new MoveNoteCommand( part, note, deltaTick, deltaTone)); } else { DocManager.Inst.ExecuteCmd(new MoveNoteCommand( - part, new List(notesVm.SelectedNotes), deltaTick, deltaTone)); + part, selectedNotes, deltaTick, deltaTone)); } } } @@ -224,17 +232,20 @@ public override void Update(IPointer pointer, Point point) { sineGen.Freq = MusicMath.ToneToFreq(tone); } int deltaTone = tone - note.tone; - int deltaDuration = notesVm.IsSnapOn - ? notesVm.PointToSnappedTick(point) + notesVm.SnapUnit - note.End - : notesVm.PointToTick(point) - note.End; - int minNoteTicks = notesVm.IsSnapOn ? notesVm.SnapUnit : 15; + int snapUnit = project.resolution * 4 / notesVm.SnapDiv; + int newEnd = notesVm.PointToTick(point); + if (notesVm.IsSnapOn) { + newEnd = (int)Math.Floor((double)newEnd / snapUnit + 1) * snapUnit; + } + int deltaDuration = newEnd - note.End; + int minNoteTicks = notesVm.IsSnapOn ? snapUnit : 15; if (deltaDuration < 0) { int maxNegDelta = note.duration - minNoteTicks; - if (notesVm.SelectedNotes.Count > 0) { - maxNegDelta = notesVm.SelectedNotes.Min(n => n.duration - minNoteTicks); + if (notesVm.Selection.Count > 0) { + maxNegDelta = notesVm.Selection.Min(n => n.duration - minNoteTicks); } - if (notesVm.IsSnapOn && notesVm.SnapUnit > 0) { - maxNegDelta = (int)Math.Floor((double)maxNegDelta / notesVm.SnapUnit) * notesVm.SnapUnit; + if (notesVm.IsSnapOn && snapUnit > 0) { + maxNegDelta = (int)Math.Floor((double)maxNegDelta / snapUnit) * snapUnit; } deltaDuration = Math.Max(deltaDuration, -maxNegDelta); } @@ -243,8 +254,11 @@ public override void Update(IPointer pointer, Point point) { } if (deltaDuration != 0) { DocManager.Inst.ExecuteCmd(new ResizeNoteCommand(notesVm.Part, note, deltaDuration)); - if (NotePresets.Default.AutoVibratoToggle && note.duration >= NotePresets.Default.AutoVibratoNoteDuration) DocManager.Inst.ExecuteCmd(new VibratoLengthCommand(notesVm.Part, note, NotePresets.Default.DefaultVibrato.VibratoLength)); - else DocManager.Inst.ExecuteCmd(new VibratoLengthCommand(notesVm.Part, note, 0)); + if (NotePresets.Default.AutoVibratoToggle && note.duration >= NotePresets.Default.AutoVibratoNoteDuration) { + DocManager.Inst.ExecuteCmd(new VibratoLengthCommand(notesVm.Part, note, NotePresets.Default.DefaultVibrato.VibratoLength)); + } else { + DocManager.Inst.ExecuteCmd(new VibratoLengthCommand(notesVm.Part, note, 0)); + } } valueTip.UpdateValueTip(note.duration.ToString()); } @@ -268,27 +282,30 @@ public NoteResizeEditState( bool resizeNext) : base(canvas, vm, valueTip) { this.note = note; var notesVm = vm.NotesViewModel; - if (!notesVm.SelectedNotes.Contains(note)) { + if (!notesVm.Selection.Contains(note)) { notesVm.DeselectNotes(); } - this.resizeNext = notesVm.SelectedNotes.Count == 0 && + this.resizeNext = notesVm.Selection.Count == 0 && resizeNext && note.Next != null && note.End == note.Next.position; nextNote = note.Next; } public override void Update(IPointer pointer, Point point) { var project = DocManager.Inst.Project; var notesVm = vm.NotesViewModel; - int deltaDuration = notesVm.IsSnapOn - ? notesVm.PointToSnappedTick(point) + notesVm.SnapUnit - note.End - : notesVm.PointToTick(point) - note.End; - int minNoteTicks = notesVm.IsSnapOn ? notesVm.SnapUnit : 15; + int snapUnit = project.resolution * 4 / notesVm.SnapDiv; + int newEnd = notesVm.PointToTick(point); + if (notesVm.IsSnapOn) { + newEnd = (int)Math.Floor((double)newEnd / snapUnit) * snapUnit + snapUnit; + } + int deltaDuration = newEnd - note.End; + int minNoteTicks = notesVm.IsSnapOn ? snapUnit : 15; if (deltaDuration < 0) { int maxNegDelta = note.duration - minNoteTicks; - if (notesVm.SelectedNotes.Count > 0) { - maxNegDelta = notesVm.SelectedNotes.Min(n => n.duration - minNoteTicks); + if (notesVm.Selection.Count > 0) { + maxNegDelta = notesVm.Selection.Min(n => n.duration - minNoteTicks); } - if (notesVm.IsSnapOn && notesVm.SnapUnit > 0) { - maxNegDelta = (int)Math.Floor((double)maxNegDelta / notesVm.SnapUnit) * notesVm.SnapUnit; + if (notesVm.IsSnapOn && snapUnit > 0) { + maxNegDelta = (int)Math.Floor((double)maxNegDelta / snapUnit) * snapUnit; } deltaDuration = Math.Max(deltaDuration, -maxNegDelta); } @@ -300,7 +317,7 @@ public override void Update(IPointer pointer, Point point) { valueTip.UpdateValueTip(note.duration.ToString()); return; } - if (notesVm.SelectedNotes.Count == 0) { + if (notesVm.Selection.Count == 0) { if (resizeNext) { DocManager.Inst.ExecuteCmd(new MoveNoteCommand(notesVm.Part, nextNote, deltaDuration, 0)); DocManager.Inst.ExecuteCmd(new ResizeNoteCommand(notesVm.Part, nextNote, -deltaDuration)); @@ -309,7 +326,7 @@ public override void Update(IPointer pointer, Point point) { valueTip.UpdateValueTip(note.duration.ToString()); return; } - DocManager.Inst.ExecuteCmd(new ResizeNoteCommand(notesVm.Part, new List(notesVm.SelectedNotes), deltaDuration)); + DocManager.Inst.ExecuteCmd(new ResizeNoteCommand(notesVm.Part, notesVm.Selection.ToList(), deltaDuration)); valueTip.UpdateValueTip(note.duration.ToString()); } } @@ -333,7 +350,7 @@ public NoteSplitEditState( UNote note) : base(canvas, vm, valueTip) { this.note = note; var notesVm = vm.NotesViewModel; - if (!notesVm.SelectedNotes.Contains(note)) { + if (!notesVm.Selection.Contains(note)) { notesVm.DeselectNotes(); } oldDur = note.duration; @@ -353,14 +370,17 @@ public override void Begin(IPointer pointer, Point point) { public override void Update(IPointer pointer, Point point) { var project = DocManager.Inst.Project; var notesVm = vm.NotesViewModel; + int snapUnit = project.resolution * 4 / notesVm.SnapDiv; + int tick = notesVm.PointToTick(point); + int roundedSnappedTick = (int)Math.Round((double)tick / snapUnit) * snapUnit; int deltaDuration = notesVm.IsSnapOn - ? notesVm.PointToRoundedSnappedTick(point) - note.End - : notesVm.PointToTick(point) - note.End; - int minNoteTicks = notesVm.IsSnapOn ? notesVm.SnapUnit : 15; + ? roundedSnappedTick - note.End + : tick - note.End; + int minNoteTicks = notesVm.IsSnapOn ? snapUnit : 15; int maxNegDelta = note.duration - minNoteTicks; - if (notesVm.IsSnapOn && notesVm.SnapUnit > 0) { - maxNegDelta = (int)Math.Floor((double)maxNegDelta / notesVm.SnapUnit) * notesVm.SnapUnit; + if (notesVm.IsSnapOn && snapUnit > 0) { + maxNegDelta = (int)Math.Floor((double)maxNegDelta / snapUnit) * snapUnit; } deltaDuration = Math.Max(deltaDuration, -maxNegDelta); @@ -391,7 +411,7 @@ public override void Update(IPointer pointer, Point point) { DocManager.Inst.ExecuteCmd(new VibratoFadeInCommand(notesVm.Part, newNote, 0)); DocManager.Inst.ExecuteCmd(new VibratoFadeOutCommand(notesVm.Part, newNote, oldVibFadeOutTicks * 100 / newNote.duration)); //phase correction - double newVibLengthMs = project.TickToMillisecond(newVibLengthTicks); + double newVibLengthMs = project.timeAxis.MsBetweenTickPos(newNote.position, newNote.position + newVibLengthTicks); float newVibShift = (float)(100 * (newVibLengthMs % vibPeriod / vibPeriod)) + oldVibShift; if (newVibShift > 100) newVibShift -= 100; DocManager.Inst.ExecuteCmd(new VibratoShiftCommand(notesVm.Part, newNote, newVibShift)); @@ -505,8 +525,9 @@ public override void End(IPointer pointer, Point point) { } public override void Update(IPointer pointer, Point point) { var notesVm = vm.NotesViewModel; - int tick = notesVm.PointToTick(point) - note.position; - double deltaX = notesVm.Project.TickToMillisecond(tick) - pitchPoint.X; + int partPos = notesVm.Part?.position ?? 0; + double x = notesVm.Project.timeAxis.TickPosToMsPos(notesVm.PointToTick(point) + partPos); + double deltaX = x - (note.PositionMs + pitchPoint.X); bool isFirst = index == 0; bool isLast = index == note.pitch.data.Count - 1; if (!isFirst) { @@ -715,6 +736,9 @@ public override void Update(IPointer pointer, Point point) { float startTick = note.position + note.duration - vibratoTick; float newIn = (tick - startTick) / vibratoTick * 100f; if (newIn != note.vibrato.@in) { + if (newIn + note.vibrato.@out > 100) { + DocManager.Inst.ExecuteCmd(new VibratoFadeOutCommand(notesVm.Part, note, 100 - newIn)); + } DocManager.Inst.ExecuteCmd(new VibratoFadeInCommand(notesVm.Part, note, newIn)); } valueTip.UpdateValueTip($"{note.vibrato.@in:0}%"); @@ -736,6 +760,9 @@ public override void Update(IPointer pointer, Point point) { float vibratoTick = note.vibrato.length / 100f * note.duration; float newOut = (note.position + note.duration - tick) / vibratoTick * 100f; if (newOut != note.vibrato.@out) { + if (newOut + note.vibrato.@in > 100) { + DocManager.Inst.ExecuteCmd(new VibratoFadeInCommand(notesVm.Part, note, 100 - newOut)); + } DocManager.Inst.ExecuteCmd(new VibratoFadeOutCommand(notesVm.Part, note, newOut)); } valueTip.UpdateValueTip($"{note.vibrato.@out:0}%"); @@ -774,12 +801,12 @@ public VibratoChangePeriodState( public override void Update(IPointer pointer, Point point) { var notesVm = vm.NotesViewModel; var project = notesVm.Project; - float periodTick = project.MillisecondToTick(note.vibrato.period); - float shiftTick = periodTick * note.vibrato.shift / 100f; + int partPos = notesVm.Part?.position ?? 0; float vibratoTick = note.vibrato.length / 100f * note.duration; float startTick = note.position + note.duration - vibratoTick; - float tick = notesVm.PointToTick(point) - startTick - shiftTick; - float newPeriod = (float)DocManager.Inst.Project.TickToMillisecond(tick); + double startMs = project.timeAxis.TickPosToMsPos(startTick + partPos); + double pointerMs = project.timeAxis.TickPosToMsPos(notesVm.PointToTick(point) + notesVm.Part.position); + float newPeriod = (float)((pointerMs - startMs) / (1 + note.vibrato.shift / 100f)); if (newPeriod != note.vibrato.period) { DocManager.Inst.ExecuteCmd(new VibratoPeriodCommand(notesVm.Part, note, newPeriod)); } @@ -805,7 +832,7 @@ public VibratoChangeShiftState( public override void Update(IPointer pointer, Point point) { var notesVm = vm.NotesViewModel; var project = notesVm.Project; - float periodTick = project.MillisecondToTick(note.vibrato.period); + float periodTick = project.timeAxis.TicksBetweenMsPos(note.PositionMs, note.PositionMs + note.vibrato.period); float deltaTick = notesVm.PointToTick(point) - notesVm.PointToTick(hitPoint); float deltaShift = deltaTick / periodTick * 100f; float newShift = initialShift + deltaShift; @@ -818,6 +845,7 @@ public override void Update(IPointer pointer, Point point) { class PhonemeMoveState : NoteEditState { public readonly UNote leadingNote; + public readonly UPhoneme phoneme; public readonly int index; public int startOffset; public PhonemeMoveState( @@ -825,8 +853,10 @@ public PhonemeMoveState( PianoRollViewModel vm, IValueTip valueTip, UNote leadingNote, + UPhoneme phoneme, int index) : base(canvas, vm, valueTip) { this.leadingNote = leadingNote; + this.phoneme = phoneme; this.index = index; } public override void Begin(IPointer pointer, Point point) { @@ -835,11 +865,13 @@ public override void Begin(IPointer pointer, Point point) { } public override void Update(IPointer pointer, Point point) { var notesVm = vm.NotesViewModel; + int partPos = notesVm.Part?.position ?? 0; int offset = startOffset + notesVm.PointToTick(point) - notesVm.PointToTick(startPoint); DocManager.Inst.ExecuteCmd(new PhonemeOffsetCommand( notesVm.Part, leadingNote, index, offset)); var project = notesVm.Project; - valueTip.UpdateValueTip($"{project.TickToMillisecond(offset):0.0}ms"); + double offsetMs = project.timeAxis.TickPosToMsPos(phoneme.position + offset + partPos) - phoneme.PositionMs; + valueTip.UpdateValueTip($"{offsetMs:0.0}ms"); } } @@ -861,8 +893,8 @@ public PhonemeChangePreutterState( public override void Update(IPointer pointer, Point point) { var notesVm = vm.NotesViewModel; var project = notesVm.Project; - int preutterTicks = phoneme.position - notesVm.PointToTick(point); - double preutterDelta = project.TickToMillisecond(preutterTicks) - phoneme.autoPreutter; + double preutter = project.timeAxis.MsBetweenTickPos(notesVm.PointToTick(point), phoneme.position); + double preutterDelta = preutter - phoneme.autoPreutter; preutterDelta = Math.Max(-phoneme.oto.Preutter, preutterDelta); DocManager.Inst.ExecuteCmd(new PhonemePreutterCommand(notesVm.Part, leadingNote, index, (float)preutterDelta)); valueTip.UpdateValueTip($"{phoneme.preutter:0.0}ms ({preutterDelta:+0.0;-0.0;0}ms)"); @@ -887,8 +919,8 @@ public PhonemeChangeOverlapState( public override void Update(IPointer pointer, Point point) { var notesVm = vm.NotesViewModel; var project = notesVm.Project; - float preutter = phoneme.preutter; - double overlap = preutter - project.TickToMillisecond(phoneme.position - notesVm.PointToTick(point)); + int partPos = notesVm.Part?.position ?? 0; + double overlap = project.timeAxis.TickPosToMsPos(notesVm.PointToTick(point) + partPos) - (phoneme.PositionMs - phoneme.preutter); double overlapDelta = overlap - phoneme.autoOverlap; DocManager.Inst.ExecuteCmd(new PhonemeOverlapCommand(notesVm.Part, leadingNote, index, (float)overlapDelta)); valueTip.UpdateValueTip($"{phoneme.overlap:0.0}ms ({overlapDelta:+0.0;-0.0;0}ms)"); diff --git a/OpenUtau/Views/PartEditStates.cs b/OpenUtau/Views/PartEditStates.cs index 02d71435f..59f117726 100644 --- a/OpenUtau/Views/PartEditStates.cs +++ b/OpenUtau/Views/PartEditStates.cs @@ -37,6 +37,9 @@ public static void Swap(ref T a, ref T b) { } class PartSelectionEditState : PartEditState { + private int startTick; + private int startTrack; + public readonly Rectangle selectionBox; public PartSelectionEditState(Canvas canvas, MainWindowViewModel vm, Rectangle selectionBox) : base(canvas, vm) { this.selectionBox = selectionBox; @@ -44,8 +47,10 @@ public PartSelectionEditState(Canvas canvas, MainWindowViewModel vm, Rectangle s public override void Begin(IPointer pointer, Point point) { base.Begin(pointer, point); selectionBox.IsVisible = true; + var tracksVm = vm.TracksViewModel; + startTick = tracksVm.PointToTick(point); + startTrack = tracksVm.PointToTrackNo(point); } - public override void End(IPointer pointer, Point point) { base.End(pointer, point); selectionBox.IsVisible = false; @@ -54,18 +59,17 @@ public override void End(IPointer pointer, Point point) { } public override void Update(IPointer pointer, Point point) { var tracksVm = vm.TracksViewModel; - int x0 = tracksVm.PointToSnappedTick(point); - int x1 = tracksVm.PointToSnappedTick(startPoint); - int y0 = tracksVm.PointToTrackNo(point); - int y1 = tracksVm.PointToTrackNo(startPoint); - if (x0 > x1) { - Swap(ref x0, ref x1); - } - if (y0 > y1) { - Swap(ref y0, ref y1); - } - x1 += tracksVm.SnapUnit; - y1++; + int tick = tracksVm.PointToTick(point); + int track = tracksVm.PointToTrackNo(point); + + int minTick = Math.Min(tick, startTick); + int maxTick = Math.Max(tick, startTick); + tracksVm.TickToLineTick(minTick, out int x0, out int _); + tracksVm.TickToLineTick(maxTick, out int _, out int x1); + + int y0 = Math.Min(track, startTrack); + int y1 = Math.Max(track, startTrack) + 1; + var leftTop = tracksVm.TickTrackToPoint(x0, y0); var Size = tracksVm.TickTrackToSize(x1 - x0, y1 - y0); Canvas.SetLeft(selectionBox, leftTop.X); @@ -114,9 +118,14 @@ public override void Update(IPointer pointer, Point point) { } deltaTrack = Math.Clamp(deltaTrack, minDeltaTrack, maxDeltaTrack); - int deltaTick = isVoice - ? tracksVm.PointToSnappedTick(point - new Point(xOffset, 0)) - part.position - : tracksVm.PointToTick(point - new Point(xOffset, 0)) - part.position; + int newPos = 0; + if (!isVoice) { + newPos = tracksVm.PointToTick(point - new Point(xOffset, 0)); + } else { + tracksVm.PointToLineTick(point - new Point(xOffset, 0), out int left, out int right); + newPos = left; + } + int deltaTick = newPos - part.position; int minDeltaTick; if (tracksVm.SelectedParts.Count > 0) { minDeltaTick = -tracksVm.SelectedParts.Select(p => p.position).Min(); @@ -152,15 +161,13 @@ public PartResizeEditState(Canvas canvas, MainWindowViewModel vm, UPart part) : public override void Update(IPointer pointer, Point point) { var project = DocManager.Inst.Project; var tracksVm = vm.TracksViewModel; - int deltaDuration = tracksVm.PointToSnappedTick(point) + tracksVm.SnapUnit - part.EndTick; + tracksVm.PointToLineTick(point, out int left, out int right); + int deltaDuration = right - part.End; if (deltaDuration < 0) { int maxDurReduction = part.Duration - part.GetMinDurTick(project); if (tracksVm.SelectedParts.Count > 0) { maxDurReduction = tracksVm.SelectedParts.Min(p => p.Duration - p.GetMinDurTick(project)); } - if (tracksVm.SnapUnit > 0) { - maxDurReduction = (int)Math.Floor((double)maxDurReduction / tracksVm.SnapUnit) * tracksVm.SnapUnit; - } deltaDuration = Math.Max(deltaDuration, -maxDurReduction); } if (deltaDuration == 0) { diff --git a/OpenUtau/Views/PhoneticAssistant.axaml b/OpenUtau/Views/PhoneticAssistant.axaml new file mode 100644 index 000000000..64be9ee88 --- /dev/null +++ b/OpenUtau/Views/PhoneticAssistant.axaml @@ -0,0 +1,20 @@ + + + + + + + - + - @@ -386,13 +404,11 @@ + SnapDiv="{Binding NotesViewModel.SnapDiv, Mode=OneWay}"/> lyricsDialogCommand; + private ReactiveCommand noteDefaultsCommand; + public PianoRollWindow() { InitializeComponent(); #if DEBUG this.AttachDevTools(); #endif DataContext = ViewModel = new PianoRollViewModel(); + + lyricsDialogCommand = ReactiveCommand.Create(() => { + EditLyrics(); + }); + noteDefaultsCommand = ReactiveCommand.Create(() => { + EditNoteDefaults(); + }); } private void InitializeComponent() { @@ -56,7 +71,6 @@ private void InitializeComponent() { valueTip.IsVisible = false; valueTipText = this.FindControl("ValueTipText"); lyricBox = this.FindControl("LyricBox"); - pitchContextMenu = this.FindControl("PitchContextMenu"); expSelector1 = this.FindControl("expSelector1"); expSelector2 = this.FindControl("expSelector2"); expSelector3 = this.FindControl("expSelector3"); @@ -73,24 +87,20 @@ void WindowClosing(object? sender, CancelEventArgs e) { e.Cancel = true; } - void OnMenuRenamePart(object? sender, RoutedEventArgs e) { - var part = ViewModel.NotesViewModel.Part; - if (part == null) { - return; - } - var dialog = new TypeInDialog(); - dialog.Title = "Rename"; - dialog.SetText(part.name); - dialog.onFinish = name => { - if (!string.IsNullOrWhiteSpace(name) && name != part.name) { - ViewModel.RenamePart(part, name); - } - }; - dialog.ShowDialog(this); + void OnMenuClosed(object sender, RoutedEventArgs args) { + Focus(); // Force unfocus menu for key down events. + } + + void OnMenuPointerLeave(object sender, PointerEventArgs args) { + Focus(); // Force unfocus menu for key down events. } void OnMenuEditLyrics(object? sender, RoutedEventArgs e) { - if (ViewModel.NotesViewModel.SelectedNotes.Count == 0) { + EditLyrics(); + } + + void EditLyrics() { + if (ViewModel.NotesViewModel.Selection.IsEmpty) { _ = MessageBox.Show( this, ThemeManager.GetString("lyrics.selectnotes"), @@ -108,6 +118,10 @@ void OnMenuEditLyrics(object? sender, RoutedEventArgs e) { } void OnMenuNoteDefaults(object sender, RoutedEventArgs args) { + EditNoteDefaults(); + } + + void EditNoteDefaults() { var dialog = new NoteDefaultsDialog(); dialog.ShowDialog(this); if (dialog.Position.Y < 0) { @@ -187,8 +201,8 @@ public void TimelinePointerPressed(object sender, PointerPressedEventArgs args) var point = args.GetCurrentPoint(canvas); if (point.Properties.IsLeftButtonPressed) { args.Pointer.Capture(canvas); - int tick = ViewModel.NotesViewModel.PointToSnappedTick(point.Position) - + ViewModel.NotesViewModel.Part?.position ?? 0; + ViewModel.NotesViewModel.PointToLineTick(point.Position, out int left, out int right); + int tick = left + ViewModel.NotesViewModel.Part?.position ?? 0; ViewModel.PlaybackViewModel?.MovePlayPos(tick); } lyricBox?.EndEdit(); @@ -198,8 +212,8 @@ public void TimelinePointerMoved(object sender, PointerEventArgs args) { var canvas = (Canvas)sender; var point = args.GetCurrentPoint(canvas); if (point.Properties.IsLeftButtonPressed) { - int tick = ViewModel.NotesViewModel.PointToSnappedTick(point.Position) - + ViewModel.NotesViewModel.Part?.position ?? 0; + ViewModel.NotesViewModel.PointToLineTick(point.Position, out int left, out int right); + int tick = left + ViewModel.NotesViewModel.Part?.position ?? 0; ViewModel.PlaybackViewModel?.MovePlayPos(tick); } } @@ -296,6 +310,10 @@ private void NotesCanvasLeftPointerPressed(Canvas canvas, PointerPoint point, Po canvas, ViewModel, this, noteHitInfo.note, args.KeyModifiers == KeyModifiers.Alt); Cursor = ViewConstants.cursorSizeWE; + } else if (args.KeyModifiers == cmdKey) { + ViewModel.NotesViewModel.ToggleSelectNote(noteHitInfo.note); + } else if (args.KeyModifiers == KeyModifiers.Shift) { + ViewModel.NotesViewModel.SelectNotesUntil(noteHitInfo.note); } else { editState = new NoteMoveEditState(canvas, ViewModel, this, noteHitInfo.note); Cursor = ViewConstants.cursorSizeAll; @@ -303,7 +321,8 @@ private void NotesCanvasLeftPointerPressed(Canvas canvas, PointerPoint point, Po return; } if (ViewModel.NotesViewModel.CursorTool || - ViewModel.NotesViewModel.PencilTool && args.KeyModifiers == cmdKey) { + ViewModel.NotesViewModel.PenTool && args.KeyModifiers == cmdKey || + ViewModel.NotesViewModel.PenPlusTool && args.KeyModifiers == cmdKey) { if (args.KeyModifiers == KeyModifiers.None) { // New selection. ViewModel.NotesViewModel.DeselectNotes(); @@ -318,13 +337,15 @@ private void NotesCanvasLeftPointerPressed(Canvas canvas, PointerPoint point, Po return; } ViewModel.NotesViewModel.DeselectNotes(); - } else if (ViewModel.NotesViewModel.PencilTool) { + } else if (ViewModel.NotesViewModel.PenTool || + ViewModel.NotesViewModel.PenPlusTool) { ViewModel.NotesViewModel.DeselectNotes(); editState = new NoteDrawEditState(canvas, ViewModel, this, ViewModel.NotesViewModel.PlayTone); } } private void NotesCanvasRightPointerPressed(Canvas canvas, PointerPoint point, PointerPressedEventArgs args) { + var selectedNotes = ViewModel.NotesViewModel.Selection.ToList(); ViewModel.NotesViewModel.DeselectNotes(); if (ViewModel.NotesViewModel.DrawPitchTool) { editState = new ResetPitchState(canvas, ViewModel, this); @@ -332,25 +353,91 @@ private void NotesCanvasRightPointerPressed(Canvas canvas, PointerPoint point, P } if (ViewModel.NotesViewModel.ShowPitch) { var pitHitInfo = ViewModel.NotesViewModel.HitTest.HitTestPitchPoint(point.Position); - if (pitHitInfo.Note != null && pitchContextMenu != null) { - pitHitInfo.IsFirst = pitHitInfo.OnPoint && pitHitInfo.Index == 0; - pitHitInfo.CanDel = pitHitInfo.OnPoint && pitHitInfo.Index != 0 - && pitHitInfo.Index != pitHitInfo.Note.pitch.data.Count - 1; - pitHitInfo.CanAdd = !pitHitInfo.OnPoint; - pitHitInfo.EaseInOutCommand = ViewModel.PitEaseInOutCommand; - pitHitInfo.LinearCommand = ViewModel.PitLinearCommand; - pitHitInfo.EaseInCommand = ViewModel.PitEaseInCommand; - pitHitInfo.EaseOutCommand = ViewModel.PitEaseOutCommand; - pitHitInfo.SnapCommand = ViewModel.PitSnapCommand; - pitHitInfo.AddCommand = ViewModel.PitAddCommand; - pitHitInfo.DelCommand = ViewModel.PitDelCommand; - pitchContextMenu.DataContext = pitHitInfo; - openingPitchContextMenu = true; + if (pitHitInfo.Note != null) { + ViewModel.NotesContextMenuItems.Add(new MenuItemViewModel() { + Header = ThemeManager.GetString("context.pitch.easeinout"), + Command = ViewModel.PitEaseInOutCommand, + CommandParameter = pitHitInfo, + }); + ViewModel.NotesContextMenuItems.Add(new MenuItemViewModel() { + Header = ThemeManager.GetString("context.pitch.linear"), + Command = ViewModel.PitLinearCommand, + CommandParameter = pitHitInfo, + }); + ViewModel.NotesContextMenuItems.Add(new MenuItemViewModel() { + Header = ThemeManager.GetString("context.pitch.easein"), + Command = ViewModel.PitEaseInCommand, + CommandParameter = pitHitInfo, + }); + ViewModel.NotesContextMenuItems.Add(new MenuItemViewModel() { + Header = ThemeManager.GetString("context.pitch.easeout"), + Command = ViewModel.PitEaseOutCommand, + CommandParameter = pitHitInfo, + }); + if (pitHitInfo.OnPoint && pitHitInfo.Index == 0) { + ViewModel.NotesContextMenuItems.Add(new MenuItemViewModel() { + Header = ThemeManager.GetString("context.pitch.pointsnapprev"), + Command = ViewModel.PitSnapCommand, + CommandParameter = pitHitInfo, + }); + } + if (pitHitInfo.OnPoint && pitHitInfo.Index != 0 && + pitHitInfo.Index != pitHitInfo.Note.pitch.data.Count - 1) { + ViewModel.NotesContextMenuItems.Add(new MenuItemViewModel() { + Header = ThemeManager.GetString("context.pitch.pointdel"), + Command = ViewModel.PitDelCommand, + CommandParameter = pitHitInfo, + }); + } + if (!pitHitInfo.OnPoint) { + ViewModel.NotesContextMenuItems.Add(new MenuItemViewModel() { + Header = ThemeManager.GetString("context.pitch.pointadd"), + Command = ViewModel.PitAddCommand, + CommandParameter = pitHitInfo, + }); + } + shouldOpenNotesContextMenu = true; return; } } - if (ViewModel.NotesViewModel.PencilTool || ViewModel.NotesViewModel.EraserTool) { - ViewModel.NotesViewModel.DeselectNotes(); + if (ViewModel.NotesViewModel.CursorTool || ViewModel.NotesViewModel.PenTool) { + var hitInfo = ViewModel.NotesViewModel.HitTest.HitTestNote(point.Position); + if (hitInfo.hitBody) { + // if note in question was already in selection before clearing + if (selectedNotes.Contains(hitInfo.note)) { + ViewModel.NotesViewModel.SelectNote(hitInfo.note, false); + } + } + if (ViewModel.NotesViewModel.Selection.Count > 0) { + ViewModel.NotesContextMenuItems.Add(new MenuItemViewModel() { + Header = ThemeManager.GetString("context.note.copy"), + Command = ViewModel.NoteCopyCommand, + CommandParameter = hitInfo, + }); + ViewModel.NotesContextMenuItems.Add(new MenuItemViewModel() { + Header = ThemeManager.GetString("context.note.delete"), + Command = ViewModel.NoteDeleteCommand, + CommandParameter = hitInfo, + }); + ViewModel.NotesContextMenuItems.Add(new MenuItemViewModel() { + Header = ThemeManager.GetString("pianoroll.menu.notes"), + Items = ViewModel.NoteBatchEdits.ToArray(), + }); + ViewModel.NotesContextMenuItems.Add(new MenuItemViewModel() { + Header = ThemeManager.GetString("pianoroll.menu.lyrics"), + Items = ViewModel.LyricBatchEdits.ToArray(), + }); + ViewModel.NotesContextMenuItems.Add(new MenuItemViewModel() { + Header = ThemeManager.GetString("pianoroll.menu.lyrics.edit"), + Command = lyricsDialogCommand, + }); + ViewModel.NotesContextMenuItems.Add(new MenuItemViewModel() { + Header = ThemeManager.GetString("pianoroll.menu.notedefaults"), + Command = noteDefaultsCommand, + }); + shouldOpenNotesContextMenu = true; + } + } else if (ViewModel.NotesViewModel.EraserTool || ViewModel.NotesViewModel.PenPlusTool) { editState = new NoteEraseEditState(canvas, ViewModel, this, MouseButton.Right); Cursor = ViewConstants.cursorNo; } @@ -466,16 +553,24 @@ public void NotesCanvasPointerWheelChanged(object sender, PointerWheelEventArgs var timelineCanvas = this.FindControl("TimelineCanvas"); TimelinePointerWheelChanged(timelineCanvas, args); } + if (editState != null) { + var point = args.GetCurrentPoint(editState.canvas); + editState.Update(point.Pointer, point.Position); + } } - public void PitchContextMenuOpening(object sender, CancelEventArgs args) { - if (openingPitchContextMenu) { - openingPitchContextMenu = false; + public void NotesContextMenuOpening(object sender, CancelEventArgs args) { + if (shouldOpenNotesContextMenu) { + shouldOpenNotesContextMenu = false; } else { args.Cancel = true; } } + public void NotesContextMenuClosing(object sender, CancelEventArgs args) { + ViewModel.NotesContextMenuItems?.Clear(); + } + public void ExpCanvasPointerPressed(object sender, PointerPressedEventArgs args) { lyricBox?.EndEdit(); if (ViewModel.NotesViewModel.Part == null) { @@ -560,6 +655,19 @@ public void PhonemeCanvasPointerPressed(object sender, PointerPressedEventArgs a return; } if (point.Properties.IsLeftButtonPressed) { + if (args.KeyModifiers == cmdKey) { + var hitAliasInfo = ViewModel.NotesViewModel.HitTest.HitTestAlias(args.GetPosition(canvas)); + if (hitAliasInfo.hit) { + var singer = ViewModel.NotesViewModel.Project.tracks[ViewModel.NotesViewModel.Part.trackNo].Singer; + if (Core.Util.Preferences.Default.OtoEditor == 1 && !string.IsNullOrEmpty(Core.Util.Preferences.Default.VLabelerPath)) { + Integrations.VLabelerClient.Inst.GotoOto(singer, hitAliasInfo.phoneme.oto); + } else { + MainWindow?.OpenSingersWindow(); + Core.DocManager.Inst.ExecuteCmd(new Core.GotoOtoNotification(singer, hitAliasInfo.phoneme.oto)); + } + return; + } + } var hitInfo = ViewModel.NotesViewModel.HitTest.HitTestPhoneme(point.Position); if (hitInfo.hit) { var phoneme = hitInfo.phoneme; @@ -567,7 +675,7 @@ public void PhonemeCanvasPointerPressed(object sender, PointerPressedEventArgs a var index = phoneme.index; if (hitInfo.hitPosition) { editState = new PhonemeMoveState( - canvas, ViewModel, this, note.Extends ?? note, index); + canvas, ViewModel, this, note.Extends ?? note, phoneme, index); } else if (hitInfo.hitPreutter) { editState = new PhonemeChangePreutterState( canvas, ViewModel, this, note.Extends ?? note, phoneme, index); @@ -630,6 +738,20 @@ public void PhonemeCanvasPointerReleased(object sender, PointerReleasedEventArgs Cursor = null; } + public void OnSnapDivMenuButton(object sender, RoutedEventArgs args) { + var menu = this.FindControl("SnapDivMenu"); + menu.PlacementTarget = sender as Button; + menu.Open(); + } + + void OnSnapDivKeyDown(object sender, KeyEventArgs e) { + if (e.Key == Key.Enter && e.KeyModifiers == KeyModifiers.None) { + if (sender is ContextMenu menu && menu.SelectedItem is MenuItemViewModel item) { + item.Command?.Execute(item.CommandParameter); + } + } + } + #region value tip void IValueTip.ShowValueTip() { @@ -669,76 +791,463 @@ void OnKeyDown(object sender, KeyEventArgs args) { } var notesVm = ViewModel.NotesViewModel; if (notesVm.Part == null) { + args.Handled = false; return; } - if (args.KeyModifiers == KeyModifiers.None) { - switch (args.Key) { - case Key.Back: - case Key.Delete: - notesVm.DeleteSelectedNotes(); - args.Handled = true; - break; - case Key.D1: notesVm.SelectToolCommand?.Execute("1").Subscribe(); args.Handled = true; break; - case Key.D2: notesVm.SelectToolCommand?.Execute("2").Subscribe(); args.Handled = true; break; - case Key.D3: notesVm.SelectToolCommand?.Execute("3").Subscribe(); args.Handled = true; break; - case Key.D4: notesVm.SelectToolCommand?.Execute("4").Subscribe(); args.Handled = true; break; - case Key.D5: notesVm.SelectToolCommand?.Execute("5").Subscribe(); args.Handled = true; break; - case Key.R: notesVm.ShowFinalPitch = !notesVm.ShowFinalPitch; args.Handled = true; break; - case Key.T: notesVm.ShowTips = !notesVm.ShowTips; args.Handled = true; break; - case Key.Y: notesVm.PlayTone = !notesVm.PlayTone; args.Handled = true; break; - case Key.U: notesVm.ShowVibrato = !notesVm.ShowVibrato; args.Handled = true; break; - case Key.I: notesVm.ShowPitch = !notesVm.ShowPitch; args.Handled = true; break; - case Key.O: notesVm.ShowPhoneme = !notesVm.ShowPhoneme; args.Handled = true; break; - case Key.W: notesVm.ShowWaveform = !notesVm.ShowWaveform; args.Handled = true; break; - case Key.P: notesVm.IsSnapOn = !notesVm.IsSnapOn; args.Handled = true; break; - case Key.Up: notesVm.TransposeSelection(1); args.Handled = true; break; - case Key.Down: notesVm.TransposeSelection(-1); args.Handled = true; break; - case Key.Space: - if (ViewModel.PlaybackViewModel != null && - !ViewModel.PlaybackViewModel.PlayOrPause()) { - MessageBox.Show( - this, - ThemeManager.GetString("dialogs.noresampler.message"), - ThemeManager.GetString("dialogs.noresampler.caption"), - MessageBox.MessageBoxButtons.Ok); + + // returns true if handled + args.Handled = OnKeyExtendedHandler(args); + } + + bool OnKeyExtendedHandler(KeyEventArgs args) { + var notesVm = ViewModel.NotesViewModel; + var playVm = ViewModel.PlaybackViewModel; + if (notesVm?.Part == null || playVm == null) { + return false; + } + var project = Core.DocManager.Inst.Project; + int snapUnit = project.resolution * 4 / notesVm.SnapDiv; + int deltaTicks = notesVm.IsSnapOn ? snapUnit : 15; + + bool isNone = args.KeyModifiers == KeyModifiers.None; + bool isAlt = args.KeyModifiers == KeyModifiers.Alt; + bool isCtrl = args.KeyModifiers == cmdKey; + bool isShift = args.KeyModifiers == KeyModifiers.Shift; + bool isBoth = args.KeyModifiers == (cmdKey | KeyModifiers.Shift); + + switch (args.Key) { + #region document keys + case Key.Space: + if (isNone) { + try { + playVm.PlayOrPause(); + } catch (Exception e) { + MessageBox.ShowError(this, e); } - args.Handled = true; - break; - default: break; - } - } else if (args.KeyModifiers == cmdKey) { - switch (args.Key) { - case Key.A: notesVm.SelectAllNotes(); args.Handled = true; break; - case Key.S: _ = MainWindow?.Save(); args.Handled = true; break; - case Key.Z: ViewModel.Undo(); args.Handled = true; break; - case Key.Y: ViewModel.Redo(); args.Handled = true; break; - case Key.C: notesVm.CopyNotes(); args.Handled = true; break; - case Key.X: notesVm.CutNotes(); args.Handled = true; break; - case Key.V: notesVm.PasteNotes(); args.Handled = true; break; - case Key.Up: notesVm.TransposeSelection(12); args.Handled = true; break; - case Key.Down: notesVm.TransposeSelection(-12); args.Handled = true; break; - default: break; - } - } else if (args.KeyModifiers == (cmdKey | KeyModifiers.Shift)) { - switch (args.Key) { - case Key.Z: ViewModel.Redo(); args.Handled = true; break; - default: break; - } - } else if (args.KeyModifiers == KeyModifiers.Alt) { - switch (args.Key) { - case Key.D1: expSelector1?.SelectExp(); args.Handled = true; break; - case Key.D2: expSelector2?.SelectExp(); args.Handled = true; break; - case Key.D3: expSelector3?.SelectExp(); args.Handled = true; break; - case Key.D4: expSelector4?.SelectExp(); args.Handled = true; break; - case Key.D5: expSelector5?.SelectExp(); args.Handled = true; break; - case Key.F4: + return true; + } + break; + case Key.Escape: + if (isNone) { + // collapse/empty selection + var numSelected = notesVm.Selection.Count; + // if single or all notes then clear + if (numSelected == 1 || numSelected == notesVm.Part.notes.Count) { + notesVm.DeselectNotes(); + } else if (numSelected > 1) { + // collapse selection + notesVm.SelectNote(notesVm.Selection.Head!); + } + return true; + } + break; + case Key.F4: + if (isAlt) { Hide(); - args.Handled = true; - break; - default: - break; - } + return true; + } + break; + case Key.Enter: + if (isNone) { + if (notesVm.Selection.Count == 1) { + var note = notesVm.Selection.First(); + lyricBox?.Show(ViewModel.NotesViewModel.Part!, new LyricBoxNote(note), note.lyric); + } else if (notesVm.Selection.Count > 1) { + EditLyrics(); + } + return true; + } + break; + #endregion + #region tool select keys + // TOOL SELECT + case Key.D1: + if (isNone) { + notesVm.SelectToolCommand?.Execute("1").Subscribe(); + return true; + } + if (isAlt) { + expSelector1?.SelectExp(); + return true; + } + break; + case Key.D2: + if (isNone) { + notesVm.SelectToolCommand?.Execute("2").Subscribe(); + return true; + } + if (isAlt) { + expSelector2?.SelectExp(); + return true; + } + if (isCtrl) { + notesVm.SelectToolCommand?.Execute("2+").Subscribe(); + return true; + } + break; + case Key.D3: + if (isNone) { + notesVm.SelectToolCommand?.Execute("3").Subscribe(); + return true; + } + if (isAlt) { + expSelector3?.SelectExp(); + return true; + } + break; + case Key.D4: + if (isNone) { + notesVm.SelectToolCommand?.Execute("4").Subscribe(); + return true; + } + if (isAlt) { + expSelector4?.SelectExp(); + return true; + } + break; + case Key.D5: + if (isNone) { + notesVm.SelectToolCommand?.Execute("5").Subscribe(); + return true; + } + if (isAlt) { + expSelector5?.SelectExp(); + return true; + } + break; + #endregion + #region toggle show keyws + case Key.R: + if (isNone) { + notesVm.ShowFinalPitch = !notesVm.ShowFinalPitch; + return true; + } + break; + case Key.T: + if (isNone) { + notesVm.ShowTips = !notesVm.ShowTips; + return true; + } + break; + case Key.U: + if (isNone) { + notesVm.ShowVibrato = !notesVm.ShowVibrato; + return true; + } + break; + case Key.I: + if (isNone) { + notesVm.ShowPitch = !notesVm.ShowPitch; + return true; + } + break; + case Key.O: + if (isNone) { + notesVm.ShowPhoneme = !notesVm.ShowPhoneme; + return true; + } + break; + case Key.P: + if (isNone) { + notesVm.IsSnapOn = !notesVm.IsSnapOn; + return true; + } + if (isAlt) { + var menu = this.FindControl("SnapDivMenu"); + menu.Open(); + } + + break; + #endregion + #region navigate keys + // NAVIGATE/EDIT/SELECT HANDLERS + case Key.Up: + if (isNone) { + notesVm.TransposeSelection(1); + return true; + } + if (isCtrl) { + notesVm.TransposeSelection(12); + return true; + } + break; + case Key.Down: + if (isNone) { + notesVm.TransposeSelection(-1); + return true; + } + if (isCtrl) { + notesVm.TransposeSelection(-12); + return true; + } + break; + case Key.Left: + if (isNone) { + notesVm.MoveCursor(-1); + return true; + } + if (isAlt) { + notesVm.ResizeSelectedNotes(-1 * deltaTicks); + return true; + } + if (isCtrl) { + notesVm.MoveSelectedNotes(-1 * deltaTicks); + return true; + } + if (isShift) { + notesVm.ExtendSelection(-1); + return true; + } + break; + case Key.Right: + if (isNone) { + notesVm.MoveCursor(1); + return true; + } + if (isAlt) { + notesVm.ResizeSelectedNotes(deltaTicks); + return true; + } + if (isCtrl) { + notesVm.MoveSelectedNotes(deltaTicks); + return true; + } + if (isShift) { + notesVm.ExtendSelection(1); + return true; + } + break; + case Key.OemPlus: + if (isNone) { + notesVm.ResizeSelectedNotes(deltaTicks); + return true; + } + break; + case Key.OemMinus: + if (isNone) { + notesVm.ResizeSelectedNotes(-1 * deltaTicks); + return true; + } + break; + #endregion + #region clipboard and edit keys + case Key.Z: + if (isBoth) { + ViewModel.Redo(); + return true; + } + if (isCtrl) { + ViewModel.Undo(); + return true; + } + break; + case Key.Y: + // toggle play tone + if (isNone) { + notesVm.PlayTone = !notesVm.PlayTone; + return true; + } + if (isCtrl) { + ViewModel.Redo(); + return true; + } + break; + case Key.C: + if (isCtrl) { + notesVm.CopyNotes(); + return true; + } + break; + case Key.X: + if (isCtrl) { + notesVm.CutNotes(); + return true; + } + break; + case Key.V: + if (isCtrl) { + notesVm.PasteNotes(); + return true; + } + break; + // INSERT + DELETE + case Key.Insert: + if (isNone) { + notesVm.InsertNote(); + return true; + } + break; + case Key.Delete: + case Key.Back: + if (isNone) { + notesVm.DeleteSelectedNotes(); + return true; + } + break; + #endregion + #region play position and select keys + // PLAY POSITION + SELECTION + case Key.Home: + if (isNone) { + playVm.MovePlayPos(notesVm.Part.position); + return true; + } + if (isShift) { + notesVm.ExtendSelection(notesVm.Part.notes.FirstOrDefault()); + return true; + } + break; + case Key.End: + if (isNone) { + playVm.MovePlayPos(notesVm.Part.End); + return true; + } + if (isShift) { + notesVm.ExtendSelection(notesVm.Part.notes.LastOrDefault()); + return true; + } + break; + case Key.OemOpenBrackets: + // move playhead left + if (isNone) { + playVm.MovePlayPos(playVm.PlayPosTick - snapUnit); + return true; + } + // to selection start + if (isCtrl) { + if (!notesVm.Selection.IsEmpty) { + playVm.MovePlayPos(notesVm.Part.position + notesVm.Selection.FirstOrDefault()!.position); + } + return true; + } + // to view start + if (isShift) { + playVm.MovePlayPos(notesVm.Part.position + (int)notesVm.TickOffset); + return true; + } + break; + case Key.OemCloseBrackets: + // move playhead right + if (isNone) { + playVm.MovePlayPos(playVm.PlayPosTick + snapUnit); + return true; + } + // to selection end + if (isCtrl) { + if (!notesVm.Selection.IsEmpty) { + playVm.MovePlayPos(notesVm.Part.position + notesVm.Selection.LastOrDefault()!.RightBound); + } + return true; + } + // to view end + if (isShift) { + playVm.MovePlayPos(notesVm.Part.position + (int)(notesVm.TickOffset)); + return true; + } + break; + + #endregion + #region scroll and select keys + // SCROLL / SELECT + case Key.A: + // scroll left + if (isNone) { + notesVm.TickOffset = Math.Max(0, notesVm.TickOffset - snapUnit); + return true; + } + // select all + if (isCtrl) { + notesVm.SelectAllNotes(); + return true; + } + break; + case Key.D: + // scroll right + if (isNone) { + notesVm.TickOffset = Math.Min(notesVm.TickOffset + snapUnit, notesVm.HScrollBarMax); + return true; + } + // select none + if (isCtrl) { + notesVm.SelectAllNotes(); + return true; + } + break; + case Key.W: + // toggle show waveform + if (isNone) { + notesVm.ShowWaveform = !notesVm.ShowWaveform; + return true; + } + // scroll up + // NOTE set to alt to avoid conflict with showwaveform toggle + if (isAlt) { + notesVm.TrackOffset = Math.Max(notesVm.TrackOffset - 2, 0); + return true; + } + break; + case Key.S: + // scroll down + if (isAlt) { + notesVm.TrackOffset = Math.Min(notesVm.TrackOffset + 2, notesVm.VScrollBarMax); + return true; + } + if (isCtrl) { + _ = MainWindow?.Save(); + return true; + } + break; + case Key.F: + // scroll selection into focus + if (isNone) { + var note = notesVm.Selection.FirstOrDefault(); + if (note != null) { + DocManager.Inst.ExecuteCmd(new FocusNoteNotification(notesVm.Part, note)); + } + return true; + } + if (isCtrl) { + if (!notesVm.Selection.IsEmpty) { + playVm.MovePlayPos(notesVm.Part.position + notesVm.Selection.FirstOrDefault()!.position); + } + return true; + } + break; + case Key.E: + // zoom in + if (isNone) { + double x = 0; + double y = 0; + if (!notesVm.Selection.IsEmpty) { + x = (notesVm.Selection.Head!.position - notesVm.TickOffset) / notesVm.ViewportTicks; + y = (ViewConstants.MaxTone - 1 - notesVm.Selection.Head.tone - notesVm.TrackOffset) / notesVm.ViewportTracks; + } else if (notesVm.TickOffset != 0) { + x = 0.5; + y = 0.5; + } + notesVm.OnXZoomed(new Point(x, y), 0.1); + return true; + } + break; + case Key.Q: + // zoom out + if (isNone) { + double x = 0; + double y = 0; + if (!notesVm.Selection.IsEmpty) { + x = (notesVm.Selection.Head!.position - notesVm.TickOffset) / notesVm.ViewportTicks; + y = (ViewConstants.MaxTone - 1 - notesVm.Selection.Head.tone - notesVm.TrackOffset) / notesVm.ViewportTracks; + } else if (notesVm.TickOffset != 0) { + x = 0.5; + y = 0.5; + } + notesVm.OnXZoomed(new Point(x, y), -0.1); + return true; + } + break; + #endregion } + return false; } } } diff --git a/OpenUtau/Views/PreferencesDialog.axaml b/OpenUtau/Views/PreferencesDialog.axaml index c1e1ee7ff..beb7220c7 100644 --- a/OpenUtau/Views/PreferencesDialog.axaml +++ b/OpenUtau/Views/PreferencesDialog.axaml @@ -31,8 +31,8 @@ - - + + @@ -74,22 +74,28 @@ - - - - - + Items="{Binding Singers}" SelectedItem="{Binding Singer}" SelectionChanged="OnSelectedSingerChanged"/> @@ -74,7 +78,16 @@ - +